목차 : 
정보 검색 (IR) 연구의 최신 동향
4가지 측면에서 바라본 정보 검색 (IR) 연구의 흐름
검색을 위한 문서 모델링 - 문서에서 검색에 유용한 속성 추출하기
질의어 분석 - 사용자 질의를 남김없이 해부한다
랭킹 함수 (retrieval model) - 검색 엔진의 심장부
검색 결과 평가하기 - 평가 없이는 향상도 없다
검색 기술의 미래 - 
검색 연구자들은 어떤 생각을 하고 있을까 
---

오늘은 , 최근의 연구 동향을 문서 모델(document model), 질의어 모델(query model), 검색 모델(retrieval model), 그리고 평가(evaluation)의 순으로 정리해보려 합니다. 전체를 아우르는 큰 그림은 지난 포스트에 소개한 바가 있습니다. 

(1) Document Modeling
문서 모델링은 문서에서 검색에 도움이 되는 속성(feature)을 뽑아 인덱스를 생성하는 단계입니다. 잘 알려진 것으로는 단어의 빈도에 근거하여 관련성(topicality)을 평가하는 전통적인 속성(TF-IDF, BM25), 그리고 웹 문서의 연결 관계(link structure)를 분석하여 가장 권위있는 문서를 뽑아주는 속성(PageRankHITS) 등이 있습니다. 

전통적으로 가장 많은 연구가 집중되어온 영역이지만 최근들어 새로운 속성(feature)을 찾는 일은 조금씩 한계에 부딛히고 있는 듯 합니다. 하지만 Anchor Text나 태그 등 부가적인 메타데이터를 활용하거나, 클러스터링 등을 통해 발견한 인접 문서와의 유사성을 이용하여 문서를 좀더 정확하게 평가하려는 노력은 계속되고 있습니다. 

(2) Query Analysis
다음은 사용자가 입력한 질의를 분석하는 단계입니다. 여기에는 질의어 확장(expansion), 교체(substitution), 어근 분석(stemming), 철자 교정(spell correction), 분리(segmentation), 가중치 부여(weighting) 등 질의어 자체를 개선 하거나 좀더 세분화된 처리를 위해 질의어의 유형을 분류(classification)하는 작업이 포함됩니다. 사용자의 질의는 (특히 웹 검색) 보통 짧은데다가 애매하거나 오류를 포함한 경우가 많아, 잘의어 분석만 잘 해도 검색 성능을 획기적으로 올릴 수 있습니다.

특히 기존 연구 (e.g. 문서 모델링)가 한계에 부딛히고, 대량으로 주어지는 Query Log의 활용이 새로운 연구 토픽으로 각광받으면서 최근 검색 연구에서 가장 'hot'한 분야라고 할 수 있습니다. 최근 구글과 야후 등이 경쟁하듯 내놓고 있는 개인화 검색 역시, 사용자 프로필에서 추출한 단어를 검색어로 사용한다는 측면에서 주로 이쪽에 분류됩니다. 검색 개인화에 대해서는 좀더 자세히 다루겠습니다.

(3) Retrieval Model
검색 모델은 문서 모델링(1)에서 추출한 속성과 질의어 모델링(2)에서 분석된 질의어를 기반으로 각 문서의 실제 점수를 계산하는 공식(ranking formula)을 가리킵니다. 전통적인 의미의 검색 모델은 대부분 질의어와 문서의 유의성(textual similarity)에 기반한 것이 많았는데, Vector Space Model, Probabilistic Model (BM25), Language Model등이 모두 여기에 포함됩니다. 

하지만 2003년 이후, 검색의 기준이 되는 속성에 문서의 최신성, 품질 등 많은 요소가 추가되고, 검색 품질에 대한 평가를 자동화할 수 있는 클릭 로그(click-through log)의 사용이 보편화되면서 머신러닝 기법을 검색에 도입하는 연구가 대세를 이루고 있으며 이를 통칭하여 랭킹 학습(Rank-learning / Learning to Rank) 기법이라고 합니다. RankNet, RankSVM, RankBoost등이 이에 포함됩니다.

이와 함께 최근 눈에 띄는 경향은 검색 결과의 다양성(diversity)을 높이려는 시도입니다. 과거에는 문서 각각을 평가하여 좋은 문서가 Top에 있으면 무조건 좋은 것으로 간주하였지만, 비슷한 혹은 중복된 문서를 여러 개 보여주는 것은 검색 품질에 악영향을 끼치기 때문에, 이를 검색 모델 및 평가에 반영하려는 것입니다. 

(4) Evaluation
검색은 '평가의 과학'이라는 말이 있을 정도로 검색 결과를 정확하고 효율적으로 평가하는 일은 검색 연구의 주된 축이었습니다. 전통적인 Precision / Recall / Mean Average Precision 이외에도 검색 결과를 정확히 반영하는 평가 지표(metric)을 만드려는 노력이 계속되어 문서의 품질을 평가 결과에 좀더 정확히 반영할 수 있는 NDCG등 새로운 방법이 각광받게 되었습니다. 

또한 검색 결과의 평가를 위해서는 문서 각각의 적합성을 사람이 직접 평가해야 되기 때문에, 이 과정에서 필요한 문서의 숫자를 줄이려는 연구도 있었습니다. 또한 단순히 Top 10에 몇개의 relevant한 문서가 있다는 식이 아니라, 실제 사용자의 작업 효율을 높여주는 정도를 평가 척도에 반영하려는 노력도 있어 왔습니다.

기계적인 검색에서 인간적인
 검색으로
몇 단어를 던져주면 딱 맞는 문서를 찾아 주는 마술같은 검색 엔진의 이면에는 이렇게 복잡다단한 노력이 숨어 있습니다. 위에서 여러가지 흐름을 소개했지만, 요약하자면 점차 '사용자' 중심의 연구를 하게 되었다고 볼 수 있을 것 같습니다. 단순히 고정한 함수를 계산하여 가장 높은 점수순으로 문서를 출력하는 것이 아니라, 사용자에게 실제로 유의미한 결과를 제공할 수 있는 검색 모델을 만들고, 사용자 질의를 분석 및 분류하고, 클릭 데이터를 수집하여 평가하고, 이를 바탕으로 검색 결과를 개선하는 겁니다. 물론 검색 개인화 역시 같은 맥락으로 볼 수 있습니다.

 다음회부터는 각 부문별 동향 소개가 이어집니다.  좀더 설명이 필요한 부분이 있다면 지적 바랍니다. ^^