陶嘉鴻,盧永美,何 東,卜令梅,陳 黎,于中華
(四川大學 計算機學院,成都 610065)
隨著網(wǎng)絡購物的普及,電商平臺積累了大量用戶撰寫的產(chǎn)品評論,這些評論包含的信息對于普通用戶、商家和廠家均具有重要的參考價值.例如,普通用戶可以基于這些評論獲知產(chǎn)品和服務的口碑,在此基礎上更合理地選擇自己所需要的產(chǎn)品和服務.然而,閱讀大量篇幅長短不一、口語化的評論文本,會引起嚴重的信息過載問題,顯著增加用戶(包括普通個人用戶、商家和廠家)利用這些信息進行科學決策的負擔.表面上看,單評論摘要似乎意義不大,然而據(jù)本文對Li等[1]采集的評論文本的統(tǒng)計,其中的酒店評論平均每篇包含10個句子,154個詞,而且越具有參考價值的評論,篇幅往往越長.因此,產(chǎn)生單篇評論的摘要,用少量的句子或短語概括表達評論的主要內(nèi)容,仍然可以顯著減輕用戶獲取評論信息的負擔,具有重要意義.
文本摘要是壓縮文本內(nèi)容、緩解信息過載、提高信息獲取效率的關(guān)鍵技術(shù),受到學術(shù)界和工業(yè)界的重視,一直是自然語言處理領域的重要研究方向[2-5].傳統(tǒng)的文本摘要研究主要面向科技文獻、新聞等以書面語創(chuàng)作的應用文,而產(chǎn)品評論具有口語化、包含大量主觀性觀點的特點,這使得傳統(tǒng)的文本摘要技術(shù)無法直接用于產(chǎn)品評論,有必要專門研究面向產(chǎn)品評論的自動摘要技術(shù).在此背景下,產(chǎn)品評論自動摘要成為當前的一個研究熱點[6-10].
在選擇產(chǎn)品或服務時,不同的用戶可能存在偏好上的差異.圖1給出了一個示例,在選擇酒店時,年長的用戶可能關(guān)注酒店的設施情況,而其他用戶可能聚焦酒店的房間或交通出行的便捷程度.對所有用戶一視同仁地產(chǎn)生評論摘要無法滿足上述個性化的信息需求,而提供個性化的評論摘要可以進一步提高用戶獲取有價值信息的效率,優(yōu)化用戶體驗.
圖1 個性化評論摘要示例
為了彌補現(xiàn)有評論摘要生成方法在個性化方面存在的不足,一些研究者開始研究個性化評論摘要生成問題[11-16],旨在針對一篇評論文本,面向不同用戶產(chǎn)生反映他們不同偏好的摘要.需要說明的是,在這些文獻中,評論摘要也被稱為評論標題(Headline或Title)或貼士(Tips).
個性化評論摘要生成的相關(guān)研究才剛剛起步,目前只有為數(shù)不多的幾項工作[11-16].這些工作提出的方法大多以序列到序列模型(Seq2Seq)為基礎,基于某種用戶偏好表達(也叫用戶模型,或用戶畫像)捕捉評論文本中用戶可能感興趣的關(guān)鍵信息,據(jù)此生成符合用戶個性化偏好和用詞習慣的評論摘要,它們之間最大的區(qū)別主要體現(xiàn)在建模用戶偏好上.Liu等[12]利用用戶ID嵌入向量來表示用戶偏好,而Li等[13]綜合利用用戶ID嵌入向量和用戶個性化詞表來表達用戶偏好和用詞習慣.
上述方法用ID表示用戶,通過學習ID嵌入來捕捉用戶偏好,這本質(zhì)上屬于直推式學習,只有通過重新訓練才能得到新用戶ID的嵌入表達.此外,用戶ID嵌入面臨冷啟動和數(shù)據(jù)稀疏的問題,對于未發(fā)表或只發(fā)表少量評論/摘要的用戶,其ID嵌入無法得到充分訓練,因此無法表達他的興趣偏好.為此,Li等[1]提出了基于用戶屬性的個性化評論摘要生成算法.該算法首先學習單方面屬性特征(年齡、性別、旅行狀態(tài)等)的嵌入表達,然后拼接一個用戶所有屬性特征的嵌入表達,作為該用戶的偏好表達,用于捕捉評論文本中個性化的關(guān)鍵信息.
利用用戶屬性避免了新用戶ID需要重新訓練才能得到嵌入表達的問題,也可以緩解用戶ID數(shù)據(jù)稀疏和冷啟動帶來的挑戰(zhàn),但是簡單拼接不同屬性特征的嵌入表達忽略了不同用戶屬性之間的關(guān)聯(lián),使得Li等[1]的方法在用戶偏好捕捉方面能力偏弱.實際上,盡管具有某種屬性特征的用戶可能表現(xiàn)出一定的偏好傾向,但這種傾向往往很大程度上受同一用戶其他方面屬性特征的影響.例如,盡管一些出差人員不太關(guān)注酒店價格,但剛參加工作的年輕人即使出差也可能對酒店價格很敏感,傾向于選擇價格實惠的酒店.
為了對用戶屬性特征之間的關(guān)聯(lián)進行建模,從而更準確地捕捉用戶的個性化偏好,本文提出一種融合用戶屬性交互的個性化評論摘要生成算法.該算法首先自動學習單方面屬性特征的嵌入表達,然后利用自注意力機制捕捉一個用戶不同方面屬性特征之間的交互關(guān)聯(lián),并據(jù)此融合一個用戶多方面的屬性特征,最后得到綜合的用戶偏好表達.這樣的偏好表達既被用于序列到序列模型的編碼端,也被用于解碼端.編碼端憑借用戶偏好聚焦用戶可能感興趣的信息,而解碼端在用戶偏好的指導下生成符合用戶個性化興趣的摘要文本.為了驗證上述方法的有效性,本文在Li等[1]發(fā)布的、包含用戶多方面屬性信息的個性化評論摘要數(shù)據(jù)集TripAtt上進行了一系列對比和消融實驗.實驗結(jié)果表明,融合屬性特征之間交互的用戶個性化建模方法能更準確地學習用戶偏好,生成的個性化評論摘要比現(xiàn)有的先進算法在指標ROUGE-1、ROUGE-2和ROUGE-L上均有明顯、穩(wěn)定的提升.
本文的主要貢獻包括:
1)提出了基于自注意力的端到端個性化評論摘要生成算法,該算法能夠更好地捕捉用戶屬性之間的關(guān)聯(lián),從而提升個性化評論摘要任務的性能;
2)在基準數(shù)據(jù)集上進行了一系列實驗,實驗結(jié)果表明本文提出的算法明顯優(yōu)于目前已有的先進算法.
自動文摘是解決信息過載問題的重要方法,因此成為自然語言處理領域經(jīng)典的研究問題,受到幾十年持續(xù)的關(guān)注和廣泛的研究.已經(jīng)提出的自動文摘方法可以分為抽取式和生成式兩類[17-19].隨著深度學習特別是序列到序列模型的不斷發(fā)展,目前先進的自動文摘系統(tǒng)普遍采用基于序列到序列模型的生成式方法.
早期的自動文摘主要面向科技文獻,用于解決科技信息獲取過程中的過載問題.隨著互聯(lián)網(wǎng)技術(shù)的廣泛應用,快速獲取Web信息成為自動文摘新的應用領域[20-22].科技文獻摘要需要客觀概括文檔的主題和內(nèi)容,一篇文檔只有一篇摘要,和具體受眾的個性化需求關(guān)系不大.而用于獲取Web信息的網(wǎng)頁摘要,由于不同用戶可能有不同的關(guān)注點,個性化成為提升用戶獲取信息效率、優(yōu)化用戶體驗的重要手段[23-26].例如,Díaz1等[23]通過捕捉用戶對電子報刊不同版面的關(guān)注程度進行用戶建模,在此基礎上實現(xiàn)了一個抽取式的個性化摘要算法;Móro等[24]利用潛在語義分析對用戶-詞項矩陣進行分解,據(jù)此進行句子選擇,由抽取出的句子形成個性化的摘要;Yan等[25]利用用戶的點擊行為數(shù)據(jù)來進行用戶偏好的動態(tài)建模,實現(xiàn)個性化摘要.搜索引擎抽取并展示命中網(wǎng)頁中包含查詢詞的片段,這樣的片段屬于一種特殊的個性化摘要,用戶個性化偏好由查詢(Query)來表示[26].
考慮到產(chǎn)品評論對于普通用戶、商家和廠家的決策均具有重要參考價值,為了充分利用產(chǎn)品評論所包含的重要信息,降低用戶獲取這些信息的負擔,面向評論文本的自動文摘開始受到重視[6-10].由于評論文本具有口語化嚴重、文本質(zhì)量差、主要描述主觀感受和觀點等特點,一般的自動文摘算法無法直接用于評論,需要針對評論文本的特點進行專門的研究.和一般的自動文摘一樣,目前占據(jù)主導地位的是以序列到序列模型為基礎的生成式評論摘要方法,只不過多數(shù)考慮了評論文本的上述特點.例如,Ma等[8]提出了以情緒分類為輔助任務的端到端評論摘要生成模型,Yang等[9]提出了融合情緒和產(chǎn)品方面(Aspect)信息的多因子注意力摘要生成模型.
盡管在評論自動文摘方面已經(jīng)開展了大量研究,取得了很多有前景的成果,然而,這些工作均忽略了不同用戶在獲取評論信息方面可能存在的個性化差異.為此,一些研究者開始研究個性化評論摘要生成問題[11-13],并帶動了后續(xù)的進一步研究,提高了個性化評論摘要的生成質(zhì)量[14-16].
在個性化評論摘要生成的方法上,絕大多數(shù)現(xiàn)有工作均采用帶有注意力機制的序列到序列模型,以用戶個性化偏好表達為查詢向量,利用注意力機制捕捉輸入評論中反映用戶偏好的關(guān)鍵信息,在此基礎上結(jié)合用戶偏好表達生成符合用戶偏好的摘要文本.它們之間的主要差別體現(xiàn)在個性化特征的信息源以及用戶建模方法上.Liu等[12]利用用戶ID嵌入向量來表示用戶偏好,把該嵌入向量視作先驗知識,用于初始化序列到序列模型的編碼器和解碼器,而Li等[13]綜合利用用戶ID嵌入向量和用戶個性化詞表來表達用戶偏好和用詞習慣,并嘗試了把它們?nèi)谌胄蛄械叫蛄心P偷?種策略,包括個性化詞拷貝和生成相結(jié)合的文本生成策略.一些文獻認為產(chǎn)品評論摘要除了需要個性化,還應該面向目標產(chǎn)品,提出了在序列到序列模型中同時融合用戶ID嵌入和產(chǎn)品ID嵌入的個性化評論摘要生成方法[11,15,16].其中,Xu等[16]還引入了用戶對產(chǎn)品評分的嵌入(1-5分,每種得分對應一個自動學習的嵌入向量),提出了基于Transformer、帶有內(nèi)部和外部雙重注意力的模型,用于評價用戶已發(fā)表摘要對捕捉當前評論中關(guān)鍵信息以及生成個性化摘要的影響,在此基礎上利用個性化詞表、用戶嵌入、產(chǎn)品嵌入和評分嵌入生成個性化摘要.
通過嵌入用戶ID對用戶建模存在冷啟動和數(shù)據(jù)稀疏問題,必須通過重新訓練才能得到新用戶ID的嵌入向量,無法利用歸納出的模型來預測該向量的表達.為了解決該問題,Li等[1]提出了從用戶屬性學習用戶偏好表達并結(jié)合屬性個性化詞表來生成評論摘要的方法.具體做法是首先學習單方面屬性的嵌入表達,然后拼接一個用戶所有屬性的嵌入表達作為該用戶的偏好表達,利用這樣得到的偏好表達和屬性個性化詞表來編碼評論文本和生成個性化摘要(文中嘗試了4種將這些個性化信息融入序列到序列模型的策略,與Li等[13]類似).
現(xiàn)有工作中,Li等[1]與本文最相關(guān),本文同樣試圖利用多方面的用戶屬性信息來捕捉用戶的個性化偏好.但與Li等[1]不同,本文利用自注意力機制建模一個用戶多方面屬性之間的關(guān)聯(lián),解決Li等[1]忽略屬性之間關(guān)聯(lián)帶來的個性化信息捕捉能力弱的問題.此外,本文拋棄了Li等[1]所用的屬性個性化詞表,認為算法能夠從訓練集中評論、摘要與用戶屬性之間的對應關(guān)系隱含地學習屬性個性化詞表的信息,并把該信息編碼到屬性嵌入表達中.拋棄屬性個性化詞表不僅節(jié)約了存儲空間,還避免了由于查詢它所帶來的時間開銷.實驗結(jié)果表明,雖然本文算法沒有使用屬性個性化詞表,但生成的摘要質(zhì)量仍然高于Li等[1]的方法.
本文算法以序列到序列模型為基礎,編碼器采用雙向LSTM[27]學習評論中詞的向量表達,解碼器采用單向LSTM順序地生成摘要中的每個詞.為了更好地對用戶偏好進行建模,本文引入屬性嵌入之間的自注意力機制來捕捉用戶屬性之間的關(guān)聯(lián).在順序生成摘要中每個詞時,解碼器以用戶偏好表達為查詢向量,通過注意力機制聚焦輸入評論中用戶可能感興趣的內(nèi)容,得到個性化的評論表達,用作生成當前詞的前后文表達.本節(jié)首先給出任務的形式化描述,然后介紹本文算法的技術(shù)細節(jié).
為了解決單純依賴用戶ID產(chǎn)生個性化評論摘要存在的冷啟動問題,與Li等[1]一樣,本文的任務也是基于用戶屬性信息實現(xiàn)個性化評論摘要生成.該任務可以形式化地描述為:給定評論文本X=x1x2…xN和具有屬性特征集合A的用戶U,生成反映用戶U偏好的摘要Y=y1y2…yM,其中xi和yj分別是評論和摘要中的詞.A是用戶U的屬性-值對的集合(如A={年齡=65+,性別=Male,旅行狀態(tài)=Traveled as a couple}),用作獲取用戶偏好的重要信息來源.
本文研究采用的數(shù)據(jù)集為Li等[1]發(fā)布的TripAtt,其中每條記錄是一個三元組,由酒店評論、用戶和摘要組成.每個用戶由年齡、性別和旅行狀態(tài)3個方面的屬性特征來刻畫,分別用a1,a2和a3來表示,即A={a1,a2,a3}.
本文算法的模型框架如圖2所示.整個模型由3部分組成:評論編碼器、屬性編碼器和摘要解碼器.其中,屬性編碼器采用自注意力機制捕捉一個用戶不同方面屬性之間關(guān)聯(lián),摘要解碼器以用戶偏好表達為查詢向量,捕捉評論中用戶可能感興趣的關(guān)鍵信息,作為生成個性化摘要的前后文向量.本文將分別在3.2.1和3.2.2節(jié)詳細介紹屬性編碼器和摘要解碼器.
圖2 模型示意圖
評論編碼器首先用預訓練的GloVe詞向量[28]初始化評論中每個詞的嵌入表達,然后利用雙向LSTM融合詞的前后文信息,拼接每個時刻前向和后向隱藏層的向量表達,作為該時刻詞的編碼表示hi(如式(1)所示),用于解碼器產(chǎn)生摘要.
(1)
3.2.1 屬性編碼器
Q=WqA,K=WkA,V=WvA
(2)
(3)
(4)
3.2.2 摘要解碼器
摘要解碼器基于單向LSTM,首先計算每個時刻的隱藏狀態(tài)st,然后分別以st和用戶偏好表達u為查詢向量,利用注意力機制捕捉保持摘要與評論內(nèi)容一致和反映用戶偏好的關(guān)鍵信息,最后通過門控機制融合這兩方面的注意力權(quán)重,用于計算生成摘要當前詞的前后文表達.具體地,假設當前待生成的是摘要的第t個詞,摘要解碼器首先計算LSTM第t時刻的隱藏狀態(tài),如式(5)所示,其中yt-1是t-1時刻生成的詞的嵌入表達,st-1是該時刻的隱藏狀態(tài).
st=LSTM(yt-1,st-1)
(5)
(6)
(7)
兩種注意力權(quán)重通過門控機制進行融合,得到評論中每個詞在第t時刻的綜合注意力權(quán)重,最后對所有詞按照綜合注意力權(quán)重進行加權(quán)求和,得到第t時刻的前后文表達ct,如式(8)-式(10)所示,其中Wg和bg是需要學習的模型參數(shù).
gt=sigmoid(Wg[st;u]+bg)
(8)
(9)
(10)
摘要解碼器隨后根據(jù)式(11)計算讀出狀態(tài)rt,并根據(jù)它計算第t時刻詞表中每個詞出現(xiàn)的概率Pvocab(yt).為了緩解未登錄詞對摘要生成帶來的不利影響,借鑒帶有拷貝機制的文本生成方法[3],本文通過生成模式和拷貝模式兩種途徑產(chǎn)生t時刻的詞,生成模式生成詞表中的詞,拷貝模式則拷貝輸入評論中的詞.解碼器通過這兩種模式計算yt作為摘要第t個詞輸出的概率,計算方式見式(12)和式(13),其中Wvocab為需要學習的模型參數(shù).
rt=tanh(Wr[st;ct;u])
(11)
Pvocab(yt)=softmax(Wvocabrt)
(12)
Pcopy(yt)=∑i;xi=ytβt,i
(13)
而P(yt)是yt作為摘要第t個詞輸出的最終概率,它是由兩種模式的概率以及通過式(15)學習的門,按照式(14)進行融合得到的.
P(yt)=pgPvocab(yt)+(1-pg)Pcopy(yt)
(14)
(15)
給定訓練集D={
(16)
為了驗證本文算法的效果,本文開展了以下4方面的實驗:1)和現(xiàn)有基于屬性的方法進行對比,考察屬性交互帶來的效果;2)和基于用戶ID嵌入的方法進行對比,考察在用戶ID數(shù)據(jù)稀疏和冷啟動情況下本文算法的優(yōu)勢;3)消融實驗,分析本文算法不同模塊的作用;4)考察個性化詞表的作用.下面首先介紹實驗所用的數(shù)據(jù)集及評價指標.
目前帶有用戶屬性信息的個性化評論摘要數(shù)據(jù)集只有Li等[1]發(fā)布的TripAtt,其中用戶屬性包括年齡、性別和旅行狀態(tài).圖3給出了這些屬性各種可能的取值以及在TripAtt中出現(xiàn)的頻率分布.TripAtt共有495440條記錄,每條記錄包括評論文本、用戶屬性(由年齡、性別和旅行狀態(tài)3個屬性的取值來表示)和相應的評論摘要.為了方便進行實驗對比,與Li等[1]的做法一樣,本文隨機抽取2000條記錄作為測試樣例,2000條記錄作為驗證樣例,剩下491440條記錄作為訓練樣例.此外,本文采用自動文摘領域廣泛使用的ROUGE指標[30]來評價算法生成的摘要質(zhì)量.該指標基于算法生成的摘要與黃金標準標注的摘要之間共現(xiàn)元詞(n-gram)的情況來衡量算法生成的摘要質(zhì)量,常用的有基于一元詞的ROUGE-1、基于二元詞的ROUGE-2和基于最長公共子序列的ROUGE-L.
圖3 用戶屬性的取值分布(%)
本文基于深度學習框架PyTorch 1.9.1構(gòu)建模型,Python版本是3.9.7.所有實驗均在同一臺服務器上進行,該服務器搭載了一塊88核英特爾至強處理器和兩張英偉達GeForce RTX 3090顯卡,操作系統(tǒng)是Ubuntu 18.04.4 LTS.
本文選用優(yōu)化器AdamW[31]來訓練模型,設置初始學習率為0.001,并在訓練過程中通過1cycle策略[32]不斷調(diào)整學習率以加快模型的收斂速度.測試階段采用束搜索(Beam Search)算法來搜索最優(yōu)輸出詞序列,其中束寬設置為4.表1列出了模型其他超參數(shù)的取值.
表1 模型超參數(shù)
為了驗證本文算法利用自注意力機制捕捉屬性交互帶來的效果,本文與其他基于屬性的方法進行了實驗對比.目前這方面的工作只有Li等[1]提出的屬性感知模型ASN,其中用戶偏好的捕捉基于屬性個性化詞表(利用TF-IDF從具有相同屬性取值的用戶已發(fā)表的摘要中篩選詞)的嵌入來實現(xiàn),該模型將用戶三方面屬性的嵌入進行拼接和線性變換,用得到的向量來表達用戶偏好.此外,屬性個性化詞表還被用于解碼端,解碼器通過拷貝機制從中拷貝詞實現(xiàn)個性化輸出.Li等[1]嘗試了將用戶偏好表達和屬性詞表注入模型的不同策略,包括:
1)ASel:將用戶偏好表達融入編碼器,利用門控機制捕捉輸入評論中用戶可能感興趣的內(nèi)容;
2)APre:將用戶偏好表達融入序列到序列模型的解碼器,解碼器計算讀出狀態(tài)時融合用戶的偏好表達;
3)AMP:以用戶偏好表達為查詢向量,采用注意力機制融合屬性個性化詞表中詞的嵌入表達,解碼器計算讀出狀態(tài)時融合該表達;
4)AMG:利用指針生成網(wǎng)絡,解碼器既可以生成詞,也可以拷貝屬性個性化詞表中的詞來輸出;
5)ASN:融合上述4種策略.
本文將本文算法與上述5種方法進行了實驗對比.由于這些方法的實現(xiàn)代碼沒有公布,本文對它們進行了復現(xiàn),并且采用與本文算法相同的數(shù)據(jù)集劃分、調(diào)參方式和評價方法對它們進行評價.表2列出了本文算法和這5種方法在數(shù)據(jù)集10次隨機劃分下實驗結(jié)果的平均值和95%置信區(qū)間.
表2 對比算法實驗結(jié)果(%)
從表2可以看出,在3個評價指標上,本文算法比Li 等[1]提出的所有策略都有明顯的提升(通過顯著性檢驗,p值小于0.01),比融合4種策略的ASN在ROUGE-1、ROUGE-2和ROUGE-L上分別提高了0.59、0.79和0.64個百分點.上述結(jié)果說明,利用自注意力機制建模用戶屬性之間的關(guān)聯(lián),能更準確地捕捉用戶偏好方面的差別,使生成的評論摘要更滿足用戶的個性化興趣.此外,上述結(jié)果也說明,用戶或?qū)傩詡€性化詞表的使用和維護不是必要的,算法能夠從訓練集數(shù)據(jù)中學習用戶的個性化信息,包括摘要用詞方面的信息.
進一步地,本文統(tǒng)計了Li等[1]提出的ASN與本文算法在模型參數(shù)規(guī)模、訓練測試用時方面的情況,用以說明本文算法的性能優(yōu)勢,統(tǒng)計結(jié)果如表3所示.根據(jù)統(tǒng)計結(jié)果可以發(fā)現(xiàn),ASN的參數(shù)數(shù)量遠超本文算法,是本文算法的2.98倍;此外,由于參數(shù)數(shù)量大,ASN需要耗費更多的時間進行訓練直至收斂,在測試階段,ASN的用時也超過了本文算法.這是因為Li等[1]提出的模型基于屬性個性化詞表建模用戶的偏好,其屬性編碼模塊的參數(shù)規(guī)模與詞表大小成正比;而本文算法沒有使用個性化詞表的信息,屬性編碼模塊的參數(shù)數(shù)量只與用戶屬性的數(shù)目以及屬性嵌入的維度相關(guān),因此參數(shù)更少、模型更輕量、訓練和測試的速度更快.
表3 算法參數(shù)規(guī)模與訓練測試用時情況
為了驗證本文算法應對冷啟動和用戶ID數(shù)據(jù)稀疏問題的能力,本文對測試數(shù)據(jù)集中出現(xiàn)的用戶,按照他們過去發(fā)表的評論/摘要的數(shù)量,進行了分組,如圖4所示.本文統(tǒng)計了本文算法在每組測試數(shù)據(jù)上的效果,并與目前最好的基于用戶ID嵌入的方法(USN[13])進行了對比,如圖5所示.
圖4 用戶發(fā)表評論的數(shù)量和分組情況
圖5 發(fā)表評論的數(shù)量對算法生成個性化評論摘要的影響
從圖5的實驗結(jié)果可以看出,本文算法受用戶ID數(shù)據(jù)稀疏的影響很小,在不同的稀疏水平下,本文算法表現(xiàn)得更穩(wěn)定,生成的個性化摘要的質(zhì)量變化較小,而USN[13]很不穩(wěn)定,在用戶過去發(fā)表評論/摘要數(shù)量少于5篇的時候效果遠低于本文算法(在評價指標ROUGE-1、ROUGE-2和ROUGE-L上分別低了1.79、0.98和3.16個百分點).在用戶ID數(shù)據(jù)稀疏不嚴重的情況下,例如用戶過去發(fā)表的評論/摘要數(shù)量超過15篇,基于用戶ID嵌入的方法優(yōu)于本文的基于屬性的方法,這說明在數(shù)據(jù)不稀疏的情況下,由于用戶ID比屬性信息粒度更小,更能區(qū)分不同用戶在偏好方面的細微差別,用戶ID嵌入能使生成的摘要更體現(xiàn)用戶的個性化.
為了進一步分析本文算法不同模塊的作用,本文設計了以下消融實驗:
2)w/o C2:解碼器計算讀出狀態(tài)時不融合用戶的偏好表達u;
3)w/o C3:屬性編碼器不使用自注意力機制捕捉屬性間的關(guān)聯(lián);
4)w/o C4:不考慮用戶屬性信息,只根據(jù)評論內(nèi)容生成摘要,在這種情況下模型退化成非個性化摘要生成模型.
表4列出了消融實驗的結(jié)果,可以看到本文算法各個模塊在提高個性化摘要生成質(zhì)量方面的不同貢獻.
表4 消融實驗結(jié)果(%)
首先,在本文算法的基礎上分別設置門控信號gt等于1(w/o C1)和解碼器計算讀出狀態(tài)時不拼接用戶的偏好表達u作為輸入(w/o C2)以后,算法生成的個性化摘要的質(zhì)量都有明顯下降,其中w/o C2下降幅度高于w/o C1,說明模塊C1和C2都是有效的,并且C2的貢獻大于C1.其次,w/o C3只是對用戶的不同屬性進行簡單的拼接,忽略了屬性之間的關(guān)聯(lián),導致算法生成個性化摘要的質(zhì)量明顯下降.這個結(jié)果說明自注意力機制很好地捕捉了屬性之間的交互,能夠提高個性化摘要的質(zhì)量.最后,不考慮用戶的屬性信息、只根據(jù)評論內(nèi)容進行摘要生成(w/o C4)產(chǎn)生的摘要的質(zhì)量遠差于本文算法,說明捕捉用戶偏好,據(jù)此面向用戶個性化地生成評論摘要,能更好地滿足用戶的評論信息需求,緩解信息過載帶來的壓力.
本文利用屬性嵌入層自動學習用戶屬性的嵌入表達,而現(xiàn)有相關(guān)工作[1,13,16]基于個性化詞表對用戶建模.為了比較這兩種方法的效果,本文按照Li等[1]的描述,基于前饋神經(jīng)網(wǎng)絡實現(xiàn)了相同的屬性編碼模塊C5.該模塊的輸入是屬性個性化詞表,輸出是用戶屬性的嵌入表達.用模塊C5替換本文算法中的屬性嵌入層進行對比實驗,實驗結(jié)果如表5所示.
表5 屬性個性化詞表作用實驗結(jié)果(%)
根據(jù)表5可以發(fā)現(xiàn),雖然本文算法沒有使用屬性個性化詞表,但生成的評論摘要在ROUGE-2和ROUGE-L上均高于使用個性化詞表的版本,說明算法能夠從訓練集數(shù)據(jù)中學習用戶的個性化信息,包括摘要用詞方面的信息,用戶或?qū)傩詡€性化詞表的使用和維護不是必要的.考慮到查找和維護屬性個性化詞表所帶來的時空開銷,本文算法更具有優(yōu)勢.
本文提出了融合用戶屬性交互的個性化評論摘要生成算法,并進行了充分的實驗驗證.所提出的算法不但具有更好的摘要生成質(zhì)量,而且可以解決現(xiàn)有方法采用用戶ID嵌入帶來的冷啟動問題.此外,利用自注意力機制建模用戶屬性之間的交互,比忽略這些交互的現(xiàn)有方法能夠更準確地捕捉用戶的偏好,從而提高個性化摘要的生成效果.
目前帶有用戶屬性信息的個性化評論摘要數(shù)據(jù)集只有Li等[1]發(fā)布的TripAtt,因此本文只基于TripAtt對所提出的算法進行了實驗驗證.在更多、更反映實際應用需求的數(shù)據(jù)集上驗證本文算法,是本文后續(xù)工作的一個方向.此外,將本文算法經(jīng)過改造應用于多評論的個性化摘要生成,是另一個有意義的工作方向.