曹 婍,沈華偉,高金華,程學旗
(1. 中國科學院計算技術研究所 網(wǎng)絡數(shù)據(jù)科學與技術重點實驗室,北京 100190;2. 中國科學院大學,北京 101408)
隨著互聯(lián)網(wǎng)的繁榮發(fā)展,由用戶原創(chuàng)內(nèi)容(user generated content, UGC)主導的各種社交網(wǎng)站也隨之在互聯(lián)網(wǎng)中興起,包括國外的臉書(Facebook)、推特(Twitter)、照片墻(Instagram),以及國內(nèi)的新浪微博、微信朋友圈等。在這些社交網(wǎng)站上,用戶之間組成的在線社交網(wǎng)絡(online social networks, OSN),為信息在網(wǎng)絡空間的傳播帶來了前所未有的便利。每天有數(shù)千萬的原創(chuàng)內(nèi)容在這些平臺上被產(chǎn)生和傳播[1]。如此紛雜巨量的信息,不僅為平臺的管理帶來了巨大的挑戰(zhàn),也容易對人們造成信息過載的困擾。在線社交網(wǎng)路中的消息流行度預測研究,旨在提前從海量的信息中預測并識別出未來的熱門消息,從而為平臺的質(zhì)量把控提供輔助,并幫助人們從信息過載的困境中解脫出來。但由于社交網(wǎng)絡的開放性以及社交網(wǎng)絡中級聯(lián)傳播效應所帶來的不確定性,準確地預測消息未來的流行度是一項極具困難和挑戰(zhàn)的任務。
傳統(tǒng)的消息流行度預測方法主要分為兩類,分別是基于特征提取的方法[2-4]和基于點過程建模的方法[5-7]。前者通常會人工提取內(nèi)容、用戶、時序、結構等方面的特征,然后根據(jù)這些提取的特征,結合傳統(tǒng)的機器學習方法來對消息未來的流行度進行回歸或分類預測。這類方法的性能依賴于人工提取特征的質(zhì)量,而這些人工特征通常又是啟發(fā)式提取的,很難全面且有效地捕獲各類有效預測因素。而后者,基于點過程建模的方法,將消息傳播過程看成是用戶轉(zhuǎn)發(fā)行為的一個到達點過程。其核心在于根據(jù)特定的假設,對點過程的速率函數(shù)進行不同的建模。但在實際場景中,我們很難知道速率函數(shù)的真正假設或形式,從而限制了點過程模型的能力。
隨著近年來深度學習在文本、語音、圖像等領域的成功應用,基于深度學習的流行度預測方法也開始逐漸被研究者們關注并提出[1,8-9]。借助于深度學習強大的表示能力,研究者們對內(nèi)容、用戶、時序、結構等因素進行了有效的建模表示[1,8]。此外,通過深度融合技術,實現(xiàn)了多因素以及多模型的融合[9],大大提升了模型對消息未來流行度的預測性能。
為了更好地幫助流行度預測領域的相關研究人員,也有研究者梳理了消息流行度預測研究的相關工作,并形成了綜述[10-12]。但已有的這些綜述,主要都是圍繞傳統(tǒng)的流行度預測方法展開的,而未對基于深度學習的流行度預測方法進行系統(tǒng)性地歸納和梳理。因此,與已有綜述不同,本文將重點論述和分析基于深度學習的現(xiàn)有流行度預測研究,并梳理出這些研究之間的相互關系。
本文組織結構如下: 第1節(jié)介紹在線社交網(wǎng)絡中流行度預測研究的相關背景,第2節(jié)和第3節(jié)分別梳理基于深度表示的流行度預測研究和基于深度融合的流行度預測研究。第4節(jié)從評價數(shù)據(jù)集、評價指標出發(fā),總結了現(xiàn)有方法的評價體系。第5節(jié)對全文進行了總結。
本節(jié)對在線社交網(wǎng)絡中的消息流行度預測這一研究問題所涉及的相關背景進行簡要介紹,包括流行度預測問題的基本定義、問題與挑戰(zhàn),以及傳統(tǒng)的流行度預測方法。
在線社交網(wǎng)絡中的消息流行度預測研究,根據(jù)預測時機、預測任務的不同,可以定義為不同的問題并分別適用于不同的應用場景和需求。本節(jié)從上述這兩個角度出發(fā),總結現(xiàn)有流行度預測研究的問題定義。
1.1.1 預測時機
消息流行度預測問題,其主要任務是根據(jù)消息的內(nèi)容或早期傳播觀測,對其未來的流行度進行有效預測。根據(jù)預測時機的不同,我們可以將在線社交網(wǎng)絡中的消息流行度預測分為事前預測和早期預測這兩類[13]。
1) 事前預測(ex-ante prediction)
事前預測一般指在消息發(fā)布之前,根據(jù)消息本身的內(nèi)容、發(fā)布用戶等可獲得的信息進行未來的流行度預測[8-9]。這類方法通常能為消息的傳播提供諸多解釋,即什么樣的消息或者具備哪些特征的消息在未來能有什么樣的流行度。但由于這類方法只利用了消息發(fā)布前可獲得的信息來進行預測,一般在預測性能上表現(xiàn)欠佳。
2) 早期預測(early prediction)
為了更好地預測消息在未來的流行度,一類更流行的做法是采用“窺視”策略(peeking strategy),即在事前預測的基礎上,結合消息在一段時間內(nèi)的傳播觀測再進行預測,也稱為早期預測[1,14]。早期預測相較于事前預測而言,通常在預測性能上有較大幅度的提升,但指導意義不如事前預測。
雖然事前預測和早期預測面向的應用場景和需求有所不同,但其可利用的預測信息或因素具有一定的交集和通用性。因此,本文將這兩類流行度預測問題放在一起討論。
1.1.2 預測任務
在線社交網(wǎng)絡中的流行度預測,根據(jù)不同場景的目標,主要可以分為分類和回歸兩類預測任務。分類任務的目標是預測消息在未來的流行度是否會超過某個閾值或是否會翻倍[2-3,15-16],而回歸任務的目標是預測消息在未來某個時刻或最終的流行度這一具體數(shù)值[1,5,17-21]。通常認為,回歸任務比分類任務更難,也是流行度預測問題中更常采用的一種預測目標。
在線社交網(wǎng)絡中的流行度預測是一個極具挑戰(zhàn)的問題。其面臨的難點主要來自以下幾個方面:
(1)級聯(lián)傳播的不確定性[13,17]。社交平臺上的消息通過用戶之間的關注網(wǎng)絡或好友網(wǎng)絡進行傳播,具有級聯(lián)傳播效應(圖1)。也就是說,任何一個中間用戶的參與都將改變消息在未來的傳播范圍,造成了消息未來流行度極大的不確定性。如何刻畫消息依賴于網(wǎng)絡的這種復雜傳播,并減少預測的不確定性,是消息流行度預測研究中的一個關鍵。
圖1 級聯(lián)傳播示意圖注: 邊的方向表示消息傳播的方向
(2)消息傳播平臺的開放性。由于社交媒體平臺的開放性,各種類型的因素都會對消息的流行度造成影響[2-3]。這些因素包括消息本身的內(nèi)容、發(fā)布時間、發(fā)布用戶等內(nèi)源性因素,以及線下交流、新聞媒體報道等很難被觀測到的外源性因素。如何捕捉并刻畫多種因素對消息未來流行度的影響,也是流行度預測研究亟須解決的一個問題。
傳統(tǒng)的流行度預測方法主要分兩類,分別為基于特征提取的流行度預測方法和基于點過程建模的流行度預測方法。
1.3.1 基于特征提取的流行度預測方法
基于特征提取的消息流行度預測方法,通常為特定的平臺或數(shù)據(jù)集,如Arxiv[22-23]、新浪微博[24-25]、推特[4,15,26]、Digg[20,27]、YouTube[14,20]等,人工設計各種各樣的特征。這些特征主要包括用戶特征[4,26,28]、內(nèi)容特征[28-30]、時序特征[14,20,31-32]和結構特征[2,19,33-34]。其中用戶特征包括用戶的粉絲數(shù)[28]、活躍程度[4]、歷史影響力[26]等;內(nèi)容特征包括文本長度[28]、內(nèi)容新穎性[29]、情感極性[30]等;時序特征包括觀測窗口內(nèi)的流行度總量[20]、觀測窗口內(nèi)的單位時間流行度[14]等;結構特征包括傳播圖的連邊密度[2]、傳播樹的深度和廣度[19]等。這四類特征在用于消息未來流行度預測的時候,時序特征被發(fā)現(xiàn)占據(jù)著主導性的作用,而內(nèi)容特征的預測作用相對最小[3]。值得注意的是,這類基于特征提取的流行度預測方法既可用于事前預測問題,也可用于早期預測問題,其區(qū)別主要在于利用的特征不同。事前預測主要利用內(nèi)容和用戶特征[29-30],而早期預測這四類特征均可利用[2-3]。
基于特征提取的流行度預測方法發(fā)現(xiàn)并驗證了包括用戶、內(nèi)容、時序及結構等因素的預測有效性,能夠為我們預測消息在未來的流行度提供比較初步的認識和理解。但是,這類方法所涉及的特征通常是通過啟發(fā)式方法提取的,而模型最終的預測性能又非常依賴于這些啟發(fā)式特征的質(zhì)量。如何能夠自動學習并表示上述這四類因素,是未來的發(fā)展趨勢和方向,也是基于深度學習的流行度預測方法得以發(fā)揮長處的地方。
1.3.2 基于點過程建模的流行度預測方法
基于點過程建模的流行度預測方法,主要是將消息傳播過程看成是用戶轉(zhuǎn)發(fā)行為的一個到達過程。這類方法的核心是對到達過程中的速率函數(shù)進行建模[5-6,35-38],最終的流行度通過對該速率函數(shù)進行事件模擬(thinning algorithm)或期望計算得到。根據(jù)對速率函數(shù)的假設不同,點過程建模方式也有所不同。代表性的點過程建模包括: 自增強泊松過程(reinforced Poisson process),在建模速率函數(shù)時考慮了消息自身的吸引力、富者愈富機制以及時間衰減效應[5,35];自激勵點過程(self-exciting process)則認為當前速率函數(shù)是歷史所有轉(zhuǎn)發(fā)的累積效應,即歷史的每一次轉(zhuǎn)發(fā)都對當前速率函數(shù)有一次新的激勵[6-7,36-37]。
基于點過程建模的流行度預測方法,為建模消息如何獲得關注、如何擴散影響提供了一個很好的通用框架。但是,目前的這類方法通常在建模速率函數(shù)的時候依賴于某些特定的假設,而在真實情況下,我們并不知道這些假設是否真的成立[39]。這在一定程度上限制了模型的表達能力。如何能從大量的數(shù)據(jù)中學習并得到一個更靈活自由的點過程建模方法,也是基于深度學習的流行度預測方法希望解決的問題之一。
已有的研究證明,消息內(nèi)容、發(fā)布用戶、傳播時序以及傳播結構等因素對預測消息在未來的流行度具有非常重要的指示作用[2-3]。但這些因素本身往往都非常復雜,很難用簡單的啟發(fā)式方法來進行很好的表示。而基于深度表示的流行度預測方法,旨在利用深度表示學習的技術,對內(nèi)容、用戶、時序、結構等因素進行更好的表示,從而更準確地預測消息未來的流行度。現(xiàn)有基于深度表示的流行度預測方法總結見表1。
表1 基于深度學習的流行度預測方法總結
在線社交網(wǎng)絡中的用戶原創(chuàng)內(nèi)容具有多種不同的模態(tài)(modality),包括文本[8-9,44,47,54,59]、圖像[8-9]、商品(item)[49,56]等。這些不同的模態(tài)通常包含著非常復雜的語義,因此需要采用不同的深度表示方式來進行內(nèi)容語義的提取。相關文獻分類整理見表2。
表2 基于深度學習的內(nèi)容表示
續(xù)表
2.1.1 內(nèi)容模態(tài)單獨表示
對于最常見的文本模態(tài)的深度表示,研究者廣泛借鑒了自然語言處理中的常用方法,即對文本中的每個詞用一個K維的向量來表示,使得語義相近的詞在向量空間中處于相近的位置,該向量也被稱為詞向量(word embedding)[61]。在詞向量的基礎上,需要針對不同的文本類型提出不同的詞向量聚合方式。
具體來說,對于標簽等無序文本類型,設無序文本的詞向量集合為W={w1,w2,…,wn}。由于不同消息中詞向量集合的大小n不盡相同,Sanjo等人[8]提出用池化(pooling)的方式來進行詞向量的聚合,即文本表示c=f(W)。池化函數(shù)f可以選擇常用的均值函數(shù)或最大值函數(shù)等。這樣的池化聚合方式,不僅能夠捕獲不同大小文本的特征,還能在捕獲過程中忽略詞的先后順序,有效適用于無序文本的場景,如圖2所示。
圖2 Sanjo等人[8]采用的無序文本表示模型
遺憾的是,這樣的池化模型很難捕捉序列化文本中的序列特性。因此,對于微博、推特消息等序列短文本,Zhang等人[9]采用了循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network, RNN)來刻畫微博文本的序列特性,即將詞向量按照文本序列中的出現(xiàn)順序逐個輸入到循環(huán)神經(jīng)網(wǎng)絡中,最后一個詞的隱向量可以作為該序列的語義表示。而Wang等人[47]采用了一維卷積神經(jīng)網(wǎng)絡(convolutional neural network, CNN)來捕捉短文本序列中的局部序列特性,即通過卷積算子提取特定卷積核大小的輸入短語特征,并通過池化操作得到固定長度的全局文本語義表示。這兩類模型框架如圖3所示。
圖3 基于深度學習的短文本表示模型[9,47]
面對新聞等長文本時,單一地使用循環(huán)神經(jīng)網(wǎng)絡或一維卷積神經(jīng)網(wǎng)絡無法有效地反映長文本的結構特性。因此,Liao等人[54]采用了自然語言處理中常用的層級注意力模型(hierarchical attention networks, HAN)[62],引入文章結構的先驗知識,并利用注意力機制對句子中不同詞的權重以及長文本中不同句子的權重進行學習。具體來說,注意力機制通常被定義為一個查詢到一組鍵值對的映射過程[63],如式(1)所示。
(1)
其中c是經(jīng)注意力機制后得到的文本表示,hq表示一個查詢,hi、vi表示一組鍵、值。score(hq,hi)函數(shù)計算對應信息(值)vi的重要程度,而softmax函數(shù)使該重要程度歸一化為0~1之間的概率值。在Liao等人[54]采用的層級注意力模型中,鍵和值相同,即在詞聚合層和句子聚合層分別為詞表達和句子表達。通過這樣的注意力機制,對詞、句子等不同粒度的文本進行層級加權聚合,有效刻畫了長文本的結構及語義特性,如圖4所示。
圖4 Liao等人[54]采用的長文本表示模型
對于圖像模態(tài),研究者借鑒了圖像特征學習領域的代表性模型,即采用了基于卷積神經(jīng)網(wǎng)絡的圖像深度表示模型[8-9]。對于商品(包括音樂、電影、書籍等)的表示,Dou等人[49]和Zhao等人[56]通過將商品與知識庫(knowledge base)中的實體對齊,利用知識庫中實體的向量表示作為該商品的上下文信息補充,從而提升了對商品未來流行度的預測準確性。
2.1.2 多模態(tài)內(nèi)容融合表示
除了各個模態(tài)的獨立表示外,社交網(wǎng)絡中的模態(tài)常是混合出現(xiàn)且相互影響的。比如新浪微博中,用戶會在發(fā)布圖像的同時配上文字,而這些文字可以讓我們更好地去關注圖像中的重點部分。為了刻畫多模態(tài)之間的相互關聯(lián)和影響,Zhang等人[9]提出了基于注意力機制的多模態(tài)融合表示模型。該模型可以幫助我們根據(jù)查詢模態(tài),從目標模態(tài)中選擇出更關鍵的信息。具體來說,以圖像模態(tài)和文本模態(tài)融合為例。設查詢模態(tài)為圖像,目標模態(tài)為文本,則此時注意力機制中查詢hq為圖像模態(tài)表示,鍵hi=值vi為文本模態(tài)中對應部分i(例如文本中某個詞)的表示。通過注意力機制,我們可以得到圖像模態(tài)查詢下的文本表示。換言之,通過圖像模態(tài)的查詢,可以將文本模態(tài)中對應的部分給予更高的關注度,從而體現(xiàn)模態(tài)之間的相互關聯(lián)和影響。類似地,我們也可以得到文本模態(tài)查詢下的圖像表示。最后,通過拼接文本表示和圖像表示,得到基于注意力機制的多模態(tài)內(nèi)容融合表示,模型示意見圖5。
圖5 基于注意力機制的多模態(tài)融合示意圖[9]
傳統(tǒng)的流行度預測方法通常會提取用戶的粉絲數(shù)、年齡、性別等屬性特征以及用戶的活躍度、歷史發(fā)布消息的流行度等歷史統(tǒng)計特征來表示發(fā)布用戶或參與用戶的特征,并學習這些特征對消息未來流行度的影響[28]。其中屬性特征反映的是用戶相對長期穩(wěn)定的特性,而用戶最近的歷史統(tǒng)計特征反映的是用戶短期的動態(tài)特性。僅僅采用啟發(fā)式的特征提取方法很難適用于所有的場景,且難以發(fā)現(xiàn)和表示用戶的一些隱藏特性。因此,有研究者分別針對用戶長期靜態(tài)特性和短期動態(tài)特性提出了基于深度學習的表示方法。相關文獻整理見表3。
表3 基于深度學習的用戶表示
針對用戶的靜態(tài)特性,結合表示學習近年來的蓬勃發(fā)展和成功應用[64-65],Li等人[21]提出了用戶表示學習的方法,即用一個K維的向量來表示用戶影響,通過將用戶映射到低維連續(xù)的向量空間中,使得影響力相似的用戶具有相似的表示(user embedding)。該用戶表示可以通過端到端的方式在流行度預測任務的指導下進行不同場景下的學習,具有更廣泛的適用性。后續(xù)的諸多工作也都采用了這樣的用戶表示學習的方式[1,9,41,44,47,59]。
用戶靜態(tài)表示刻畫的是用戶長期穩(wěn)定的特性,無法反映用戶短期的動態(tài)特性。因此,Wang等人[47]在靜態(tài)用戶表示的基礎上,采用循環(huán)神經(jīng)網(wǎng)絡對用戶近期內(nèi)發(fā)布的K條消息的內(nèi)容和流行度等信息,按照時間先后順序進行序列化建模表示,并將循環(huán)神經(jīng)網(wǎng)絡最后一個節(jié)點的輸出作為該用戶的短期動態(tài)特性表示。最終用戶表示由用戶靜態(tài)表示和動態(tài)表示共同作用得到,從而能同時反映用戶的長期穩(wěn)定特性和短期偏好特性。模型示意圖如圖6所示。
圖6 基于深度學習的用戶表示建模示意圖[47]
由于預測場景的不同,觀測到的時序數(shù)據(jù)也有不同的表現(xiàn)形式。常見的主要有事件序列(event sequence)和時間序列(time series)兩種,如圖7所示。我們對這兩種不同類型的時序數(shù)據(jù)的表示方法進行歸納總結。相關文獻整理見表4。
圖7 事件序列和時間序列示意圖
表4 基于深度學習的時序表示
2.3.1 事件序列表示
事件序列不僅記錄了事件的類型,同時也記錄了事件發(fā)生的時間,通常可以表示為{ξi=(zi,ti)}i=1: N。其中zi、ti分別表示第i個事件的類型和時間。需要指出的是,在消息傳播的場景下,事件類型和時間一般指參與傳播的用戶類型和參與傳播的時間。點過程模型為事件序列的建模提供了一個通用且強大的框架。研究者根據(jù)不同的先驗知識,設計了點過程速率函數(shù)的不同參數(shù)化形式[5-7]。根據(jù)參數(shù)化后的速率函數(shù),可以通過最大化未來事件的發(fā)生似然來進行參數(shù)求解。但是,點過程也存在著兩個關鍵的缺陷: ①由簡單特定的參數(shù)化形式構成的速率函數(shù),很難刻畫真實場景下的復雜傳播,在一定程度上限制了模型的表達能力[39]。②通過最大似然估計(maximum likelihood estimate, MLE)來進行點過程的參數(shù)優(yōu)化求解,常常會使模型陷入嚴重的模式坍塌等問題[43]。因此,基于深度學習的事件序列表示主要針對這兩個問題,提出了不同的解決方案。
為了克服簡單的參數(shù)化形式對點過程模型能力的限制,Cao等人[1]在自激勵點過程(Hawkes process)的基礎上,提出了DeepHawkes模型,即在點過程速率函數(shù)的建模中引入了用戶表示、基于循環(huán)神經(jīng)網(wǎng)絡的路徑建模以及非參的時間衰減函數(shù),增強了點過程模型的表達能力。但是,DeepHawkes模型仍然是在自激勵點過程的假設下進行的速率函數(shù)表示,仍具有模型錯誤選擇的風險。為了放寬速率函數(shù)的特定假設,Du等人[39]率先提出,點過程中的速率函數(shù)可以看成歷史事件序列的一個非線性映射,并通過循環(huán)神經(jīng)網(wǎng)絡來刻畫這一非線性映射(見圖8)。通過將歷史事件(類型和時間的點對)按時間順序逐個輸入到循環(huán)神經(jīng)網(wǎng)絡中,可以刻畫歷史事件的序列化特性,并通過循環(huán)神經(jīng)網(wǎng)絡中節(jié)點的隱表示得到該事件序列當前時間步的速率函數(shù)值。根據(jù)該速率函數(shù)值可以預測下一個事件(類型及時間)發(fā)生的概率,從而通過最大似然進行模型參數(shù)優(yōu)化學習。由于不需要預先假設固定的速率函數(shù)參數(shù)形式,基于循環(huán)神經(jīng)網(wǎng)絡的點過程模型能更好地適應復雜的真實場景,也成為了后續(xù)諸多流行度預測方法采用的一個基礎模型[42-43,51-52]。
圖8 Du等人[39]提出的基于循環(huán)神經(jīng)網(wǎng)絡的點過程建模
上述模型仍然是通過最大化觀測似然來進行優(yōu)化求解的,面臨著模式坍塌等問題。為了避免點過程基于最大似然優(yōu)化的缺點,Xiao等人[43,45,53]率先提出了基于生成對抗網(wǎng)絡(generative adversarial network, GAN)的深度點過程模型。該模型通過生成器來進行事件序列的生成,然后通過推土機距離(Wasserstein distance),即判別器,衡量生成序列樣本和真實序列樣本的分布差異,使得生成的樣本序列盡可能貼近真實樣本,也就是我們觀測到的真實事件序列。此時,則認為該生成器就是對事件序列的一個優(yōu)秀建模,也是我們最終希望得到的對事件序列的表示模型。生成器通常采用循環(huán)神經(jīng)網(wǎng)絡[43,53]、序列到序列模型[45]或點過程模型[48]等,而判別器通常采用循環(huán)神經(jīng)網(wǎng)絡[43]、卷積神經(jīng)網(wǎng)絡[45,53]等。整個模型框架如圖9所示。
圖9 基于生成對抗網(wǎng)絡的事件序列建模[43,45,48,53]
此外,Li等人[51]和Utkarsh等人[52]也提出了基于強化學習(reinforcement learning, RL)的深度點過程模型,從而避免了最大似然優(yōu)化的缺點。該類模型主要將事件序列的生成看成是隨機策略(stochastic policy)下的動作(action)執(zhí)行,通過執(zhí)行策略后的獎賞函數(shù)(reward function)進行策略的優(yōu)化學習。其中的策略函數(shù)就是我們希望得到的對于事件序列的表達模型,通常也用循環(huán)神經(jīng)網(wǎng)絡[51-52]或點過程模型[57]來刻畫。整個模型框架如圖10所示。
上述這兩類框架,即基于生成對抗網(wǎng)絡的深度點過程模型和基于強化學習的深度點過程模型,都在有效學習點過程模型的同時避免了基于最大似然優(yōu)化的缺點。
2.3.2 時間序列表示
圖11 Shao等人[55]采用的時間卷積網(wǎng)絡示意圖注: 卷積核大小k=2
2.3.3 事件序列表示和時間序列表示的融合
當我們既能觀測到事件序列,也能觀測到時間序列的時候,Xiao等人[40]認為這兩個序列表示之間可以相互補充融合。具體來說,事件序列可以捕獲事件驅(qū)動的、突然陡峭的信息;而時間序列更易于捕獲同步或恒定的長期趨勢。通過將這兩個不同的序列表示進行拼接融合,能夠得到對時序數(shù)據(jù)更好的表示。Mishra等人[46]在其后續(xù)的工作中也采用了類似的做法。
已有研究證明,不同的傳播結構對于消息未來的流行度也具有不同的影響[2,19,66]。根據(jù)這一基本認識,基于深度學習的結構表示旨在通過端到端的方式對消息的傳播結構進行更好的表示。根據(jù)表示對象的不同,主要分為對參與用戶子圖(cascade graph)的表示和對全局傳播圖(global diffusion graph)的表示(見圖12)。需要注意的是,這里的參與用戶子圖和全局傳播圖都是在觀測時間窗口內(nèi)的傳播情況。相關文獻整理如表5所示。
圖12 參與用戶子圖和全局傳播圖示意圖
表5 基于深度學習的結構表示
對于參與用戶子圖的表示,Li等人[21]率先提出DeepCas模型,通過隨機游走的方式將子圖轉(zhuǎn)化為K條序列,巧妙地將復雜的圖結構轉(zhuǎn)換成了容易處理的序列結構。具體來說,該模型利用循環(huán)神經(jīng)網(wǎng)絡對每條游走序列分別建模,最終通過注意力機制對不同游走序列賦以不同的權重進行加權聚合,從而得到參與用戶子圖的表示。模型框架如圖13所示。
圖13 Li等人[21]提出的DeepCas模型
這樣的序列轉(zhuǎn)換方式,不可避免地丟失了一些圖結構的信息。因此,后續(xù)的研究者開始直接對子圖結構進行表示。Wang等人[41]通過用戶參與的時間先后順序作為約束,只保留tu 圖14 Wang等人[41]提出的Topo-LSTM模型 上述提到的這些工作,都是對參與用戶子圖進行刻畫表示。但消息流行度預測的其中一大挑戰(zhàn)是來自于級聯(lián)傳播的不確定性,而僅僅關注參與用戶子圖,無法捕捉或刻畫這樣的級聯(lián)傳播效應。因此,Cao等人[60]提出對全局傳播圖進行表示。具體來說,通過提出的耦合圖神經(jīng)網(wǎng)絡(CoupledGNN),建模級聯(lián)傳播中關鍵的用戶激活狀態(tài)和影響力的相互作用和迭代傳播,從而有效建模了傳播中的級聯(lián)效應。最終消息的結構表示由所有用戶的激活狀態(tài)表示池化聚合得到。模型結構如圖15所示。 圖15 Cao等人[60]提出的CoupledGNN模型注: s*表示用戶激活狀態(tài),r*表示用戶影響力 本節(jié)我們將綜述基于深度融合的流行度預測方法。這里的深度融合根據(jù)融合對象的不同,可以分為多因素融合和多模型融合?,F(xiàn)有基于深度融合的流行度預測方法總結見表1(因素融合和模型融合兩列)。 在得到內(nèi)容、用戶、時序、結構等因素的深度表示之后,我們還需要對各類因素進行有效融合,從而一起進行消息未來流行度的預測。在研究早期,與傳統(tǒng)的基于特征的流行度預測方法類似,研究者通常采用最簡單直觀的拼接方式將各類因素的表示融合,然后基于拼接后的表示得到最終消息未來流行度的預測模型[44,47]。但Liao等人[54]隨后發(fā)現(xiàn),對于不同觀測階段、不同發(fā)布用戶或不同特性的消息而言,不同因素所起的預測作用是不同的。例如,在觀測早期,時序因素包含的信息非常少,此時消息本身的內(nèi)容等因素就會比時序因素更重要;而到了觀測后期,時序因素中蘊含了非常豐富的信息,那么此時,時序因素就會比內(nèi)容因素對消息未來流行度更具有預測性。為了更好地刻畫這些不同因素對于消息流行度預測的不同重要程度,Liao等人[54]提出了基于注意力機制的多因素融合框架。在該框架下,注意力機制中的查詢?yōu)橄⒌纳舷挛男畔?,包括觀測時間[54]、消息發(fā)布的時間[54]、消息本身的話題[59]或消息發(fā)布的用戶[9]等;鍵和值均為某因素的表示。模型框架如圖16所示。通過該基于注意力機制的多因素融合框架,可以在不同上下文中靈活地捕捉各個因素的重要性并進行有效融合,從而對消息未來流行度進行更準確的預測。 圖16 Liao等人[54]提出的基于注意力機制的多因素融合框架 基于特征提取和基于點過程建模的流行度方法是當前用來解決社交網(wǎng)絡中消息流行度預測問題的兩類基本范式。但是,這兩類方法都有各自的缺陷?;谔卣魈崛〉牧餍卸阮A測方法需要人工設計各類特征,一些特征在特定的場景下可能會有缺失。而基于點過程建模的流行度預測方法需要足夠長時間的觀測才能保證模型的有效學習,且已有的點過程模型面臨著模型錯誤選擇的困境。為了彌補這兩類方法各自的不足,充分發(fā)揮其各自的優(yōu)點,Wu等人[50]提出了基于生成對抗學習的多模型融合方法。一方面,基于點過程建模的方法就像一個“生成器”,可以用于未來流行度的生成;而另一方面,基于特征提取的方法可以作為一個“判別器”,用于區(qū)分(特征,真實的流行度)所組成的點對和(特征,生成的流行度)組成的點對?;谶@樣的雙方博弈,能夠使得該模型融合框架充分發(fā)揮基于特征提取和基于點過程建模的流行度預測方法的預測優(yōu)勢。模型框架如圖17所示。 圖17 Wu等人[50]提出的基于生成對抗學習的多模型融合框架 消息流行度預測方法的性能需要有一個合理的評價體系來衡量。好的評價體系能指引流行度預測領域的前進方向,并使其健康發(fā)展。本節(jié)將從評價數(shù)據(jù)集、評價指標兩個角度出發(fā),總結現(xiàn)有的基于深度學習的流行度預測方法的評價,總體情況見表6。 表6 基于深度學習的流行度預測方法的評價總結 由于預測場景和預測對象的不同,在線社交網(wǎng)絡的流行度預測研究中,采用了多種不同的評價數(shù)據(jù)集,包括推特、新浪微博等社交網(wǎng)站數(shù)據(jù)集[1,6-7,24,39,70-71]、論文引用數(shù)據(jù)集[22,67]以及音樂、電影等商品時序數(shù)據(jù)集[68-69,72]。其中,只有部分數(shù)據(jù)集被公開提供,因此接下來主要介紹這些常用的公開數(shù)據(jù)集。 4.1.1 社交網(wǎng)站數(shù)據(jù)集 ?新浪微博-1數(shù)據(jù)集(1)http://github.com/CaoQi92/DeepHawkes由Cao等人[1]提供,包含了2016年6月1日發(fā)布且轉(zhuǎn)發(fā)數(shù)大于10的全量微博消息(119 313條),以及這些消息在發(fā)布后24小時內(nèi)的轉(zhuǎn)發(fā)情況。該轉(zhuǎn)發(fā)情況除了包括用戶的轉(zhuǎn)發(fā)時間外,還提供了用戶的轉(zhuǎn)發(fā)路徑。由于同時包含時序、用戶、結構(路徑)等信息,后續(xù)諸多基于深度學習的流行度預測方法[1,23,55,58]均采用了這一數(shù)據(jù)集作評價。 ?推特-3數(shù)據(jù)集(2)http://snap.stanford.edu/seismic/由Zhao等人[6]提供,包含了2011年10月7日到11月7日發(fā)布的166 076條消息中,每個用戶的參與時間和對應粉絲數(shù)。由于該數(shù)據(jù)集主要提供了時序信息,后續(xù)主要被用于時序深度表示的流行度預測方法[46,50]的評價。 ?YouTube數(shù)據(jù)集(3)https://github.com/andrei-rizoiu/hip-popularity由Rizoiu等人[7]提供,包含了2014年5月29日至12月26日在推特中被提到過的視頻,共計8 000萬左右,以及這些視頻在Youtube和對應的推特上的瀏覽、轉(zhuǎn)發(fā)等時序數(shù)據(jù)。后續(xù)也被用于時序深度表示的流行度預測方法[46]的評價。 ?新浪微博-2數(shù)據(jù)集(4)http://www.aminer.cn/influencelocality由Zhang等人[24]提供。該數(shù)據(jù)集從100個隨機用戶種子出發(fā),通過關注關系搜集更多的用戶。最終,數(shù)據(jù)集包括170萬用戶和這些用戶最新的1000條微博(包括轉(zhuǎn)發(fā)用戶和轉(zhuǎn)發(fā)時間),以及這些用戶間的關注關系網(wǎng)絡。由于該數(shù)據(jù)集包含了全局的社交網(wǎng)絡,Cao等人[60]提出的基于全局傳播圖建模的預測方法使用了這一數(shù)據(jù)集作評價。 ?TPIC17數(shù)據(jù)集(5)http://github.com/social-media-prediction/TPIC2017由Wu等人[42]提供,包含了Flicker平臺3年的圖像瀏覽分享數(shù)據(jù)。具體包括圖像等內(nèi)容信息、用戶信息以及瀏覽、分享等時序信息。該數(shù)據(jù)集主要在圖像流行度預測方法[9,42]的評價所采用。 ?Memetracker數(shù)據(jù)集(6)http://snap.stanford.edu/data/memetracker9.html由Leskovec等人[70]提供,包含了約9 600萬在各大新聞平臺、博客等流行的文化模因(Meme)。通過將Meme作為預測對象,博客或新聞平臺作為用戶,可獲得對應消息下的用戶、時序等信息。該數(shù)據(jù)集也在基于時序深度表示的Yang等人[57]的工作中作為評價數(shù)據(jù)集使用。 ?推特-5數(shù)據(jù)集(7)http://www.isi.edu/~lerman/downloads/twitter/twitter2010.html由Hodas等人[71]提供,包含了2011年10月推特上發(fā)布的66 059個URL鏈接(消息)和對應的參與用戶、參與時間等信息。同時,該數(shù)據(jù)集還提供了用戶間的關注關系網(wǎng)絡這一結構信息?;跁r序深度表示的Yang等人[57]的工作中使用了這一數(shù)據(jù)集作評價。 4.1.2 論文引用數(shù)據(jù)集 ?HEP-PH數(shù)據(jù)集(8)http://snap.stanford.edu/data/cit-HepPh.html由Leskovec等人[22]提供,包含了1993年到2003年發(fā)布在Arxiv上的約3.5萬高能物理相關論文,以及這些論文間的引用關系。此外,該數(shù)據(jù)集也包括論文的用戶、時序以及結構信息。Chen等人[23]在其提出的基于傳播子圖表示的工作中采用了該數(shù)據(jù)集作為評價數(shù)據(jù)集。 ?AMINER數(shù)據(jù)集(9)http://www.aminer.cn/citation由Tang等人[67]提供,包括了從ACM、DBLP、MAG (Microsoft Academic Graph)以及其他來源獲取到的約63萬論文及相關引用數(shù)據(jù)。將論文作為預測對象,引用作為流行度,作者間的引用關系作為網(wǎng)絡結構,得到對應的用戶、時序以及結構信息。Li等人[21]提出的基于傳播子圖表示的工作采用了該數(shù)據(jù)集作為評價數(shù)據(jù)集。 4.1.3 時序數(shù)據(jù)商品集 ?LFM-1b數(shù)據(jù)集(10)http://www.cp.jku.at/datasets/LFM-1b/由Schedl等人[68]提供,包含了從Last.fm平臺搜集到的用戶聽音樂數(shù)據(jù)集。將音樂作為預測目標,聆聽總量作為流行度,可獲得對應的用戶、時序等信息。Dou等人[49]和Zhao等人[56]通過將音樂與知識圖譜中的實體對應,采用該數(shù)據(jù)集評價了他們提出的基于商品內(nèi)容(實體表達)及時序的流行度預測方法。 ?MovieLens數(shù)據(jù)集(11)http://grouplens.org/datasets/movielens/由Harper等人[69]提供,包含了從MovieLens網(wǎng)站搜集到的電影評分數(shù)據(jù)。類似LFM-1b數(shù)據(jù)集,將電影作為預測目標,評分總量作為流行度,可獲得用戶、時序信息。Dou等人[49]和Zhao等人[56]也將該數(shù)據(jù)集作為他們方法的評價數(shù)據(jù)集。 ?豆瓣-2數(shù)據(jù)集(12)http://sites.google.com/site/erhengzhong/datasets由Zhong等人[72]提供,包含了豆瓣平臺中用戶對書籍的閱讀記錄。將書籍作為預測對象,書籍的閱讀次數(shù)作為流行度,也可獲得對應的用戶及時序信息。該數(shù)據(jù)集在基于時序深度表示的Yang等人[57]的工作中被作為評價數(shù)據(jù)集使用。 在基于深度學習的流行度預測方法評價中,根據(jù)預測任務和目標的不同,可分為分類、回歸以及排序這三大類評價指標。為了從各方面全面地衡量預測方法的性能,通常會采用多個或多類指標來進行方法的評價。 4.2.1 分類評價指標 ?分類準確率(C-Accuracy)[44,54,59]衡量流行度被準確分類的消息占比,如式(2)所示。 (2) ?F1[54]是精確率(Precision)和召回率(Recall)的調(diào)和平均數(shù),用于衡量樣本類別不均勻時的二分類性能: (3) 其中Precision=方法返回的正確正例數(shù)/方法返回的所有正例數(shù),Recall=方法返回的正確正例數(shù)/樣本中的所有正例數(shù)。 4.2.2 回歸評價指標 ?平均絕對誤差(mean absolute error,MAE)[8-9,42,47]用于衡量消息的真實流行度和預測流行度之間的差異絕對值,如式(4)所示。 (4) ?均方誤差(mean square error,MSE)[8-9,47,58]衡量消息的真實流行度和預測流行度之間的差異平方,如式(5)所示。 (5) ?Log均方誤差(log mean square error, LMSE)[1,21,23,55,57]先將消息的流行度進行對數(shù)(log)量級轉(zhuǎn)換,從而衡量消息的真實流行度量級和預測流行度量級之間的差異平方,如式(6)所示。 (6) ?平均絕對百分比誤差(mean absolute percentage error,MAPE)[48-50,53,56,60]衡量消息的真實流行度和預測流行度之間的差異占消息真實流行度的平均百分比,如式(7)所示。 (7) ?平均相對均方誤差(mean relative squared error,MRSE)[49,56,60]和MAPE指標類似,衡量真實流行度和預測流行度之間的差異占消息真實流行度的百分比均方值,如式(8)所示。 (8) 由于避免了不可導的絕對值操作,該評價指標更易優(yōu)化。 ?回歸準確率(R-Accuracy)[48-49,53,56,60]衡量在誤差接受范圍內(nèi),消息流行度被正確預測的占比,如式(9)所示。 (9) ?絕對百分位誤差(absolute percentile error,APE)[46]先將消息的流行度進行排序百分位轉(zhuǎn)換,然后衡量消息的真實流行度百分位和預測流行度百分位之間的差異絕對值,如式(10)所示。 (10) 4.2.3 排序評價指標 ?斯皮爾曼排序相關性(Spearman ranking correlation,SRC)[42]用于衡量所有消息的真實流行度和預測流行度之間的排序相關性,如式(11)所示。 (11) ?肯德爾排序相關系數(shù)(Kendall rank coefficient,Kendall)[50]也是用于衡量排序相關性的一種常用方式,如式(12)所示。 (12) ?覆蓋率(coverage@k)[50]計算前k個預測流行度最大的消息,其中真實流行度也位于前k的占比。該評價指標可以用于衡量預測方法對于熱門消息的預測準確程度。 基于深度學習的流行度預測方法由于所面向的預測場景、使用的信息或因素不同,其使用的評價數(shù)據(jù)集和評價方法也不盡相同,很難進行橫向的統(tǒng)一比較。本文中,我們僅對其中采用了同一個公開數(shù)據(jù)集的部分方法,在同一評價指標上進行性能的橫向?qū)Ρ?,結果見表7。從表中可以看到,在新浪微博-1公開數(shù)據(jù)集上,在對比的基于深度學習的流行度預測方法中,Chen等人[23]提出的圖卷積神經(jīng)網(wǎng)絡CasCN,既可以有效捕捉傳播子圖的結構,也可以捕獲時序特性,獲得了最佳的流行度預測性能。 表7 基于新浪微博-1數(shù)據(jù)集[1]的方法性能對比(觀測1小時) 基于深度學習的流行度預測方法,通過對內(nèi)容、用戶、時序、結構等因素的深度表示,以及多因素、多模型的深度融合,實現(xiàn)了對消息未來流行度預測性能的大幅提升。但目前仍有以下一些開放問題亟待解決。 基于深度表示的流行度預測方法,可以有效地表示各類復雜的因素。但如何在提升表示能力的同時兼顧因素的可解釋性,這仍是一個需要解決的問題。特別是對事前預測的場景,相較于預測性能而言,人們同樣也十分關注模型為后續(xù)其他消息的發(fā)布所提供的指導意義。到底什么樣的消息內(nèi)容更吸引人?該選擇什么樣的用戶來進行消息的發(fā)布或傳播?如何使基于深度學習的流行度預測方法具備一定的可解釋性,是未來可以探尋的一個方向。可能的解決方案是從建模前和建模后兩方面出發(fā)。在建模前,考慮建立具備可解釋性的模型,如attention機制就具有解釋因素重要性的能力。在建模后,考慮對學習到的深度學習黑箱參數(shù),如用戶表示等,進行一定的可視化及探究,從而提供一定的可解釋性。 基于“詞向量”的用戶表示方法,可以靈活地刻畫每個用戶的特性,并通過端到端的方式進行訓練學習。但隨著社交網(wǎng)絡的蓬勃發(fā)展,社交網(wǎng)絡中的用戶規(guī)模也不斷擴大。每個用戶參與的消息呈現(xiàn)極大的差異性,而參與的消息總數(shù)也呈冪律分布(如圖18所示)。即大部分用戶參與的消息總數(shù)都很少,只有少部分活躍用戶參與了大量的消息。在用戶參與消息如此稀疏的場景下,我們很難通過端到端的方式為每個用戶學習到一個合適的表示。如何能在大規(guī)模的用戶空間下,為每個非活躍用戶也學到有效合適的表達,對于進一步提升消息流行度預測方法的可用性和準確性至關重要??紤]結合自監(jiān)督學習等技術(self-supervised learning)[73],通過輔助任務的定義和學習,來提升學習到的用戶表示質(zhì)量,克服用戶稀疏性問題,是未來的一個可能方向。 圖18 微博2016年6月1日用戶活躍度分布 對于傳播結構的表示,現(xiàn)有方法或者面向參與用戶子圖或者面向全局傳播圖。但這兩種表示對象都有各自的缺點。參與用戶子圖一般規(guī)模較小,能夠在有限時間內(nèi)進行高效表示,但無法刻畫消息傳播中關鍵的級聯(lián)傳播效應。而在全局傳播圖中,我們能夠更好地刻畫參與用戶對潛在用戶形成的級聯(lián)傳播效應,從而更好地預測未來消息流行度。但這類方法的時間復雜度會隨著網(wǎng)絡規(guī)模的增大而增大,非常耗時,難以進行即時的消息流行度預測。目前基于深度學習的結構表示,還存在著預測精度和預測性能之間的兩難困境。借鑒圖摘要(graph summarization)領域的技術[74],通過抽取簡潔的“超圖”來描述原本復雜的網(wǎng)絡,并盡可能地減少圖信息的損失,也許是未來解決這一困境的關鍵。 現(xiàn)有的基于深度學習的流行度預測研究中,由于面向的預測場景、預測任務、利用信息或因素的不同,導致性能評價體系中采用的評價數(shù)據(jù)集和評價指標差異很大。此外,很多研究所采用的數(shù)據(jù)集都是涉及隱私的非公開數(shù)據(jù)集,對于后續(xù)研究的可持續(xù)發(fā)展也很不利。為了該領域的健康發(fā)展,我們需要建立一套規(guī)范化的評價體系。具體來說,一方面需要對領域所需的評價指標達成共識,在同一套評價指標下(可以多個)對不同的方法進行統(tǒng)一評價。另一方面,也需要建立一個包含各類因素,即內(nèi)容、用戶、時序、結構的公開數(shù)據(jù)集,使得無論面向什么預測場景,利用哪類因素的方法,都可以在這個公開數(shù)據(jù)集上進行評價,從而使各方法能進行橫向?qū)Ρ?。從目前統(tǒng)計的公開數(shù)據(jù)集來看,我們?nèi)匀鄙龠@樣一個全面的基準數(shù)據(jù)集。規(guī)范化的評價體系的建立,對于流行度預測領域的可持續(xù)健康發(fā)展將會起關鍵作用。 在線社交網(wǎng)絡中的消息流行度預測,對平臺服務方和使用者都具有至關重要的作用。而深度學習的發(fā)展和社交網(wǎng)絡中消息傳播數(shù)據(jù)的積累,為基于深度學習的消息流行度預測研究提供了堅實的發(fā)展基礎。本文對近年來基于深度學習的流行度預測研究進行了歸納梳理,將其分為基于深度表示的流行度預測方法和基于深度融合的流行度預測方法。其中基于深度表示的流行度預測研究包括內(nèi)容、用戶、時序、結構等因素的深度表示;而基于深度融合的流行度預測研究根據(jù)融合對象不同,分為多因素融合和多模型融合。本文主要圍繞近年來基于深度學習的流行度預測研究展開,歸納梳理已有的研究成果,指出仍待解決的一些開放問題,嘗試為研究人員建立一個較完整的研究視圖,希望能為推進該領域進一步的研究提供一定的幫助。3 基于深度融合的流行度預測方法
3.1 基于深度學習的多因素融合
3.2 基于深度學習的多模型融合
4 基于深度學習的流行度預測方法評價
4.1 評價數(shù)據(jù)集
4.2 評價指標
4.3 方法評價
5 發(fā)展現(xiàn)狀分析和趨勢展望
5.1 可解釋性
5.2 用戶稀疏性
5.3 結構復雜性
5.4 評價體系規(guī)范化
6 結束語