上文主要介紹了deep walk原論文是如何從原始語(yǔ)料獲得graph,以及如何從graph,隨機(jī)游走出item序列。繼而通過(guò)word2vec或得item 向量。從而完成推薦。
本part主要介紹我在落地到短視頻推薦時(shí)是如何對(duì)deep walk進(jìn)行改進(jìn)的,并介紹落地到推薦引擎中的離線在線流程。通過(guò)上面的介紹,大家發(fā)現(xiàn)了,最初版本的deep walk是沒(méi)有采用user作為graph中的節(jié)點(diǎn),這樣會(huì)有兩個(gè)弊端,一:同樣數(shù)目的點(diǎn)擊序列下,得到的最終的游走序列會(huì)少。二:沒(méi)有經(jīng)過(guò)user的過(guò)度,得到的游走序列里所提現(xiàn)的擴(kuò)展度不足。圖2是我對(duì)deep walk在短視頻推薦中引入用戶(hù)節(jié)點(diǎn)后產(chǎn)出游走序列的過(guò)程。圖2的第一部分是原始日志抽取的用戶(hù)點(diǎn)擊序列。圖2中間部分是得到的graph,除了Aabd到Dcd這幾個(gè)原始點(diǎn)擊序列,還有aAB一直是aC這些序列。是因?yàn)檠a(bǔ)充了任何兩個(gè)有關(guān)系的節(jié)點(diǎn)到Graph中。圖2的最右邊部分是從graph中隨機(jī)游走得到序列,我抽樣了一些展示,能發(fā)現(xiàn)是user->item->user->item的形式所以保證item出現(xiàn)在最后游走完成的序列中的頻次,假如我們?cè)诨A(chǔ)版本中設(shè)定了item序列長(zhǎng)度是x,此時(shí)需要設(shè)定為2x。大家也看到了引入user節(jié)點(diǎn)后,有兩個(gè)好處,一。我們可以選擇embeding使對(duì)user或者不對(duì)user embeding,不embeding就在最后得到的序列中去掉user即可,這樣我們也有了一個(gè)獲得user embeding的途徑。二。我們通過(guò)user節(jié)點(diǎn)在中間做橋,大大拓展了之前不太可能出現(xiàn)在一個(gè)序列的item。我產(chǎn)生這個(gè)idea是借鑒了基于圖的推薦personal rank算法的私想。我也寫(xiě)過(guò)一篇博客介紹過(guò)personal rank算法。引用4。得到游走序列之后過(guò)一下word2vec得到embeding。完成推薦。

下面介紹一下。落地過(guò)程中,離線在線架構(gòu)。圖3是離線流程,從log中獲得用戶(hù)點(diǎn)擊序列,基于用戶(hù)點(diǎn)擊序列,或得Graph,隨機(jī)游走抽取點(diǎn)擊序列,得到item embeding,離線計(jì)算出item 相似文件取topk。寫(xiě)入kv。圖4是在線使用的架構(gòu)。召回時(shí)基于用戶(hù)的最近點(diǎn)擊,從kv得到item sim。merge到召回隊(duì)列,然后經(jīng)過(guò)rank,推薦給用戶(hù)。這里打一個(gè)小廣告:我利用業(yè)余時(shí)間在慕課網(wǎng)講錄了幾個(gè)課:免費(fèi)課鏈接:https://www.imooc.com/learn/1029,當(dāng)然如果您想系統(tǒng)的學(xué)習(xí)一下個(gè)性化推薦算法的召回與排序體系,在慕課網(wǎng)有一個(gè)付費(fèi)課程您可以學(xué)習(xí)。


下面將展示幾個(gè)item sim相似度計(jì)算結(jié)果。看下面第一類(lèi)的這種情況,從目測(cè)感上非常相似,但是其實(shí)在這種情況下,很多算法都可以達(dá)到這種效果,甚至基于title的相似度外加一下tf idf都可以。所以在成熟系統(tǒng)上新增召回,我們的收益點(diǎn)不來(lái)自于這一種。因?yàn)橹昂芏嘁汛嬖诰€上的算法已經(jīng)可以達(dá)到這個(gè)效果。第二種情況,是社會(huì)奇聞?lì)?,sim結(jié)果也是涵蓋了社會(huì),奇聞,電影,世界見(jiàn)聞,但是打開(kāi)下面的視頻,發(fā)現(xiàn)不違和。這種情況是給我們?cè)赽ase基礎(chǔ)上提供收益的。以為他擴(kuò)展了item的種類(lèi),使得用戶(hù)不自然的就往更多的領(lǐng)域去拓展。第三種情況,看title好像各不相關(guān),是很多電影,但是其實(shí)他們都是一種主題的,就是自媒體解讀電影類(lèi)的?,F(xiàn)在解讀電影類(lèi)的自媒體超多,往往昵稱(chēng)是xx說(shuō)電影,xx撩電影,放著一些舒緩的音樂(lè),自媒體作者將劇情娓娓道來(lái)。但是要純粹從item profile的角度需要視頻內(nèi)容以及音頻內(nèi)容理解可能才能歸到一起,這種類(lèi)型的case,借助隱語(yǔ)義就自然的歸到一起。也是我們的收益點(diǎn)。
origin:紀(jì)曉嵐厲害了,和珅辦不成的事,紀(jì)曉嵐一個(gè)煙桿兒輕松解決
sim:(1)皇上跟紀(jì)曉嵐兩人又演雙簧,皇上話里有話,文武百官聽(tīng)的心驚膽戰(zhàn) (2)皇上罰紀(jì)曉嵐種樹(shù),由和珅監(jiān)種,兩個(gè)男人也能一臺(tái)戲,太有趣了(3)和珅對(duì)紀(jì)曉嵐說(shuō): 你還真不能死,你死了我跟誰(shuí)斗氣,我會(huì)寂寞的(4)紀(jì)曉嵐不上朝被皇上當(dāng)場(chǎng)抓住,不想老紀(jì)一張嘴,又把和珅給坑了(5)紀(jì)曉嵐在家里罵皇上是昏君,結(jié)果皇上剛好從門(mén)口進(jìn)來(lái)聽(tīng)到了
origin:爺爺扮女裝帶2歲孫女乘車(chē),的姐誤以為是人販子報(bào)警
sim:(1)13歲男孩被送到一家孤立學(xué)校,學(xué)校里7個(gè)人個(gè)個(gè)有問(wèn)題!(2)一部引人深思的婚姻電影,看大齡夫妻如何共度難關(guān),結(jié)局意想不到!(3)冬季燒燙傷患者增多 防患于未然是關(guān)鍵(4)四川最宜居的城市,環(huán)境優(yōu)美,第一個(gè)你能猜到嗎?(5)11月各類(lèi)自然災(zāi)害致全國(guó)12萬(wàn)人次受災(zāi)損失75.4億(6)中國(guó)游客嚇壞了!緬甸姑娘很主動(dòng),伸手就要脫男游客的褲子
origin:根據(jù)真實(shí)案件改編,一部泯滅人性的國(guó)產(chǎn)犯罪片,看完憤怒的砸桌子.
(1)一部充滿(mǎn)人性的電影,血和淚的教訓(xùn),介紹男友給閨蜜認(rèn)識(shí)要謹(jǐn)慎(2)三分鐘看完《下妻物語(yǔ)》兩位特殊少女的故事,帶著滿(mǎn)臉眼淚看完(3)有部 韓國(guó)又出了一部真事改編的犯罪片,這回卻是關(guān)于我們(4)忍無(wú)可忍之下的人性,看過(guò)影片,思緒久久不能平復(fù)! (5)女孩為給姐姐報(bào)仇,不惜犧牲自己接近仇家,協(xié)助姐夫讓其家破人亡
最后說(shuō)一下在落地時(shí)嘗試的一些試驗(yàn),以及我分析的失敗的原因:在落地時(shí),除了上述改進(jìn),我也想?yún)⒖继詫毜膕3里說(shuō)到的利用subword來(lái)補(bǔ)充覆蓋率,但是我假如了諸如cate,source,tag等sideinfo之后,發(fā)現(xiàn)讓整個(gè)結(jié)果非常的趨同于線上的基于category以及基于tag的召回,收益也變得比不加side info還小了。
引用4:基于圖的推薦算法之Personal PageRank代碼實(shí)戰(zhàn)。http://www.itdecent.cn/p/fe2c05933193
本文為原創(chuàng)文章,如需轉(zhuǎn)發(fā)請(qǐng)標(biāo)明出處。