2011-08-29 2 views
4

내가자바 빠른 문자열 일치 (카테고리에 텍스트를 연결하는)

  • TITLE 같은 것입니다 게시물 있다고 가정하자 : "WEB : SEO 2011 년"
  • 설명 : "에 대해 얘기하는 회의 웹 드 - IT는 "> (고양이)": 2011의 웹 사이트에 SEO "

    • 또한

    , 난 관련 키워드 카테고리의 목록을 가지고" 기호 ","검색 엔진 최적화 "," "웹 개발", "개발 내가 필요

    (키워드)

내가 여러 범주를 (IT, 예술, MEDICALS, 문학, 기계 등) 자바를 사용하여 미래의 검색을 개선하기 위해 해당 카테고리 및 키워드 (일종의 태깅)로 내 게시물을 자동으로 업그레이드하십시오.

위 예제는 main_category 필드가 "IT"로 채워지고 subfield_category가 "seo"또는 "web"로 채워지도록 "seo"와 "web"과 일치해야합니다. 나쁘지 않다.)

내 문제는 내가 말할 수있는 유일한 해결책은 bruteforcing (모든 단어 테스트, 하나는 카테고리와 키워드 목록이 일치 함)에 대한 waaaaay이다. 내 공연 속도가 느려집니다 ...

더 좋은 방법으로 검색을 수행 할 수있는 방법이 있습니까? 또한 내 카테고리 -> 키워드 구조를 수정할 수 있습니다 더 나은 일을 (나는 아직도 어떻게 ...)

미리 감사드립니다!

EDIT : 정확도는별로 중요하지 않습니다. 내가 문자열의 원시 일치를 기반으로 정직의 정직한 금액을 가질 수 있기 때문에 나는 태깅에 100 %의 정확성이 필요하지 않습니다.

또한, 나는에 대해 thinkinking 된 논리는 다음과 같습니다, 게시물 제목/설명, 키워드 매칭 검색, 카테고리,이 범주에 더 많은 키워드 검색과 태그를 보면 3 ~ 5 일치하는 키워드

+0

학습용 샘플이 있습니까? [즉 어떻게 태그를 지정해야 하는지를 아는 문서 세트]? – amit

+0

또한 태그 지정의 정확도를 알고 계십니까? 또는 tag-word가 항상 주제/설명에 있다고 가정 할 수 있습니까? – amit

+0

이것은 가장 큰 문제입니다. ope :(샘플 컨텍스트가없는 원본 문서 만 있습니다. (정확도가 중요하지 않으므로 각 게시물에 2-3 초 수준의 키워드를 연결하기로 결정했습니다. –

답변

1

당신을 저장 Machine Learning을 사용하여 다른 접근 방식을 시도 할 수 있습니다.

알고리즘 설명 :
첫째, 학습 샘플을 만들 [그들이 태그되는 방법 당신이 확실히 알 문서를 수동으로 샘플을 태그와 알고리즘에 입력으로 제공 할 수 있습니다]. 그런 다음 k 단어 봉지를 사용하여이 샘플에 대해 Bag Of Words을 만듭니다. 어느 것이 어느 k이 최적인지 결정할 필요가 있습니다. 품질을 벤치마킹하여, 나중에 설명하겠습니다.]

모든 단어는 '기능'이며, 다음으로 각 새 문서에 대해 학습 샘플의 어떤 문서가 nearest neighbor입니다. 당신의 가방에 공통적으로 '단어'가 가장 많이 있음), 새 문서는 가장 가까운 이웃으로 태그됩니다.

품질을 벤치마킹하는 방법?
학습 샘플에서 10 %의 문서를 가져 와서 나머지 90 % 만 학습하면 품질을 확인할 수 있습니다.학습을 마치면 남은 10 %의 정확도를 확인하여 알고리즘이 얼마나 정확한지 평가할 수 있습니다. 위에서 언급 한 최적의 k [Bag Of Words 크기]를 찾으려면이 작업을 몇 번해야 할 것입니다.

+0

k는 내가 가지고있는 가방마다 똑같을까요? 내가 가지고있는 모든 키워드는 일부 SEO 전문가 또는 무엇에 의해 제공되며, 목록은 매우 다릅니다 (일부 카테고리의 경우 20 개의 키워드와 비슷한 키워드가 있고 다른 키워드는 2-3입니다). 학습 샘플은 기본적으로 잘 알고 있습니다. 이 접근법에서는 하이브리드 솔루션을 구현하는 것이 가능할 것이라고 생각합니까? 나는 배우는 기초가 없으면 ml가 불가능하기 때문에 나는 대답을 알고 있다고 생각한다. –

+0

학습 샘플이 있어야합니다. 그러나이 방법은 어떤 단어가 핵심어인지 결정할 필요가 없으며 BoW가 선택합니다. 나는 가치가 있다고 생각하고, 몇 달 전에 짹짹이의 긍정적 인 것을 발견하는데 꽤 좋은 결과를 보냈다. – amit

+0

나는 그것을 시도 할 것이고, 나는 그것을 아주 조심스럽게 계획해야한다. 그것은 문제를 차단하고있다. (분류하지 않고 온라인으로 갈 수 없다.)하지만 너무 많은 시간을 소비 할 수는 없습니다 ...이 질문을 다른 제안을 위해 열어 두겠습니다.하지만 나는 당신의 것을 시도하고 있습니다. (만약 그게 유일한 것이라면 2-3 일 안에 그것을 받아 들일 것입니다. 약속!) 대답 –