최근 검색 트렌드는 의미 검색(Semantic Search)인 것 같다. 구글이 키워드 검색을 꽉잡고 있고 개인 맞춤 검색은 시들해진 여파 같다. 의미 검색(Semantic Search)을 어떤 식으로 얘기해도 역 파일 기반 검색엔진을 통해 구현한다면 검색어, 색인어 선별 문제로 국한된다. 문장 또는 검색어에 나타난 그대로를 색인하면 키워드 검색이 된다. 의미 기준에 따라 선별하면 의미 검색이라고 불릴 자격이 부여된다. 사용자 입장에서 보면 검색어가 돌출돼 있는 문서를 머릿속에서 상상하며 검색하면 키워드 검색이다. 반면 문서를 그 자체로 생각하며 검색한다면 의미 검색이 된다. 웹 검색이 대표적인 키워드 검색라면 쇼핑몰 검색이 대표적인 의미 검색 분야다. 웹 문서는 디지털화된 문자열로 쉽게 상상되지만 구매 대상인 옷들을 문자열로 상상하기란 힘들다.
쇼핑몰에서는 잘 조직화된 의미사전을 사용해 검색어를 자동 확장하여 의미 검색을 시도한다. 아래에 GS이숍의 "나이키" 검색결과가 있다. 잘보면 첫 결과에 "나이키"란 단어가 없다. 나이키의 영문표기인 "NIKE"를 자동으로 넣어 검색했다. "NIKE"와 "나이키"는 수작업으로 의미사전에 등록되어 있고 검색엔진에서는 "나이키"를 "나이키 or NIKE"로 확장해서 검색했을 뿐이다. 질의확장 용도의 의미사전은 정교하게 튜닝되어야 하기에 모두 수작업으로 만든다. 잘못된 오확장은 검색결과를 나쁘게 만들기 때문이다. 일일이 등록되는 모든 상품을 검토할 수 있다면 수작업을 뭐라 할 수 없다. 하지만 옥션과 같이 사용자들이 올리는 상품이라면 불가능하다. 이런 경우 자동화된 질의확장방법이 절대적이다.
상품 내용 그 자체만을 분석해서 쿼리를 자동 확장하는 잠재 은닉 색인(Latent Semantic Indexing)이란 기법이 있다. 상당히 잘 동작한다고 알려져 있는데 국내에 잘 소개되지 못한 것 같다. LSI가 심한(?) 행렬 계산을 필요로 하고 문서와 질의를 은닉차원으로 전환하기 위해 2차 색인을 참조해야 하는 여러 부담 때문에 LSI를 적용한 엔진을 구경하기 힘든것 같다. SVD(Singular Value Decomposition)이란 어려운 선형대수가 나오기 때문일지도 모르겠다. 색인기법으로 LSI와 같은 고급기법들을 채택한 똑똑한 검색엔진이 나왔으면 한다.
@webJOY






