NLP

The American Society for Information Science

Abstract

(거의 직역함)

이 논문에는 자동화된 문서 인덱싱과 검색을 위한 방법이 설명되어 있다. 본 논문에서 소개하는 접근법은 검색어에 포함된 단어를 바탕으로 연관된 문서를 검색하기 위해, 단어와 문서의 연관관계 속에서 암시적인 고차원 구조 (즉, 문서의 의미론적 구조)의 장점을 사용한다. 이 접근법은 SVD를 사용해서 큰 문서 행렬을 약 100개의 직교하는 요소로 분해하고, 선형결합하면 원래 행렬을 근사적으로 복구할 수 있도록 한다. 문서는 약 100차원 (계수) 벡터로 표현된다. 검색문은 가중치가 적용된 단어들로 구성된 유사-문서 벡터로 표현되며, 검색 결과로는 벡터 간의 코사인값이 특정 역치값을 넘는 문서들이 된다.

Introduction

기존의 검색 방법들은 문서 내의 단어를 매칭하는 방법이었는데, 이 논문은 단순 매칭으로 인해 발생하는 각종 문제점을 해결하고자 한다.

검색어에 특정 단어를 치는건 단순히 그 단어를 매칭하려는 것이 아니라 단어의 의미를 포함하는 문서를 찾으려는 것이다. 과거의 방법처럼 단순히 단어 자체를 매칭해 검색할 경우 관련 없는 결과가 나오는 경우가 많다.

<aside> 💡 논문에서는 이걸 ‘개별 단어들은 검색하고자 하는 주제/의미에 대해 불확실한 단서를 준다’ 고 말하는 듯 하다.

</aside>

그래서 이 논문에서는 단어-문서 연관 데이터에서 의미를 쉽게 찾을 수 있도록 ‘노이즈’를 제거하려고 한다. 그 노이즈가 무엇인지 정하기 위해 한 가지 가정이 필요하다. 주어진 문서/검색어 데이터에는 어떠한 의미론적 구조가 있고, 문서 작성자의 랜덤한 단어 선택에 의해 부분적으로 난독화되어있다고 가정한다. SVD를 사용하면 행렬의 중요한 factor만 가져가고 minor한 부분을 효과적으로 잘라낼 수 있기 때문에 검색을 모호하게 하는 ‘노이즈’를 잘라낼 수 있다.

그러면 검색 과정은 간단하다. 사용자의 검색이 어느 공간 내에 있는지 알 수 있다면 그 주변에 있는(코사인값이 일정 역치를 넘는) 문서를 가져오면 된다.

기존 검색 방법의 한계점

검색 방법에 대해

기존 단어 기반 검색을 한다면 엄청나게 큰 두 문제가 생긴다. 바로

동의어는 한 대상을 가리키는데도 엄청나게 많은 방법이 있기 때문에 단어 검색을 방해한다. 심지어 이전 연구에 따르면(Furnas, Landauer, Gomez & Dumais, 1987) 하나의 매우 잘 알려진 물체를 묘사하는 키워드로 같은 키워드를 고르는 경우가 20%밖에 안되었다고 한다. 물론 인덱서의 일관성도 안좋을 수밖에 없다(물론 1990년 당시!). 이는 문서가 아예 검색되지 못하게 한다.

다의어는 주변 문맥을 인식하지 않으면 어떤 의민지 알 수 없기 때문에 이것 또한 원하는 정보를 얻는 성능을 낮춰버린다. 동의어의 문제와는 다르게, 이는 검색의 정확도를 낮춘다.

자동 인덱싱에 대해