2013-03-12 5 views
0

그 목적을 위해 solr에서 교차 언어 검색을하고 있습니다. 언어 A에서 언어 B 로의 쿼리 번역을하고 있습니다.이 번역은 이중 언어 사전을 기반으로합니다. 내가 현재 직면하고있는 문제는 "쿼리의 일부 단어에 대해 하나 이상의 번역이 있습니다."입니다. 여기 나는 번역을위한 정확한 단어를 넣어야한다. 이 번역 모호성을 어떻게 해결할 수 있습니까?Solr의 번역 모호성

이 경우 쿼리가 너무 짧을 수 있으므로 쿼리의 컨텍스트를 결정할 수 없습니다. 내가 볼 수있는 유일한 방법은 단어의 확률 발생입니다. 함께 일어나는 단어의 확률을 확인할 수있는 방법이 있습니까?

답변

0

나는 단어가 함께 나타나는 문맥의 확률을 단순한 형태의 컨텍스트로 분석 할 것을 권하고 있으며, 쿼리에서 오류가 발생하기 쉽고 관련 결과를 놓칠 수 있다고 생각합니다. 이것은 완전하고 상황에 맞는 문장으로는 매우 어려운 문제입니다. 사용자가 입력 한 쿼리 문자열에있는 모호성 때문에 해결하기 어려울 정도로 모호 할 수 있으므로 문제를 해결하려는 시도가 예상치 못한 결과를 초래할 수 있으며 일부 개념을 찾기가 어렵거나 불가능할 수도 있습니다.

내가 추천하는 바는 SynonymFilter과 같은 구현을 사용하여 두 가지 대체 번역을 모두 검색하는 것입니다.

그래서 영어 단어 "fine"을 검색했다면 스페인어로 검색어 "multa fino sutil"으로 폭발 할 수 있습니다.

동일한 용어의 여러 번역에서 조회수에 영향을 미치는 것보다 많은 영향을받지 않도록 동의어 목록을 DisjunctionMaxQuery으로 묶는 것이 좋습니다. 그렇다면 것은

  • "좋은 점"을 검색하면
나는 논쟁, 날카롭게 연필로 만든 훌륭한 인수에 대해 검색하거나, 사용자가 쿼리를 입력하는 방법을 알 수 있습니다

, 나는 잘 될 수있다 피크닉을하기에 좋은 곳을 찾고, 교통 위반 딱지 뒤에 근거를 둡니다.

그래서, 나는 그것을 확장 될 수 있습니다

  • BooleanQuery을, 가입 :
    • DisjunctionMaxQuery "multa", "피노", "sutil"
    • DisjunctionMaxQuery "푼타", " 모멘 토 ","루가 "