2011-07-01 8 views
2

다른 기능을 테스트하기 위해 Lucene/Solr 4를 실행했으며 "클러스터링"도 수행했습니다. 현재 1 백만 개의 문서가 색인 생성됩니다. 모든 문서에는 다음과 같은 필드가 있습니다.(당근) 클러스터링은 어떻게 작동합니까?

ID (unique Key) Example1: 10245 
       Example2: 24974 
TOPIC (Keywords of the document) Example1: "disaster/japan/nuclear power station" 
           Example2: "world/japan/nuclear power" 
HEADLINE (1 line of text): Example1: "explosion at nuclear power plant in japan" 
          Example2: "news about japans nuclear power plant" 
TEXT (the full text): "In the Japanese nuclear power plant in Fukushima..." 

모든 필드는 색인이 생성되고 저장되며, 색인이 생성되고 저장되지 않는 exapt TEXT가 저장됩니다. 나는 다음과 같은 특정 구성 사용 : 당신은 당신이 볼 수있는 예를 찾는 경우 주제는 다르지만, 일본이 동일한 지,

<str name="carrot.title">TOPIC</str> 
    <str name="carrot.snippet">HEADLINE</str> 

합니다. 이런 식으로 solr/carrot을 구성 할 수 있습니까? example1과 example2가 하나의 클러스터에 포함됩니까? 일치하는 "japan"때문에?!

"뉴스/원자력"과 같은 3 번째 TOPIC가있을 수 있지만 내부에는 "japan"가 없지만 HEADLINE 및 TEXT에서는 japans 발전소를 사용하고 있습니다. 하나의 클러스터에서 3 가지 뉴스를 수신하려면 어떤 solr/carrot 구성이 적절한가요?

감사합니다.

답변

4

Carrot2는 자연/비정형 텍스트를 클러스터링하도록 설계되었으며 이러한 알고리즘은 인간이 완벽하게 찾을 수있는 결과를 거의 생성하지 않습니다. 불행하게도 이러한 알고리즘은 "디버그"하기도 어렵습니다. 생성하는 클러스터는 문서에서 단어가 나오는 빈도와 같은 많은 요소에 따라 달라집니다. 귀하의 구체적인 예에서, 일본이라는 단어는 너무 자주 있기 때문에 클러스터를 형성하지 못했을 수도 있습니다 - 이것은 인용 한 모든 문서에 나타납니다.

  • 에 공백이 아닌 슬래시, 예를 들어, 다음에 마침표로 키워드를 분리하십시오 : 여기

    는 클러스터를 조정할 시도 할 수있는 몇 가지 팁 "재해. 일본 원자력 발전소" 그렇게하면 Carrot2는 "원자력 발전소"와 같은 단어 시퀀스를 개별 단어가 아닌 구로 처리합니다.

  • 다른 Carrot2 클러스터링 알고리즘을 사용해보십시오. STC.

  • 전체 기사 텍스트 필드가 저장되거나 (첫 번째 단락과 같이 그 일부가 될 수도있는 경우) carrot.title의 HEADLINE 및 carrot.snippet의 전체 텍스트/발췌를 사용하십시오.

  • 캐롯 2 알고리즘의 특정 설정으로 재생하십시오. 이를위한 가장 좋은 도구는 Carrot2 Clustering Workbench입니다. Solr에 연결하는 방법은 다음과 같습니다. http://wiki.apache.org/solr/ClusteringComponent#Tuning_Carrot2_clustering

+0

감사합니다. 재미있는 아이디어가 많이 있습니다. 시도해 보겠습니다. –

관련 문제