如何獲得更好的內容推薦體驗?Netflix的《捍衛者聯盟》實驗有些答案
最近廣受期待的漫威劇《捍衛者聯盟》在Netflix放出之后,Netflix官方展示了他們基于這部劇做的內容推薦嘗試與數據實驗。以此為契機,我們或許可以一窺“別人家的推薦引擎”。
Netflix在互聯網時代的成功,是一件非常值得回味的事。
作為一家以租賃起家,以流媒體平臺這種不算很新銳的企業特征,獲得了世界科技領域的普遍認同,甚至能夠與巨頭一較高下。Netflix顯然不止是在內容和品牌宣傳上作對了一些事情。
比如說,有長期使用Netflix經驗的朋友(雖然目前在國內有點難),肯定會對Netflix的個性推薦系統留有深刻印象。事實上,Netflix在內容推薦上的技術實力與效率一直廣泛受到業界認同
根據Netflix提供的官方數據,使用個性推薦系統之后,其平臺用戶的觀看率提升了3到4倍,而基于個性推薦系統打開的視頻數量,是從最受歡迎列表打開數量的4倍。
在國內,“千人千面”“內容找人”近兩年也是很熱門的話題。但很少有人分析內容推薦系統的內部邏輯,以及更好的內容推薦系統需要哪些因素。
最近廣受期待的漫威劇《捍衛者聯盟》在Netflix放出之后,Netflix官方展示了他們基于這部劇做的內容推薦嘗試與數據實驗。以此為契機,我們或許可以一窺“別人家的推薦引擎”。
懂算法的同時要懂內容
《捍衛者聯盟》之所以特別,原因在于它就像《復仇者聯盟》一樣(好多聯盟?。?,是幾個各自有獨立劇集的超級英雄組合到一起的“混合劇”。
對于Netflix來說,這部劇的價值在于這四位英雄有各自的受眾群體(鐵拳應該沒有中國受眾吧),而組合起來的人設與故事是否能覆蓋各自人群之和,還是應該推向新的人群呢?
(四個獨立英雄受眾有不同的觀影喜好和關鍵詞標記 )
針對這個問題,Netflix將《捍衛者聯盟》當做了一塊試驗田,他們將密切關注這部劇的數據走向,并且對不同身份標識的用戶實行不同的推薦策略。測試結果將形成新的機制,用來確定如何向不同的興趣組提供“混搭劇”推薦,同時也可以根據反饋來確定以后是否要制作更多不同劇集人物的組合劇。
相比于國內的主流內容推薦引擎(無論是信息、短視頻還是視頻)通常采取以用戶為中心,根據用戶瀏覽、收藏、付費等行為來建構個性化推薦體系,Netflix讓我們看到了另一種可能:以內容特征為中心,去分析不同內容可以推薦給誰,如何推薦,甚至是否要調整內容?!案畠热莸膫€性推薦”不僅建立在對內容文本特征的把握上,更重要的是技術能力足夠支撐這種創造力。
否則從用戶、內容雙向互動來匹配推薦機制,將是一個工作量巨大且錯誤率高企的任務。那么問題來了,站在Netflix推薦系統背后的,究竟是一個什么樣的技術體系呢?
好戲的基礎,是一個足夠大的舞臺
簡單來描繪的話,Netflix個性內容推薦機制的特色,就是要在保證用戶使用流暢的前提下,不遺余力的裝備更多、更復雜的算法組合。
具體的算法我們一會再聊。首先要弄清楚的問題是Netflix內容推薦系統的底層基礎是什么。
假設我們認為,更多的算法和技術,可以帶來更巧妙的運算和結果,并且相互制約出趨向合理的結論。那么平臺的第一要務就是要保證運算能力可以負擔復雜的算法與數據挖掘技術運行,并且保證平臺可以敏捷輕松的加入后續越來越多的算法。
那么第一個問題就是運算能力的保證。我們知道,人工智能的多元算法要求的運算力特別高,傳統的CPU+服務器模式在成本上很難滿足復雜的AI系統運行。
而Netflix是最先嘗試在AWS上使用GPU實現分布式神經網絡的企業之一。雖然今天這種組合正在逐漸成為標配,但在幾年前使用GPU代替大型集群的CPU作為平臺支撐是一個創舉。
這樣不僅保證了計算力的穩定,還為更多的人工智能投入平臺運用提供了契機。另外Netflix還率先把大量運算任務交給了云端,在AWS上進行分配式計算,確保了運算的高效率。
另外,我們可以注意到,Netflix在進行內容推薦運算的時候使用的是三種計算方式相結合:在線計算、離線計算和接近在線計算。
之所以要進行分工,是要保證運算復雜度和運算效率穩定統一。其中在線計算用來響應必須即刻完成的交互行為,確保用戶指令得到實時響應。而離線計算因為沒有時間限制,可以在運算平臺上完成更復雜的算法運行和更大的數據量處理。這種運算的工作模式是系統從用戶處收集數據,然后回到后端進行運算分析,再通過后期的交互表現在內容推薦上。
處于二者之間的是接近在線計算,這種運算承擔的任務可以有延遲,但是也需要快速分析。把數據和任務進行區分,進行歸類式學習與運算,是Netflix保證運算能力和使用體驗達成平衡的關鍵。但是這種模式并不容易,關鍵在于要有精準的個性化架構,對三種計算模式進行無縫結合,統一規劃在線和離線計算的過程。
(Netflix內容推薦系統框架圖,可以看到整個運算分為三種計算方式,而且其中主要組件包括多種機器學習算法)
在滿足運算區分的同時,系統的架構還需要保證靈活的接入能力。因為新的算法可能隨時加入進來,架構必須保證即插即用和可在原基礎上進行開發。
從Netflix平臺的運營經驗來看,使用人工智能達成精準個性化服務的前提是保證平臺的運算能力可以滿足復雜的算法執行、處理大量數據,并且架構有很高的兼容性。
尤其重要的一點,是必須控制算法的部署成本與效率指數。
Netflix絕不是一個為了技術不顧成本的公司,比如在他們的架構中深度學習只占據很小一部分,核心原因并非深度學習類算法效果不好,而是因為深度學習會占據大量的運算力并且成本高昂。
有了足夠大的舞臺,人工智能才能閃轉騰挪,巧妙的表演自己的本領。從幾次公布的Netflix內容推薦系統中看,他們非常樂于用AI算法構建一個迷宮。
算法迷宮
高階的內容平臺的推薦引擎并不容易達成,因為在保證精準度的同時,必須實時外界內容和用戶的數據變化,這樣才能保證推薦結果最大化。
Netflix認為,相比于重于數據的搜索引擎,推薦引擎注重的是對知識的理解和運用,這讓推薦引擎對算法的需求大大提升。因為既要滿足用戶畫像模型的精準,又要對多種內容排列機制給出決策運算結果。
這就要求需求分析、技術選擇、推薦算法質量三者達成有效平衡。而Netflix的解決方案是把多種算法和多端運算進行組合。
僅僅Netflix個性推薦系統中運用到的機器學習算法,就有線性回歸(Linear Regression)、邏輯斯特回歸(Logistic Regression)、彈性網絡(Elastic Nets)、奇異值分解(SVD : Singular Value Decomposition)、(Restricted Boltzmann Machines)、馬爾科夫鏈(Markov Chains)、LDA(Latent Dirichlet Allocation)、關聯規則(Association Rules)、GBDT(Gradient Boosted Decision Trees)、隨機森林(Random Forests)、矩陣分解(Matrix Factoriza),并且名單還在不斷增加。
這里不討論每一種算法具體給內容推薦帶來的價值,但是想表明兩點:沒有能解決所有問題的算法,組合才是硬道理;算法模型間的結果互制,是確保Netflix推薦質量高的秘訣。
總結一下Netflix對機器學習等AI算法的態度,可以歸為三點:
1.對新算法保持敏感和饑渴,對已有算法創新保持樂觀。
2.愿意在多個產品功能樹上以使用算法矩陣。
3.嚴格的算法測試。
(Netflix測試內容推薦類算法的結構邏輯)
當然Netflix的推薦引擎絕非完美,還是經常有各種bug出現,但其構造推薦引擎的整個故事還是值得我們多想一些。
在具體技術之外的產品戰略層面,Netflix帶給AI產品應用的啟示在于,“有AI”和“有很好用的AI”真的是兩碼事。
大量的硬件部署、運算支撐、框架開發、算法創新、應用測試以及對整個體系嚴苛的檢驗,都是巨大的投入成本。AI雖然能解決問題,但目前情況下還不能“很便宜”的解決問題。真的要投身AI,必須要對成本和投入有足夠正確的認知。
具體到內容推薦引擎上,“根據你剛剛點擊的關鍵詞推薦”和“根據你推薦”,也是兩碼事。
好了,現在筆者要去回顧一遍《復聯》,等等《蜘蛛俠》,刷刷《懲罰者》的消息了——希望這些可以減緩《捍衛者》帶給我的打擊與傷害…..
作者:風辭遠
來源:微信公眾號:腦極體(ID:unity007)
本文由 @腦極體 授權發布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自PEXELS,基于CC0協議
“更懂內容的個性推薦”不僅建立在對內容文本特征的把握上,更重要的是技術能力足夠支撐這種創造力。
可以再拓展講講前半部分對內容文本特征的把握上嗎
很酷。