Netflix推薦系統(Part Five)-國際化和本地化推薦
原文來自Recommending for the World。這並不是完全和完整的翻譯稿,而是一種總結和筆記。如果發現任何侵權行為,請聯絡我。
截止到2016年1月6日,Netflix同時在全球130個新國家上線, 超過190個國家。Netflix需要 準備好快速擴充套件,同時確保每個演算法都可以無縫地工作,這為他們的推薦和搜尋團隊帶來了新的挑戰。 在這篇文章中,他們重點介紹了他們在使演算法在全球範圍內執行時遇到的四個最有趣的挑戰,以及解決這些挑戰如何提高了他們的推薦能力。
Challenge 1: Uneven Video Availability
眾所周知,在全球的不同國家和地區的版權許可是不同的,這會導致有些異常訊號發生。例如,電影A可能會在美國的Netflix上播出,電影B只在法國上市。而正常的推薦模型在很大程度上依賴於play資料的學習模式,特別是涉及視訊之間的共現或播放序列。特別是,許多演算法假設當某些東西沒有播放時,它是一個(弱)訊號,表達人們可能不喜歡它。但是,在這種特殊情況下,推薦系統永遠不會觀察到同時播放A和B的使用者。一個基本的推薦模型會知道這兩部電影只是因為觀眾被限制為不同而不能吸引同一類人。但是,如果A和B可以同時播放,則可能會觀察到視訊之間以及觀看視訊的使用者之間的相似性。從這個例子可以看出,不同的視訊可用性可能會干擾推薦系統的質量。
在搜尋體驗上也有類似的問題。不考慮可用性差異會降低搜尋排名的質量。 例如,一個普通的排名演算法的給定查詢的最高結果可能將視訊A排在視訊B前面,但只有很少的人才能播放視訊A,而大家都可以播放視訊B。
內容許可證的另一個方面是它們具有開始和結束日期,這意味著類似的問題不僅出現在各國之間,而且還出現在特定國家/地區內。一個短時間可用的小眾視訊可能比一個長時間的知名視訊更具吸引力,但後者可能會有更多的參與度。
可以想象這些問題可能會對更復雜的搜尋或推薦模型產生影響,因為它們已經在諸如流行度這樣簡單的事情中引入了bias。 解決地理位置和時間不均衡可用性問題則演算法可以為新服務提供更好的推薦。 他們將user根據地理和時間訪問不同目錄的資訊合併到每個演算法中,處理缺失資料和bias。
Challenge 2: Cultural Awareness
文化差異對於推薦是非常重要的,但這並不絕對。比如說寶萊塢在印度應該更受歡迎,而阿根廷的使用者可能更喜歡阿根廷電影。但如果兩個使用者都是科幻電影的愛好者,並且除了地區之外的profile資訊都相似,那他們也應該得到相似的推薦。 捕捉local preference的一個簡單方法是為各個國家建立不同的模型。 但是,有些國家規模很小因此只能獲得很少的使用者資料,在這種稀疏資料上訓練推薦演算法會導致噪聲結果,因為模型很難從資料中識別出清晰的個性化模式。
在Netflix進行全球擴張之前,他們的方法是將國家分組到具有相對一致的目錄和語言的合理規模的區域,然後為每個區域構建單獨的模型。這可以捕捉區域之間的taste差異,因為不同模型的超引數的調整方式不同。在一個地區內,只要有足夠的成員具有一定的口味偏好和合理的歷史資料,推薦模型應該能夠識別和使用該偏好的模式。但是,這種方法存在一些問題。首先,在一個地區內,來自一個大國的資料量將佔據該模型的主導地位,並削弱模型瞭解一個使用者數量較少的國家的local taste的能力。如何保持分組也是一個挑戰,因為內容目錄隨著時間的推移而變化,使用者數量也在增加。最後,因為他們在許多演算法中不斷執行模型變數的A / B測試,所以涉及越來越多區域的組合變得勢不可擋。
為了應對這些挑戰,他們尋求將區域模型合併為一個單一的全球模型的方法,該模型有利於在使用者較少的國家提供更好的推薦體驗。當然,即使將資料結合起來,推薦系統仍然需要識別不同地區的品味差異根據迄今為止看到的資料,local taste和personal taste都會影響使用者的選擇。但總的來說,如果一個使用者喜歡科幻電影,那麼世界另一端也喜歡Sci-Fi的人會比他們喜歡食物紀錄片的隔壁鄰居更有參考價值。能夠發現全球感興趣的社群意味著可以進一步改進推薦系統,因為它們將基於更多資料。使用全域性演算法也有利於識別隨時間出現的新的或不同的taste模式。
為了優化模型,他們可以使用有關內容和成員的許多signal。在這種全球背景下,兩個重要的訊號可能是語言和位置。他們希望讓自己的模型不僅能夠了解user登入的位置,還能瞭解視訊的各個方面,例如視訊的來源,所處的語言以及受歡迎的位置。
Challenge 3: Language
Netflix現已發展到支援21種語言,他們的內容庫包含比以往更多的本地內容。這種增加導致了許多挑戰,特別是對於上面提到的即時搜尋演算法。該演算法的關鍵目標是幫助每個成員在搜尋時找到可以播放的內容,同時最大限度地減少互動次數。這與用於評估資訊檢索系統的標準排名度量不同,後者不考慮互動量。在檢視互動時,很明顯不同的語言涉及非常不同的互動模式。例如,韓語通常使用韓語字母鍵入,其中音節由單個字元組成。例如,要搜尋“올드보이”(Oldboy),在最糟糕的情況下,成員必須輸入九個字元:“ㅇㅗㄹㄷㅡㅂㅗㅇㅣ”。使用視訊標題的基本索引,在最好的情況下,成員仍然需要鍵入三個字元:“ㅇㅗㄹ”,它將在該標題的第一個音節中摺疊:“올”。在為韓文編寫的特定索引中,成員只需要編寫一個字元:“ㅇ”。使用最少的互動集優化最佳結果,並自動適應具有顯著不同書寫系統的新引入的語言,這是他們正在努力改進的領域。
另一項與語言相關的挑戰涉及推薦。如上所述,雖然taste模式在全球範圍內傳播,但最終人們最有可能享受以他們理解的語言呈現的內容。例如,可能有一部很棒的法國科幻電影,但如果沒有英文字幕或音訊,就不應該推薦給喜歡科幻電影但只會說英語的會員。但如果使用者同時說英語和法語,這就很有可能是適當的推薦。人們也喜歡觀看最初用他們的母語或其它常用語製作的內容。雖然我們不斷嘗試為我們的內容新增新的語言字幕和配音,但我們還沒有為所有內容提供所有語言。此外,不同文化下的使用者對於使用字幕或配音觀看也有不同的偏好。將這些結合起來,可以看到推薦可以通過對語言偏好的認識來提高。但是,使用者理解哪些語言是很難明確定義的,因此我們需要從輔助資料和觀看模式中推斷出它。
Challenge 4: Tracking Quality
Netflix的目標是構建對所有使用者同樣有效的推薦演算法,無論他們住在哪裡或說什麼語言。他們現在面臨的挑戰是如何確定演算法何時對使用者的某些子集來說是次優的。
為了解決這個問題,可以通過手動切片一組維度(國家,語言,目錄…)來檢視演算法的效能。然而,這些切片中的一些導致非常稀疏和嘈雜的資料。他們也可以檢視全球觀察到的指標,但這會極大地限制檢測問題的能力。另一種方法是學習如何最好地將觀察分組,以便自動檢測異常值和異常。正如他們致力於改進推薦演算法一樣,他們正在創新衡量指標,裝置和監控以提高通過它們檢測新問題的能力。