google youtube 电影推荐算法
google youtube 電影推薦算法
在面試實習生的時候,我有個習慣,就是面試快結(jié)束的時候,會像聊天一樣和面試的學生聊一下他們對某個技術(shù)方向的看法。很多時候不是期望他們能提供什么靈感,也不期望能聊出太多結(jié)果,更多的是想通過這些溝通,看一下現(xiàn)在學生對這些問題的看法達到什么程度,而且這些溝通很能反映一個面試者的個性。 比如有些人對問題比較堅持, 或者叫做偏執(zhí),或者叫做執(zhí)著,都能夠反映出來。
前幾天面試的時候到了最后環(huán)節(jié)的時候,忘了是說什么問題了,面試的實習生提到一般工業(yè)界使用的推薦算法都是比較簡單的,不會去嘗試復雜的算法。 我問他為什么,他說覺得工業(yè)界不會投入太多人力; 后來我告訴他還需要考慮處理的數(shù)據(jù)量和可維護性等因素。 當然他說的這個現(xiàn)象的確比較普遍: 工業(yè)界一般都傾向于使簡單粗暴有效的算法,只有這些方法都搞不定時,才會嘗試更復雜的潛在算法。
兩個例子: 一個是 youtube 使用的電影推薦算法(參見論文: The Youtube Video Recommendation System);另一個例子就是Baidu關(guān)鍵詞推薦系統(tǒng)中使用的級聯(lián)二步圖; ?應(yīng)該說Baidu關(guān)鍵詞推薦系統(tǒng)中的級聯(lián)二步圖的思路是借鑒于youtube電影推薦算法并應(yīng)用在關(guān)鍵詞推薦的場景中。 下邊就簡單介紹下youtube Video推薦算法。
算法的思想其實比較簡單:使用關(guān)聯(lián)規(guī)則找到有關(guān)聯(lián)的電影,計算權(quán)值后進行ranking推薦。其中的新意在于,這種關(guān)聯(lián)關(guān)系能夠進行多次傳遞,逐漸擴大和種子電影相關(guān)的電影集合(當然關(guān)系傳遞得越遠,一般關(guān)聯(lián)程度也會相應(yīng)減弱)
具體的推薦過程可以分為3步:
建立video間的關(guān)系
建立video間關(guān)系的方式比較簡單,使用關(guān)聯(lián)規(guī)則中的共現(xiàn)方式即可。此處youtube使用的是24小時內(nèi)session的co-visitation。具體為:
使用 r(vi, vj) = cij/f(vi,vj) 表示video i和video的關(guān)聯(lián)程度, 其中 r為兩個video/item的相關(guān)系數(shù), ci為i,j共同出現(xiàn)次數(shù), f 為 vi, vj歸一化后的分母總量(最簡單的方式就是ci * cj),這樣就能找到相關(guān)的兩個vedio
產(chǎn)生特定用戶的video候選
該過程在經(jīng)典信息檢索中可以被理解為觸發(fā)邏輯,及找到待推薦video/item的候選(觸發(fā)邏輯在推薦系統(tǒng)中所處的位置及重要性參見另外一篇blog: 傳統(tǒng)推薦引擎系統(tǒng)架構(gòu))
定義S為特定用戶的種子video集合, 例如在youtube推薦系統(tǒng)中可以選擇用戶最新觀看(或者最新完整觀看的video),之后的問題就是怎么找到和種子詞相關(guān)的video進行推薦。我們將其分為以下3步:
經(jīng)過上述3步,對于特定user的候選video就觸發(fā)完畢了。 該觸發(fā)步驟可以說是該論文中的值得借鑒的點。 組里之前一位工程架構(gòu)策略都很牛的同學指導實習生實現(xiàn)了一個通用的級聯(lián)二步圖算法框架, 該算法框架能夠?qū)⒂嘘P(guān)聯(lián)的節(jié)點的關(guān)系進行傳遞:
?
?
?
例如對于關(guān)鍵詞,我們可以使用topic 主題(由topic model產(chǎn)生)建立關(guān)鍵詞之間的跳轉(zhuǎn)關(guān)系, 或是關(guān)鍵詞中的核心term(一般是歸一化后的核心term)建立跳轉(zhuǎn)關(guān)系。 而該框架更令人著迷的是, 二步圖的左右兩邊可以不是同樣的item, 例如左邊節(jié)點是keyword而右邊是user, 則可以使用topic 直接建立keyword與user的關(guān)系進行推薦。
?Ranking
youtube 的ranking策略主要考慮以下3個因素:
當然, ranking機制一般都會非常復雜, 論文中此處只是簡單介紹; 例如在構(gòu)造百度關(guān)鍵詞推薦系統(tǒng)的過程中, 我們引入了提詞率預估, 效用預估, 價值預估等模型對返回結(jié)果進行ranking。同時也需要結(jié)合user interaction的樣式,算法出口等進行調(diào)整。 具體ranking機制會在后續(xù)blog中介紹。
效果上, 級聯(lián)二步圖的引入,能夠找到非常多靠譜的結(jié)果(當然二步圖邊的建立是核心,選對了邊的建立方式,才會有好效果),具體效果數(shù)據(jù)就不便透露了:) ? 反正是基本上能夠覆蓋全部鳳巢用戶,每個客戶都能推出數(shù)量驚人的關(guān)鍵詞(當然,需要使用字面, 語義等技術(shù)進行后續(xù)filtering and ranking)
更進一步, 級聯(lián)二步圖是圖關(guān)系挖掘的一個簡單有效的特例, 使用類似于pagerank等經(jīng)典算法, 也能夠很好地找出類似的關(guān)系進行推薦。
參考來源:
The Youtube Video Recommendation System
Google Adwords
百度關(guān)鍵詞推薦工具 :http://support.baidu.com/product/fc/4.html?castk=e6f89hg77d37ada65d612
也可關(guān)注微博: weibo.com 或者直接訪問 http://semocean.com
總結(jié)
以上是生活随笔為你收集整理的google youtube 电影推荐算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以下哪些Linux命令可以重启计算机的是
- 下一篇: 盛大Bambook原生支持epub的喜与