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