井明強(qiáng),房愛(ài)蓮
(華東師范大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海 200062)
現(xiàn)在在線文章的數(shù)量已經(jīng)非常龐大,而且每年都在急劇增加,根據(jù)NCSES 的統(tǒng)計(jì),Scopus S&E 出版物數(shù)據(jù)庫(kù)的數(shù)據(jù),2020年的出版物產(chǎn)量達(dá)到290 萬(wàn)篇.過(guò)去4年(2017-2020年)以每年6%的速度增長(zhǎng),如何向用戶推薦他們喜歡并且適合他們的文章成為數(shù)字圖書館服務(wù)提供商面臨的一個(gè)關(guān)鍵問(wèn)題.許多學(xué)術(shù)搜索網(wǎng)站在某一特定領(lǐng)域的信息頁(yè)面上提供文章推薦來(lái)幫助用戶查找相關(guān)文章.然而,這些建議往往是基于關(guān)鍵字的推薦,如周興美[1]提出的論文檢索系統(tǒng),通過(guò)將文章的段落、語(yǔ)句、常用詞、關(guān)鍵詞、結(jié)構(gòu)框架內(nèi)容等檢索篩選、做出對(duì)比來(lái)推薦文章,這并不能個(gè)性化地向用戶推薦文章.
通常,一篇文章會(huì)涵蓋多個(gè)不同的主題,例如本文中,如關(guān)鍵字所示,包含: 個(gè)性化推薦、主題模型、文本相似度.不同背景和興趣的用戶可能更喜歡與不同主題相關(guān)的文章.個(gè)性化推薦如果不考慮用戶的多樣性,也不能滿足多數(shù)用戶.良好的個(gè)性化對(duì)于一個(gè)進(jìn)行文章推薦的網(wǎng)站來(lái)說(shuō)是一個(gè)挑戰(zhàn),很多用戶都是冷啟動(dòng)用戶,他們的個(gè)人資料并不完善,不能提供很多有用的信息.典型的方法是基于用戶反饋,然而用戶反饋可能非常稀疏.對(duì)于新用戶,只有來(lái)自同一會(huì)話的隱式反饋可用.因此很難利用傳統(tǒng)的推薦方法,如基于內(nèi)容的推薦[2]或協(xié)同過(guò)濾[3]等.
文本相似度衡量在推薦系統(tǒng)和信息檢索領(lǐng)域中起著非常關(guān)鍵的作用,也是一個(gè)挑戰(zhàn).大多數(shù)傳統(tǒng)方法都是基于詞袋模型,丟失了有關(guān)詞語(yǔ)順序以及上下文的信息.因此這些方法無(wú)法捕捉到短語(yǔ)、句子或更高級(jí)別的文意信息.近年來(lái),詞嵌入和神經(jīng)網(wǎng)絡(luò)在各個(gè)領(lǐng)域都得到了廣泛的應(yīng)用,在自然語(yǔ)言處理領(lǐng)域也提出了許多可以直接處理詞序列的神經(jīng)相似度計(jì)算模型[4,5],但它們經(jīng)常不加區(qū)分的處理文章中的所有單詞,因此它們無(wú)法將文章的重要部分與文章的一些固定化表達(dá)(比如“我們發(fā)現(xiàn)”“這說(shuō)明了”)區(qū)分開(kāi)來(lái).
為了應(yīng)對(duì)這些挑戰(zhàn),本文提出一個(gè)基于雙通道深度主題特征提取的文章推薦模型,將相關(guān)主題模型CTM[6]與預(yù)訓(xùn)練模型BERT[7]相結(jié)合,文章經(jīng)過(guò)預(yù)處理后,分別輸入到獨(dú)立的子模塊中進(jìn)行高維信息抽取并計(jì)算相似性得分,結(jié)合個(gè)性化得分給出最終推薦.我們發(fā)現(xiàn),在BERT 中添加相關(guān)主題信息,在3 個(gè)數(shù)據(jù)集上均有明顯提升,尤其是在特定領(lǐng)域的數(shù)據(jù)集上有優(yōu)秀的表現(xiàn).本文的主要貢獻(xiàn)有:
(1)提出了基于雙通道深度主題特征提取的文本相似度計(jì)算模型ctBERT,融合了相關(guān)主題模型CTM 和深度預(yù)訓(xùn)練模型BERT 作為文本語(yǔ)義相似度預(yù)測(cè)工具.
(2)我們?cè)诓煌瑏?lái)源和尺度上的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果表明,我們的模型相比于其他的基線模型能有效提高性能.
個(gè)性化推薦系統(tǒng)旨在為特定用戶在給定的上下文中提供最合適的推薦項(xiàng)目,基于內(nèi)容的方法[1]將項(xiàng)目描述和用戶的畫像文件進(jìn)行比較,以得到推薦內(nèi)容.經(jīng)典的協(xié)同過(guò)濾方法[8]利用當(dāng)前用戶或者與當(dāng)前用戶類似的其他用戶的歷史行為數(shù)據(jù)進(jìn)行預(yù)測(cè).混合推薦方法[9]則結(jié)合了上述兩種方法的優(yōu)點(diǎn)以提高建模精度.
杜政曉等人[10]將個(gè)性化文章推薦問(wèn)題定義如定義1.
定義1.個(gè)性化文章推薦問(wèn)題輸入: 查詢文章 ,候選集,與用戶相關(guān)的支撐集.u k R(dq,S)?D dqD={d1,d2,···,dN}u S={(images/BZ_326_1353_903_1375_933.pngdi,images/BZ_326_1384_910_1406_941.pngyi)}T{i=1}輸出: 一個(gè)為用戶 生成的前個(gè)完全排序的集合,其中.|R|=k
文本相似度是指通過(guò)某種方法獲得一個(gè)值來(lái)描述文本對(duì)象之間的相似度,如單詞、句子、文檔等.衡量?jī)善臋n之間的相似度的傳統(tǒng)方法如BM25[11]和TFIDF[12]都是基于詞袋模型,這些方法通常將兩篇文章中匹配單詞的權(quán)重之和作為相似度分?jǐn)?shù),忽略了語(yǔ)義信息,所以在衡量短語(yǔ)和句子的匹配程度方面表現(xiàn)不佳.
基于神經(jīng)網(wǎng)絡(luò)的方法可以大致分為兩種類型: 基于表示的模型和基于交互的模型.基于表示的代表模型有DSSM,LSTM-RNN 以及MV-LSTM 等,他們的主要思想是使用神經(jīng)網(wǎng)絡(luò)獲取文章的語(yǔ)義表示,然后將兩篇文章的表示之間的相似性(通常是余弦相似性)作為相似性分?jǐn)?shù).然而這些模型通常缺乏識(shí)別特定匹配信號(hào)的能力.基于交互的模型通常是依賴于詞嵌入,使用神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)兩篇文章的單詞級(jí)交互模式,比如DRMM 在單詞相似直方圖上使用多層感知器來(lái)獲得兩篇文章的相似度分?jǐn)?shù),其他的代表模型有MatchPyramid 以及K-NRM 等.這些模型主要依賴于單詞的嵌入,忽略了文章中的潛在主題信息.
主題模型的核心思想是以文本中所有字符作為支撐集的概率分布,表示該字符在該主題中出現(xiàn)的頻繁程度,即與該主題關(guān)聯(lián)性高的字符有更大概率出現(xiàn).在文本擁有多個(gè)主題時(shí)每個(gè)主題的概率分布都包括所有字符,但一個(gè)字符在不同主題的概率分布中的取值是不同的,它可以發(fā)現(xiàn)隱藏在大規(guī)模文檔集中的主題結(jié)構(gòu).
相關(guān)主題模型(CTM)[6]是建立在Blei 等人[13]的潛在狄利克雷(LDA)模型之上,LDA 假設(shè)每個(gè)文檔的單詞都來(lái)自不同的主題,其中每個(gè)主題都有一個(gè)固定的詞匯表,文檔集合中的所有文檔均共享這些主題,但是文檔之間的主題比例會(huì)有不同的差異,因?yàn)樗麄兪菑牡依死追植贾须S機(jī)抽取的.LDA 模型是一個(gè)典型的詞袋模型,無(wú)法直接對(duì)主題之間的相關(guān)性進(jìn)行建模.CTM 用更靈活的邏輯正態(tài)分布取代了狄利克雷,該正態(tài)分布在組件之間包含協(xié)方差結(jié)構(gòu),這給出了一個(gè)更現(xiàn)實(shí)的潛在主題結(jié)構(gòu)模型,其中一個(gè)潛在主題可能與另一個(gè)潛在主題相關(guān).
單樣本學(xué)習(xí)可以將分類任務(wù)轉(zhuǎn)化為差異評(píng)估問(wèn)題,當(dāng)深度學(xué)習(xí)模型針對(duì)單樣本學(xué)習(xí)模型進(jìn)行調(diào)整的時(shí)候,它會(huì)獲取兩個(gè)目標(biāo)并返回一個(gè)值,這個(gè)值顯示兩個(gè)目標(biāo)之間的相似性,如果兩個(gè)目標(biāo)有包含相同的特征,神經(jīng)網(wǎng)絡(luò)則返回一個(gè)小于特定閾值(例如0)的值,如果兩個(gè)目標(biāo)差異較大,返回的值將會(huì)高于閾值.單樣本學(xué)習(xí)目前主要被應(yīng)用于圖像任務(wù)中,用于少量樣本情況下的圖片分類任務(wù).它可以將在其他類中學(xué)到的知識(shí)建模為與模型參數(shù)有關(guān)的先驗(yàn)概率函數(shù).當(dāng)給出一個(gè)新類的示例時(shí),它可以更新知識(shí)并生成一個(gè)后驗(yàn)密度來(lái)識(shí)別新的實(shí)例.
為了得到有序集R,我們的模型為候選集D中的每篇文章di計(jì)算了一個(gè)分?jǐn)?shù)s(di|dq,S),然后選取D中獲得最高分?jǐn)?shù)的前k篇文章作為top-k 推薦.針對(duì)特定用戶u的推薦問(wèn)題可以看作用戶u是否接受這篇文章,以此將問(wèn)題轉(zhuǎn)化為二分類問(wèn)題,即對(duì)于支撐集S中的是二進(jìn)制的(1 表示用戶接受該文章,0表示不接受).可以將S視為分類的訓(xùn)練集,其中是訓(xùn)練實(shí)例,是相應(yīng)的標(biāo)簽,由于前期用戶的交互數(shù)據(jù)非常少,S的規(guī)模很小甚至為空,我們將單樣本學(xué)習(xí)與我們的問(wèn)題類比.受文獻(xiàn)[14]的啟發(fā),我們的模型計(jì)算s(di|dq,S)的方式如下:
其中,t(·,·)是用于計(jì)算文本相似性的ctBERT 模型,將在下面的部分中討論.從式(1)中可以看出,s由兩部分組成,第1 部分是與查詢文章的相似度得分.第2 部分是個(gè)性化得分,是S中反饋的歸一化線性組合,以文本相似度為系數(shù),S為空時(shí)等于0.整個(gè)推薦框架如圖1 所示.
圖1 ctBERT 模型的整體架構(gòu)
首先,需要對(duì)文章進(jìn)行預(yù)處理,包括切詞、去除停用詞等.由于BERT 模型支持的最大輸入長(zhǎng)度只有512,本文采用的方法是按固定長(zhǎng)度進(jìn)行截?cái)?即對(duì)于每篇文檔di,選取去除停用詞后的前512 個(gè)字作為輸入.為了提高性能和減少計(jì)算開(kāi)銷,本文根據(jù)文獻(xiàn)[15]的啟發(fā),采用了雙塔模型結(jié)構(gòu).通過(guò)獨(dú)立的子模塊進(jìn)行高維信息抽取,再用抽取得到的特征向量的余弦距離來(lái)得到文本語(yǔ)義相似度得分.
對(duì)于查詢文檔dq和候選文檔dc,分別輸入BERT模型,這里的BERT 模型選用BERT-BASE,最終會(huì)得到BERT 最后一層[CLS]向量輸出,將其作為文檔的全局語(yǔ)義特征表示C,形式化如式(2):
關(guān)于主題模型部分,本文使用Bianchi 等人[16]的CTM 模型對(duì)文檔進(jìn)行主題建模,使用Word2Vec 模型對(duì)詞向量進(jìn)行訓(xùn)練,其計(jì)算方式如式(3):
其中,x為所有詞匯的詞向量表征形式,v是詞匯字典中的詞匯總數(shù),e(wi)為詞匯wi的詞向量表示形式.通過(guò)主題模型訓(xùn)練結(jié)果,得到文檔d對(duì)應(yīng)的主題分布,取概率最大的主題Tmax,在根據(jù)主題詞文件選擇主題Tmax下的前n個(gè)詞(t1,t2,···,tn)及其概率值(p1,p2,···,pn),將概率值歸一化處理作為n個(gè)詞語(yǔ)的權(quán)重信息,公式如式(4):
其中,qi表示pi歸一化后的值,(q1,q2,···,qn)即為前n個(gè)詞的權(quán)重大小.通過(guò)訓(xùn)練好的Word2Vec 模型得到詞向量(e(t1),e(t2),···,e(tn)),再對(duì)其進(jìn)行加權(quán)求和,得到主題擴(kuò)展特征,公式如式(5):
接下來(lái),對(duì)全局語(yǔ)義特征表示C和主題擴(kuò)展特征D進(jìn)行組合以得到文檔向量與文檔主題表示相結(jié)合的表現(xiàn)形式:
對(duì)于查詢文檔和候選文檔的最終表示Fq和Fc,通過(guò)一個(gè)隱藏層統(tǒng)一長(zhǎng)度,最后計(jì)算他們的余弦相似度得出相似度得分.
整個(gè)模型在目標(biāo)任務(wù)上進(jìn)行端到端的訓(xùn)練,我們將鉸鏈損失函數(shù)作為訓(xùn)練的目標(biāo)函數(shù).給定三元組其中對(duì)于查詢文檔,的排名要高于,損失函數(shù)表達(dá)式為:t(dq,d)dqd
其中,表示查詢文章 和文章 的相似度得分.通過(guò)標(biāo)準(zhǔn)反向傳播和小批量隨機(jī)梯度下降法進(jìn)行優(yōu)化,同時(shí)采用隨機(jī)丟棄和早期停止策略避免過(guò)擬合.
在本節(jié)中,為了評(píng)估所提出的模型,我們?cè)? 個(gè)數(shù)據(jù)集上對(duì)文章推薦問(wèn)題進(jìn)行了實(shí)驗(yàn),并與傳統(tǒng)方法和神經(jīng)模型做了對(duì)比.
第1 個(gè)數(shù)據(jù)集是來(lái)自Aminer[17]的論文集,由188 篇查詢文檔組成,每個(gè)查詢文檔有10 篇候選論文,這些文檔均是計(jì)算機(jī)相關(guān)的專業(yè)論文.第2 個(gè)數(shù)據(jù)集是基于美國(guó)專利和商標(biāo)局的專利文件(Patent),由67 個(gè)查詢組成,每個(gè)查詢有20 個(gè)候選文檔.第3 個(gè)數(shù)據(jù)集是來(lái)自Sowiport 的相關(guān)文章推薦數(shù)據(jù)集(RARD),這是一個(gè)社會(huì)科學(xué)文章的數(shù)字圖書館,向用戶提供相關(guān)文章.此數(shù)據(jù)集包含63 932 個(gè)帶有用戶點(diǎn)擊記錄的不同查詢.每篇查詢文章平均有9.1 篇文章顯示,我們選取了100 個(gè)點(diǎn)擊率最高的查詢進(jìn)行測(cè)試,其他的查詢則用于訓(xùn)練.
下面是本文中用來(lái)做對(duì)比的幾種方法,其中前兩種方法為傳統(tǒng)方法,后3 種方法為神經(jīng)模型.
(1)TF-IDF[12]: 將查詢文檔和候選文檔中共同出現(xiàn)的詞語(yǔ)的權(quán)重相加來(lái)得到文檔之間的相似度得分.一個(gè)詞的權(quán)重是其詞頻和逆文檔頻率的乘積.
(2)Doc2Vec[18]: 通過(guò)段落向量模型得到每一篇文章的分布表示,然后通過(guò)計(jì)算他們之間的余弦相似性來(lái)得到文檔之間的相似度得分.
(3)MV-LSTM[5]: 由Bi-LSTM 生成的不同位置的句子表征形成了一個(gè)相似性矩陣,由這個(gè)矩陣來(lái)生成相似度得分.
(4)DRMM[19]: 基于查詢文檔和候選文檔的詞對(duì)向量構(gòu)建局部交互矩陣,根據(jù)此矩陣轉(zhuǎn)化為固定長(zhǎng)度的匹配直方圖,最后將直方圖發(fā)送到MLP 以獲得相似度得分.
(5)LTM-B[20]: 采用分層的思想將文檔切分成多個(gè)分段,使用BERT 將文本向量化,將得到的矩陣表示與BiLSTM 產(chǎn)生的位置矩陣求和之后輸入到Transformer中進(jìn)行特征提取,最后將兩個(gè)文檔矩陣進(jìn)行交互、池化拼接后經(jīng)全連接層分類得到匹配分?jǐn)?shù).
(1)實(shí)驗(yàn)1: 與其他方法的對(duì)比實(shí)驗(yàn)
表1 展示了不同方法在歸一化折損累計(jì)增益(NDCG)指標(biāo)方面的排名精度.為了比較的公平性,所有模型都不涉及用戶反饋,這一點(diǎn)會(huì)在后面討論.
表1 不同方法在NDCG 指標(biāo)方面的排名精度(%)
從表1 中的評(píng)估結(jié)果可以看出,我們提出的模型性能優(yōu)于其他的方法,在NDCG@3 標(biāo)準(zhǔn)上優(yōu)于對(duì)比方法3.6%-19.6%,在NDCG@5 標(biāo)準(zhǔn)優(yōu)于對(duì)比方法2.2%-24.9%,在每個(gè)數(shù)據(jù)集上NDCG 平均提高分別為:14.6%、5.8%、9.8%.我們注意到,在Aminer 數(shù)據(jù)集中的提升效果要明顯優(yōu)于其他兩個(gè)數(shù)據(jù)集,說(shuō)明我們的模型在涉及特定專業(yè)領(lǐng)域的數(shù)據(jù)集上有更好的表現(xiàn).
(2)實(shí)驗(yàn)2: 消融實(shí)驗(yàn)
為了探究主題模型和預(yù)訓(xùn)練模型分別對(duì)ctBERT的性能影響,我們?yōu)橄趯?shí)驗(yàn)建立基線模型,分別是:
(1)ctBERT-ctm: 去掉主題模型,僅用預(yù)訓(xùn)練模型BERT 對(duì)文章進(jìn)行建模.
(2)ctBERT-BERT: 去掉預(yù)訓(xùn)練模型,僅用主題模型CTM 對(duì)文章進(jìn)行建模.
為了比較的公平性,本實(shí)驗(yàn)均不涉及用戶反饋.它們與ctBERT 模型的性能比較如表2 所示.
表2 消融實(shí)驗(yàn)結(jié)果對(duì)比(%)
實(shí)驗(yàn)結(jié)果可以看出,僅用預(yù)訓(xùn)練模型BERT 對(duì)文章進(jìn)行建模的方法ctBERT-ctm 相比表1 中的Doc2Vec以及MV-LSTM 方法有部分性能提升,但是效果仍不如其他對(duì)比的基線模型,說(shuō)明此種方式對(duì)文章語(yǔ)義信息的表示有限.去掉預(yù)訓(xùn)練模型的ctBERT-BERT 模型僅用概率最大的主題詞詞向量作為文章表示,實(shí)驗(yàn)結(jié)果表明此方法在3 個(gè)數(shù)據(jù)集上均無(wú)法達(dá)到很好的效果.
(3)實(shí)驗(yàn)3: 單樣本學(xué)習(xí)對(duì)整個(gè)框架的影響
為了探究單樣本學(xué)習(xí)對(duì)整個(gè)框架的影響,我們?cè)O(shè)置了以下實(shí)驗(yàn),探究加入單樣本學(xué)習(xí)之后ctBERT 模型的表現(xiàn).由于以上3 個(gè)數(shù)據(jù)集均沒(méi)有用戶個(gè)性化標(biāo)簽,我們利用數(shù)據(jù)集中的數(shù)據(jù)模擬個(gè)性化問(wèn)題.首先選擇有多個(gè)正面標(biāo)記的候選項(xiàng)的查詢,對(duì)于每個(gè)查詢,我們將標(biāo)記的候選項(xiàng)隨機(jī)分為兩部分.第1 部分用于支撐集,第2 部分用作將要推薦的候選集.然后我們將單樣本學(xué)習(xí)推薦框架(稱為ctBERT-os)與前面不涉及用戶反饋的最佳模型ctBERT 進(jìn)行比較.結(jié)果如表3 所示.可以看到,通過(guò)加入支撐集,可以提高模型性能,平均而言,ctBERT-OS 模型的表現(xiàn)在NDCG@3 和NDCG@5標(biāo)準(zhǔn)上要比ctBERT 高出4%和3.9%.
表3 原始模型與加入單樣本學(xué)習(xí)后的實(shí)驗(yàn)結(jié)果對(duì)比(%)
本文研究了個(gè)性化文章推薦問(wèn)題,在前人研究的基礎(chǔ)上提出了一個(gè)新的模型來(lái)解決它,相較于其他的特征工程語(yǔ)義相似性模型,創(chuàng)新性的加入主題信息,將主題信息與預(yù)先訓(xùn)練好的上下文表示(BERT)相結(jié)合作為文本表示.實(shí)驗(yàn)結(jié)果表明,該模型優(yōu)于傳統(tǒng)的和最新的神經(jīng)網(wǎng)絡(luò)模型基線,尤其是在特定專業(yè)領(lǐng)域(如計(jì)算機(jī)領(lǐng)域)的數(shù)據(jù)集上能顯著的提高性能.
本文提出的模型雖然有一定的效果提升,但也有一些局限,比如目前主題信息與文本表示的集合是在兩個(gè)模型外部進(jìn)行的融合,對(duì)于模型的統(tǒng)一性而言還不夠高,未來(lái)的工作方向可能集中在如何不破壞預(yù)訓(xùn)練信息的情況下直接將主題信息融合到BERT 內(nèi)部中,從而指導(dǎo)文本語(yǔ)義相似度的計(jì)算.
由于本文中用到的數(shù)據(jù)集均沒(méi)有用戶個(gè)性化標(biāo)簽,在一定程度上會(huì)影響單樣本學(xué)習(xí)框架的性能表現(xiàn),未來(lái)的工作方向會(huì)將ctBERT 部署到線上環(huán)境,收集到足夠的用戶反饋數(shù)據(jù),再根據(jù)訓(xùn)練結(jié)果調(diào)整模型和超參數(shù),從而更好地指導(dǎo)模型性能.