근접검색(텍스트)

Proximity search (text)

텍스트 처리에서, 근접 검색은 두 개 이상의 분리된 일치 용어 발생이 지정된 거리 내에 있는 문서를 찾는다. 여기서 거리는 중간 단어나 문자의 수입니다. 근접성 외에도, 일부 구현은 검색된 텍스트의 순서가 검색 질의의 순서와 동일해야 한다는 점에서 단어 순서에 제약을 가할 수도 있다. 근접 검색은 근접성의 제약을 가미하여 단순한 단어 매칭을 넘어 일반적으로 고급 검색의 한 형태로 간주된다.

예를 들어, "붉은 벽돌집"과 "빨간 벽돌집" 또는 "빨간 벽돌로 만든 집"과 같은 문구를 찾기 위해 검색이 사용될 수 있다. 근접성을 제한함으로써, 이 구절들은 단어가 한 페이지에 흩어져 있거나 퍼져있는 문서나 안토리의 관련 없는 글들은 피하면서 일치될 수 있다.

이론적 근거

근접 검색의 기본적인 언어적 가정은 문서에서 단어들의 근접성이 단어들 사이의 관계를 내포하고 있다는 것이다. 문서 저자들이 단 하나의 아이디어, 또는 관련 아이디어의 집단을 이웃 문장 안에 포함하거나 문단으로 정리하는 문장을 공식화하려고 하는 것을 보면, 함께 사용된 단어들이 연관되어 있는 문서 구조 내에 내재된, 비교적 높은 가능성이 있다. 반면 두 단어가 책의 반대쪽 끝에 있을 때는 그 단어 사이의 관계 확률은 상대적으로 약하다. 검색 결과를 단어가 지정된 최대 근접도 또는 거리 내에 있는 일치 항목만 포함하도록 제한함으로써 검색 결과는 단어가 흩어져 있는 일치 항목보다 더 높은 연관성을 갖는 것으로 가정한다.

상업용 인터넷 검색 엔진은 평균 검색 질의에 대해 너무 많은 일치 항목(리콜이라고 함)을 생성하는 경향이 있다. 근접 검색은 일치하는 페이지 수를 줄이고, 단어 근접성을 사용하여 순위를 매기는 데 도움을 줌으로써 일치된 페이지의 관련성을 향상시키는 한 가지 방법이다. 추가적인 이점으로서 근접 검색은 사전 목록이나 수천 단어의 엽총 목록이 포함된 웹 페이지를 피함으로써 스팸 디플렉싱과 싸우는 데 도움이 된다. 그렇지 않으면 검색 엔진이 단어 빈도에 지나치게 치우쳐 있을 경우 높은 순위를 매길 수 있다.

부울 구문 및 연산자

근접 검색은 일부 키워드만 지정된 거리 내에 있어야 함을 지정할 수 있다는 점에 유의하십시오. 근접 검색은 다른 검색 구문 및/또는 컨트롤과 함께 사용하여 검색 쿼리를 보다 명확하게 할 수 있다. 때때로 "브릭 니어 하우스"와 같이 지정된 키워드 사이의 근접 검색 한도를 나타내기 위해 NEAR, NEAR, FAR과 같은 쿼리 연산자를 사용한다.

상용 검색 엔진에서의 사용

암묵적/자동적/명시적 근접 검색과 관련하여, 2008년 11월 현재 대부분의 인터넷 검색 엔진은 암묵적 근접 검색 기능만 구현한다. 즉, 사용자 키워드가 검색 결과에서 "전체 근접 점수"가 좋은 경우 검색 결과를 자동으로 더 높게 순위를 매긴다. 검색 질의에 두 개의 키워드만 있는 경우 이는 두 키워드 사이에 NEAR 연산자를 배치하는 명시적 근접 검색과 차이가 없다. 단, 3개 이상의 키워드가 있는 경우, 사용자는 검색 결과에서 근접성을 기대하는 키워드의 하위 집합을 지정하는 것이 중요한 경우가 많다. 이는 사용자가 선행기술 검색을 하고자 할 때 유용하다(예: 특정 작업을 완료하기 위한 기존 접근방식 찾기, 여러 구성 요소와 이들 구성 요소 간의 연계에 의해 공동으로 수행되는 절차적 행동을 나타내는 시스템을 공개하는 문서 찾기).

쿼리 언어로 명시적인 근접 연산자를 통한 근접 검색을 지원하는 웹 검색 엔진에는 월헬로, 엑살라드, 얀덱스, 야후!, 알타비스타, :

  • 월헬로 검색엔진을 사용할 때, 근접성은 키워드 사이의 문자 수로 정의할 수 있다.[1]
  • 검색 엔진 Exalayad는 사용자가 키워드 사이의 최대 단어 수로 필요한 근접성을 지정할 수 있도록 한다. 구문은 (keyword1 NEAR/n keyword2) 여기서 n은 단어 수입니다.[2]
  • 얀덱스는 구문을 사용한다. keyword1 /n keyword2 최대 - 개의 단어로 구분된 두 개의 키워드를 검색하고 이 구문의 몇 가지 다른 변형을 지원한다.[3]
  • Yahoo!Altavista는 둘 다 미등록 NEAR 연산자를 지원한다.[4][5] 구문은 keyword1 NEAR keyword2.
  • 구글 검색은 ARWART(#)[6][7]를 지원한다.
  • 은 NEAR를 지지한다.[8] 구문은 keyword1 near:n keyword2 여기서 n=최대 구분 단어 수.

구글야후 검색 엔진에서 주문된 검색은 별표(*) 전체 단어 와일드카드를 사용하여 가능하다: 구글에서 이것은 하나 이상의 단어와 일치하고 [9]야후! 이것을 정확히 한 단어로 검색하라. [10](이것은 구글과 야후!에서 모두 다음 구절을 검색하면 쉽게 확인된다. "Biblightency *")

NEAR 연산자에 대한 순서가 없는 검색을 에뮬레이트하려면 순서가 지정된 검색의 조합을 사용하여 수행할 수 있다. 예를 들어, "집"과 "도그"의 근접한 동시 발생을 지정하기 위해 다음과 같은 검색 표현을 지정할 수 있다. "집 강아지" OR "집 강아지" OR "집 * 개" OR "집 * 집" OR "집 * 개 * 집" OR "집 * 개 * 집" OR "집 * 개 * 집"

참고 항목

메모들