Press "Enter" to skip to content

读者喜欢看什幺文章?腾讯微信融合时间过程与内容特征寻找答案

为了更好地预测网络文章的热度,腾讯微信部门研究者提出了一种将时间过程与内容特征深度地融合到一起的神经网络方法,并在实验中取得了优于 state-of-the-art 的表现。该论文已被 AAAI 2019 大会接收, 并在大会由微信研究者作了主题报告。

 

论文:Popularity Prediction on Online Articles with Deep Fusion of Temporal Process and Content Features

 

 

论文地址:https://www.aaai.org/Papers/AAAI/2019/AAAI-LiaoD.2997.pdf

 

预测网络文章的热度能为推荐、广告和信息检索等应用提供指导。想要达到理想的预测效果,还需要解决一些技术难题。(1)文章热度会在外部因素的影响下波动,这些因素中有相当一部分不可预测,而且难以建模。(2)内容和元数据特征很大程度上决定了网络内容的受欢迎程度,而它们往往是多模态的,难以建模。(3)此外,还需要搞清楚如何将时间过程和内容特征建模整合到一起,以预测网络文章在不同生命周期阶段的热度变化。为了解决这一问题,我们在本论文中提出了一种时间过程和内容特征深度融合(DFTC)的方法。为了建模文章热度变化的时间过程,我们采用了循环神经网络和卷积神经网络相结合的方式。为了多模态内容特征,我们利用了层次注意网络(Hierarchical attention network)和特征 embedding 技术。最后,我们使用了一种基于注意力的融合机制来动态地整合所有这些部分。基于从微信收集到的公众号文章阅读数据集,我们用充分的实验说明在热度预测上,文章提出的模型的表现显着优于之前最佳的方法。

 

引言

 

包含门户网站上的新闻和社交网络中的博客在内的网络文章已经成为了人们最重要的信息来源。网络文章的热度(popularity)描述的是它受到的关注程度,这可以通过总浏览量来度量。受欢迎程度是内容提供者的一种度量内容质量的方式,也是内容消费者过滤信息的一种方式。不幸的是,我们只能在网络文章的生命周期之后才能得到文章的最终热度。在早期阶段预测文章热度能为很多应用带来助益,比如推荐、广告和信息检索(Gao et al. 2018; Liu et al. 2016)。此外,研究「如何在任意时间预测网络内容的最终热度」问题也具有学术价值和行业实用价值。

 

近来已经有很多研究者关注热度预测问题。学者们处理这一问题的方法有两大类:时间过程建模和内容特征建模。时间过程建模是基于时间片段中的聚合浏览量的时间演进过程来预测热度。如图 1 所示,累积浏览量会随时间而增长,同时会在外部因素的影响下表现出意料之外的激增。大多数已有研究都是基于对外部影响的特定假设来得到短期的波动情况(Zhao et al. 2015; Cao et al. 2017; Rizoiu et al. 2017)。但是,很多外部因素都是不可预测的。特定的假设会限制这些模型的预测能力。Yu et al. 试图基于人工设计的「阶段(phase)」,从时间过程本身之中提取出热度的波动情况(Yu et al. 2015)。但是,外部因素的影响可能涵盖不同的范围和持续时间。以人工的方式假设波动的量和形状是很困难的。在这一大类方法中,如何自动提取短期的波动情况仍然是一个悬而未决的问题。

 

 

图 1:这两幅图展示了微信中文章受欢迎程度的时间动态。(a)所有文章的归一化总浏览量累积过程。(b)一篇示例文章的每小时浏览量变化情况。

 

另一方面,近期的研究也已经证明了内容特征在受欢迎程度预测上的有效性,比如短文本描述、标题和图像(Zhang et al. 2018; Piotrkowicz et al. 2017; Sanjo and Katsurai 2017)。但是,网络文章通常是不易建模的长文本,而且文章元数据特征(如标题、类别、作者信息等)的不同形式又会进一步复杂化内容特征建模。这些已有研究都没有能充分利用长文本和元数据特征来预测网络文章的受欢迎程度。

 

与此同时,在网络文章的不同生命周期阶段,这两类方法都有它们自己的长处和短板。时间过程建模依赖于热度变化的历史序列,其表现会随时间越来越好,因为已知的历史热度会越来越接近整体受欢迎程度。相对而言,网络内容发表后的初期想要很好的你和热度变化整体趋势是很困难的。然而在实际应用中,在网络文章的生命周期早期阶段预测最终热度是很有价值的,这让我们可以推荐潜在的「热门」文章以及过滤掉枯燥无趣的文章。另一方面,内容特征不会随时间变化。因此内容特征建模在早期阶段更为可靠。但是内容特征又无法利用文章热度受欢迎程度的时间演变情况。因此,我们应该将时间过程和内容特征建模整合起来,以便利用两者各自的优势。然而,不同文章的受欢迎程度演进会表现出不同的增长率和波动。向量连接(vector concatenation)或线性组合等直观的融合方法缺乏处理受欢迎程度演变过程多样性的灵活性。

 

受上述难题启发,我们提出了一种时间过程与内容特征深度融合(Deep Fusion of Temporal process and Content features)的神经网络方法。图 2 展示了 DFTC 的框架。在我们的模型中,我们使用了以下技术来解决上述难题:(1)为了建模时间过程,我们采用了 循环神经网络 (RNN)来获取受欢迎程度的长期增长趋势。对于短期波动,我们采用了基于注意力 卷积神经网络 (Attention CNN)来自动提取增长和下降「阶段」。(2)为了建模内容特征,我们利用了分层注意网络(HAN)(Yang et al. 2016)来获取文本特征,并使用了特征 embedding 来建模元数据特征。(3)对于时序建模和内容建模的动态融合,我们利用了一个基于时间的注意力机制。根据上述所有建模技术的输出和时间背景来学习用以结合这些建模技术的灵活权重。此外,我们还从微信收集了真实世界数据集,并为评估不同阶段的预测表现而进行了充分的实验,实验结果验证了我们提出的 DFTC 方法显着优于其他方案。为了说明 Attention CNN 对于短期波动的建模以及注意力融合机制的效果,我们还做了一个针对 Attention CNN 和注意融合的效果的案例研究。

 

 

图 2:时间过程与内容特征深度融合(DFTC)模型的整体框架

 

本文的主要贡献总结如下:

 

我们使用了 RNN 来自动学习时间过程的长期增长趋势,使用了 CNN 来自动学习短期波动情况,而没有对外部因素做出具体假设或人工设计「阶段」。

 

我们为文本特征使用了分层注意网络(HAN),为元数据特征使用了嵌入技术,并为动态地整合时间过程和内容特征建模而使用了时间注意融合。

 

实验结果表明新提出的模型的表现显着优于当前最佳的方法,表明了我们的方法的有效性和优越性。

 

数学形式的问题描述

 

我们将受欢迎程度预测任务视为一个分类问题,并将总浏览量分成了 n 个区间 ,分别代表网络文章不同的受欢迎程度水平。我们的目标是预测网络文章在发布之后的任意时间的受欢迎程度。为了便于计算,我们将连续的时间分成时间段,并将用户反馈事件量聚合为时间序列。这里的用户反馈事件不仅包含「浏览」,还包含很多应用中的「分享」、「评论」或「喜欢/点赞」。我们将时间段 t 中这些时间的量取为反馈向量 v_t。更正式而言,对于网络内容 c,给定任意时间段 t 和历史反馈序列 ,目标是预测 c 的整体受欢迎程度。

 

模型

 

我们会在这一节介绍新提出的时间过程与内容特征深度融合(DFTC)模型。图 2 展示了该模型的整体框架。DFTC 包含三个部分:时间过程建模、内容特征建模和注意融合。时间过程建模以历史反馈序列 为输入,并采用循环神经网络来建模长期增长趋势,采用卷积神经网络来获取短期波动情况。在内容特征建模中,我们使用分层注意网络来学习文本特征,使用嵌入技术来提取元数据特征。最后,我们通过时间注意融合将所有这些部分动态地组合到一起。

 

 

图 3:(a)用于获取短期波动情况的注意 CNN 的架构。(b)用于建模文本内容特征的分层注意网络(HAN)。

 

时间过程建模

 

我们使用了循环神经网络(RNN)来建模文章热度的时间演进过程,即拟合图 1(a) 中的曲线。在这里我们使用了使用最广泛的 RNN 结构长短期记忆网络(LSTM)。在文章热度的时间过程建模方面,如何捕捉外部因素造成的短期波动是主要难点。如图 1(b) 中所示,短期波动从单位时间阅读量变化的曲线上来看,是形成了若干「波峰」、「波谷」的结构,因此我们采用 1D-CNN 来自动捕捉这种平移不变的局部结构。考虑到不同外部因素影响的持续时间不同,也就是不同「波峰」的宽度不同,对此我们采用 k 组不同尺度的卷积核进行卷积操作。由于 1D-CNN 的输入需要固定长度,我们截取一个时间窗口的热度时间序列作为输入,并使用一个 Attention 层在时间维度进行融合。

 

内容特征建模

 

包括文本特征和元数据特征在内的网络文章的内容特征很大程度上决定了它们的受欢迎程度。网络文章通常是长文本文档,比如新闻文章和博客。受神经网络在自然语言处理领域的巨大成功的启发(Lai et al. 2015; Yang et al. 2016; Huo et al. 2016),我们采用了分层注意网络(HAN)(Yang et al. 2016)来建模文本内容特征。图 3(b) 展示了 HAN 的框架。考虑到文档固有的层次结构(即词构成句子,句子构成文档),HAN 使用两级编码器和注意(应用在词层面和句子层面)来将文档编码成向量。词层面和句子层面的编码器都是门控循环单元。有关 HAN 的更多详情,请参阅他们的研究文章(Yang et al. 2016)。此外,标题是文章的高层面概括,能为读者提供初步印象。我们还会学习一个标题表征向量用作补充。因为标题通常是一个短语或一个句子,所以我们仅使用了词层面的编码器和注意来将这个短文本编码成向量。然后我们可以将文档向量和标题向量连接到一起作为文本特征。

 

元数据特征既包含 one-hot 特征(比如文章类别),也包含数值特征(比如作者的粉丝数)。我们利用了 embedding 技术来将这些特征映射为同一特征空间的向量,并应用了全连接层进行特征组合。如图 4 所示,我们通过 embedding 矩阵将 one-hot 特征嵌入到了向量中。另一方面,我们用 embedding 向量乘上数值特征以将它们映射成对应的密集向量。最后我们连接这些 embedding 向量并应用全连接层将所有元数据特征组合到一起。

 

 

图 4:(a)用于元数据特征的嵌入技术示意图。(b)时间注意层的架构。

 

基于注意力机制的融合

 

如何整合以上各个部分是个值得思考的问题。上文提到,在文章发布后的不同阶段,基于时间过程的模型和基于内容特征的模型的预测能力不同,因此需要一个灵活可变的权重,根据当前的文章生命周期阶段以及各个子模型的预测结果来动态整合。对此,我们采用了注意机制来实现,如图 4(b) 所示。其中分别是 RNN,CNN,HAN 和 embedding 的输出,t 是时间特征。在这里用到的时间特征是距离文章发布的时间间隔以及 weekday 和 hour of day 特征。Attention权重的计算公式如下:

 

 

时间衰减的损失

 

为了帮助我们的模型在早期阶段投入更多精力来优化预测性能,我们为单步骤损失乘上了一个时间衰减因子。

 

 

实验

 

我们收集了 2018 年 5 月-7 月的 6 万篇微信公众号文章的热度数据,将文章热度分为 3 类,爆款(阅读量>10000),冷门(阅读量<100)和普通 (其它)。由于文章阅读量分布是一个极端幂律分布,我们采用分段降采样的方式,得到一个类别基本平衡的数据集作训练 (training set) 和测试 (balanced test set),此外还根据按照真实分布采样了 2 万篇文章作为另一个测试集 (random test set). 数据集统计情况如下:

 

 

表 1:数据集统计情况

 

我们首先跟基于特征的分类方案(分类器分布是 LR 和 RF)以及 state-of-the-art 的时序预测方案(HIP,VoRNN,CACNN)进行了对比,对比指标是分类准确度和三类各自的 F1 性能,可以看出我们的方案取得了最优的效果。

 

此外,跟模型自身的简化版(DFTC-TS 只包含时序预测部分,DFTC-SF 只包含内容建模部分,DFTC-SM 包含时序和内容建模但不包含注意力融合机制)对比中,最终版模型 DFTC 同样取得了最佳效果。

 

 

表 2:整体预测表现

 

为了说明 Attention CNN 对短期波动建模的有效性以及 Attention Fusion 部分的效果,我们随机选取一篇爆款文章作为案例分析。图 5(a) 是平均注意力权重的热图和时间序列短期波动折线图的对应关系,可以看出 RNN 部分的权重随时间增长,内容特征权重随时间衰减,CNN权重变化对应于波动情况,与预期情况相符。

 

 

图 5:表现分析。(a)平均注意权重α^m 的热图和每 10% 的时间序列的短期波动情况折线图。RNN 的权重随时间增大,CNN 的权重对应于波动情况。(b)在文章发布后的前五个小时里的平均准确度。(c)当观察到的热度达到最终热度的 10%-50% 时的平均准确度。

 

最后,在文章热度预测问题上,我们更关注于在文章发布初期的预测性能。图 5(b) 和图 5(c) 分别是文章发布后前 5 个小时的平均准确度和观察到的热度达到最终热度 10%-50% 时的平均准确度,可以看出我们的方法在文章发布早期获得了显着提升。特别是加了时间衰减因子后的模型 (DFTC-DL)。

 

致谢

 

感谢我们的微信同事 Shen Huang,他为本研究的实验和论文书写提供了巨大的帮助。也要感谢我们的微信同事 Zhe Feng、Yuetang Deng、Zhiping Wang 和 Yandong Bai 为本研究提供的有用讨论和支持。还要感谢西北工业大学的 Feiping Nie 教授和康奈尔大学的 Yudong Chen 教授提供的宝贵建议. 该模型已经作为选择文章的一个重要方法在微信看一看场景应用。

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注