블로그 이미지
엔써즈
동영상 검색 전문 기업 엔써즈(Enswers)가 전하는 이야기

calendar

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

Notice

2008/12/11 09:37 Enswers Diary
안녕하세요. 동영상 검색 엔써미(ENSWER.ME)에서 검색 랭킹을 맡고 있는 Charles Seo 입니다. 오늘은 검색 랭킹에 관한 글입니다. 저는 자연언어처리와 검색을 전공했고 공부를 시작한 99년부터 해서 조금 있으면 10년째가 되어 갑니다만, 하면 할 수록 어렵고 답이 잘 안나오는 분야입니다. :-)

검색엔진에 있어 무엇보다 중요한 것은 랭킹(Ranking)입니다. 김연아를 검색했을 때 나오는 수만개의 결과에서 첫 페이지에 보여줄 10개를 어떤 순서로 선택할 것인가의 문제입니다. 많이들 아시다시피 Google이 Altavista, Lycos, Infoseek 등 기존의 검색엔진들을 제치고 1등을 하게된 계기도 PageRank를 기반으로 한 검색 랭킹의 품질이 좋았기 때문입니다.


그런데 검색 랭킹은 쉽지 않습니다. MS가 Google을 이겨보겠다는 장담하에 live.com을 오픈했지만 검색품질은 그다지 좋지 않습니다 (live.com 김연아 동영상 검색결과). 세계적으로 정말 뛰어난 Ph.D들이 해도 잘 안되죠. 그 이유는 검색 랭킹이라는 문제는 정의 자체가 어렵기 때문입니다.  어려움의 가장 큰 원인은 바로 확실한 정답이 없다는데 있습니다. 정답이 있어야 이게 잘 되는지 평가를 할텐데 정답 자체를 만드는게 쉽지 않습니다. 정답이 없는 이유는 사람마다 첫 페이지에 원하는 검색결과가 다르기 때문이죠. 장기하를 무척이나 좋아하는 저는 이미 많은 노래를 봤기에 새로나온 최신 공연 비디오를 보고 싶지만, 장기하를 처음 접하시는 분은 가장 유명한 공연영상을 원하시겠죠. 이와 같이 검색은 각기 다른 사람의 마음을 읽어야 하기에 확실한 정답이 없고 그래서 어렵습니다.

특히 동영상은 최신성이 매우 중요합니다. 1년전 김연아 동영상 보다는 오늘 김연아 동영상이 더 흥미롭죠. 어찌보면 시간이 지나도 가치가 있는 동영상과 시간이 지날수록 가치가 없어지는 동영상을 어떻게 구분할 것인가에 대한 고민이 동영상 검색 랭킹의 목표인 것 같습니다.

엔써미(ENSWER.ME)는 이것을 어떻게 풀고 있을까요. 기본적으로 다음의 두가지 가정에서 출발합니다.

  1. 공유도: 사람들이 많이 공유하는 동영상이 가치가 있을 것이다.
  2. 시간: 올라오는 날짜는 다르지만 같은 영상이라면 최초로 올라온 동영상의 시간이 가장 정확한 시간일 것이다.

제목은 원더걸스인데 내용은 야동인 경우도 있기 때문에 텍스트 분석만으로는 공유도를 알 수 없습니다. 또한 작년 박지성 경기를 오늘 올리면 최신으로 둔갑하기 때문에 각 개별 비디오의 업로드 시간만으로는 정확한 시간을 알 수 없습니다. 하지만 저희는
영상 자체를 분석하여 클러스터링 하기 때문에 이런 문제를 해결할 수 있고 위의 두 중요한 가정을 적용할 수 있습니다. 

엔써미(ENSWER.ME)는 기본적으로 공유도를 이용해서 랭킹을 합니다. 하지만 공유도만으로 랭킹을 했을 때는 최신 동영상들은 항상 랭킹에서 밀리게 됩니다. 이에 시간 팩터를 적용해서 최신 동영상일수록 작은 공유도 변화에 민감하게 움직일수 있도록 시간에 따른 공유도 가중치를 적용하고 있습니다.  현재는 3일 이내, 7일 이내, 15일 이내, 30일 이내 구간에서 공유도 가중치가 서로 다르게 적용되고 있습니다. 이와 같은 시간에 따른 공유도 가중치를 우선으로 하고 키워드 연관 점수(Cluster-based TF/IDF)를 결합해서 랭킹을 적용하고 있습니다.

하지만 좀더 깊이 들어가면 공유도나 키워드 연관성 이외에 다른 요인들로 원하는 동영상을 바로 검색하지 못하게 되는 경우가 생기고 있습니다. 일례로 클러스터 단위로 검색을 하기 때문에, 크기가 큰 클러스터 일수록 검색어와 클러스터간의 연관성이 떨어지는 경우가 생깁니다. 원더걸스 공유도 정렬은 랭킹에 문제가 있는 예입니다. 2번째 결과를 보시죠. http://kr.enswer.me/player/vnuoPPufeEg 이 클러스터는 "원더걸스 소핫", "태양 기도", "나만 바라봐"의 세곡이 뭉쳐있습니다. 사용자들이 곡을 두개씩 묶어서 편집해서 올리기 때문입니다. 이런 경우 공유도는 높지만 실제 "원더걸스"와의 연관성은 떨어지고 "태양"의 비디오가 오히려 많습니다.
 
현재 내부에서 평가하는 엔써미(ENSWER.ME) 랭킹의 정확도(precision)는 이슈키워드 및 일반키워드에 대해 0.5 ~ 0.6 정도입니다. 아직은 랭킹에 미진한 부분이 많이 있고, 저희도 이런 문제들을 해결하기 위해 동영상 카테고리, 조회수, 추천수, 조회수 증가분 비율 등의 다양한 정보를 고려한 랭킹 함수를 개발하고 있습니다. 여기에 언어문제(영어, 일어, 중국어 등등)까지 결합하면 랭킹 함수의 복잡도는 한층 증가합니다.

아직 갈길이 멀지만 열심히 뛰고 있습니다. 내년에 전세계를 대상으로 제대로 Open Beta를 할 수 있을 때까지 재미있게 달려야겠죠. ^^


posted by 엔써즌 엔써즈