愛(ài)鋒貝

標(biāo)題: Task3:召回模型 YoutubeDNN, DSSM [打印本頁(yè)]

作者: 科技閻羅    時(shí)間: 2022-6-30 21:03
標(biāo)題: Task3:召回模型 YoutubeDNN, DSSM
(, 下載次數(shù): 9)

  召回系統(tǒng)決定了最終呈現(xiàn)給用戶的推薦大致范圍,后續(xù)的操作都是在物料庫(kù)中取出的資料的基礎(chǔ)上繼續(xù)排序。當(dāng)然,每個(gè)部分都很重要。本文中涉及到的YoutubeDNN和DSSM模型都是召回模型中的經(jīng)典案例。其中YoutubeDNN更是經(jīng)典中的經(jīng)典,其論文對(duì)初學(xué)者非常友好,詳細(xì)地講述了整個(gè)漏斗模型的流程,以及在工業(yè)上線時(shí)的注意事項(xiàng)及其原因。而DSSM簡(jiǎn)單雙塔結(jié)構(gòu),在我看來(lái)更易于工業(yè)實(shí)踐和理解,其模型更加輕量級(jí),而且線上線下模型分離,穩(wěn)定性高的同時(shí)支持自動(dòng)化構(gòu)建。
YoutubeDNN模型

  YoutubeDNN模型有著非常經(jīng)典的漏斗結(jié)構(gòu):

(, 下載次數(shù): 12)

  首先召回,然后精排
召回系統(tǒng)設(shè)計(jì)

  它的輸入主要是用戶側(cè)的特征,包括用戶觀看的歷史video序列, 用戶搜索的歷史tokens, 然后就是用戶的人文特征,比如地理位置, 性別,年齡這些。 這些特征處理上,和之前那些模型的也比較類似,
  這些特征處理好了之后,拼接起來(lái),就成了一個(gè)非常長(zhǎng)的向量,然后就是過(guò)DNN,這里用了一個(gè)三層的DNN, 得到了輸出, 這個(gè)輸出也是向量。
  在整套系統(tǒng)的設(shè)計(jì)過(guò)程有有一些非常精妙的設(shè)計(jì):
召回模型中加入Example Age特征

  這個(gè)特征很有意思,其代表目前時(shí)間(也就是推送時(shí)間)與資源發(fā)布時(shí)間的差值,不僅加入了對(duì)新舊資源的考量,而且,最有意思的地方是,在上線時(shí)這個(gè)特征被設(shè)置為0或者一個(gè)適當(dāng)?shù)呢?fù)數(shù)。這樣設(shè)計(jì)引導(dǎo)網(wǎng)絡(luò),相當(dāng)于讓它預(yù)測(cè)“幾分鐘后這個(gè)用戶播放時(shí)間最長(zhǎng)的視頻”,最終測(cè)試效果也表示,通過(guò)把這一個(gè)特征設(shè)置為0或者適當(dāng)?shù)呢?fù)數(shù)可以提高模型的預(yù)測(cè)性能。

(, 下載次數(shù): 10)

訓(xùn)練集預(yù)處理過(guò)程中,沒(méi)有采用原始的用戶日志,而是對(duì)每個(gè)用戶提取等數(shù)量的訓(xùn)練樣本

  這是為了達(dá)到樣本均衡減少高度活躍用戶對(duì)于loss的過(guò)度影響。
完全摒棄了用戶觀看歷史的時(shí)序特征,把用戶最近的瀏覽歷史等同看待

  這個(gè)原因應(yīng)該是YouTube工程師的“經(jīng)驗(yàn)之談”,如果過(guò)多考慮時(shí)序的影響,用戶的推薦結(jié)果將過(guò)多受最近觀看或搜索的一個(gè)視頻的影響。YouTube給出一個(gè)例子,如果用戶剛搜索過(guò)“tayer swift”,你就把用戶主頁(yè)的推薦結(jié)果大部分變成tayer swift有關(guān)的視頻,這其實(shí)是非常差的體驗(yàn)。為了綜合考慮之前多次搜索和觀看的信息,YouTube丟掉了時(shí)序信息,講用戶近期的歷史紀(jì)錄等同看待。
  國(guó)內(nèi)廠商應(yīng)當(dāng)好好學(xué)習(xí)!
DSSM模型

  廣告推送有兩種建模方案:
  一種是自然興趣建模,根據(jù)用戶操作終端行為獲得user-item關(guān)聯(lián),給不同的數(shù)據(jù)源打標(biāo)獲得item-tag關(guān)聯(lián),最后將上面兩種關(guān)聯(lián)進(jìn)行join操作得到user-tag的關(guān)聯(lián)實(shí)現(xiàn)給用戶打上興趣標(biāo)簽,這里相當(dāng)于是從標(biāo)簽維度為廣告主推薦人群。
  另一種就是商業(yè)興趣建模,在自然興趣建模的基礎(chǔ)上,從廣告維度為廣告主推薦人群,那么就需要目前大火的DSSM雙塔模型了。
  拿Youtube視頻推薦系統(tǒng)舉例,一般推薦系統(tǒng)中有兩個(gè)流程。
  第一步是召回模型,主要是進(jìn)行初篩操作,從海量視頻資源池中初步選擇一部分用戶可能感興趣的視頻數(shù)據(jù)子集,從數(shù)量上看可能是從千萬(wàn)級(jí)別篩選出百級(jí)別。
  第二步是精排模型,主要作用是對(duì)上面找到的百級(jí)別的視頻子集進(jìn)一步精篩,從數(shù)量上看可能是從百級(jí)別篩選出幾十級(jí)別。然后根據(jù)得分高低排序,生成一個(gè)排序列表作為用戶的候選播放列表從而完成視頻推薦任務(wù)。
2.1 DSSM模型的原理

  DSSM(Deep Structured Semantic Models)也叫深度語(yǔ)義匹配模型,最早是微軟發(fā)表的一篇應(yīng)用于NLP領(lǐng)域中計(jì)算語(yǔ)義相似度任務(wù)的文章。
  DSSM深度語(yǔ)義匹配模型原理很簡(jiǎn)單:獲取搜索引擎中的用戶搜索query和doc的海量曝光和點(diǎn)擊日志數(shù)據(jù),訓(xùn)練階段分別用復(fù)雜的深度學(xué)習(xí)網(wǎng)絡(luò)構(gòu)建query側(cè)特征的query embedding和doc側(cè)特征的doc embedding,線上infer時(shí)通過(guò)計(jì)算兩個(gè)語(yǔ)義向量的cos距離來(lái)表示語(yǔ)義相似度,最終獲得語(yǔ)義相似模型。這個(gè)模型既可以獲得語(yǔ)句的低維語(yǔ)義向量表達(dá)sentence embedding,還可以預(yù)測(cè)兩句話的語(yǔ)義相似度。
2.2 DSSM深度語(yǔ)義匹配模型整體結(jié)構(gòu)

  DSSM模型總的來(lái)說(shuō)可以分成三層結(jié)構(gòu),分別是輸入層、表示層和匹配層。結(jié)構(gòu)如下圖所示:

(, 下載次數(shù): 9)

2.2.1 輸入層

  輸入層主要的作用就是把文本映射到低維向量空間轉(zhuǎn)化成向量提供給深度學(xué)習(xí)網(wǎng)絡(luò)。NLP領(lǐng)域里中英文有比較大的差異,在輸入層處理方式不同。
  (1) 英文場(chǎng)景
  使用Word Hashing方法存在的問(wèn)題是可能造成沖突。因?yàn)閮蓚€(gè)不同的詞可能有相同的n-gram向量表示。下圖是在不同的英語(yǔ)詞典中分別使用2-gram和3-gram進(jìn)行Word Hashing時(shí)的向量空間以及詞語(yǔ)碰撞統(tǒng)計(jì):

(, 下載次數(shù): 10)

  可以看出在50W詞的詞典中如果使用2-gram,也就是兩個(gè)字母的粒度來(lái)切分詞,向量空間壓縮到1600維,產(chǎn)生沖突的詞有1192個(gè)(這里的沖突是指兩個(gè)詞的向量表示完全相同,因?yàn)閱卧~儲(chǔ)量實(shí)在有限,本來(lái)想找?guī)讉€(gè)例子說(shuō)明下,結(jié)果沒(méi)找到)。如果使用3-gram向量空間壓縮到3W維,產(chǎn)生沖突的詞只有22個(gè)。綜合下來(lái)論文中使用3-gram切分詞。
  (2) 中文場(chǎng)景
  中文輸入層和英文有很大差別,首先要面臨的是分詞問(wèn)題。如果要分詞推薦jieba或者北大pkuseg,不過(guò)現(xiàn)在很多模型已經(jīng)不進(jìn)行分詞了,比如BERT中文的預(yù)訓(xùn)練模型就直接使用單字作為最小粒度了。
2.2.2 表示層

  DSSM模型表示層使用的是BOW(bag of words)詞袋模型,沒(méi)有考慮詞序的信息。不考慮詞序其實(shí)存在明顯的問(wèn)題,因?yàn)橐痪湓捒赡茉~相同,但是語(yǔ)義則相差十萬(wàn)八千里,比如“我愛(ài)女朋友”和“女朋友愛(ài)我”可能差距蠻大的(這個(gè)小伙伴們自己體會(huì))。
  下圖是DSSM表示層的結(jié)構(gòu):

(, 下載次數(shù): 9)

  最下面的Term Vector到Word Hashing將詞映射到3W維的向量空間中。然后分別經(jīng)過(guò)兩層300維度的隱藏層,最后統(tǒng)一輸出128維度的向量。
2.2.3 匹配層

  現(xiàn)在我們把query和doc統(tǒng)一轉(zhuǎn)換成了兩個(gè)128維的語(yǔ)義向量,接下來(lái)如何計(jì)算它們的語(yǔ)義相似度呢?通過(guò)cos函數(shù)計(jì)算這兩個(gè)向量的余弦相似度就可以了,公式如下:

(, 下載次數(shù): 11)

2.3 DSSM模型的優(yōu)缺點(diǎn)

  先說(shuō)說(shuō)DSSM模型的優(yōu)點(diǎn):
  再說(shuō)說(shuō)DSSM模型的缺點(diǎn):

-----------------------------




歡迎光臨 愛(ài)鋒貝 (http://7gfy2te7.cn/) Powered by Discuz! X3.4