검색의 미래 - 개인화 검색

검색공부하기 : 2011. 9. 22. 06:09   By LiFiDeA
오랜만에 검색 관련 포스팅으로, 인턴 프로젝트 및 기타 이유로 관심을 많이 갖게 된 검색 개인화에 대해 써볼까 합니다. 개인화는 2000넌대 초반부터 주로 연구되어 최근까지 굉장히 Hot한 주제였습니다. 제가 논문 검색에 자주 사용하는 DBLP 검색엔진의 결과를 보면 2000년대 후반에 굉장히 많은 연구가 이루어졌음을 알 수 있습니다. 


 
검색, 검색 개인화, 문서 추천

지난 연재에서 소개했듯이, 전통적인 검색 연구의 두 축은 질의어와 문서입니다. 즉, 주어진 질의어에 관련성이 높은 순서로 문서를 랭킹하는 것이 핵심 문제입니다. 그러다 보니 관련성은 질의어와 문서에 대해서만 정의되며, 실제로 질의어를 입력하고 결과를 사용하는 개별 사용자는 고려되지 않았습니다. 개별 사용자의 취향을 고려하기 보다는, 주어진 질의에 대해 최대한의 사용자를 만족시키는 '정답'이 존재한다고 가정하고, 이를 여러 방시으로 찾으려는 것입니다.

이에 반해 개인화된 검색은 질의어와 문서에 '사용자'를 직접 고려합니다. 기존 웹검색의 성능을 높이는 일이 어느정도 한계에 부딛히고, 검색엔진이 사용자에 대한 다양한 정보를 수집하게 되면서 '다수'를 만족시키는 랭킹보다는 사용자 각각을 만족시키는 랭킹을 찾으려고 노력하게 된 것입니다. 아래 그림에서처럼 이제 문서(D)의 관련성(R)이 질의어(Q) 뿐만 아니라 개별 사용자(U)의 관점에서도 정의되는 것입니다. 여기서 질의어라는 개념을 뺀다면 각 사용자에 대한 문서를 추천하는 Collaborative Filtering과도 많이 닮아있는 것을 보실 수 있습니다. 



개인화 검색의 이슈들

이처럼 '사용자'라는 하나의 축이 더 생기다보니, 개인화된 검색에는 많은 고려사항이 있습니다. 우선, 질의와 문서간의 매칭 뿐만 아니라 사용자와 문서의 매칭까지 고려해야 합니다. 즉, 사용자의 위치, 평소 관심 분야와 취향을 고려해 선호되지 않을 것으로 예측되는 문서는 질의어와의 관련성이 높더라도 랭킹을 낮추는 것입니다.

하지만, 잘 최적화된 기본 랭킹 대신에, 개인화된 랭킹을 적용하는 일에는 여러가지 위험성이 따르기에, 이를 고려하여 개인화의 여부 및 정도를 적절히 결정하는 것이 필요합니다. 최근에 발표된 연구중 문서의 난이도를 고려하여 검색 결과를 개인화하는 연구를 [1] 예를 들어봅시다. 평소에 어려운 문서를 읽는 사용자라도 가끔 쉬운 문서를 읽고싶을 때가 있을 텐데, 만약 검색엔진이 계속 어려운 문서만 추천한다면 오히려 사용자 만족도를 떨어뜨리는 결과를 낳을 것입니다. 

마지막으로, 검색 결과의 '정답'이 각 사용자에 따라 달라지기에, 예전처럼 검색 품질 평가에 별도의 평가자(Judge)를 고용하는 일은 더이상 의미가 없습니다. 대신 개별 사용자의 클릭 데이터가 주된 평가의 척도가 됩니다. 검색 알고리즘 평가에 관한 학회중 대표적인 TREC에서 최근에 검색 세션에서의 사용자 만족도 향상을 목표로 하는 Session Track을 시작했는데, 여기서도 평가를 위해 개별 사용자의 만족도를 반영하는 클릭 데이터가 새용됩니다. 

위에서 설명했듯 개인화된 랭킹을 만들고 평가하는 데에는 개별 사용자의 로그 데이터가 필수적입니다. 각 사용자의 관심도나 취향을 추측하고, 개인화된 결과가 더 좋은 결과를 낳는지는 사용자의 검색 기록을 통해서만 알 수 있기 때문입니다. 그래서 많은 검색엔진은 검색 기록 이외에도 브라우저 툴바 등을 통해 개인 사용자에 대한 기록을 모으고 있습니다. 또한, 모든 사용자 각각에 대해 충분한 데이터를 얻을 수 있는 것이 아니기 때문에, 사용자를 여러 속성으로 군집화하여 개인화 대신 집단에 대해 최적화된 결과를 제공하기도 합니다.  
 
마치며

검색 연구는 주어진 질의에 대해 고정된 '정답'을 내놓는 방식에서 개별 사용자를 고려한 결과를 제시하는 방향으로 바뀌고 있습니다. 여기서는 주로 문서의 랭킹을 논하였지만, 사실 문서 요약(snippet), 질의어 추천 등 검색엔진의 모든 측면이 잠재적인 개인화의 대상입니다. 앞으로는 사용자에 대해 충분히 많은 정보를 수집한 검색엔진이 사용자의 질의 없이도 관련 정보를 추천하는 일도 가능할 것입니다. (이미 구글에서 5년전에 나온 관련 논문이 있습니다.) 

p.s. 좀더 구체적인 정보를 원하시는 분들은 제가 인턴 기간중 작성한 개인화 관련 연구의 survey slide를 참고하세요. 

p.s. 사포러스 님께서 개인화된 검색에 대해 다른 견해를 다룬 책을 소개해 주셨네요.  

  • [1] K. Collins-Thompson, P. N. Bennett, R. W. White, S. de la Chica, D. Sontag. (To appear.) Personalizing Web Search Results by Reading Level. Proceedings of the Twentieth ACM International Conference on Information and Knowledge Management (CIKM 2011). Glasgow, Scotland. Oct. 2011.