2011-07-30 4 views
0

부울 검색 모델 검색어는 다른 연산자를 사용하여 함께 조합 된 검색어로 구성됩니다. 결합은 가장 눈에 띄는 가장 확실한 선택이지만 검색어 길이가 늘어날 때 나쁜 일이 발생했습니다. 분리를 사용할 때 결합 및 정밀도를 사용할 때 크게 저하되었습니다 (예 : stanford OR university).검색어 기간

이제 우리는 검색 시스템 (및 부울 검색 모델)을 사용합니다. 그리고 사용자가 아주 희귀 한 단어 나 긴 단어 순서를 입력하면 문제가 발생합니다. 예를 들어 사용자가 toyota corolla 4wd automatic 1995을 입력하면 Google에없는 것으로 보입니다. 그러나 검색어에서 하나 이상의 단어를 삭제하면 해당 문서가 생성됩니다. 제가 벡터 공간 모델에서 이해하는 한,이 문제는 자동으로 해결됩니다. 우리는 용어 존재의 사실에 관한 필터 문서가 아니며, 우리는 등급 용어의 존재를 사용하는 문서.

그래서 부울 검색 모델에서 용어를 결합하는 고급 방법과 부울 검색 모델에서 드문 용어 제거 방법에 관심이 있습니다.

답변

0

순위 기능을 정의 할 때 하늘의 한계가있는 것처럼 보입니다. wi가있는 벡터를 정의 할 수 있습니다. i 번째 검색어가 파일에 나타나지 않으면 0, 그렇지 않으면 0을 정의 할 수 있습니다. 검색 용어 i가 파일에 나타나는 횟수. 그런 다음, 예를 들어, 맨하탄 거리, 유클리드 거리 등의 순서로 정렬하고 내림차순으로 정렬하여 지정된 일치 허용 오차 이하의 거리로 결과를 도출 할 수 있습니다.

더 복잡한 검색어를 처리하려는 경우 검색어를 CNF에 넣을 수 있습니다. (term1 또는 term2 또는 ... termn) AND (item1 또는 item2 또는 ... itemk) AND ... 그런 다음 가중치를 다시 정의하십시오. 각 결과와 함께 파일에서 일치하지 못한 단어를 나열 할 수 있습니다. 그러면 사용자가 적어도 얼마나 좋은 일치인지 알 수 있습니다.

내가 정말로 말하고자하는 것은 실제로 당신에게 맞는 대답을 얻으려면 올바른 검색 결과로 받아 들일 수있는 것을 정확히 정의해야한다는 것입니다. 엄격한 해석에 따라 A1과 A2를 찾고있는 쿼리와 ... 이 누락되면 ...

+0

정말 좋은 지적입니다. 우리가 현재 달성하고자하는 것은 어느 정도의 정밀도가 느슨하더라도 리콜을 극대화하는 것입니다. 검색 시스템에서 "문서가 없습니다."라고 말하면 매우 좋지 않다고 생각합니다. 다른면에서 사람들이 관련성이없는 결과를 많이 얻을 때 일반적으로 쿼리를 수정하는 방법을 알고 있습니다. 따라서 검색 시스템이 문서를 찾지 못하는 경우를 최소화하고자 노력하고 있습니다. –