图1:个性化新闻推荐的流程
个性化新闻推荐的简化流程如图1所示。首先从用户的行为历史中推断用户的个人兴趣,再根据用户兴趣对候选新闻进行个性化排序,最终将排名靠前的若干新闻展示给用户。尽管人们对推荐系统这一领域已经开展了广泛的研究,但新闻推荐仍存在一些独特的挑战:首先,新闻有很强的时效性。新闻平台每天会产生大量新的新闻,而已有的新闻会快速消失。这带来了严重的冷启动问题,并导致许多如协同过滤等基于 ID 来表示用户和待推荐物品的推荐方法无法使用;其次,很多现有的推荐系统使用如 ID 等人工设计的特征来表示待推荐物品。但是,如图2所示,新闻文章具有丰富的文本,并且这些文本包含重要的内容信息。推荐系统需要从新闻文本中了解新闻内容,不能简单地使用 ID 等特征来表示新闻;第三,准确地建模用户对新闻的兴趣存在挑战。用户的兴趣通常比较多样并随时间动态演化,需要基于大量的用户反馈行为来挖掘和建模。然而新闻平台上往往不具有显式的用户反馈,甚至许多用户的隐式反馈也十分稀疏。因此,新闻推荐是一个重要并具有挑战性的研究课题。
图2:Microsoft News 主页及新闻示例
近年来,学术界和工业界的研究人员提出一些基于深度学习的新闻推荐方法,如 Embedding based News Recommendation 等。但这些方法通常是在私有数据集上设计和验证的,这使得其他研究人员难以对这些方法进行验证并提出改进。
很多推荐任务如产品推荐、电影推荐和餐厅推荐等通常有一些公认的基准数据集,例如 Amazon、MovieLens、Yelp 等。然而在新闻推荐领域高质量的基准数据集比较匮乏,严重制约了这一研究领域的进展。目前仅有少数几个公开的新闻推荐数据集,例如 Plista、Adressa、Globo 和 Yahoo! 等。但是,这些数据集存在一些限制。例如,它们大部分不是英文数据集,并且其中一些规模很小,或者新闻信息不完整。在表1中我们总结了这些数据集的具体情况。
表1:已有的若干公开新闻推荐数据集
高质量的基准数据集可以显著促进特定领域的研究,例如 ImageNet 和 SQuAD 数据集极大促进了图像分类和机器阅读理解领域的研究。为了促进新闻推荐领域的研究,我们构建了一个大规模的新闻推荐数据集 Microsoft News Dataset,简称 MIND。MIND 数据集是从六周内 Microsoft News 用户的匿名化新闻点击记录中构建的,它包含16万多条新闻条目,1500 余万次展示记录,以及来自100万匿名用户的2400余万次点击行为。表2展示了 MIND 数据集的一些统计信息。在 MIND 数据集中,每个新闻条目都具有丰富的文本信息,例如标题、摘要、正文、类别和实体。
表2:MIND 数据集统计数据
图3展示了 MIND 数据集中新闻标题、摘要和正文的长度分布,以及新闻文章生存时间的分布。可以看到,新闻标题通常很短,而新闻正文则比较长。另外,大约85%的新闻文章自首次出现算起,大约在两天后将不再显示在新闻主页上,表明新闻信息在网络新闻平台的更新速度很快。
图3:MIND 数据集中新闻标题、摘要和正文的长度分布以及新闻生存时间的分布
新闻推荐的核心任务是根据用户之前在新闻平台的交互行为来预测用户接下来喜欢阅读的新闻,从而对候选新闻进行排序。为了便于模型训练和评估,MIND 数据集中的每个样本都组织为[UserID, Timestamp, ImpressionLog, ClickHistory]的格式。表3展示了一个样本的示例。UserID 和 Timestamp 表示一组新闻在时间 Timestamp 展示给了目标用户 UserID。ImpressionLog 包含了这组新闻中具体包含的新闻及用户和他们的交互行为(点击或不点击)。ClickHistory 是该用户过去点击过的新闻文章的序列,可用于挖掘用户的兴趣。
表3:MIND 数据集中的一个样本示例
MIND 数据集同时提供了新闻条目的详细信息。每个新闻都有 ID、URL、标题、摘要、类别和命名实体信息。此外,我们提供了一个可以从 URL 对应的新闻网页抓取和解析新闻正文内容的工具。表4中展示了一个示例新闻。对于新闻中出现的命名实体,MIND 数据集还提供了从公开知识图谱预训练的实体及其关系的嵌入向量,以促进知识增强的新闻推荐方法的研究。
表4:MIND 数据集中的一条示例新闻
MIND 数据集下载链接为:https://msnews.github.io/
实验结果
实验结果表明,新闻推荐算法往往比通用推荐算法在新闻推荐任务上具有更好的性能。这是因为在通用推荐算法中,新闻和用户使用人工设计的特征来表示,而这些新闻推荐算法则使用自然语言模型从新闻文本中学习新闻内容表示,并使用神经网络从过去点击过的新闻中学习用户兴趣表示。另外,这些新闻和用户表示模型在新闻推荐数据上以端到端的方式进行训练,从而更好地建模新闻推荐的任务特点。
表5:不同算法在测试集上的性能
我们还在 MIND 数据集上比较了现有新闻推荐算法中使用的不同新闻建模方法。表6中的结果表明,与传统方法(如 LDA 和 TF-IDF)相比,如 CNN、LSTM 和多头自注意力机制等基于深度学习的文本表示模型能更好地理解新闻内容。我们也发现注意力机制对于新闻表示非常有用。此外,图4中的结果显示 BERT 等预训练语言模型可以提升模型对新闻内容的理解能力,同时在新闻推荐任务中微调预训练的 BERT 模型可以取得更好的性能。
表6:不同文本建模方法的对比
图4:预训练语言模型的效果
我们还发现,同时使用多种新闻文本(例如标题、摘要、正文、类别和命名实体)往往比单独使用某一种新闻文本更好地理解新闻内容。
表7:使用不同文本信息进行新闻表示的对比
此外,我们还比较了现有新闻推荐算法中使用的各类用户兴趣建模方法。表8结果表明,神经网络可以更好地从用户过去点击过的新闻中建模用户的兴趣。另外,如图5所示,更多的点击行为通常可以帮助更加准确地建模用户兴趣。挖掘冷启动用户的新闻阅读兴趣对于已有的模型是一个巨大的挑战。
表8:不同用户建模方法的对比
图5:历史点击新闻数量的影响
大量实验表明,MIND 可以用作新闻推荐研究的基准数据集。未来我们计划将新闻中的图像和视频信息以及不同语言的新闻条目加入到 MIND 数据集中,以支持多模态和多语言的新闻推荐的研究。除了点击行为外,我们计划增加其它用户交互行为,如阅读、点赞、分享等,帮助进行更准确的用户兴趣建模和推荐性能评估。
除了提升新闻推荐系统的准确性以外,MIND 数据集还能支持对很多其它重要的问题进行研究。例如,如何解决新闻推荐中的信息茧房问题,提升新闻推荐结果的多样性;如何解决新闻推荐中潜在的偏见和不公平性,设计更加公平和可解释的新闻推荐系统;如何在新闻推荐和用户兴趣建模的同时更好地保护用户的行为数据,实现隐私保护的新闻推荐等。MIND 数据集有助于研究者开发更加负责任的新闻推荐系统。除了新闻推荐任务以外,MIND 数据集也可以用于许多其它自然语言处理任务,例如主题分类、文本摘要和新闻标题生成等。