검색과 추천 -Query Suggesttion vs. Query Destination

2011. 11. 4. 18:32사는게 뭐길래/Data & Intelligence

검색에 사용되는 추천 기법들과 효과에 대해서 잘 설명한 논문이 있어서 소개합니다.
새로운 추천 기법이나 알고리즘을 소개하는 논문은 아니고, 어떤 포인트에서 어떻게 추천을 했더니, 어떠한 차이점과 효과가 있더라...  라는 내용을 담은 실험 논문입니다.

 "Studying the Use Of Popular Destinations to Enhance Web Search Interaction"
- by Ryen White, Mikhail Bilenko, Silviu Cucerzan
- SIGIR 2007 (최우수 논문으로 선정)
- http://research.microsoft.com/en-us/um/people/ryenw/papers/WhiteSIGIR2007a.pdf
(정보검색 분야에서 역사와 전통을 자랑하는 학술대회인 SIGIR 2007에서 최우수 논문으로 선정되었다고하니... 좋은 논문 맞겠죠?)

논문의 내용 중에서 시사점이 있는 부분을 소개하면 다음과 같습니다.


Query Suggesttion vs. Query Destination

쉽게 말해서 검색어를 추천하는 방법과 검색 결과를 추천하는 방법입니다.

Query Suggestion은 검색어를 입력했을 때, 이 검색어와 연관성이 있는 검색어를 추천하는 방식입니다.
(요즘 대부분의 검색 사이트들이 제공하는 기능입니다.)
해당 검색어와 문자열이 비슷한 검색어일 수도 있고, 사전적인 의미가 서로 통하는 검색어일 수도 있고, 해당 검색어와 같이 사용되는 검색어일 수도 있고, 해당 검색어를 사용한 후에 2차 검색어로 사용하는 검색어일 수도 있고...
논문에서는 처음 입력한 검색어를 서브스트링으로 포함하는 인기 검색어, 그리고 처음 입력한 검색어 다음에 많이 사용되는 인기 검색어를 이용하여 추천을 했습니다.

Query Desination은 검색 결과를 제시할 때, 검색엔진이 제공하는 검색어-컨텐츠 매치 결과 외에 검색어와 연관성이 높은 다른 컨텐츠를 함께 추천하는 방식입니다.
예를 들어, 사용자가 입력한 검색어와 유사한 검색어를 사용한 다른 사용자들이 많이 클릭한 컨텐츠를 추천하는 식입니다.


Known-item vs. Exploratory
 
검색 행위를 크게 Known-item 작업과 Exploratory 작업으로 구분했습니다.

Known-item 작업은 검색 대상이 명백한 성격의 작업을 말합니다. 예를 들어, "조용필의 나이는 몇 살?"과 같은 정보를 찾기 위한 검색과 같은 것.
반면에, Exploratory 작업은 검색의 목적이 좀 더 두리뭉실하거나 난해한 경우입니다. 예를 들어, "초등학교 6학년 아이를 위한 수학문제집은 뭐가 좋을까?"와 같은 경우.

검색 행위를 이렇게 구분한 이유는, 검색의 성격이나 목적에 따라 적용할 추천 방식이 달라지기 때문입니다.
논문에서 실험한 바에 따르면, Known-item 작업의 경우 Query Suggestion 방식이 더 좋은 효과를 보였고, Exploratory 작업에서는 Query Destination 방식이 더 좋은 효과를 보였다고 합니다.

대충 생각해 봐도 그럴 것 같죠?
검색할 대상이 명확한 경우라면, 추천 검색어에 내가 찾는 정보를 표현하는 더 좋은 검색어가 제시된다면 좋겠죠.




조용필 나이가 궁금해서 '조용필'로 검색했을 때... 위 그림처럼 '조용필나이'라는 관련검색어가 제공되네요.
 딱 좋습니다!
(물론 '조용필 나이'라고 검색어를 입력하는게 더 좋은 방법이겠지만 말입니다. ^^)

....

반면에... "초등학교 6학년 아이를 위한 수학문제집은 뭐가 좋을까?"와 같은 경우
'초등6수학문제집'이라고 검색을 했을 때는...



제시되는 관련검색어가 그리 큰 도움이 되지는 않습니다. (뭐, 도움되는 사람도 있겠지만...)
이것 보다는 잘나가는 문제집을 제시해 주는게 좋겠죠.



검색 결과 페이지에서 스크롤 다운해 내려가면, 이렇게 쇼핑 검색결과를 보여줍니다.
이 결과가 비록 사람들이 '초등6수학문제집'으로 검색한 후 많이 클릭하는 상품이 아니라
'초등6수학문제집'이라는 검색어와 매치가 잘 되는 상품을 그냥 뽑아 놓은 것이긴 하지만...
관련검색어 보다는 만족도가 더 높지 않을까 싶습니다.

....

어떤 검색어가 Known-item을 찾는 검색어인지, 아니면 Exploratory 검색어인지를 알아내기는 쉽지 않는 문제일테니, 결국 Query Suggestion 방식의 추천과 Query Destination 방식의 추천을 모두 제공하면 될 것 같습니다.

논문의 실험결과, 검색의 성격에 따라 효과가 서로 상반되게 나오기는 하지만,
사용자들은 Query Destination 방식에 더 높은 점수를 주었다고 합니다.

현재 제공되는 검색 서비스의 경우 Query Suggestion 방식은 잘 제공되고 있는데...
Query Destination 방식의 추천 기능을 강화하면 좋지 않을까 싶습니다.

제가 소개한 내용 외에도 논문에는 좀 더 자세하고 다양한 실험 내용이 있으니
관심있는 분들은 참고하시기 바랍니다.
최우수 논문상 받은 논문입니다. 저도 강추합니다!


...

참고로, 논문에서는 Query Destination과 유사한 방법으로 Session Destination을 소개하고 있습니다.
Query Destination이 검색어를 기준으로 추천할 컨텐츠를 분석하는 반면, Session Destination은 '검색 Session'을 기준으로 분석한다는 것이 차이점입니다.
예를 들어, '메뚜기'로 검색하고 '유재석' 홈 페이지를 클릭하고, 곧 이어서 '사마귀'로 검색하고 '개그콘서트' 홈 페이지를 클릭했다면...
Query Destination에서는 '메뚜기-유재석', '사마귀-개그콘서트'가 각각 서로 다른 쌍으로 분석하는 반면
Session Destination에서는 {'메뚜기', '사마귀'}라는 검색어 집합이 맨 마지막에 클릭한 '개그콘서트'와 쌍을 지어서 분석합니다.
따라서, 검색어 '메뚜기'를 입력했을 때 Query Destination에서는 '유재석'이 추천될 수 있고, Session Desination에서는 '개그콘서트'가 추천되겠지요.

효과는 그다지... T.T