基于LDA-DeepHawkes模型的信息级联预测*

王世杰,周丽华+,孔 兵,周俊华

1.云南大学 信息学院,昆明650504

2.云南大学 公共管理学院,昆明650504

1 引言

Twitter、Facebook、微信和新浪微博等在线社交平台的出现深刻地改变了用户之间信息传递的方式,极大地促进了信息的产生与传递。以新浪微博为例,截至2017年1月,中国网民规模达7.31 亿,其中新浪微博注册用户已超过2.67 亿[1]。如此巨量的消息中蕴含着丰富的知识,比如用户的偏好、转发行为及用户间的关系。这些知识的挖掘在病毒式市场营销、在线广告投放、信息推荐和谣言控制等方面具有极其广泛的应用价值,因此具有非常重要的研究意义[2]。

信息级联预测是基于信息早期的传播特征来预测其未来的传播范围。然而,由于社交平台通常是大规模的开放系统并且会受到外部因素的影响[3],比如网络拓扑结构、关注关系、用户兴趣、发布时间、隐私保护等,加之网络用户规模大,信息动态扩散,速度快,传播的路径和过程存在较大的随机性,不同信息的“流行度”不均衡,因此信息级联的准确预测具有挑战性[4]。

在信息级联的预测中,目前的方法主要分为基于特征的方法[1-9]和生成方法[10-17],其中基于特征的方法首先基于人类的先验领域知识提取信息的各类特征,比如时间特征、结构特征、内容特征等,通过训练回归/分类模型来预测信息在未来的流行度。这种方法特征选择的难度较大,特征选择的优劣对于预测效果的影响也很大。虽然使用深度学习的方法能够自动学习流行度预测的特征[3],避免人工提取特征的困难,提高了预测精度,但是这些学到的特征缺乏清晰的可解释性,难以理解信息受欢迎的具体原因。相反,生成方法致力于表征和建模一条信息引起注意的过程,使人们很容易理解控制信息流行动态的基本机制。但是生成方法的预测能力不理想,因为它们没有针对流行度预测进行优化[3]。比如,Hawkes过程通过模拟新事件的到达率建模消息流行的动态,通过用户的影响(影响力大的用户对新转发的到达率的贡献更大,影响力大的用户转发的推文往往转发更多)、自我激励机制(每次转发都对未来新转发的到达率有贡献)和时间衰减效应(转发的影响随着时间的推移而衰减)三个关键因素很好地解释观察到的转发。

为了克服流行度预测中基于特征的方法和生成方法的不足,Cao等人[3]使用消息的转发量或转发增量来度量消息的流行程度,将具有高理解性的Hawkes模型与具有高预测精度的深度学习相结合,提出了DeepHawkes 模型。DeepHawkes 模型不仅继承了Hawkes 过程的高度可解释性,而且具备深度学习方法的高准确预测能力,弥合了信息级联的预测与理解之间的间隙。然而,DeepHawkes 模型旨在对信息的传播过程进行建模,忽略了信息本身的文本内容对于传播的影响。事实上,信息的文本内容对信息传播的影响也很大,因为不同的内容涉及不同的主题,不同的用户对不同主题的兴趣不同,涉及不同主题的信息往往具有不同的流行程度。因此在对信息传播情况进行预测时,消息的文本内容也是不可忽略的因素。

本文在DeepHawkes 模型的基础上进一步考虑了信息的文本内容对于扩散的影响,将LDA(latent Drichlet allocation)主题模型融入DeepHawkes 模型中,提出了LDA-DeepHawkes模型。该模型分析了信息文本内容的主题,考虑了主题之间的自激机制,并将级联和文本内容的影响融合在一起。本文的主要贡献包括:

(1)提出了考虑主题的DeepHawkes 模型,利用LDA 主题分类模型抽取消息文本内容的主题,并用深度模型学习主题的表示向量,模拟主题之间的自激机制。

(2)提出了LDA-DeepHawkes 模型,该模型通过加和池进行池化的方式将只考虑信息级联的Deep-Hawkes 模型与LDA 主题分类模型相融合,使得预测模型既考虑了级联的因素,又考虑了文本内容的主题特征,从而更加全面地建模了信息扩散过程,提高流行度预测的准确度。

(3)在真实数据集上进行了充分的实验,对多个算法在不同条件下的预测结果进行了比较,验证了所提方法的有效性。

2 相关工作

本章主要介绍信息流行度预测的方法,包括基于特征的方法、基于深度学习的方法、生成方法以及融合深度学习和生成方法的方法,同时简介LDA 模型的应用。

基于特征的方法通过人工提取各种与信息流行度相关的特征,如时间特征[1-3]、结构特征[4-6]和内容特征[7-9],将流行度预测任务视为一种回归或分类问题。朱海龙等人[4]基于微博未来流行度与早期传播趋势变化之间存在的正相关关系,提出了传播加速度的概念,并基于传播加速度和早期流行度建立了一个多元线性回归预测模型。刘玮等人[5]提出了基于时间衰减的用户兴趣计算模型,有效地度量了用户兴趣及其变化特性对用户转发行为的影响程度。Pinto 等人[6]根据流行度的历史信息对消息的未来流行度进行了预测。Cheng 等人[7]发现在信息级联预测研究中,时态和结构特征是级联大小的关键预测因素。Wang 等人[8]为了建模级联动态,从观察的级联中学习两个低维的用户侧(user-specific)矢量来捕捉用户的影响和敏感性,避免了级联动态预测中的过拟合问题。曹玖新等人[9]基于用户属性、社交关系和微博内容三类综合特征,对微博用户的转发行为和转发路径进行了预测。Tsur 等人[10]提出了一种基于线性回归的有效混合方法,预测在给定时间范围内信息的传播范围,并发现内容特征与时间和结构特征的组合能最小化预测误差。然而,这些方法的预测性能很大程度上取决于提取的特征,而这些特征通常是基于人类的先验知识监督提取,面对复杂的问题和海量的数据,人们很难系统地设计和度量能够有效捕获相关信息的复杂特征。

为了从复杂、海量的数据中自主提取特征,研究者将深度学习应用于信息流行度预测。Trzcinski 等人[11]采用长时循环卷积网络(long-term recurrent convolutional networks,LRCN)从视频内容中提取特征,然后使用提取的特征预测视图数量。Li 等人[12]提出了一种端到端的神经网络框架DeepCas,将级联图表示为一组随机游走路径,通过详细设计的GRU 神经网络结构和注意机制来预测未来的级联大小。但是,DeepCas 只使用了用户网络信息,并忽略了流行度预测的时态信息。Chen 等人[13]设计了一种使用双向门控循环单元的流行预测模型,以数据驱动的方式提取和融合文本内容和时间序列的丰富信息,并引入注意力机制抑制数据中的噪声。这些使用深度学习的方法虽然能够自主学习流行度预测的特征,避免人工提取特征的困难,提高了预测精度,但是这些学到的特征缺乏清晰的可解释性,难以帮助人们理解控制信息级联流行动态的潜在机制。

生成方法将信息的流行度累积视为用户转发行为的激励过程,并对该过程进行建模。Zhao 等人[14]在自激点理论的基础上,设计了一个统计模型对信息流行度进行预测。Yang 等人[15]通过观察信息的传播情况,用点激励过程的混合概率模型预测消息未来的流行度。Zhou 等人[16]利用多维Hawkes 过程发现社会网络中的隐藏特征并将其应用于信息流行度预测。Wang 等人[17]利用时间窗口对信息扩散级联进行建模,提出一种用于突发事件预测的算法。Shen等人[18]采用强化泊松过程对社会网络中的三种因素(节点的影响力、信息热度衰减过程以及“富者愈富”机制)进行建模。随后,文献[18-20]利用Hawkes模型模拟了信息引起关注和转发的过程,并采用深度学习技术对转发情况进行研究,使得关于信息级联的流行动态的潜在机制更易理解。虽然生成方法解释性好,但其预测效果不够理想。

DeepHawkes 模型[3]是霍克斯方法的延伸。原始的Hawkes 方法仅使用跟随者的数量作为用户特征,而DeepHawkes 使用用户嵌入向量并采用门控循环神经单元(gated recurrent unit,GRU)来编码级联路径。GRU和长短时记忆模型(long short term memory,LSTM)都是循环神经网络(recurrent neural network,RNN)的变体,用以缓解RNN 在学习过程中梯度爆炸和梯度消失的现象,从而解决RNN 网络中的长期依赖问题。与LSTM 相比,GRU 的结构更简单,学习效率更高。DeepHawkes融合了基于深度学习方法的高预测性和生成方法的高解释性,弥合了信息级联的预测与理解之间的间隙,但该模型仅考虑了用户信息和级联路径信息,忽略了信息内容对信息流行度的作用。

因此,针对上述问题,本文提出了基于LDADeepHawkes 模型的信息级联预测,该模型不仅融合了DeepHawkes 的高解释性和高预测性能,还利用LDA 模型考虑了信息内容对信息流行度的影响。

LDA 主题模型是一种主题生成技术[21],常用来识别大规模文档集或语料库中潜在的主题信息,Ramage 等人[22]针对信息传播中的内容特征,利用了主题分类模型,用主题特征描述消息内容。张晨逸等人[23]提出了一种基于文本内容关联关系的主题模型,进一步体现了主题特征在文本内容中的代表性。最近几年在信息预测中得到广泛应用。比如,Kang 等人[24]基于LDA 模型提出了一种融入社交网络关注度的信息预测算法,用于预测信息的传播情况。Liu 等人[25]通过扩展LDA 模型,将n维特征整合为几个潜在主题,提出一种新的概率主题模型来预测多个因素模型框架下的人格特征。Wang 等人[26]将标签传播算法与LDA 模型结合,根据微博内容、用户之间的社交关系以及不同的兴趣区域,提出了一种基于用户交互行为的用户影响力预测算法。

3 LDA-DeepHawkes模型

在介绍本文提出的LDA-DeepHawkes 模型之前,先对本文所使用到的符号进行说明。

设在线社交平台有M条消息M={mi}(1 ≤i≤M),mi的扩散过程用级联表示,其中元组对应于消息mi的第j次转发,表示用户转发来自的消息是原始帖子和第j次转发之间时间间隔。消息mi的流行度定义为时间t之前消息的转发数量,即流行度的预测问题定义为:基于消息mi的文本内容和时间窗口[0,T)中观察到的级联,预测级联Ci观察到的流行度与最终流行度之间的增量文中符号概述如表1 所示。

图片[1]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Table 1 Overview of symbols表1 文中符号概述

LDA-DeepHawkes 模型包括关于级联的Deep-Hawkes 组件、关于主题的DeepHawkes 组件及上述两个组件的融合,其框架如图1所示。LDA-DeepHawkes模型将信息级联及消息的文本内容作为输入,将模型的输出作为级联转发增量的预测值。

3.1 关于级联的DeepHawkes组件

关于级联的DeepHawkes 组件采用Cao 等人[3]所提的模型。组件以信息级联作为输入,将输入的级联转换为一组扩散路径,每个扩散路径描绘了在观察时间内信息的转发过程。组件通过用户嵌入、转发路径编码及时间衰减三个组成部分对Hawkes过程的可解释因素进行类比。

(1)用户嵌入

用户嵌入将用户身份嵌入低维空间以表示用户对信息扩散的影响。通常,在线内容在未来受欢迎的程度与参与用户有关(参与者的影响力越大,收到的转发就越多),并且在社交网络中位置不同或兴趣不同的用户对信息扩散产生的影响也可能不同。Cao 等人[3]在受监督的流行度预测框架下学习用户身份的表示,并用学习到的表示(对于流行度预测是最优的)作为用户影响的表达。

图片[2]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Fig.1 Frame of LDA-DeepHawkes图1 LDA-DeepHawkes框架

(2)级联转发路径编码

级联转发路径编码通过循环神经网络(GRU)单元模拟级联中每个用户在当前转发之后对随后的转发产生的影响(影响传递)及用户在级联结构中的重要性。影响的传递表示以前的参与者不仅影响其直接转发者,而且还通过传递性的方式对间接转发者产生影响。用户在级联结构中的重要性通过用户在多个转发路径中频繁出现来表示。各个转发路径最后一个GRU 的输出被传送给融合组件,通过累加各种影响实现Hawkes 的自我激励机制(每次转发都会增加未来新转发的到达率)。

(3)时间衰减效应

时间衰减效应表示转发的影响随着时间的推移而衰减。假设在时间T内观察到所有消息的扩散,那么未知的时间衰减效应ϕ(t)是一个在[0,T)上连续变化的函数。Cao 等人[3]将时间长度T分割为多个不相交的区间来近似ϕ(t),并使用非参数方法学习相应的离散时间衰减效应因子λl。

关于级联的DeepHawkes 组件中用户嵌入、路径编码及时间衰减的细节参见文献[3]。

3.2 关于主题的DeepHawkes组件

关于主题的DeepHawkes 组件以信息的文本内容作为输入,通过LDA 主题模型抽取消息中的主题,构建主题嵌入矩阵,将抽取的主题转换为一组主题路径并传递到循环神经网络GRU 进行编码,以模拟主题路径中主题间的影响(影响传递)及主题在主题路径结构中的重要性。组件通过主题嵌入、主题路径编码及主题重要性衰减三个组成部分对Hawkes过程的可解释因素进行类比。

3.2.1 主题嵌入

不同的消息涉及不同的主题。本文通过LDA 主题模型抽取消息中的主题,并构建主题信息嵌入矩阵。构建过程如下:

分词。由于微博文本内容具有数据集较大,词长较短的特点,本文使用python 的结巴分词包[27],采用精确分词模式对消息内容进行分词,并去除单字词及标点符号。

构建文档-词频矩阵。统计所有消息中的总词数和各词出现的次数,构建文档-词频矩阵:若消息mi中包含词wj,则文档-词频矩阵中的元素xji为词wj的出现次数在总词数中的占比,即,否则xji=0。

LDA 主题建模。将文档-词频矩阵输入LDA 主题分类模型,构建主题-词频矩阵和文档-主题矩阵。主题-词频矩阵存储各个主题生成不同词的概率,文档-主题矩阵存储各个消息对应到不同主题的概率。

LDA 模型是一个包含词、主题和消息文档的三层产生式全概率生成模型,模型结构如图2 所示,其基本思想是把文档视为其隐含主题的混合,而每个主题则表现为跟该主题相关的词的频率分布。图2中M为消息总数,K为主题数,每条消息的文本内容由多个词构成,所有消息中包含的N个词组成一个词集。ϕk表示主题k中所有词的概率分布,θi表示消息mi的所有主题的概率分布,θi和ϕk分别服从超参数α和β的狄利克雷先验分布。wi,n和zi,n分别表示消息mi中的第n个词及第n个词的主题。

图片[3]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Fig.2 LDA topic classification model图2 LDA 主题分类模型

LDA 以M条消息的文本内容作为输入,将消息的文本内容作为文档,以主题-词频矩阵和文档-主题矩阵作为输出。主题-词频矩阵描述每个主题生成不同词的概率,文档-主题矩阵描述每条消息对应到不同主题的概率。设nsw表示词集中对应于主题S的第W个词的数目,Nw表示所有主题S词的数目,则主题-词频矩阵中元素psw表示主题S的第W个词的概率,设nij表示消息mi对应第j个主题的词的数目,则文档-主题矩阵中元素Pij表示消息mi对应第j个主题的概率

LDA 模型基于当前的θi和ϕk,为一个消息中的一个单词计算它对应任意一个主题的概率:

图片[4]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

根据各个对应主题概率值的大小更新这个词应该对应的主题。如果这个更新改变了这个词所对应的主题,则对θi和ϕk进行更新。不断迭代这个过程直至各个概率不再变化(模型收敛)。模型收敛后即可获得主题-词频矩阵和文档-主题矩阵。

构建主题嵌入矩阵。采用Word2Vec 方法[28]生成各个词的词向量,然后取每个主题下所有关键词的词向量的平均作为该主题的表示向量。主题嵌入矩阵B∈RL′×K的每一列表示一个主题的表示向量,L′是主题表示向量的维度,K是主题数目。

例表2 所示的示例数据集包含了消息序号、消息内容、消息的转发路径及转发时间,其中第三列“转发路径及转发时间”中“/”表示用户之间的转发关系,“:”后的数字代表转发时间与消息发布时间的间隔(单位:s),比如第一行第三列的“1/2:2 700”表示用户2 转发了用户1 发布的消息,转发时间发生在用户1 发布消息后的第2 700 s。

图片[5]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Table 2 Example of dataset表2 数据集示例

对表2 中第二列“消息内容”进行分词,结果如表3 所示。

图片[6]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Table 3 Participle result of message text表3 消息文本的分词结果

表4 和表5 分别统计了消息文本中各词出现的次数及各词在各个文档中出现的频率。

设每个主题取3个关键词,则各个主题的关键词如表6 所示,各条消息涉及的主题及各个主题在消息中的权重如表7 所示。

图片[7]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Table 4 Count of words表4 词数统计

图片[8]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Table 5 Word frequency-document matrix表5 词频-文档矩阵

图片[9]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Table 6 Keywords of each topic表6 各主题关键词

图片[10]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Table 7 Topics covered by each message and weight of each topic表7 各条消息所涉及的主题及各个主题的权重

设主题表示向量的维度为3,则主题嵌入矩阵B如表8 所示。

图片[11]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Table 8 Topic embedding matrix B表8 主题嵌入矩阵B

3.2.2 主题路径编码

设消息mi涉及n个主题t1,t2,…,tn,这n个主题在当前消息中所占的比重r1,r2,…,rn满足r1>r2>…>rn,则这n个主题的子集称为消息mi的主题路径。每条主题路径中的每个主题被表示为一个one-hot 矢量q′∈RK,其中K是主题总数。所有主题共享一个嵌入矩阵B∈RL′×K,其中L′是主题表示向量的维度。主题嵌入矩阵B将每个主题转换为它的表示向量:

图片[12]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

与用户嵌入矩阵A类似,主题嵌入矩阵B也是在训练过程中在未来流行度的监督下进行学习,因此学到的主题嵌入矩阵B对于流行度预测是最优的。

主题路径编码通过循环神经网络GRU 模拟主题路径中主题间的影响(影响传递)及主题在主题路径结构中的重要性。影响的传递表示权重大的主题对所有权重小的主题产生影响。主题在主题路径结构中的重要性通过主题在多个主题路径中频繁出现来表示。各个主题路径最后一个GRU 的输出被传送给融合组件,通过累加各种影响实现Hawkes 的自我激励机制。

使用GRU 为消息mi的每个主题,1 ≤j≤K进行编码时,GRU 中第t个隐藏状态,其中输出ht′∈RH,输入是主题表示向量,RH是先前的隐藏状态,L′是主题嵌入的维度,H是隐藏状态的维度。

重置门rt′∈RH的计算:

图片[13]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

其中,σ(⋅)是sigmoid激活函数,W′r′∈RH×L′,U′r′∈RH×H和b′r′∈RH是GRU 在训练过程中学到的参数。

图片[14]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

其中,W′z′∈RH×L′,U′z′∈RH×H和b′z′∈RH。

图片[15]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

3.2.3 主题重要性衰减效应

不同的主题对于信息传播的贡献不同,通常相关性高的主题影响更大。本文使用LDA 获得的消息-主题矩阵中各个主题在消息中的权重作为主题重要性衰减因子比如

图片[16]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

3.3 融合组件

融合组件包含池化层、两个全连接层和输出层。池化层将关于级联的DeepHawkes 组件和关于主题的DeepHawkes 组件的各个路径(级联路径和主题路径)的最后一个GRU 的输出通过池化的方式融合在一起,综合反映级联和主题对于信息扩散的影响。消息mi的级联-主题表示定义为:

图片[17]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

其中,Ki是消息mi涉及的主题数目。

池化层的输出传递给全连接层作为其输入,输出层只有一个输出单元,其输出值为最小化目标函数定义为,其中为消息mi的预测增量流行度,是真正的增量流行度,M是消息总数。由于平方损失容易受到异常值的影响,因此目标函数对增量流行进行对数变换。变换后的目标函数的行为类似于平均绝对百分比误差(mean absolute percentage error,MAPE),并且更容易优化。

3.4 算法描述

LDA-DeepHawkes的算法描述如下:

DeepHawkesc(Ci)和DeepHawkesc(mi)分别表示关于级联的DeepHawkes组件和关于主题的DeepHawkes组件,它们的输入分别是级联和消息的文本内容。

LDA-DeepHawkes算法:

图片[18]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

4 实验及结果

本章将介绍LDA-DeepHwakes 的实验评估。实验的操作系统为Linux(Ubuntu 16.0),硬件环境为Intel®CoreTMi7-7800k(3.4 GHz),RAM 为16 GB,显卡为Nvidia 1080Ti(11 GB)。

4.1 实验准备

(1)数据集。本文实验使用了两个从新浪微博爬取的真实数据集。新浪微博是国内最大的微博系统,系统中用户发博时间具有明显的日分布和周分布模式,博文数目分布表现为威布尔分布,博文的转发和评价行为具有很强的相关性,且博文转发概率要高于评价概率[29]。数据集1 的爬取时间为2018年6月20日8:00 至2018年6月21日16:00,其中2018年6月20日8:00 至2018年6月20日16:00爬取微博消息及其转播路径,2018年6月20日16:00 至2018年6月21日16:00 只对已爬取的微博进行转发量的跟踪,而不爬取新的微博消息。数据集2 的爬取时间为2018年10月22日19:00 至2018年10月23日19:00,其中2018年10月22日19:00 至2018年10月22日22:00 爬取微博消息及其转播路径,2018年10月22日22:00至2018年10月23日19:00 只对已爬取的微博进行转发量的跟踪,而不爬取新的微博消息。爬取的数据包含消息ID、消息发布者ID、转发者ID、消息转发时间与消息发布时间的时间间隔(单位:s)和消息的内容。数据集格式如表2 所示。

在爬取的数据中,有少量消息转发量过少或过大。为了减少这些极端情况对于预测结果的影响,本文将收集的数据中转发量小于10 或大于1 000 的微博消息删除。两个数据集的部分特征如表9 所示。

(2)Baseline 模型。采用Feature-linear、DeepCas和DeepHawkes 三种模型作为本文的Baseline 模型。Feature-linear[7]是一种基于时间特征、结构特征和时间衰减等特征的级联预测模型。DeepCas[14]是一种基于表示学习的级联预测模型。DeepHawkes[3]是融合了深度学习和Hawkes模型的级联预测模型。由于信息扩散受多种因素的影响,为了分析不同因素对消息传播的影响,除了Baseline 模型,本文还设计了如下几种DeepHawkes和LDA-DeepHawkes的变体模型:

图片[19]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Table 9 Partial characteristics of datasets表9 数据集部分特征

DH-U:只使用用户信息的DeepHawkes模型。

DH-P:只使用级联路径信息的DeepHawkes模型。

LDA-DH-S:只使用LDA 主题信息且只有一条主题路径的LDA-DeepHawkes模型,如图3(a)所示。

LDA-DH-M:只使用LDA 主题信息但有多条主题路径的LDA-DeepHawkes模型,如图3(b)所示。

LDA-DH-US:只使用用户信息和主题信息且只有一条主题路径的LDA-DeepHawkes 模型,如图3(c)所示。

LDA-DH-UM:只使用用户信息和主题信息但有多条主题路径的LDA-DeepHawkes 模型,如图3(d)所示。

LDA-DH-PS:只使用级联路径信息和主题信息且只有一条主题路径的LDA-DeepHawkes 模型,如图3(e)所示。

LDA-DH-PM:只使用路径信息和主题信息但有多条主题路径的LDA-DeepHawkes 模型,如图3(f)所示。

(3)评价指标。与文献[3]类似,本文使用均方对数误差(mean square log-transformed error,MSLE)[3]和中值平方对数误差(median square log-transformed error,mSLE)[3]作为评价指标。MSLE用于度量预测值和真实值之间的误差,其定义为其中M是消息的数目,SLEi是消息mi的对数误差,SLEi=分别为消息mi流行度的预测增量和真实增量。mSLE是SLEi(i=1,2,…,M)的中位数,即mSLE=median(SLE1,SLE2,…,SLEM) 。mSLE能够有效减轻离群点的影响。

4.2 参数设置

图片[20]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Fig.3 LDA-DeepHawkes variation model structure图3 LDA-DeepHawkes变体模型结构

(1)观察时间。本文任务是根据观察时间内所观察到的转发情况来预测未来某个时间点的转发增量,为了确定观察时间,本文考察了不同时间的转发数和所有消息转发量占比的平均值与转发时间之间的关系。一条消息在某一时刻的转发量占比定义为这一时刻之前该消息的转发量占消息最终转发量的百分比。图4 显示了两个数据集上转发数对数值与时间的关系,图5 显示了数据集1 和数据集2 在24 小时内所有消息转发量占比的平均值与转发时间的关系。从图4 可见,微博的转发行为具有周期性,并且不同时间段内微博的转发数有明显差异,午夜2 点至早8 点用户活跃度很低;上午10 点至晚上22 点左右,用户活跃度很高。从图5 可以看到,两个数据集的转发量随时间变化的情况非常类似,在消息发出后的第1个小时,其转发量占到了消息最终转发量的55%左右;在消息发布后的第2个小时,其转发量占到了消息最终转发量的65%左右;在消息发出后的第3个小时,其转发量占到了消息最终转发量的72%左右;在消息发出后的第24个小时,消息的转发量基本达到最大。为此,本文将观察时间分别设为1 小时、2 小时和3 小时,即分别通过55%、65%、72%的已观察到的转发情况来预测消息最终的转发增量。在消息发出后的第24个小时,消息的转发量基本达到最大,因此将消息发布后的第24个小时的转发增量设为消息的真实转发增量。

图片[21]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Fig.4 Number of retweets图4 转发量

图片[22]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Fig.5 Weibo popularity图5 微博流行度

(2)训练集、验证集和测试集。数据集1 的观察时间从2018年6月20日13:00 开始,数据集2 的观察时间从2018年10月22日19:00 开始。数据集的前70%设为训练集,中间15%设为验证集,最后15%设为测试集。各个训练集、验证集和测试集中级联和转发的具体数目如表10 所示。

图片[23]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Table 10 Segmentation of datasets表10 数据集的划分

(3)主题数。本文利用困惑度指标[30]确定主题K的数量。困惑度是一种评价语言模型优劣的指标,较小的困惑度意味着模型对新文本有着较好的预测效果[30]。困惑度的定义为:

图片[24]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

其中,D表示输入到LDA 模型中的文档集合,M是D中文档的数量,Nd表示文档d中的单词数,分母是所有词数之和,不排重。wd表示文档d中的一个词,p(wd) 为文档中词wd产生的概率,p(wd)=p(zd)×p(wz),p(zd)表示的是一个文档中每个主题出现的概率,p(wz)表示的是词典中的每一个单词在某个主题下出现的概率。

图6 显示了数据集1 和数据集2 取对数后的困惑度随主题数K的变化而变化的情况。从图6 中可以看到,当主题数K分别为480、170 时,两个数据集的困惑度最低,因此在这两个数据集中,主题数分别设为K1=480,K2=170。

(4)LDA 超参数。LDA 主题模型有两个超参数α和β。图7 显示了两个数据集上LDA 超参数α、β对主题分类准确性的影响。图7(a)分析了当β分别取0.1、0.3、0.5、0.7 时α对困惑度的影响,α∈[0,1]。图7(b)分析了当α分别取0.1、0.3、0.5、0.7 时β对困惑度的影响,β∈[0,1]。从图7 可以看出,当α=0.3,β=0.1 时,两个数据集上的困惑度均最低,此时主题分类效果最好,因此本文设置LDA 模型的超参数为α=0.3,β=0.1。

(5)用户(主题)向量维度。LDA-DeepHawkes 模型包含用户嵌入矩阵和主题嵌入矩阵,其中用户嵌入矩阵由用户向量构成,主题嵌入矩阵由主题向量构成。本文设置主题向量的维度与用户向量的维度相同。图8 给出了MSLE随用户(主题)向量维度的变化而变化的情况,从图中可以看出,主题向量维度为50 时,MSLE达到最小。因此本文取用户(主题)向量维度为50。

图片[25]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Fig.6 Perplexity varies with the number K of topics图6 困惑度随主题数K 的变化

图片[26]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Fig.7 Perplexity varies with α and β图7 困惑度随超参数α 和β 的变化

图片[27]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Fig.8 Influence of vector dimension on MSLE图8 向量维度对MSLE 的影响

(6)时间衰减区间。转发的影响随着时间的推移而衰减,DeepHawkes 模型[3]通过非参数方法直接学习时间衰减因子λl。图9 给出了将时间衰减区间长度分别设置为2 min、5 min、10 min 和20 min 时数据集1 上学到的衰减因子,图10 给出了不同时间衰减区间长度下数据集1 和数据集2 的均方对数误差(MSLE)。由图10 可见,当时间衰减区间长度设置为5 min 时,两个数据集的MSLE都较小,因此本文设置时间衰减区间长度为5 min。

(7)GRU 的学习率。本文基于不同的学习率分别对GRU 进行训练。图11 给出了两个数据集上MSLE随学习率的变化而变化的情况,从图11 中可以看出,当学习率介于1×10-4与1×10-3时,MSLE较低。在[1×10-4,1×10-3]区间进一步细化学习率,考察MSLE与学习率的关系,最终设置学习率为5.4×10-4。

图片[28]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Fig.9 Influence of time window on decay effect图9 时间窗口对衰减因子的影响

图片[29]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Fig.10 Influence of time window on MSLE图10 时间窗口对MSLE 的影响

图片[30]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Fig.11 Relationship between MSLE and learning rate图11 MSLE 与学习率的关系

(8)其他参数。与文献[3]类似,本文中每个GRU的隐藏层包含32个神经元,两个全连接层分别包含32 和16个神经元,每次迭代的批处理大小设为32,梯度裁剪值value=0.1,更新门和重置门输出限制为[0,1]。只要验证集的误差在10 次连续迭代中没有下降,训练过程就停止。

4.3 实验结果

本文分别在数据集1 和数据集2 上使用训练集训练模型,使用验证集调整模型参数,使用测试集评价模型的性能。性能的评价包括与Basline 结果和与模型变体结果的比较。同时,本节还考察了算法的收敛性。

4.3.1 性能评价

(1)与Baseline 模型的性能比较。表11 给出了Feature-linear、DeepCas、DeepHawkes 和LDA-Deep-Hawkes 四种模型在数据集1 和数据集2 测试集上的性能表现。

从表11 可以看到,基于深度学习的模型(Deep-Hawkes和LDA-DeepHawkes)比只使用特征的Featurelinear 预测精度高。DeepCas 虽然也使用了深度学习,但模型考虑到的传播因素较少,因此预测效果不如DeepHawkes和LDA-DeepHawkes,甚至不如Featurelinear。与DeepHawkes 模型相比,LDA-DeepHawkes模型误差更小,精度更高,在两个数据集上的平均精度分别提高了6%和10%。并且观察时间越长,LDADeepHawkes 的预测效果越好。实验结果表明本文在DeepHawkes 模型的基础上,进一步考虑消息的文本内容对于提高消息流行度的预测精度是有效的。

(2)与模型变体的性能比较。表12 给出了Deep-Hawkes 和LDA-DeepHawkes 及各种变体模型在数据集1 和数据集2 测试集上的性能表现。

从表12 可以看到:

①在两个数据集的所有观察窗口内DH-U 的MSLE和mSLE都比DeepHawkes 高,除了在数据集1的2 h 和3 h 上DH-P 的mSLE比DeepHawkes低外,DH-P的MSLE和mSLE都比Deep-Hawkes 高,说明同时使用用户信息和级联路径信息对提高消息流行度的预测精度是有益的。

②在两个数据集的所有观察窗口内LDA-DH-S的MSLE都比LDA-DH-M 高,除了在数据集1的2h和数据集2的2h和3h上LDA-DH-S的mSLE比LDA-DH-M低外,LDA-DH-S的mSLE都比LDADH-M高,说明考虑主题的自激效应对提高消息流行度的预测精度是有益的。

③LDA-DH-US、LDA-DH-UM、LDA-DH-P 和LDA-DH-PM 的性能表现说明,用户信息或级联路径信息无论是与一条主题路径结合,还是与多条主题信息结合都有助于提高消息流行度的预测精度。

④在两个数据集的所有观察窗口内LDA-Deep-Hawkes 都取得了最好的MSLE和mSLE,说明综合应用用户信息、级联路径信息及主题路径信息是合理的。

图片[31]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Table 11 Performance of feature-linear,DeepCas,DeepHawkes and LDA-DeepHawkes表11 Feature-linear、DeepCas、DeepHawkes和LDA-DeepHawkes的性能表现

图片[32]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Table 12 Performance of DeepHawkes,LDA-DeepHawkes and their variation models表12 DeepHawkes和LDA-DeepHawkes及各种变体模型的性能表现

4.3.2 算法的收敛性

图12 描述了数据集1 和数据集2 上算法在不同迭代步的MSLE和mSLE。可以看出在两个数据集上MSLE(mSLE)变化趋势相近,并且算法收敛很快,迭代60 次之后,MSLE(mSLE)开始稳定。

图片[33]-基于LDA-DeepHawkes模型的信息级联预测*-游戏花园

Fig.12 Influence of the number of iterations on MSLE(mSLE)图12 迭代次数对MSLE(mSLE)的影响

5 结束语

本文在DeepHawkes模型的基础上进一步考虑了信息的文本内容对于扩散的影响,将LDA 主题模型融入DeepHawkes 模型中,提出了LDA-DeepHawkes模型。该模型既考虑了级联的因素,又考虑了信息的文本内容,从而更加全面地建模了信息扩散过程,在继承DeepHawkes 高解释性的同时,进一步提高了流行度预测的准确度。真实数据集上的实验结果验证了LDA-DeepHawkes模型的有效性。

本文利用神经网络自主学习了用户和主题的嵌入矩阵,这些矩阵中蕴含了用户的行为、偏好、主题间的关联等信息。如何深入挖掘这些信息,为用户提供更好的服务有待进一步的研究。

THE END
喜欢就支持一下吧
点赞167 分享