全國(guó)咨詢(xún)/投訴熱線:400-618-4000

首頁(yè)新聞動(dòng)態(tài)正文

Python培訓(xùn)之從YouTube算法論文反推其推薦機(jī)制(二)

更新時(shí)間:2017-08-31 來(lái)源:黑馬程序員python培訓(xùn)學(xué)院 瀏覽量:


如何對(duì)視頻進(jìn)行排名這一塊的數(shù)學(xué)原理非常復(fù)雜。論文既沒(méi)有詳述排名過(guò)濾器所用的數(shù)百項(xiàng)因素,又沒(méi)有提及他們是如何加權(quán)的。但它列舉了其中的三大主要因素:瀏覽記錄、搜索記錄、觀看人數(shù),以及包括新鮮程度在內(nèi)的其他視頻元素。

每一秒鐘都有大量的視頻上傳到Y(jié)ouTube。向用戶(hù)推薦這些最新上傳的新鮮內(nèi)容,對(duì)YouTube來(lái)說(shuō)極其重要。我們長(zhǎng)期觀察的結(jié)果是,用戶(hù)喜歡新鮮的內(nèi)容,即便有些內(nèi)容跟他的關(guān)聯(lián)程度并不大。

論文中提到的比較有趣的一點(diǎn),是算法并不總會(huì)受用戶(hù)所看的上一個(gè)視頻的影響,除非你的觀看記錄極其有限。

我們會(huì)優(yōu)先使用用戶(hù)的隨機(jī)觀看和關(guān)鍵詞搜索記錄,然后才會(huì)考慮上一個(gè)觀看視頻的數(shù)據(jù)。

在論文后面討論視頻封面圖和標(biāo)題的時(shí)候,他們提到了點(diǎn)擊率的問(wèn)題:

舉例來(lái)說(shuō),用戶(hù)有很大的幾率來(lái)觀看系統(tǒng)推薦的視頻,但不太可能基于封面圖的選擇而去點(diǎn)擊其主頁(yè)……我們最終的排名會(huì)根據(jù)實(shí)時(shí)A/B測(cè)試的結(jié)果不斷調(diào)整,它大體上就是一個(gè)用于預(yù)測(cè)用戶(hù)觀看時(shí)長(zhǎng)的簡(jiǎn)單函數(shù)。

在這里提出點(diǎn)擊率的問(wèn)題其實(shí)并未出乎預(yù)料。為了能生成更多觀看時(shí)間,一個(gè)視頻必須先讓人看到才成,其中最好的辦法就是做出一個(gè)很贊的縮略圖并相出一個(gè)很贊的標(biāo)題。這讓很多UP主都認(rèn)為點(diǎn)擊率對(duì)于視頻在算法中的排名極其重要。

但YouTube知道點(diǎn)擊率是可以人為刷上去的,所以他們也給出了應(yīng)對(duì)之策。他們?cè)谡撐闹惺沁@么承認(rèn)的:

通過(guò)點(diǎn)擊率進(jìn)行排名往往會(huì)變相鼓勵(lì)誘導(dǎo)性的視頻內(nèi)容,用戶(hù)即便點(diǎn)進(jìn)去也很少看完視頻,因而觀看時(shí)長(zhǎng)能更反映出視頻的好壞。

起碼這一機(jī)制還算鼓舞人心(譯注:對(duì)比一下國(guó)內(nèi)某些網(wǎng)站的內(nèi)容生產(chǎn)機(jī)制),作者接下來(lái)寫(xiě)到:

如果用戶(hù)并未觀看最近推薦的視頻,頁(yè)面下一次加載時(shí)模型就會(huì)自動(dòng)降低該視頻的排名。

這就說(shuō)明,如果用戶(hù)沒(méi)有點(diǎn)擊特定的視頻,該算法就不再將其推薦給相似的用戶(hù)。頻道推薦的情況也一樣,論文中的證據(jù)如下:

我們觀察到的最為重要的信號(hào)是用來(lái)描述用戶(hù)此前跟某個(gè)視頻及其他相似視頻的交互的……舉例來(lái)說(shuō),考慮一下用戶(hù)跟某個(gè)頻道已經(jīng)被算法打分過(guò)的視頻的交互記錄:該頻道有多少視頻被該用戶(hù)看過(guò)?該用戶(hù)觀看同類(lèi)話題的上一個(gè)視頻是在什么時(shí)間?此類(lèi)描述用戶(hù)過(guò)往活動(dòng)的數(shù)據(jù)特別強(qiáng)大……

此外,該論文還指出,算法在訓(xùn)練時(shí)考慮了YouTube視頻所有的觀看方式,包括那些推薦算法觸及不到的地方:

訓(xùn)練數(shù)據(jù)生成自所有觀看方式的YouTube視頻(包括內(nèi)嵌在其他網(wǎng)頁(yè)中的那些),而非僅用我們自己所生成推薦視頻。否則,新內(nèi)容將很難登上推薦榜單,而推薦系統(tǒng)又將過(guò)于依賴(lài)過(guò)往視頻的數(shù)據(jù)。如果用戶(hù)通過(guò)內(nèi)容查找到的視頻不同于我們的推薦,我們就需要能迅速通過(guò)推薦系統(tǒng)把該發(fā)現(xiàn)傳播給其他用戶(hù)。

最終,這一切又回到了算法所用的觀看時(shí)間。正如我們?cè)谡撐拈_(kāi)頭所看到的,該算法在設(shè)計(jì)之初就是一個(gè)”目標(biāo)期望函數(shù)“,作者總結(jié)”我們的目標(biāo)就是為了預(yù)測(cè)用戶(hù)的觀看時(shí)長(zhǎng)“,”我們最終的排名會(huì)根據(jù)實(shí)時(shí)A/B測(cè)試的結(jié)果不斷調(diào)整,它大體上就是一個(gè)用于預(yù)測(cè)用戶(hù)觀看時(shí)長(zhǎng)的簡(jiǎn)單函數(shù)?!?/p>

這也再一次說(shuō)明了視頻觀看時(shí)間之于算法的重要性,該算法的目的就是為了YouTube網(wǎng)站上能有更多、更長(zhǎng)的視頻以及更多、更長(zhǎng)的用戶(hù)觀看時(shí)間。

一個(gè)簡(jiǎn)單的回顧

講了這么多,讓我們簡(jiǎn)單回顧一下:

YouTube使用三個(gè)主要的觀看因素來(lái)推薦視頻,它們是用戶(hù)的觀看歷史、搜索記錄以及相關(guān)的用戶(hù)統(tǒng)計(jì)信息。推薦視頻是通過(guò)候選生成器與排名過(guò)濾器的篩選出來(lái)的,這兩大過(guò)濾器決定了YouTube如何讀取、篩選視頻,如何生成推薦列表。排名過(guò)濾器主要是基于用戶(hù)輸入的因素,其他因素還包括視頻的”新鮮程度“和點(diǎn)擊率。推薦算法的設(shè)計(jì)初衷是持續(xù)增加用戶(hù)在YouTube網(wǎng)站的觀看時(shí)長(zhǎng),其方法是持續(xù)把視頻A/B測(cè)試的實(shí)時(shí)結(jié)果不斷反饋給神經(jīng)網(wǎng)絡(luò),從而使YouTube能不斷為用戶(hù)推薦它大體上就是一個(gè)用于預(yù)測(cè)用戶(hù)觀看時(shí)長(zhǎng)的簡(jiǎn)單函數(shù)。

如果你還不明白,咱們就再舉一個(gè)例子

我們用一個(gè)實(shí)例來(lái)說(shuō)明這個(gè)推薦系統(tǒng)具體是如何運(yùn)作的:

比如說(shuō),小明很喜歡YouTube,他有YouTube賬號(hào)相關(guān)的一切。每天瀏覽YouTube時(shí),他都會(huì)在瀏覽器登錄。一旦登錄,YouTube便給小明此次瀏覽的內(nèi)容創(chuàng)建三個(gè)token:瀏覽記錄、搜索記錄以及關(guān)于他的統(tǒng)計(jì)信息。小明可能壓根就不知道這三種數(shù)據(jù)的存在。

然后輪到候選生成器上場(chǎng)了。YouTube拿這三個(gè)token的值跟觀看記錄類(lèi)似于小明的用戶(hù)進(jìn)行對(duì)比,由此篩選出小明可能會(huì)喜歡的數(shù)百個(gè)視頻,過(guò)濾掉YouTube視頻庫(kù)中數(shù)以百萬(wàn)計(jì)的其他內(nèi)容。

接下來(lái),基于視頻和小明的相關(guān)性,這些視頻被排名算法排序。排序時(shí)該算法會(huì)考慮這樣一些問(wèn)題:小明有多大的可能會(huì)打開(kāi)這個(gè)視頻?這個(gè)視頻有沒(méi)有可能讓小明在YouTube上打發(fā)更多時(shí)間?這個(gè)視頻的新鮮程度如何?小明最近在YouTube上的活動(dòng)程度如何?還有數(shù)百個(gè)其他的問(wèn)題。

經(jīng)過(guò)YouTube算法的讀取、篩選和推薦后,排名最高的視頻將被推薦給小明。之后小明看與不看的選擇數(shù)據(jù)都會(huì)反饋給神經(jīng)網(wǎng)絡(luò),以供算法后續(xù)使用。視頻被點(diǎn)開(kāi),并吸引小明在YouTube上打發(fā)更多時(shí)間的目標(biāo),則一直持續(xù)下去。那些小明沒(méi)有點(diǎn)開(kāi)的推薦視頻,等他下次登錄網(wǎng)站時(shí)則有可能通不過(guò)候選生成器。

總結(jié)

Deep Neural Networks for YouTube Recommendations這篇論文讀起來(lái)很棒,它第一次讓人從源頭直擊YouTube推薦算法的內(nèi)幕?。∥覀兿M芙佑|到更多的論文,以便在為這個(gè)平臺(tái)制作內(nèi)容的時(shí)候能做出更好的選擇。這也是愿意花時(shí)間來(lái)寫(xiě)這些內(nèi)容的根本原因。畢竟,更適合該平臺(tái)的內(nèi)容就意味著更多的瀏覽量、更高的收入,從而讓我們能有更多的資源來(lái)為數(shù)以十億計(jì)的用戶(hù)制作出品質(zhì)更高、更有吸引力的內(nèi)容。



本文版權(quán)歸黑馬程序員Python培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!

作者:黑馬程序員Python培訓(xùn)學(xué)院

首發(fā):http://409rqu1.cn/news/python.html


分享到:
在線咨詢(xún) 我要報(bào)名
和我們?cè)诰€交談!