史存會 胡耀康 馮 彬 張 瑾 俞曉明 劉 悅 程學旗
1(中國科學院計算技術研究所數據智能系統研究中心 北京 100190) 2(中國科學院網絡數據科學與技術重點實驗室(中國科學院計算技術研究所) 北京 100190) 3(中國科學院大學 北京 100049) 4(煙臺中科網絡技術研究所 山東煙臺 264005)
隨著信息技術的發展,互聯網正深刻地改變著大眾的方方面面,逐漸成為生活不可或缺的組成部分.
人民網發布的2017網絡輿情報告(1)http://yuqing.people.com.cn/GB/n1/2018/0103/c209043-29743172.html指出,依托于移動互聯的信息分享和意見交流的工具,如“兩微一端”(微博、微信、新聞客戶端),已經越來越多地成為社會輿論發源地和發酵平臺.龐大的網民基數帶來的巨大影響力已使得傳統媒體對輿論場的影響力減弱,網絡用戶發表的各種言論與意見已經可以形成強大的輿論壓力,網絡輿情正在成為社會輿情的主要部分.
互聯網中時刻都在產生新的信息,輿情也隨之發展演變,但是網絡中的信息本身完整性無法得到保證,信息碎片化會影響用戶的判斷.輿情用戶想要抓住其脈絡需要重新組織信息方法,話題即為其中一種可行的方式,將信息以話題的粒度進行聚合,能充分提高用戶獲取信息的效率.
另外,由于各種輿情事件層出不窮,很短時間就能在不同媒介得到迅速傳播,被大規模網民廣泛關注與參與,并有可能引發互聯網空間或現實社會的強烈反響,乃至誘發大規模群體性事件.于是,以話題推薦為代表的網絡輿情精準化信息推送手段在輿情場景應用中得到廣泛的關注.
話題推薦同時涉及話題和推薦方法相關工作與研究,2個領域經過多年的發展都形成了相對成熟技術方案體系.近年來,深度學習相關技術的蓬勃發展,也帶動了兩者相關的研究,出現了很多探索、嘗試以及新的解決思路.
話題檢測任務(topic detection task, TDT)[1-2]是在缺乏話題先驗知識的情況下進行檢測,將同一個話題的對象歸為一類,形式上與聚類目標相近,故而目前大部分相關研究集中在使用聚類方法來進行話題檢測.主要有基于劃分的聚類、基于模型的聚類、基于密度的聚類等,較為常見的有K-Means,BIRCH(balanced iterative reducing and clustering using hierarchies),SinglePass等聚類算法.除此之外還有一類基于概率生成模型的話題檢測方法,包括pLSA(probabilistic latent semantic analysis)[3]和LDA(latent Dirichlet allocation)[4],及其改進算法等.
推薦主要是用來給特定用戶提供其最可能感興趣的選項的技術,其可以增加用戶滿意度和忠誠度及更好地理解用戶需求,有效解決信息過載的問題,讓用戶及時、有效地發現其感興趣的內容,使用戶更高效地獲取信息.推薦系統粗略來看可以簡單分為早期的傳統推薦模型與近些年研究較多的基于深度學習的推薦模型.傳統推薦模型主要為較早期出現的推薦模型,典型的有協同過濾推薦[5-6]、基于內容的推薦以及混合推薦模型[7]等.
協同過濾主要是使用用戶評分或用戶行為(如購買、瀏覽、點擊等)來給用戶進行推薦,無需與用戶或物品相關的信息.主要特點是利用用戶行為計算相似度,然后利用相似的近鄰預測得分來推薦.與之相對的還有一種基于矩陣分解的協同過濾模型,這類模型重點在于挖掘用戶對物品評分矩陣中的潛在特征.包括pLSA[3],LDA[4]以及基于用戶-物品評分矩陣分解的如SVD(singular value decomposition),SVD++[8]等方法.
另外,借鑒深度內容分析技術的基于內容語義的推薦方法成為了近年來最具創新性的研究之一[9].總體上,我們可以將語義相關的內容推薦方法分為自頂向下與自底向上的2類.前者主要在于集成外部知識到推薦系統中,知識可以是詞典、知識圖譜等信息[10-12].而自底向上的方法在于通過大量語料中詞項的上下文來學習其分布式表達[13-14].隨著知識圖譜等技術的發展,引入先驗知識能有效提升模型效果,基于內容的推薦模型被重視起來.
近年來,深度學習在語音識別、圖像處理和自然語言處理等領域的革命性進步受到了極大的關注.深度模型也通過各種方式被引入到推薦領域,Betru等人[15]對此進行了分類,主要有基于多層感知機的推薦模型[16-20]、基于卷積神經網絡的推薦模型[21-24]、基于循環神經網絡的推薦模型[22-23,25]等.
輿情場景下,系統會在全網采集信息,信息源主要包括門戶網、社交網、新聞媒體,如騰訊、網易、新浪、搜狐、鳳凰網、微博、貼吧以及各種論壇等.然后將這些信息進行清理過濾,按照一定的聚類或者分類算法對信息進行聚合,在此基礎上輿情系統會選擇如輿情指標體系等方法對信息進行多維度的計算排序,然后展示給輿情用戶.總的來說這些方法較多依賴于統計特征來選擇信息,無法挖掘信息之間語義上的關聯,很難用來刻畫用戶興趣,亦不能針對用戶進行有效地個性化推薦.本文提出基于層次知識嵌入的話題推薦方法,利用層次知識深入挖掘話題信息中的語義的關聯,為用戶進行個性化話題推薦.本節的推薦模型中充分利用語義信息來選擇輿情用戶最可能關注的話題來進行推薦展示,提升了輿情選題的效果.
隨著深度神經網絡相關技術在計算機視覺、語音識別、自然語言處理等領域遍地開花,尤其是自然語言處理領域在相關技術的加持下發展更是突飛猛進.這使得基于內容的推薦方法也重新得到了學術界和工業界越來越多的關注,取得了不少進展.目前不少工作集中在如何將知識圖譜等外部先驗知識引入推薦模型中,但是知識圖譜的構建本身極為復雜與嚴格,需耗費大量的成本,在輿情場景中亦不太適用.輿情場景中信息繁雜且更新頻繁,另外知識圖譜主要基于實體與關系,能利用的文本信息有限,本文利用較為容易獲取的層次知識挖掘潛在的語義信息,提高話題推薦的效果.
對本文提出的基于層次知識網絡(hierarchical knowledge network, HKN)的話題推薦模型,整個模型主要分為3層,最底層為層次知識表示網絡(hierarchical knowledge representation network, KRN),用于學習知識的嵌入表示,在此基礎上使用話題表示網絡(topic representation network, TRN)學習話題的嵌入表示,然后利用注意力模型學習用戶表達,最后將學習到的用戶表示與候選話題表示進行相似計算,計算用戶對候選話題的點擊概率,如此即為整個基于層次知識的話題推薦模型.

如圖1所示,層次知識主要包含:知識節點、知識描述以及知識間的層次關系,即每個知識節點包含其對應的知識描述及其父節點.層次知識相對知識圖譜更易獲取,約束也相對較少,沒有知識圖譜中復雜的關系和實體信息,這使得層次知識構建相對容易.層次結構是逐層細化的關系,所以結合推薦技術可以使用層次信息來擴展用戶興趣語義,深入挖掘用戶興趣.

Fig. 1 Hierarchical knowledge圖1 層次知識
知識由其名稱以及與其關聯的節點組成,本模型利用層次注意力模型學習層次知識的表達,充分挖掘其中的語義信息;然后在層次知識路徑序列上使用循環門控網絡對層次序列進行編碼,最后再利用注意力模型整合得到知識表示.

Fig. 3 Network of topic representation圖3 話題表示網絡



(1)


(2)


(3)


Fig. 2 Network of knowledge representation圖2 知識表示網絡

為了評估水分脅迫對各處理番茄的影響,每隔25 d左右用土鉆沿著番茄的主莖取土,用烘干法測定各處理番茄根區0~40 cm深度的土壤含水量,每個處理3個重復。


(4)


y(Tt)=softmax(tanh(C(t)H(t)T+b(t)))H(t).
(5)
話題的知識表達部分y(Tk)計算為

(6)

最后輸出層的結果y(T)即為話題的向量嵌入表示,如式(7)所示,由話題的詞嵌入表示和知識嵌入表示拼接得到.
y(T)=concat(y(Tt),y(Tk)).
(7)
以上即為話題表示網絡,模型主要通過話題標題和話題包含的知識信息來學習話題的嵌入表達,模型也使用了KRN模型來學習知識的表示.
基于層次知識的話題推薦模型基本結構借鑒于語義匹配模型,即分別學習候選話題和用戶的嵌入表示,然后根據兩者的相關性來預測用戶點擊.模型結構如圖4所示,模型可以分為6層.

Fig. 4 Hierarchical knowledge based topic recommendation model圖4 基于層次知識的話題推薦模型

L1層由話題注意力層和知識注意力層2部分組成,前者為話題標題注意力,計算為
u(Tt)=softmax(tanh(W(Tt)T(Ct)T(Ht)T+b(Tt)))T(Ht).
(8)
后者為知識注意力,使用候選話題的知識嵌入部分作為注意力信號,另外此處加入了用戶知識偏好K(P),用戶知識部分表達可計算為
u(P)=softmax(tanh(W(P)T(Ck)K(HP)T+
b(P)))K(HP),
(9)

L2層將2個注意力網絡的輸出拼接從而得到用戶的嵌入表示u:
u=concat(u(Tt),u(P)).
(10)
L3層為拼接層,將候選話題的表示與用戶表示進行拼接,作為L4層匹配層的輸入,最終根據式(11)計算兩者的相似度來預測用戶點擊率.
y=MLP(concat(T(C),u)).
(11)
本節將詳細介紹考慮層次知識的話題推薦方法的實驗細節,包括實驗數據集、作為對照的基線算法、評價指標以及實驗的參數設置等.
實驗所用數據是從CCIR2018知乎個性化推薦評測數據集(2)https://biendata.com/competition/CCIR2018/data/中構建,并從知乎網站抓取了層次知識結構的數據,該數據集主要分為3部分,即用戶數據、內容數據與交互數據.
如表1所示為話題數據實例,可以看到該話題名稱為“如何看待美國正式公布涉及500億美元出口的301征稅清單?”;話題包含“中美關系”“外交”“中美貿易”“經濟”這4個知識信息;每個知識可以找到其相關聯的層次知識,如“中美關系”的父節點有“國際關系”與“地緣政治”,其子節點有“中美沖突”“中美貿易戰”“中美建交”和“中美博弈”.

Table 1 An Example of a Topic
為了讓數據便于處理,本文對數據集進行了必要的處理.主要包含以下規則:1)按知識標簽篩選輿情相關的數據,篩選的主要數據范圍為政治、軍事、民生、經濟、事故以及災害等.2)對具體數據也有篩選如知識標簽數據,即1個話題至少需含有以上類別的知識信息,用戶知識偏好必須含有5個以上的輿情類別的知識;另外,標題長度必須大于等于6個詞語,最多16個詞語,超出的截斷,不足的刪除;對歷史信息條數不足10條的記錄也刪除.最后共選擇了100 000條記錄作為實驗數據.
處理后的一條數據主要包括4部分,分別是用戶偏好、用戶歷史、候選話題、點擊標記.用戶偏好集用戶關注的知識信息,用戶歷史為用戶最近對話題的點擊記錄,候選話題即要進行預測點擊率的話題,點擊標記為用戶對候選話題是否進行了點擊.
在推薦場景中,存在各式的評價指標,并有不同的適用條件.由于本文預測的是話題的點擊率,所以采用F1(the balancedFscore)值與AUC(the area under curve)值來進行評價.
F1值常被用于二分類模型中評價模型的指標,它被定義為準確率與召回率的調和平均數,可以兼顧兩者;另外點擊率預估可以建模為二分類問題,因此F1值比較適合.
AUC與F1值需要確定正負樣本具體的分割值,而AUC計算可以等價于隨機抽樣時正樣本排在負樣本前的概率,在推薦場景中AUC有重要的意義.
本文選擇的基線算法主要有以下4種:
1) LibFM(factorization machine library)[26]是因子分解機FM(factorization machines)模型的一個開源實現,作為經典的基于特征的機器學習算法,因子分解機FM模型具有很好的適應性,在很多領域都有很好的效果.LibFM作為FM模型的軟件實現是一個不錯的基線算法.
2) Wide&Deep(jointly trained wide linear models and deep neural networks)[16]模型主要是結合了線性模型的記憶能力與深度模型的泛化能力,從而整體提升模型性能,谷歌已將該模型應用到線上.
3) DeepFM(factorization-machine based neural network)[20]模型在Wide&Deep的架構上,使用FM模型代替了Wide部分的LR模型,從而告別了繁瑣的人工特征工程,該模型在實際業務中也取得了不錯的效果.
4) DKN(deep knowledge-aware network)[24]模型是通過結合實體嵌入、單詞嵌入以及實體上下文來學習新聞表達,然后利用注意力機制結合用戶瀏覽記錄來學習用戶表達.最后根據學到的用戶表達和候選新聞表達聯合計算,用戶點擊該條新聞的概率的推薦模型.
實驗中使用的詞嵌入為騰訊人工智能實驗室開源的中文詞嵌入(3)https://ai.tencent.com/ailab/nlp/embedding.html. 本文使用訓練集進行初步實驗獲取超參數,對于缺失的詞向量進行隨機初始化,模型訓練終止條件是在損失值趨于穩定時. 最終相關超參設置如下:詞向量維度為200,學習率為0.001,BiGRU隱層數均為100,多層感知機隱層為50,優化器為SGD,模型訓練的批大小為32,模型迭代輪數為500,在多層感知機中dropout值為0.3.
為了對比本文提出的基于層次知識嵌入的話題推薦模型與現有的同類型模型之間的效果差異,并驗證層次知識的有效性,本文按照基線模型的特點在處理過的數據集上做了對比實驗.其中參與對比的基線模型主要有LibFM,Wide&Deep,DeepFM,DKN等模型.
如表2所示為模型間的對比實驗結果,表3所示為本模型對比基線模型的提升效果,即用本模型的效果減去基線模型效果.

Table 2 Comparison of Models

Table 3 Comparison of HKN Improvements
本文提出的基于層次知識嵌入的話題推薦模型HKN在F1與AUC這2個評價指標上效果都超出了基線算法中效果最好的DKN模型,對比之下本文的模型在F1和AUC指標上分別提升了1.4和1.2個百分點.另外除了DKN模型之外,對比最好的基線算法,分別提升為3.4和2.1個百分點,由此可以看出使用語義信息的模型HKN和DKN相比沒有利用語義信息的模型如DeepFM,Wide&Deep模型而言具有顯著的優勢.另外DKN模型原本使用的是知識圖譜中關系的嵌入以及上下文結構信息和更有實體信息,其在原始數據集上就有不錯的表現,所以在層次知識嵌入后亦能取得不錯的效果,但是對比HKN沒能利用到層次知識的信息,而兩者均沒有使用語義信息,因此最終模型的效果還是被HKN模型超越.對比Wide&Deep與DeepFM,兩者具有不少共通之處,后者是前者的改進,因此能取得更好的效果.由于LibFM使用的僅是TF-IDF特征,不能充分挖掘更多語義信息,故而效果提升不明顯,又由于LibFM是所有模型中唯一一個非深度模型,模型使用的信息相對較少,故而最后效果相對較差.經過分析不難得出由于HKN模型充分利用了層次知識信息,所以與基線模型對比取得了良好的效果,HKN模型在基線算法的F1和AUC指標上均有提升.
隨著互聯網技術的飛速發展,互聯網逐漸成為人們獲取信息的主要渠道.針對個性化監測的精準推送需求,輿情話題的時效性高以及用戶數較少,導致了用戶的交互信息十分稀疏,難以刻畫用戶興趣,本文考慮使用基于內容的推薦方法,引入層次知識信息,提出了一種基于層次知識的話題推薦方法,對用戶興趣使用層次知識和用戶歷史記錄信息學習用戶嵌入表示,然后和話題嵌入表示一起來預測用戶點擊,生成推薦列表,并取得了良好的效果.
本文研究了基于層次知識的話題推薦方法,主要是基于深度學習的內容推薦模型.下一步工作可以在本文已有的研究基礎上做進一步改進優化.本文通過引入層次知識,來增加話題信息之間的潛在語義關聯,解決在輿情場景下因用戶交互稀疏導致的用戶畫像難以刻畫的問題,后續研究可以繼續探索引入諸如知識圖譜等不同的外部信息,對比效果的差異.在推薦領域,可解釋性一直是研究熱點,一般來說基于內容的推薦方法具有較好的可解釋性,本文中基于層次知識的話題推薦方法也具有一定的可解釋性,后續的研究可以以此為基礎繼續探索如何提高推薦結果的可解釋性等.
作者貢獻聲明:史存會負責設計研究思路、方法、完成實驗及論文;胡耀康負責提出方法,完成實驗及論文;馮彬負責完成實驗和論文;張瑾負責設計研究思路、方法;俞曉明、劉悅、程學旗負責提出研究思路和方法.