쿼리와 검색어 처리

쿼리와 검색어 처리

검색엔진에서 쿼리란 사용자가 검색엔진에 하는 질문 (처리 요구)을 뜻하며 일반적으로 키워드나 그 조합, 키 문구 등의 검색어를 말합니다. 검색엔진은 사용자가 입력한 검색어를 데이터베이스에 맞는 형태로 변환하여 처리합니다.


형태소 분석에서 자연어 문장은 개별 키워드로 나눠진다

검색 엔진은 여러 단어로 이루어진 복합어나 문장이 검색 키워드로 입력된 경우 그것을 구성하는 개별 단어에 의한 AND 검색을 합니다. 이 때 영어처럼 각각의 단어가 공백으로 띄어쓰기 되지 않은 일본어에서는 입력된 복합어를 형태소 분석을 통해 단어 하나 하나까지 분해할 필요가 있습니다. 완전 일치형의 검색 시스템의 경우 형태소 분석은 꼭 필요하지는 않지만 자연 문장 검색이 가능한 유형의 검색 시스템에 있어서는 필수 불가결의 기술입니다. 따라서 현재 인터넷 상에서 공개되어 있는 대부분의 로봇형 검색엔진은 이 유형의 쿼리 처리를 실시하고 있습니다.

한국어는 각각의 나눠진 단어로 AND 검색된다

여러 단어로 이루어진 복합어나 문장이 검색 키워드로 입력 된 경우, 형태소 분석을 통해 각각의 단어로 분해된 후 그것을 키워드로 AND 검색을 해야 하는 것으로 쿼리 처리됩니다. 예를 들어, Google에서 [도쿄 저렴한 요리]를 입력하여 봅시다. 검색 결과에는 다수의 페이지가 표시되지만, 대부분은 [도쿄 저렴한 요리]와 완전히 일치하는 문자열이 포함되어 있지 않습니다. 이것은 형태소 분석 결과 [도쿄] [저렴한] [요리]라는 개별 단어로 나눠지고, 각각의 키워드로 AND 검색이 이루어지고 있기 때문입니다.

검색 효율을 높이기위한 Stopwords처리

Stopwords 처리란 검색 효율성을 높이기 위해 검색 키워드 안에 있는 [너무 일반적인 단어]를 검색 기능에 전달하지 않는 기술입니다. Stopwords의 대부분은 기호 (■ 나 [ ]등)과 관사, 한 자리 숫자, 한 글자 영문자 (a 나 i 등)처럼 어떤 글에도 많이 사용되고 있는 단어입니다. 그처럼 검색 대상 수가 방대해지는 [기호]나 [너무 일반적인 단어]를 취급하지 않는 것으로, 검색 처리의 부하를 줄이고 검색 속도를 향상시킵니다. 예를 들어 Google은 Stopwords를 [중지 단어]라고 부르며 다음과 같이 설명하고 있습니다.

Google은 빈번히 사용되는 단어와 문자를 중지 단어라고 말하며 검색 키워드에서 자동으로 제외합니다. 예를 들어 “http”나 “.com”외에 특정 단일 숫자 또는 단일 문자를 자동적으로 무시합니다. 이 단어가 검색 범위를 좁힌다기 보다, 오히려 검색의 속도를 크게 저하하는 원인이 될 수 있기 때문입니다. (Google의 기본 검색 http://www.google.com/intl/ja/help/basics.html으로 부터 발췌)

검색엔진이 취급하는 Stopwords의 종류

검색엔진에 따라서 Stopwords로 취급하는 단어는 다릅니다. 영어에서는 a, by, for if, no, of, on, the, to, with, how, where 등 조사, 조동사, 전치사, 관사, 부사를 Stopwords로 취급하는 경향이 있습니다 (반대로 일본어에서는 조사, 조동사, 접속사, 전치사, 관사 등을 Stopwords 취급을 하지 않는 경향이 있습니다). 일본어의 Stopwords는 현 시점에서 그다지 많지 않지만 사변형 동사 ( [~하다]의 형태로 사용하는 동사 [하다]의 부분)를 Stopwords처리 하는 것도 있습니다. 또한 일본어에서도 영어에서도 마찬가지로, 부울 연산 등의 검색식으로 사용하는 연산자를 제외한 기호에 관해서는 기본적으로 모든 Stopwords로 취급하는 것 같습니다.

Stopwords를 포함한 검색 방법

Stopwords를 포함한 검색을 수행하려면 어구 전체를 [a pen]처럼 따옴표로 묶어 구문 검색 또는 [+]연 산자를 이용한 방법 [+ a pen]등 검색식을 사용하여 강제적인 처리를 요구해야 할 필요가 있습니다. 그러나 기본적으로는 일상의 검색에서는 단순히 검색하고 싶은 키워드 (그것이 단어든 숙어에서 구문이든)를 검색창에 입력하고 실행하기만하면 대체로 양호한 결과가 되돌아옵니다. 이것은 쿼리 프로세싱에서 검색어 처리가 잘 작동하고 있다는 것을 나타냅니다.

Comments

comments


답글 남기기

이메일 주소는 공개되지 않습니다.

20 + 11 =