2016-02-02 01_37_41-Store

넷플릭스가 추천 및 검색 알고리즘을 개선하는 방법

오늘은 최규민님의 소개로 넷플릭스가 추천 및 검색 알고리즘을 개선하는 방법에 관한 아티클을 읽었 습니다. 제 연구분야인 온라인 서비스의 평가방법에 관한 글이라 관심있게 읽었는데, 넷플릭스가 아니더라도 검색이나 추천과 같은 데이터 프로덕트를 만드는데 관심이 있는 분이라면 꼭 읽독을 권합니다. 아래는 간추린 핵심 내용입니다.

  • 넷플릭스의 개인화 추천 알고리즘은 각 고객에게 좀더 다양하고 만족스러운 시청 경험을 제공함으로써 최소한의 영화 컬렉션으로 (비용절감) 최대한의 고객 유지율을 (매출극대화) 달성할 수 있게 합니다.
  • 개인화 추천 알고리즘의 결과 품질에 대해 직관적으로 평가하는 것은 (특히 제3자의 입장에서) 어려운 일이기에, 평가자 데이터보다는 온라인에서의 사용자 행동이 주된 평가 척도가 됩니다.
    • 반대로 비교적 객관적인 평가가 가능한 검색 결과의 경우 평가단에 (Human Relevance Judgment) 많이 의지합니다. (자세한 내용은 제 SIGIR 튜토리얼 참고)
  • 넷플릭스가 사용하는 행동 기반의 지표에는 고객 맴버십 지속도(retention) / 고객 흥미도(engagement) 등이 있는데 흥미도와 지속도 사이에는 강한 상관관계가 있습니다. 또한 지속도는 구전효과(word-of-mouth)와 높은 상관관계가 있습니다.
    • 넷플릭스에서는 새로운 기능이 실제 서비스에 반영되기 위해서는 국지적인 지표의 개선을 가져올 뿐만 아니라 전체적인 고객의 흥미도와 지속도를 높일 수 있어야 합니다.
  • 넷플릭스에서는 온라인 실험을 위해 사용자를 작은 그룹(cell)으로 나누어 각 그룹에 대해 2~6개월 가량 일관된 경험을 제공한 후, 그룹간에 다양한 지표를 비교합니다.
    • 반대로 고객의 유지도보다는 결과의 품질에 초점을 맞추는 정보검색 분야에서는 비교적 짧은 기간(며칠~몇주)안에 온라인 실험이 끝나는 경우가 많습니다. (관련 논문)
  • 온라인 실험에서 주요 지표간 불일치가 발생하는 경우에는 (예: 고객 유지도 증가 but 흥미도 감소 혹은 제자리) 노이즈인 경우라고 생각하고 실험을 다시 수행하게 됩니다.
  • 온라인 실험의 대상에는 신규 고객과 기존 고객이 있는데, 기존 고객은 훨씬 많은 숫자가 있지만 새로운 경험을 제공했을때 그 효과를 편향없이 측정하기가 어렵습니다. 신규 고객은 숫자가 적지만 익숙함에 따른 편향이 적은 대신 Free Trial 관련 노이즈가 있습니다.
  • 넷플릭스에서는 몇 달씩 걸리는 온라인 실험의 효율을 높이기 위해 여러 알고리즘을 동시에 실험에 포함시키거나, 개별 유저를 서로 간섭하지 않는 여러 실험에 동시에 포함시키거나, 혹은 오프라인으로 온라인 실험 결과를 예측하는 기법을 사용하기도 합니다.
  • 넷플릭스는 진출한 나라마다 별도의 추천 알고리즘을 만드는 대신 사용자나 영화 컬렉션 면에서 비슷한 특색을 가진 국가를 지역으로 묶어 지역별로 다른 알고리즘을 제공하는 방법을 사용하고 있습니다.

이 아티클에 지적된 사항 중 많은 부분은 Bing의 검색 품질에 대한 평가를 담당하는 저도 고민하는 부분입니다. 여러가지 미묘한 차이가 있지만, 검색이나 추천이나 결국 사용자의 Input에 따라 최적의 결과를 보여주는 기법이기 때문입니다. 작년에는 주로 데이터 입문자 대상의 글을 썼는데, 올해는 제 연구분야의 글도 본격적으로 써볼 생각이니 기대 바랍니다.

p.s. 예전에 썼던 페이스북 피드 랭킹의 평가에 대한 글도 참고하세요. http://www.hellodatascience.com/?p=572