Title: Carlos A. Gomez-Uribe and Neil Hunt. 2015. The Netflix Recommender System: Algorithms, Business Value, and Innovation
Link: https://dl.acm.org/doi/pdf/10.1145/2843948
Netflix Recommender System 논문 중 실제 추천 시스템을 구성하는 각 요소들에 대해 설명한 Section 2를 주로 정리해봤습니다.
[Abstract]
Netflix 추천 시스템을 구성하는 다양한 알고리즘과 그 비즈니스 목적에 대해 설명합니다.
회원 유지 및 중기 참여 개선에 중점을 둔 A/B 테스트와 회원들의 과거 데이터를 사용한 오프라인 실험을 결합하여 추천 알고리즘을 개선하기 위해 사용하는 접근 방식을 검토합니다.
[2. THE NETFLIX RECOMMENDER SYSTEM]
2.1. Personalized Video Ranker: PVR
일반적으로 각 홈페이지에는 약 40개의 행(장치의 기능에 따라 다름)이 있으며, 각 행당 최대 75개의 비디오가 있습니다.

각 행의 비디오는 단일 알고리즘에 의해서 생성됩니다.
위와 같이 Suspensful Movies 장르 행은 넷플릭스의 personalized video ranker(PVR) 알고리즘에 의해 구동됩니다.
PVR 알고리즘이란 이름 그대로 각 구성원 프로파일에 대해 전체 혹은 장르 혹은 기타 필터링된 하위 세트를 개인화된 방식으로 정렬합니다.
Ordering은 동영상 순서를 선택하는 데 사용되며, 같은 장르의 행이 다른 멤버에게 보여지는 이유는 전혀 다른 이유일 수 있습니다.

넷플릭스에서는 PVR을 매우 광범위하게 사용하기 때문에, 전체 카탈로그에서 general purpose의 상대 순위를 잘 매길 수 있어야 합니다.
또한 PVR은 personalized signals와 상당히 건강한 (unpersonalized) 인기의 블렌딩을 통해 더 잘 작동합니다.
PVR은 그림 2의 왼쪽에 있는 Popular 행의 권장 사항을 유도하는 데 사용됩니다.
Amatriain and Basilico [2012]
https://netflixtechblog.com/netflix-recommendations-beyond-the-5-stars-part-2-d9b96aa399f5
Netflix Recommendations: Beyond the 5 stars (Part 2)
More insight into our broader personalization technology.
netflixtechblog.com
2.2. Top-N Video Ranker

Top Picks 행에 recommendations을 제공하는 Top N video ranker 도 있습니다.
이 알고리즘의 목표는 전체 카탈로그에서 best few personalized recommendations 를 찾는 것 입니다.
순위의 선두에만 초점을 맞추기 때문에, PVR이 갖지 못한 자유입니다.
PVR을 카탈로그의 임의의 하위 집합의 순위를 지정하는 데에 익숙해졌기 때문입니다.
따라서 Top N ranker는 전체 카탈로그의 순위를 보는것(=PVR)이 아니라
알고리즘이 생성하는 카탈로그 랭킹의 머리 부분만 살펴보는 metrics과 algorithms을 사용하여 최적화되고 평가됩니다.
그렇지 않으면 Top N ranker와 PVR 은 유사한 속성을 공유하게 됩니다.
최적화 알고리즘은 예를 들어 personalization와 popularity를 결합하고, 하루에서 1년에 이르는 다양한 시간대의 시청 경향을 식별 및 통합합니다.
2.3. Trending Now

몇 분에서 며칠에 이르기까지, shorter-term temporal trends 는 회원들이 시청할 강력한 예측변수이며, 적절한 개인화와 결합하여 trending ranker 를 제공합니다.
트렌드 랭커인 [Padmanabhan et al. 2015]에 대한 자세한 설명은 아래 링크에 있습니다.
https://netflixtechblog.com/whats-trending-on-netflix-f00b4b037f61
What’s trending on Netflix?
improving our recommender systems
netflixtechblog.com
trending ranker 는 아래 두가지 Trend 에 대해 잘 식별합니다.
1. 몇 개월 혹은 매년 반복되는 trend (e.g. 북미 밸런타인데이 기간동안 로맨틱 비디오 시청의 상승)
2. 1회성 단기 이벤트 (e.g. 대규모 허리케인의 도착이 임박하여 많은 언론에서 허리케인을 다루면서, 자연재해에 대한 다큐, 영화 단기적 관심 증가)
2.4. Continue Watching

또 다른 중요한 비디오 순위 알고리즘은 Continue Watching row 에서 영상을 정렬하는 continue watching ranker 입니다.
대부분의 ranker들과 대조적으로, Continue watching ranker 는 최근 본 타이틀의 subset을 회원이 다시 볼지, 포기할지에 대한 best estimate에 따라 정렬합니다.
여기에 사용되는 signal 로는 보기 후 경과된 시간, 포기한 시점(프로그램 중간 or 시작 or 끝), 이후 다른 제목을 보았는지 여부, device 등이 포함됩니다.
일반적으로 다른 video ranking algorithms 은 다른 수학적/통계적 모델, 다른 signal과 data를 입력으로 사용하며, 각 ranker가 제공하는 특정 목적을 위해 설계된 다른 모델 학습이 필요합니다.
2.5. Video-Video Similarity
Because You Watched (BYW) 행은 또 다른 유형의 분류입니다.
BYW 행은 멤버가 시청한 단일 동영상에 recommendations을 고정합니다.
video-video similarity algorithm (= sims) 이러한 행의 recommendations을 관리합니다.

그림의 하단에 있는 Because~ 행입니다.
sims algorithm은 개인화되지 않은 알고리즘으로, 모든 카탈로그에 있는 모든 영상에 대해 비슷한 것들을 계산합니다.
sims 순위는 개인화되어있지 않더라도, 어떤 BYW 행이 추가되는지는 개인화되어 있으며, 특정 BYW 행에서 추천한 영상의 subset은 회원이 즐길 것으로 예상되는 (또는 이미 시청한) 유사한 영상의 subset에 따라 개인화의 이점을 얻습니다.
2.6. Page Generation: Row Selection and Ranking
각 행에 대해 선택한 영상은 특정 사용자 앞에 배치할 영상 선택항목의 최선의 결과를 예측한 것입니다.
대부분의 구성원들은 각각 다른 moods를 가지고 있고, 한 가구 이상의 구성원들이 많은 계정을 공유하고 있습니다.
하지만 대부분의 구성원들은 세션마다 다른 분위기를 가지고 있고, 한 가구 이상의 구성원들이 많은 계정을 공유하고 있다.
page generation algorithm 은 페이지의 다양성뿐만 아니라 각 행과 구성원들의 관련성을 고려하여, recommentations의 단일 페이지를 구성하기 위해서 위에 언급한 알고리즘의 output 을 사용합니다.
일반적인 회원은 자신의 홈페이지에 들어갈 수 있는 수만 개의 행을 가지고 있어 이를 평가하는 데 필요한 계산을 관리하기가 어렵습니다.
일반 회원은 자신의 홈페이지에 올릴 수 있는 행이 수만 개에 달해 평가에 필요한 연산을 관리하기가 쉽지 않다.
그래서 2015년 이전에는 페이지의 각 수직 위치에 어떤 type 의 행이 들어갈 지 정의하는 rule-based 접근방식을 사용했습니다.
페이지 레이아웃은 모든 구성원에 대해 구성하는 데 사용되었습니다.
오늘날 우리는, 대규모 후보 풀에서 행을 선택하고 순서를 지정하여 relevance and diversity (관련성, 다양성)에 최적화된 순서를 만들 수 있는 완전한 개인화 및 수학적 알고리즘을 보유하고 있습니다. 따라서 환경을 최적화하는 데 더 자유롭습니다.
이 알고리즘에 대한 아래 블로그 게시물 [Alvino and Basilico 2015]에서 이 알고리즘에 대해 자세히 설명합니다.
https://netflixtechblog.com/learning-a-personalized-homepage-aa8ec670359a
Learning a Personalized Homepage
how to best tailor each member’s homepage to make it relevant, cover their interests and intents, and allow for exploration of our catalog
netflixtechblog.com
2.7. Evidence
이런 알고리즘들이 함께 넷플릭스 추천시스템을 구성합니다.
그러나 evidence selection ones 와 같은 다른 알고리즘도 있습니다. 이 알고리즘은 넷플릭스 경험을 정의하고, 회원들이 영상이 자신에게 적합한지 판단하는데 도움을 줍니다.
우리는 그 증거를 Netflix 상품에 초점을 맞춘 예상 별점을 포함하여 페이지 왼쪽 상단에 표시하는 모든 정보라고 생각합니다.
시놉시스; 수상, 출연진 또는 기타 메타데이터와 같이 동영상에 대해 표시되는 기타 사실 행과 UI의 다른 곳에서 권장 사항을 지원하는 데 사용하는 이미지 등입니다.
Evidence selection algorithms 은 모든 recommendation 에 대해 표시할 수 있는 모든 가능한 증거 항목을 평가하여, recommendation을 보는 회원에게 가장 도움이 될 것으로 생각되는 몇가지를 선택합니다.
예를 들어, evidence algorithms는 특정 영화가 오스카 상을 수상했다는 것을 보여줄지 아니면 그 대신 그 멤버가 최근에 본 다른 비디오와 영화가 비슷하다는 것을 회원에게 보여줄 지 결정합니다.
또한 그들은 주어진 recommendation 을 가장 잘 뒷받침하기 위한 여러버전 중 어떤 이미지를 사용할 지도 결정합니다
2.8. Search
추천시스템은 대부분의 화면에서 사용되며, 넷플릭스에서 스트리밍되는 시간의 약 80% 정도의 영향을 미칩니다.
나머지 20% 는 자체 알고리즘이 필요한 검색에서 가져옵니다.

회원들이 검색한 내용이 카탈로그에 없는 영상, 배우, 장르("usual suspect")도 자주 검색하기 때문에 검색 또한 추천 문제로 바뀝니다.
이러한 경우, 검색 실패에 대한 대체 결과로 지정된 쿼리에 대한 동영상을 권장합니다.
검색 환경은 몇가지 알고리즘을 기반으로 구축합니다.
한 알고리즘은 예를 들어, 부분 쿼리 fren 에 대해 지정된 쿼리와 일치하는 동영상을 찾으려고 시도합니다. (Frenemies 검색 등)
다른 알고리즘은 부분쿼리가 주어진 컨셉에 대한 interest를 예측합니다. French Movies 컨셉을 식별합니다.
세번째 알고리즘은 given concept 에 대한 영상 recommentations 을 검색합니다. 예를 들어 French Movies 라는 컨셉으로 추천된 비디오를 채울 수 있습니다.
우리의 검색 알고리즘은 play data, search data, and metadata 를 결합하여 당사가 제공하는 결과 및 recommendations 에 도달합니다.
2.9. Related Work
추천 시스템의 각 알고리즘은 통계 및 기계학습 기술에 의존합니다.
여기에는 supervised 접근(분류, 회귀)과 unspervised 접근(차원축소) 둘 다 포함됩니다.
Hastie et al. [2011] and Murphy [2012] 은 기법에 대한 좋은 overview 를 제공하고, Blei et al. [2003] and Teh et al. [2006] 은 유용한 모델의 좋은 예입니다.
Koren et al. [2009] 에서는 factorization approaches 을 소개하고, Koren [2008] 에서 보다 심층적인 자료를 찾을 수 있습니다.
generalizations 방법으로는 Patrek [2007] 에서 모델 내 매개변수 수를 줄이는 방법과 Mnih 및 Salakhutdinov [2007] 에서 다른문제에 적합하도록 확장하기 쉬운 확률론적 그래픽 모델을 포함합니다.
[5. KEY OPEN PROBLEMS]
넷플릭스는 10년 넘게 추천 시스템을 개발하기 위해 투자해 왔지만, 여전히 지금보다 훨씬 더 나은 추천을 할 수 있다고 생각합니다.
현재 우리의 주요 미해결 문제 중 일부는 A/B 테스트를 중심으로 하고 다른 문제는 추천 알고리즘 자체를 중심으로 합니다.
5.1. Better Experimentation Protocols
5.2. Global Algorithms: 2016년 말까지 전세계에 적용되는 알고리즘을 만들 계획
5.3. Controlling for Presentation Bias: 추천 UI 프리젠테이션을 잘 하자.
5.4. Page Construction: UI를 완전히 개인화하자
5.5. Member Coldstarting: 신규가입한 사람의 유지율을 높이기 위한 노력
5.6. Account Sharing: 계정을 돌려쓰는 사람
5.7. Choosing the Best Evidence to Support Each Recommendation: 각 권장 사항을 뒷받침하는 가장 좋은 증거 선택
논문이 작성되고 5~6년이 지난 현 시점. 대부분의 open problem 은 해결된 것 같아 보이네요
역시 추천 시스템에는 왕도가 없고, 넷플릭스 정도 되는 서비스를 구현하기 위해서는
알고리즘 뿐만 아니라 마케팅 적인 접근과 기획이 중요할 것 같다는 생각이 드는 논문이었습니다.
댓글