爱奇艺深度语义表示学习的探索与实践
導(dǎo)讀:基于學(xué)術(shù)界和工業(yè)界經(jīng)驗(yàn),愛奇藝設(shè)計(jì)和探索出了一套適用于愛奇藝多種業(yè)務(wù)場(chǎng)景的深度語義表示學(xué)習(xí)框架。在推薦、搜索、直播等多個(gè)業(yè)務(wù)中的召回、排序、去重、多樣性、語義匹配、聚類等場(chǎng)景上線,提高視頻推薦的豐富性和多樣性,改善用戶觀看和搜索體驗(yàn)。本文將介紹愛奇藝深度語義表示框架的核心設(shè)計(jì)思路和實(shí)踐心得。
01
背景
英國語言學(xué)家 J.R.Firth 在1957年曾說過:" You shall know a word by the company its keeps. " ?Hinton 于1986年基于該思想首次提出 Distributed representation ( 分布式表示 ) 的概念,認(rèn)為具有相似上下文的詞往往具有相似的語義,其中 distributed 是指將詞語的語義分布到詞向量的各個(gè)分量上。該方法可以把詞映射到連續(xù)實(shí)數(shù)向量空間,且相似詞在該空間中位置相近,典型的代表作是基于神經(jīng)網(wǎng)絡(luò)的語言模型 ( Neural Network Language Model,NNLM )?[1]。2003年 Google 提出 word2vec [2]?算法學(xué)習(xí) word embedding ( 詞嵌入或詞向量 ),使 Distributed representation 真正受到學(xué)術(shù)界、工業(yè)屆的認(rèn)可, 從而開啟了 NLP embedding 發(fā)展的新元代。
在萬物皆 embedding 的信息流時(shí)代,embedding 能夠?qū)⑽谋尽D像、視頻、音頻、用戶等多種實(shí)體從一種高維稀疏的離散向量表示 ( one-hot representation ) 映射為一種低維稠密的連續(xù)語義表示 ( distributed representation ),并使得相似實(shí)體的距離更加接近。其可用于衡量不同實(shí)體之間的語義相關(guān)性,作為深度模型的語義特征或離散特征的預(yù)訓(xùn)練 embedding, 廣泛應(yīng)用于推薦和搜索等各個(gè)業(yè)務(wù)場(chǎng)景,比如推薦中的召回、排序、去重、多樣性控制等, 搜索中的語義召回、語義相關(guān)性匹配、相關(guān)搜索、以圖搜劇等。
相比傳統(tǒng)的 embedding 模型, 深度語義表示學(xué)習(xí)將實(shí)體豐富的 side information ( e.g. 多模態(tài)信息, 知識(shí)圖譜,meta 信息等 ) 和深度模型 ( e.g. Transformer [3],圖卷積網(wǎng)絡(luò)?[4]?等?) 進(jìn)行深度融合,學(xué)習(xí)同時(shí)具有較好泛化性和語義表達(dá)性的實(shí)體 embedding,為下游各業(yè)務(wù)模型提供豐富的語義特征,并在一定程度上解決冷啟動(dòng)問題, 進(jìn)而成為提升搜索和推薦系統(tǒng)性能的利器。
愛奇藝設(shè)計(jì)和探索出了這套適用于愛奇藝多種業(yè)務(wù)場(chǎng)景的深度語義表示學(xué)習(xí)框架,并在推薦的多個(gè)業(yè)務(wù)線以及搜索中成功上線。在短&小視頻、圖文信息流推薦以及搜索、直播等15個(gè)業(yè)務(wù)中的召回、排序、去重、多樣性、語義匹配、聚類等7種場(chǎng)景,完成多個(gè) AB 實(shí)驗(yàn)和全流量上線,短&小視頻以及圖文推薦場(chǎng)景上,用戶的人均消費(fèi)時(shí)長(zhǎng)共提升5分鐘以上,搜索語義相關(guān)性準(zhǔn)確率相比 baseline 單特征提升6%以上。
02
面臨的挑戰(zhàn)
傳統(tǒng)的 embedding 學(xué)習(xí)模型主要基于節(jié)點(diǎn)序列或基于圖結(jié)構(gòu)隨機(jī)游走生成序列構(gòu)建訓(xùn)練集,將序列中的每個(gè)節(jié)點(diǎn)編碼為一個(gè)獨(dú)立的 ID,然后采用淺層網(wǎng)絡(luò) ( e.g. item2vec [6],node2vec [7]?) 學(xué)習(xí)節(jié)點(diǎn)的 embedding。該類模型只能獲取訓(xùn)練語料中節(jié)點(diǎn)的淺層語義表征,而不能推理新節(jié)點(diǎn)的 embedding,無法解決冷啟動(dòng)問題,泛化性差。將傳統(tǒng)的 embedding 學(xué)習(xí)模型應(yīng)用于愛奇藝業(yè)務(wù)場(chǎng)景中主要面臨以下問題:
1.?Embedding 實(shí)體種類及關(guān)系多樣性
傳統(tǒng)的 embedding 模型往往將序列中的 item 視為類型相同的節(jié)點(diǎn),節(jié)點(diǎn)之間的關(guān)系類型較單一。愛奇藝各業(yè)務(wù)線中的用戶行為數(shù)據(jù)往往包含多種類型的數(shù)據(jù),比如,文本 ( 長(zhǎng)短文本,句子&段落&篇章級(jí)別 )、圖像、圖文、視頻 ( 比如,長(zhǎng)、短、小視頻 )、用戶 ( 比如 up 主、演員、導(dǎo)演、角色 )、圈子 ( 泡泡、文學(xué)等社區(qū) )、query 等;不同類型節(jié)點(diǎn)之間具有不同的關(guān)系,比如用戶行為序列中節(jié)點(diǎn)之間的關(guān)系包括點(diǎn)擊、收藏、預(yù)約、搜索、關(guān)注等,在視頻圖譜中節(jié)點(diǎn)之間的關(guān)系包括執(zhí)導(dǎo)、編寫、搭檔、參演等。
2.?Side information 豐富
傳統(tǒng)的 embedding 模型往往采用淺層網(wǎng)絡(luò) ( 比如3層 DNN,LSTM 等 ),特征抽取能力較弱;此外將 item 用一個(gè)獨(dú)立 ID 來表示,并未考慮 item 豐富的 side information 和多模態(tài)信息,往往僅能學(xué)到 item 的淺層語義表征。而愛奇藝各業(yè)務(wù)中的 item 具有豐富的多模態(tài)信息 ( 比如,文本、圖像、視頻、音頻 ) 和各種 meta 信息 ( 比如視頻類型、題材、演員屬性等 ),如何有效和充分的利用這些豐富的 side information 以及多模態(tài)特征的融合,對(duì)于更好的理解 item 的深層語義至關(guān)重要。
3.?業(yè)務(wù)場(chǎng)景多樣
Embedding 可用于推薦中的召回、排序、去重、多樣性以及用戶畫像建模等,搜索中的語義召回、排序、視頻聚類、相關(guān)搜索等,以及作為各種下游任務(wù)的語義特征等多種業(yè)務(wù)場(chǎng)景。不同的業(yè)務(wù)場(chǎng)景往往需要不同類型的 embedding。
推薦召回場(chǎng)景:
-
基于行為的 embedding 模型召回偏熱門,效果較好;
-
基于內(nèi)容的 embedding 模型召回偏相關(guān)性,對(duì)相關(guān)推薦場(chǎng)景和新內(nèi)容冷啟動(dòng)更有幫助;
-
基于行為和內(nèi)容的 embedding 模型介于前兩者之間,能同時(shí)保證相關(guān)性和效果。
排序場(chǎng)景:
-
往往使用后兩種 embedding 模型,可基于訓(xùn)練好的模型和內(nèi)容實(shí)時(shí)獲取未知節(jié)點(diǎn)的 embedding 特征。
多樣性控制:
-
基于內(nèi)容原始表示的 embedding 模型用于去重和多樣性打散效果往往較好。
03
深度語義表示學(xué)習(xí)
深度語義表示學(xué)習(xí)在傳統(tǒng)的 embedding 學(xué)習(xí)模型基礎(chǔ)上,引入節(jié)點(diǎn)豐富的 side information ( 多模態(tài)信息和自身 meta 信息 ) 以及類型的異構(gòu)性,并對(duì)多模態(tài)特征進(jìn)行有效融合,將淺層模型替換為特征抽取能力更強(qiáng)的深度模型,從而能夠?qū)W習(xí)節(jié)點(diǎn)的深度語義表征。
針對(duì)愛奇藝的業(yè)務(wù)場(chǎng)景和數(shù)據(jù)特點(diǎn),我們?cè)O(shè)計(jì)出了一種滿足現(xiàn)有業(yè)務(wù)場(chǎng)景的深度語義表示學(xué)習(xí)框架?( 如圖 1所示?),該框架主要包含四層:數(shù)據(jù)層、特征層、策略層和應(yīng)用層。
-
數(shù)據(jù)層:主要搜集用戶的各種行為數(shù)據(jù)構(gòu)建節(jié)點(diǎn)序列和圖,構(gòu)建 embedding 模型訓(xùn)練數(shù)據(jù);
-
特征層:主要用于各種模態(tài) ( 文本、圖像、音頻、視頻等 ) 特征的抽取和融合,作為深度語義表示模型中輸入的初始語義表征;
-
策略層:提供豐富的深度語義表示模型及評(píng)估方法,以滿足不同的業(yè)務(wù)場(chǎng)景;
-
應(yīng)用層:主要為下游各業(yè)務(wù)線的各種場(chǎng)景提供 embedding 特征、近鄰以及相關(guān)度計(jì)算服務(wù)。
下面主要從特征層和策略層中的各種深度語義表示模型兩方面進(jìn)行詳細(xì)介紹。
圖 1?深度語義表示學(xué)習(xí)框架?
04
特征抽取及融合
1. 多模態(tài)特征抽取
在自然語言處理 ( NLP ) 領(lǐng)域,預(yù)訓(xùn)練語言模型 ( 比如 BERT [8] ) 能夠充分利用海量無標(biāo)注語料學(xué)習(xí)文本潛在的語義信息,刷新了 NLP 領(lǐng)域各個(gè)任務(wù)的效果。愛奇藝作為中國領(lǐng)先的影音視頻平臺(tái),涵蓋視頻、圖文的搜索、推薦、廣告、智能創(chuàng)作等多種業(yè)務(wù)場(chǎng)景,除了文本 ( 標(biāo)題,描述等 ) 外,還需進(jìn)一步對(duì)圖像、視頻和音頻等多種模態(tài)信息進(jìn)行深入理解。借鑒預(yù)訓(xùn)練語言模型的思想,我們嘗試借助大規(guī)模無標(biāo)注的視頻和圖文語料,學(xué)習(xí)不同粒度文本 ( query、句子、段落、篇章 )、圖像、音頻和視頻的通用預(yù)訓(xùn)練語義表征,為后續(xù)深度語義表示模型提供初始語義表征。
文本語義特征:
根據(jù)文本長(zhǎng)度,可將文本語義特征抽取分為四個(gè)等級(jí):
-
詞級(jí)別 ( Token-level ),比如用戶搜索串,通常為2~6個(gè)字;
-
句子級(jí)別 ( Sentence-level ),比如視頻&漫畫標(biāo)題和描述、人物小傳、藝人簡(jiǎn)介等;
-
段落級(jí)別 ( Paragraph-level ),比如影視劇描述,劇本片段等;
-
篇章級(jí)別 ( Document-level ),比如劇本、小說等長(zhǎng)文本。
受限于現(xiàn)有預(yù)訓(xùn)練語言模型處理長(zhǎng)文本的局限性,對(duì)于不同級(jí)別的文本需要采用不同的方案。一方面,結(jié)合主題模型?[10]?和 ALBert [9]?學(xué)習(xí) Topic 粒度的語義特征;另一方面,基于 ALBert,利用 WME [11],CPTW [12]?等方法將 token-level 語義組合為段落和篇章級(jí)別的細(xì)粒度語義特征。
圖像語義特征:
對(duì)于視頻封面圖、視頻幀、影視劇照、藝人圖片、漫畫等圖像,基于 State-of-Art 的 ImageNet 預(yù)訓(xùn)練分類模型 ( e.g. EfficientNet [13] ) 抽取基礎(chǔ)語義表示,并采用自監(jiān)督表示學(xué)習(xí)思想 ( e.g. Selfish [14] ) 學(xué)習(xí)更好的圖像表示。
音視頻語義特征:
對(duì)于視頻中的音頻信息,利用基于 YouTube-AudioSet 數(shù)據(jù)上預(yù)訓(xùn)練的 Vggish [15] 模型從音頻波形中提取具有語義的128維特征向量作為音頻表示。對(duì)于視頻內(nèi)容的語義建模,我們選擇一種簡(jiǎn)單而高效的業(yè)界常用方法,僅利用視頻的關(guān)鍵幀序表示視頻內(nèi)容,并通過融合每個(gè)關(guān)鍵幀的圖像級(jí)別語義特征得到視頻級(jí)別的語義特征。
2.?多模態(tài)特征融合
融合時(shí)機(jī):
主要包含 late fusion,early fusion 和 hybrid fusion。顧名思義,early fusion 是指將多個(gè)特征先進(jìn)行融合 ( e.g. 拼接 ),再通過特征學(xué)習(xí)模塊進(jìn)行訓(xùn)練;late fusion 是指每個(gè)特征先通過各自的特征學(xué)習(xí)模塊變換后再進(jìn)行融合;hybrid fusion 組合兩種 fusion 時(shí)機(jī),可學(xué)習(xí)豐富的特征交叉,效果通常最好。
融合方式:
高效合理的融合各種多種模態(tài)信息,能夠較大程度上提升視頻的語義理解。目前多模態(tài)融合方法主要包括三大類方法:
-
最為直接的方法:通過 element-wise product/sum 或拼接,融合多模態(tài)特征,但不能有效的捕捉多模態(tài)特征之間的復(fù)雜關(guān)聯(lián)。
-
基于 pooling 的方法:主要思想是通過 bilinear pooling 的思想進(jìn)行多種模態(tài)特征融合,典型代表作包括 MFB [16] 和 MFH [17] 等。
-
基于注意力機(jī)制的方法: 借鑒 Visual Question Answering ( VQA ) 的思想,注意力機(jī)制能夠根據(jù)文本表示,讓模型重點(diǎn)關(guān)注圖像或視頻中相關(guān)的特征部分,捕捉多種模態(tài)之間的關(guān)聯(lián)性,典型代表作有 BAN ( Bilinear Attention Network ) [18] 等。
05
深度語義表示模型
預(yù)訓(xùn)練模型的應(yīng)用通常分為兩步:
-
先使用大量無監(jiān)督語料進(jìn)行進(jìn)行預(yù)訓(xùn)練 ( pretraining ),學(xué)習(xí)通用的語義表示;
-
再基于該通用語義表示,使用少量標(biāo)注語料在特定任務(wù)上進(jìn)行微調(diào) ( finetuning )。
類似地,在文本、圖片、音頻、視頻的通用預(yù)訓(xùn)練語義表征基礎(chǔ)上,我們嘗試在特定的任務(wù)中 ( 比如召回、語義匹配等 ) 引入視頻豐富的 side information ,以及節(jié)點(diǎn)和邊類型異構(gòu)等特點(diǎn), 并借助抽取能力更強(qiáng)的深度模型進(jìn)行微調(diào),以學(xué)習(xí)滿足不同業(yè)務(wù)場(chǎng)景的語義特征。根據(jù)建模方式可將深度語義表示模型大致分為以下幾類:
1.?基于內(nèi)容的深度語義模型
基于內(nèi)容的深度語義模型,顧名思義,模型以單個(gè)節(jié)點(diǎn)的內(nèi)容 ( 元數(shù)據(jù)和多模態(tài)信息等 ) 作為輸入,并基于人工標(biāo)注數(shù)據(jù)作為監(jiān)督信號(hào)進(jìn)行訓(xùn)練,不依賴任何用戶行為數(shù)據(jù)。該類模型可直接基于節(jié)點(diǎn)內(nèi)容進(jìn)行推理獲取節(jié)點(diǎn)語義表示,無冷啟動(dòng)問題;但往往需要大量的人工標(biāo)注數(shù)據(jù)進(jìn)行模型訓(xùn)練。
① 基于 ImageNet 分類的圖像 embedding 模型
該類模型主要是基于 State-of-Art的ImageNet 圖像預(yù)訓(xùn)練分類模型的中間層或最后一層,抽取圖像或視頻的純內(nèi)容表示,并基于自監(jiān)督表示學(xué)習(xí)思想 finetuning,作為圖像或視頻的語義表征,應(yīng)用于去重 (?圖 2 ) 和推薦 post-rank 階段多樣性控制兩種場(chǎng)景的效果較好。
圖 2?基于 ImageNet 分類模型和自監(jiān)督學(xué)習(xí)方法的去重示例
② 基于特定任務(wù)的 embedding 模型
該類模型通常基于海量標(biāo)注數(shù)據(jù)進(jìn)行特定任務(wù)有監(jiān)督訓(xùn)練,并抽取模型中間層或最后一層作為文本或視頻的表征,比如基于標(biāo)簽分類任務(wù)的 embedding 模型 ( 如圖 3所示?),該模型基于視頻元數(shù)據(jù)、文本、圖像、音頻和視頻特征,在大規(guī)模標(biāo)注數(shù)據(jù)上訓(xùn)練,識(shí)別視頻的類型標(biāo)簽和內(nèi)容標(biāo)簽。往往抽取模型 fusion 層的表示作為視頻的 topic 粒度語義表征,可有效解決冷啟動(dòng)問題,廣泛應(yīng)用于推薦的召回、排序、多樣性控制場(chǎng)景中。
圖 3?基于類型標(biāo)簽任務(wù)的 embedding 模型
2. 基于匹配的深度語義模型
該類模型是一種結(jié)合內(nèi)容和行為的深度語義模型,主要通過融合文本、圖像、視頻和音頻等多模態(tài)信息,并基于用戶的點(diǎn)擊、觀看或搜索等共現(xiàn)行為作為監(jiān)督信號(hào),構(gòu)建正負(fù)樣本對(duì)?,訓(xùn)練模型使得:
其中 e 表示樣本的語義表征,x 表示視頻或用戶等。該類模型缺乏對(duì)節(jié)點(diǎn)的長(zhǎng)距離依賴關(guān)系和結(jié)構(gòu)相似性建模;但建模相對(duì)簡(jiǎn)單,模型訓(xùn)練后可以直接用于推理,可有效解決冷啟動(dòng)問題,用于召回和排序場(chǎng)景效果較好。
基于匹配的深度語義模型主要基于 Siamese network ( 孿生網(wǎng)絡(luò)或雙塔結(jié)構(gòu) ) 或多塔結(jié)構(gòu)實(shí)現(xiàn),目前業(yè)界較流行的方法包括 DSSM ( Deep Structured Semantic Model ) [5] 和 CDML [20]。DSSM 最初用于搜索建模文本的語義相關(guān)性,而 CDML 基于音頻和視頻幀特征,用于建模視頻的語義相關(guān)性,并認(rèn)為 late fusion 方式的多模態(tài)特征融合效果較好。對(duì)于視頻的語義建模,在 DSSM 文本輸入的基礎(chǔ)上,我們額外引入封面圖和視頻兩個(gè)模態(tài)的預(yù)訓(xùn)練語義表示,改善視頻語義表征效果。類似地,CDML 還引入文本、封面圖兩種模態(tài)的預(yù)訓(xùn)練語義表示,以豐富節(jié)點(diǎn)信息;同時(shí)針對(duì) CDML 僅采用 late fusion 的特征融合時(shí)機(jī),特征交互有限且缺乏多樣性的問題,我們采用 hybrid fusion 融合多種模態(tài)特征,學(xué)習(xí)更為豐富的多模態(tài)特征交叉 ( 如圖 4所示 )。
圖 4?基于 hybrid fusion 的 CDML 模型結(jié)構(gòu)
3. 基于序列的深度語義模型
該類模型是一種基于行為的深度語義模型,通過將傳統(tǒng)的淺層網(wǎng)絡(luò) ( e.g. skip-gram,LSTM ) 替換為特征抽取能力更強(qiáng)的深度網(wǎng)絡(luò) ( e.g. Transformer ) 學(xué)習(xí)節(jié)點(diǎn)的深度語義表征。給定用戶的行為序列?,利用 sequential neural network 建模用戶的行為偏好,基于模型的最后一個(gè)隱層的表示預(yù)測(cè)用戶下一個(gè)可能點(diǎn)擊的 item。該類模型可用于建模節(jié)點(diǎn)的長(zhǎng)距離依賴關(guān)系,用于推薦場(chǎng)景中的召回效果往往較好,但存在冷啟動(dòng)問題。
序列建模的方法主要包含三類:
-
基于 MDPs ( Markov decision Processes ):通過狀態(tài)轉(zhuǎn)移概率計(jì)算點(diǎn)擊下一個(gè) item 的概率,當(dāng)前狀態(tài)僅依賴前一個(gè)狀態(tài),模型較為簡(jiǎn)單,適用于短序列和稀疏數(shù)據(jù)場(chǎng)景建模;
-
基于 CNN:利用 CNN 捕獲序列中 item 的短距離依賴關(guān)系,比如 Caser [21],易并行化;
-
基于 RNN:可以捕獲長(zhǎng)距離依賴關(guān)系,適用于長(zhǎng)序列和數(shù)據(jù)豐富的場(chǎng)景,不過模型更復(fù)雜,不易并行化,比如 GRU4Rec [22]。
目前較為流行的序列建模方法主要基于 RNN,為解決 RNN 不易并行和效率較低等問題,我們借鑒業(yè)界經(jīng)驗(yàn),采用特征抽取能力更強(qiáng), 且易并行的 Transformer ( 如圖 5所示 ) 替換 RNN 進(jìn)行序列建模,典型的工作包括 SASRec [23],Bert4Rec [24]。SASRec 使用單向 Transformer decoder ( 右半部分,N=2 ),基于上文建模下一個(gè) item 的點(diǎn)擊概率;而 Bert4Rec 采用雙向 transformer encoder ( 左半部分,N=2 ),借鑒 BERT 的掩碼思想,基于上下文預(yù)測(cè) masked items 的點(diǎn)擊概率。此外,由于 BERT 假設(shè) masked items 之間相互獨(dú)立,忽略了 masked items 之間的相關(guān)性,我們借鑒 XLNet [25] 的自回歸 ( Auto-regressive ) 思想和排列組合語言模型 ( permutation language model ) 思想,同時(shí)建模雙向 context 和 masked item 之間的相關(guān)性,提高序列建模效果。
圖 5?Transformer 網(wǎng)絡(luò)結(jié)構(gòu)
4. 基于 Graph 的深度語義模型
Graph embedding 模型 ( 又稱為圖嵌入或網(wǎng)絡(luò)嵌入 ),可將圖中的節(jié)點(diǎn)投影到一個(gè)低維連續(xù)空間,同時(shí)保留網(wǎng)絡(luò)結(jié)構(gòu)和固有屬性。深度圖嵌入模型在節(jié)點(diǎn)同構(gòu)圖或異構(gòu)圖 ( 節(jié)點(diǎn)類型或邊類型不同 ) 的基礎(chǔ)上,引入節(jié)點(diǎn)豐富的 side information 和多模態(tài)特征,并采用特征抽取能力更強(qiáng)的網(wǎng)絡(luò),學(xué)習(xí)節(jié)點(diǎn)的深度語義表征。該類方法建模相比前幾種深度語義模型更加復(fù)雜,但可以充分利用豐富的圖結(jié)構(gòu)信息建模節(jié)點(diǎn)的高階依賴關(guān)系。
① 引入豐富的 side information 和多模態(tài)信息
傳統(tǒng) graph embedding 方法主要基于圖結(jié)構(gòu)和某種節(jié)點(diǎn)序列采樣策略生成序列數(shù)據(jù),并基于 skip-gram 方式學(xué)習(xí)節(jié)點(diǎn) embedding,如圖 6所示。典型工作包括 DeepWalk,LINE,Node2vec,三者主要區(qū)別在于序列生成的采樣策略不同。傳統(tǒng) graph embedding 模型將所有節(jié)點(diǎn)視為 ID,僅能覆蓋訓(xùn)練集中的高頻節(jié)點(diǎn),無法獲取新節(jié)點(diǎn)的 embedding。
圖 6?傳統(tǒng) graph embedding 方法基本原理
為解決新節(jié)點(diǎn)的冷啟動(dòng)問題,一方面,可以在傳統(tǒng)圖嵌入模型中引入節(jié)點(diǎn)的多種模態(tài)信息,另一方面,還可以充分利用節(jié)點(diǎn)豐富的 meta 信息 ( 比如類別,上傳者等 )。屬性網(wǎng)絡(luò) ( Attributed ?Network Embedding ) 在圖結(jié)構(gòu)的基礎(chǔ)上,額外引入節(jié)點(diǎn)的屬性信息,豐富節(jié)點(diǎn)的語義表征,使得具有相似拓?fù)浣Y(jié)構(gòu)和屬性的節(jié)點(diǎn)語義更為接近。對(duì)于冷啟動(dòng)問題,可直接通過節(jié)點(diǎn)的屬性 embedding 可獲取新節(jié)點(diǎn) embedding。EGES [26] 和 ANRL [27] 是其中的兩個(gè)典型工作。其中,EGES 在 skip-gram 模型的輸入中引入屬性信息。ANRL 將 skip-gram 和 AE 相結(jié)合,僅使用屬性特征作為節(jié)點(diǎn)表示,并將傳統(tǒng) AE 中的 decoder 替換為 neighbor enhancement decoder,使節(jié)點(diǎn)和其上下文節(jié)點(diǎn) ( 而非其自身 ) 更為相似。EGES 和 ANRL 主要用于屬性信息豐富的電商領(lǐng)域的圖嵌入,但在視頻推薦領(lǐng)域,除少量長(zhǎng)視頻 ( 影視劇 )、演員等具有豐富的屬性外,大部分短、小視頻屬性較稀缺,無法直接復(fù)用。為解決該問題,我們提出多模態(tài) ANRL,如圖 7 所示,將節(jié)點(diǎn)的屬性特征和多種模態(tài) ( 文本、封面圖、視頻 ) 的預(yù)訓(xùn)練語義表示特征一起用于表征節(jié)點(diǎn),作為模型輸入。對(duì)新節(jié)點(diǎn),可直接基于訓(xùn)練好的模型和節(jié)點(diǎn)自身內(nèi)容 ( 即屬性和多模態(tài)特征 ) 進(jìn)行推理獲取, 基于多模態(tài) ANRL embedding 的近鄰示例如圖 8 所示。此外,知識(shí)圖譜也可以視為一種豐富的 side information,可以嘗試通過引入外部先驗(yàn)知識(shí)進(jìn)一步學(xué)習(xí)更好的深度語義表示。
圖 7?多模態(tài) ANRL 模型結(jié)構(gòu)
圖 8?多模態(tài) ANRL? 近鄰結(jié)果示例?( 左邊第一個(gè)為種子視頻,其他為近鄰視頻 )
② 更先進(jìn)的特征抽取器
傳統(tǒng)的圖嵌入模型通常是基于圖生成序列數(shù)據(jù),并采用簡(jiǎn)單的 skip-gram 模型學(xué)習(xí)節(jié)點(diǎn) embedding, 模型過于簡(jiǎn)單,特征抽取能力較弱,僅能建模局部鄰居信息 ( 通常為一階或二階 )。圖神經(jīng)網(wǎng)絡(luò) ( GNN,Graph Neural Network ) 或圖卷積網(wǎng)絡(luò) ( GCN,Graph Convolutional Network ) 可以直接基于圖結(jié)構(gòu)和節(jié)點(diǎn)的多模態(tài)特征,利用特征抽取能力更強(qiáng)的多層圖卷積迭代的對(duì)節(jié)點(diǎn)的鄰域子圖進(jìn)行卷積操作,聚合鄰居特征 ( textual、visual 特征等 ),生成節(jié)點(diǎn)的深度語義表示。借鑒業(yè)界經(jīng)驗(yàn),我們復(fù)現(xiàn)了多種 GCN 模型,比如 PinSAGE [28] ( 如圖 9 所示 ),ClusterGCN [29] 等。此外,我們還使用了一個(gè)在大規(guī)模圖數(shù)據(jù)上非常快速和可擴(kuò)展的圖嵌入算法 ProNE [30]。如圖 10 所示,ProNE 先將圖嵌入問題轉(zhuǎn)換為稀疏矩陣分解問題,高效獲得具有一階鄰居信息的特征向量,作為節(jié)點(diǎn)的初始 embedding;然后再通過頻譜傳播,基于頻域上的 filter 對(duì)其進(jìn)行過濾從而融合高階鄰居信息作為最終的節(jié)點(diǎn)深度語義表示,可同時(shí)將低階和高階鄰居信息融入節(jié)點(diǎn)語義表示。更重要的是,可將常見的網(wǎng)絡(luò)嵌入算法 ( 比如 Node2vec 等 ) 生成的 embedding 作為 ProNE 中第一步的節(jié)點(diǎn)初始 embedding,再進(jìn)行頻譜傳播,效果平均會(huì)提升~10%。
圖 9?PinSAGE 模型結(jié)構(gòu)
圖 10?ProNE 模型結(jié)構(gòu)
③ 建模多元異構(gòu)圖
現(xiàn)有方法主要基于具有單一類型節(jié)點(diǎn)&邊的網(wǎng)絡(luò)圖 ( 同構(gòu)圖 ),但現(xiàn)實(shí)世界中大部分圖都包含多種類型的節(jié)點(diǎn)和邊,不同類型的節(jié)點(diǎn)往往具有不同的屬性和多模態(tài)特征。比如,在搜索場(chǎng)景中,最簡(jiǎn)單的異構(gòu)圖是用戶的搜索-點(diǎn)擊二部圖,具有兩種類型的節(jié)點(diǎn):query 和視頻,視頻具有豐富的屬性和多模態(tài)特征;而在推薦場(chǎng)景也包含大量異構(gòu)圖,比如用戶-視頻、視頻-圈子-內(nèi)容標(biāo)簽、演員-角色-作品等。
傳統(tǒng)的 graph embedding 算法會(huì)忽略圖中邊的類型以及節(jié)點(diǎn)的特征,比如 node2vec,metapath2vec,雖然 metapath2vec 可用于異構(gòu)節(jié)點(diǎn)的表示學(xué)習(xí),但仍然將節(jié)點(diǎn)視為 ID,忽略節(jié)點(diǎn)豐富的特征。異構(gòu)圖 ( HINE,Heterogenous Information Network Embedding ) 深度語義模型同時(shí)引入節(jié)點(diǎn)的多種模態(tài)特征,和圖中節(jié)點(diǎn)和邊類型的多樣性,對(duì)不同類型的節(jié)點(diǎn)和邊分別建模,其中多元是指圖中具有多種類型的邊。
我們首先在搜索場(chǎng)景的語義相關(guān)性任務(wù)中進(jìn)行了異構(gòu)圖深度語義表示學(xué)習(xí)的初步嘗試。語義相關(guān)性在搜索中扮演重要角色,可用于搜索語義召回和語義相關(guān)性匹配。為衡量 query 和視頻標(biāo)題的語義相關(guān)性,學(xué)習(xí) query 和視頻在同一個(gè)空間的深度語義表征,我們基于搜索查詢-點(diǎn)擊異構(gòu)圖,通過組合 representation-based 和 interaction-based 兩者思想,學(xué)習(xí) query 和視頻標(biāo)題的語義相關(guān)性 embedding,模型結(jié)構(gòu)如圖 11 所示, 左邊的 encoder 建模 query 或視頻標(biāo)題的深度語義表示,用于學(xué)習(xí)文本的顯示語義相關(guān)性;decoder 引入行為相關(guān)性約束,用于建模隱式的語義相關(guān)性,比如 <query:李菁菁,title:歡天喜地對(duì)親家>, ?前者是后者的主要演員之一。右側(cè)用于建模 query 和視頻標(biāo)題之間的多粒度交互語義。相比于 baseline,語義相關(guān)性準(zhǔn)確率提升6%以上, 表 1給出了部分 query-title 語義相關(guān)性例子。除點(diǎn)擊類型外,目前還在嘗試引入收藏、評(píng)論、點(diǎn)贊等邊類型,和視頻類型 ( 比如長(zhǎng)、短、小視頻, 專輯和播單等 ),以及在視頻側(cè)引入封面圖和視頻模態(tài)特征,進(jìn)行更為細(xì)致的建模。
圖 11?搜索 query-title 語義相關(guān)性 embedding 模型結(jié)構(gòu)
目前也正在將該模型遷移到推薦場(chǎng)景中學(xué)習(xí)用戶和視頻、圈子以及標(biāo)簽等之間的同空間語義相關(guān)性。此外,最近還引入了阿里在異構(gòu)圖表示學(xué)習(xí)方面的工作 GATNE-I [31],支持多源異構(gòu)網(wǎng)絡(luò)的表示學(xué)習(xí)和以及具有強(qiáng)大特征抽取器的 HGT ( Heterogeneous Graph Transformer ) [32] 網(wǎng)絡(luò),并引入節(jié)點(diǎn)的多模態(tài)特征,嘗試學(xué)習(xí)效果更好的節(jié)點(diǎn)深度語義表示。? ? ? ?
表 1?搜索 query-title embedding 語義相關(guān)性例子
06
后續(xù)優(yōu)化
1. 視頻通用預(yù)訓(xùn)練語義表示
由于時(shí)間性能和視頻語義表示預(yù)訓(xùn)練數(shù)據(jù)缺乏等因素,目前僅簡(jiǎn)單的通過融合視頻關(guān)鍵幀序的圖像級(jí)別特征得到視頻的語義特征。后續(xù)將基于大量 video captioning 數(shù)據(jù),借鑒 BERT 思想學(xué)習(xí)視頻預(yù)訓(xùn)練語義模型 ( e.g.UniViLM [35] ) 抽取視頻的深度語義表征。
2. 融入知識(shí)圖譜先驗(yàn)的深度語義表示學(xué)習(xí)
視頻的文本和描述中往往包含一些實(shí)體 ( 比如標(biāo)題"漫威英雄內(nèi)戰(zhàn),鋼鐵俠為隊(duì)友量身打造制服,美隊(duì)看傻了"中包含實(shí)體"漫威、鋼鐵俠" ),通過在文本表征中引入圖譜中的實(shí)體,以及實(shí)體之間關(guān)系等先驗(yàn)知識(shí) ( "鋼鐵俠"和"復(fù)仇者聯(lián)盟" ),能夠進(jìn)一步提升語義表征的效果。后續(xù)將嘗試在 NLP 預(yù)訓(xùn)練語言模型和推薦場(chǎng)景中引入知識(shí)圖譜,分別用于提升文本語義表征效果 ( 比如 KEPLER [33] ) 和發(fā)現(xiàn)用戶深層次用戶興趣,提升推薦的準(zhǔn)確性,多樣性和可解釋性 ( e.g. KGCN [34] )。
3. 覆蓋更多的業(yè)務(wù)
深度語義表示通常用于視頻智能分發(fā)場(chǎng)景,目前已經(jīng)覆蓋愛奇藝的長(zhǎng)&短&小視頻、直播、圖文、漫畫等推薦和搜索業(yè)務(wù);后續(xù)將持續(xù)增加愛奇藝智能制作場(chǎng)景的支持,為各種業(yè)務(wù)場(chǎng)景提供深層次語義特征。?
總結(jié)
以上是生活随笔為你收集整理的爱奇艺深度语义表示学习的探索与实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。