前言:
眼前兄弟们对“大数据推荐算法都有哪些”都比较关切,小伙伴们都想要了解一些“大数据推荐算法都有哪些”的相关内容。那么小编在网络上搜集了一些关于“大数据推荐算法都有哪些””的相关资讯,希望看官们能喜欢,姐妹们一起来了解一下吧!今天要跟大家分享的是有关个性化新闻推荐算法的内容,我们将以一篇名为《Personalized News Recommendation: A Survey》的综述文章为基础,并加入一定的分析和补充,介绍个性化新闻推荐算法的现状和发展方向。
本文的框架如图1所示:
图 1 文章框架
背景介绍
在互联网时代,在线新闻发布平台(如百度新闻等)层出不穷,由于在线新闻的方便性和及时性,许多用户已将新闻阅读从传统报纸端转向数字新闻端。然而,对读者而言,面对每天大量发布的新闻内容,想要通过浏览全部的新闻内容以搜寻其感兴趣的信息几乎是不可能的。因此,个性化新闻推荐(personalized news recommendation)技术应运而生,它能根据用户的个人兴趣为其推选新闻。对于新闻平台而言,个性化推荐在帮助缓解用户信息过载、提高新闻阅读体验等方面起到了至关重要的作用。
图2展示了个性化新闻推荐系统的工作流程。当用户访问新闻平台时(①Visit),平台会从大规模的新闻池中召回一小部分候选新闻(②Recall),推荐算法会根据用户在过往的阅读中展现的兴趣给这些候选新闻进行排名(③Ranking)。然后,将排名前K位的新闻展示给用户(④Display),平台会记录用户在这些新闻上的各种行为(如点击、评论等)以更新维护用户档案(⑤Update),为今后的个性化推荐做好准备。
图 2 个性化新闻推荐系统工作流程
图3是一个通用的个性化新闻推荐模型的开发框架,主要包含以下几个关键性的步骤。首先,新闻模型是新闻推荐的基础,其中的一个核心问题是如何理解新闻的内容和特点。其次,用户模型是理解用户个人兴趣对新闻推荐的关键,如何从用户档案(比如用户过去的行为)中准确推断用户的兴趣至关重要。在此基础上,根据用户模型和新闻模型构建相应的用户和新闻表示。接下来,就是根据特定的策略(比如新闻和用户兴趣之间的相关性)来对候选新闻进行排名。随后,训练具有合适目标的推荐模型以进行高质量的新闻推荐,再对推荐模型的推荐结果进行评价。
图 3个性化新闻推荐模型的开发框架
这样的个性化新闻推荐工作具有很大的挑战性。首先,新闻网站上文章的生命周期通常很短,每天都有很多新的新闻出现,旧的新闻在很短的一段时间内就会过期,新闻推荐面临严峻的冷启动(cold-start)问题。其次,新闻通常含有丰富的文本信息,如标题和正文。因此,利用先进的自然语言处理(natural language processing,NLP)技术从新闻文本中提取新闻的核心内容至关重要。此外,新闻平台上通常没有明确的用户反馈内容(如评论和评分)。因此,平台就需要从用户的隐式反馈(比如点击)中推断其个人兴趣。然而,用户的兴趣通常是多样且动态的,这给用户建模带来了巨大的挑战。这些复杂性使得越来越多的学者投入到个性化新闻推荐的研究中来,也产生了各种相应的解决方法。接下来我们将分别对以上这些问题进行展开讨论。
模型构建
个性化新闻推荐系统中的模型可以分为两部分:新闻模型和用户模型。对新闻建模的目的是了解新闻的特点和内容,对用户建模的目的是理解用户的个人兴趣。虽然两者建模的对象不同,但总体来说建模方法可以分为三类:基于特征的模型(featured-based news modeling)、基于深度学习的模型(deep learning-based news modeling)以及基于知识图谱(knowledge graph-based modeling)的模型。
1.基于特征的模型
(1)新闻模型
新闻模型主要使用的四种特征如图4所示。
图 4 新闻模型的四种特征
内容特征(Content Feature)
由于传统的基于ID进行新闻建模的方法存在许多缺陷,基于新闻内容进行建模的方法逐渐流行起来。例如, Gershman et al.(2011)考虑根据从新闻文本中提取到的TF-IDF(Term Frequency-Inverse Document Frequency)特征进行建模。在新闻文章中,实体/概念类词语在理解新闻内容时通常比其他词语更重要。因此,许多方法使用新闻文本中的实体/概念来表示新闻内容。例如, Goossen et al.(2011)提出使用CF-IDF(Concept Frequency-Inverse Document Frequency)对新闻内容进行建模。CF-IDF是TF-IDF的一种变体,它使用从WordNet中提取的概念的频率,而不是词语的频率。Capelle et al.(2012)基于WordNet中同义词出现的频率,提出了使用SF-IDF(Synset Frequency-Inverse Document Frequency)对新闻内容进行建模的方法。通过考虑概念之间的关系,在WordNet中添加与其已包含的概念有关系的其他概念来扩展新闻中的同义词概念集, Moerland et al.(2013)提出了SF-IDF+的方法,该方法可以认为是SF-IDF的升级版。
除了语义特征之外,还可以探索其他类型的内容特征来增强建模。例如, Garcin et al.(2011)提出可以使用LDA方法从新闻的标题、摘要和主要内容中提取主题。Parizi and Kazemifard(2015)提出了提取新闻中语句的情感特征作为TF-IDF的补充信息的方法。在这种方法中,情感由包含6个情感类别的Ekman模型来表示。同时,该团队继续开发了该方法的一个变体,把新闻的情感倾向(积极的、中性的、消极的)也加入到模型中。
属性特征和语境特征(Property Feature and Context Feature)
除了内容特征之外,还有许多其他的特征可以用于新闻建模,大致可以分为属性特征和语境特征两类。属性特征指的是新闻的类别、地理位置和发布者等能够反映新闻内在属性的特征,其中使用最广泛的就是新闻类别,因为它是对新闻内容建模和用户兴趣定位的重要线索。另一个有代表性的属性特征就是新闻的地理位置,用于向用户提供与他们感兴趣的地区相关的新闻。此外,来自不同发布者的新闻在内容和主题上可能会存在差异,因此也可以考虑发布者的信息,以丰富新闻建模的内容。
与属性特征这类静态特征不同,新闻的语境特征通常是动态的。流行度和新鲜度是两个具有代表性的语境特征,分别反映新闻的吸引力和时效性。例如, Lee and Park(2007)开发的MONERS新闻推荐系统就是使用新闻的类别、新闻发布者给出的新闻重要性以及新闻的发布时间来表示新闻文章。
协同过滤特征(CF Feature)
协同过滤是根据兴趣相投的其他用户的喜好来进行新闻推荐。在许多基于协同过滤(collaborating filtering,CF)的方法中,新闻文章由协同过滤信号来表示,比如新闻ID。也就是说,在协同过滤的方法中,只考虑新闻的ID就可以。然而,这样会导致新闻的内容是不可知的。绝大多数新闻网站上,新闻发布的速度非常快。处理每日新增新闻的困难会导致这些建模方法遭遇严重的冷启动问题。所以,简单的采用新闻的ID来表示新闻文章是不合适的。
(2)用户模型
用户模型是基于与用户交互的新闻模型来进行建模。此外,用户模型还可以引入额外的用户特征来实现个性化理解。个性化新闻推荐中的一个用户建模框架如图5所示。
图 5 用户建模的框架
新闻特征(News Feature)
与新闻建模类似,在基于CF特征的方法中,用户也用他们的ID来表示。然而,基于ID的用户建模方法通常会遭受严重的数据稀疏问题。因此,大多数方法考虑用户的行为,比如新闻点击,来对其兴趣进行建模。一种直观的方法是使用已点击的新闻的特征来构建用户特征。例如, Goossen et al.(2011)使用已点击新闻的CF-IDF特征来表示用户的兴趣。Capelle et al.(2012)提出利用已点击新闻的SF-IDF特征来进行用户建模。Garcin et al. (2012)提出将所有已点击新闻的LDA特征聚合为一个用户向量来对用户进行建模。然而,当用户的新闻点击行为稀疏时,这些方法很难对用户进行准确的建模。而且新闻点击有时不一定能表示用户的兴趣,因此还可以同时考虑其他类型的用户行为或反馈。比如, Gershman et al.(2011)通过用户的阅读行为提取特征:仔细阅读(视为正面新闻)、拒绝阅读或者滚屏阅读(均视为负面新闻)。此外,用户在其点击新闻上的停留时间也是反映用户兴趣的一个重要指标。Yi et al.(2010)研究了以停留时间作为用户点击新闻的权重来进行用户建模的方法。
其他特征
在用户建模时除了考虑新闻特征外,还可以考虑用户的其他补充信息。例如,在MONERS新闻推荐系统中,用户被聚类为多个类别,进而使用各个用户类别对新闻类别和新闻文章的偏好来表示用户(Lee and Park,2007)。此外,用户的人口统计数据,比如年龄、性别和职业,也是用户建模的有效信息。因为不同人口统计群体的用户通常对新闻有着不同的偏好。因此,有很多方法结合了用户的人口统计特征。例如, Yeung and Yang(2010)建议使用用户的年龄、性别、职业和社会经济条件来帮助识别其对新闻的偏好。此外,用户的地理位置信息对于用户建模也十分有用。但是诸如地理位置这样的用户特征可能是隐私敏感的,很多用户可能无法准确的提供相关信息。
演化特征(Evolutionary Features)
考虑到用户兴趣具有演化特征,因此可以同时对长期和短期用户兴趣进行建模。Billsus and Pazzani(2000)提出的模型可能是最早考虑长短期用户兴趣的方法之一。在该方法中,用户被表示为一个混合模型,该模型基于最近浏览的新闻来建模用户的短期兴趣,并通过TF-IDF值对每类新闻中的词语进行排序,选择排名靠前的词来建模用户的长期兴趣。Li et al.(2011)提出了一种名为LOGO的新闻推荐方法。这是一种同时模拟长期和短期用户兴趣的新闻推荐方法,它使用用户已点击新闻的主题分布的加权和来表示用户的长期兴趣,使用最近点击的新闻的主题分布来表示用户的短期兴趣。Viana and Soares(2017)提出了另一种基于长短期用户兴趣的新闻推荐方法。在这种方法中,用户的长期兴趣由该用户读取特定标签的频率来表示,短期兴趣由几个最近点击的新闻来表示。
2.基于深度学习的模型(deep learning-based news modeling)
随着深度学习技术的发展,产生了许多利用神经网络自动学习特征的方法。
(1)新闻模型
很多学者使用NLP技术从新闻文本中学习新闻表征的方法。例如, Okura et al.(2017)提出了一种基于词嵌入的新闻推荐方法(EBNR),该方法使用一种改进的去噪自动编码器从新闻文本中学习新闻表示。此外,RA-DSSM也是一种神经网络新闻推荐方法,它整合了与DSSM(Deep Structured Semantic Model)类似的体系结构。这种方法首先使用doc2vec工具建立新闻的表示,然后使用两层神经网络来学习隐藏的新闻表示。
还有一些方法使用更高级的神经NLP模型进行文本建模。例如,Khattar et al.(2018)使用2维CNN模型来学习新闻表示。Wu et al.(2019)使用CNN模型来建立新闻标题中单词的上下文表示,并通过选择个性化行为中的重要单词来建立新闻表示。Qi et al.(2020)通过CNN模型和多头自我注意网络(multi-head self-attention networks)的组合从新闻标题中学习新闻表示。这些方法通常基于浅层文本模型和非上下文的词嵌入模型来学习新闻表示,不足以捕捉新闻中的深层语义信息。为了改进这一不足,最近的很多研究探索使用预训练的语言模型(pre-trained language models,PLMs),如BERT,增强新闻建模。例如,Wu et al.(2021)使用不同的PLMs来支持英文及多语言的新闻推荐。
此外,还有一些方法不仅对新闻文本中的语义信息进行建模,而且通过引入补充信息和常识信息,研究利用新闻文本中的内涵或关键字来增强新闻建模。例如,Zhu et al.(2019) 通过两个具有最大池操作的并行CNN网络从新闻标题和实体中学习新闻表示。Zhang et al.(2019)从新闻内容、新闻ID和新闻元素(新闻主体和关键字)中学习新闻表示。该方法先通过doc2vec将新闻内容中的语句转换成词向量,然后经由一个语句级的注意力网络(sentence-level candidate-aware attention network)整合成一个整体。每条新闻用其词嵌入的平均值来表示,每个元素表示通过一个元素级的注意力网络(element-level candidate-aware attention network)综合在一起。每条新闻的文本、ID和元素的嵌入被串联在一起,形成统一的新闻表示。
为了更好的对新闻文章的特征进行建模,有些方法探究将文本之外的其他新闻信息纳入到新闻建模的过程中。例如,Zhang et al.(2018) 提出通过字符级CNN(character-level CNN)从新闻ID、类别、关键字和实体中学习新闻表示,这里的新闻类别就是作为额外的信息引入模型中。Park et al.(2017)提出了一种基于LSTM的新闻推荐方法。这种方法使用专有的语料库训练doc2vec模型,将新闻文章编码成向量进行表示,并且使用LSTM网络从新闻表示生成用户表示。该方法也将新闻类别纳入了新闻表示中。
(2)用户模型
采用深度学习技术进行用户建模,能够消除人工特征工程的环节。深度学习技术从历史新闻点击行为中推断用户的兴趣。例如,Okura et al.(2013)通过GRU网络从用户浏览的新闻中学习用户的表示。Khattar et al.(2017)使用指数贴现函数为权重,将点击新闻的表示加权求和,越近点击的新闻权重越高。Kumar et al.(2017)使用双向长短期记忆网络(Bi-LSTM network)来处理历史新闻点击序列,然后使用新闻级的注意力网络来形成用户表示。
还有一些方法结合了额外的用户信息来增强用户兴趣建模。例如,Moreira et al.(2018)使用了一些用户情景特征,比如时间、设备、位置等。该方法使用UGRNN网络学习用户表示,并通过用户和新闻表示之间的余弦相似度来评估点击得分。Wu et al.(2019)考虑了不同类型的用户行为,包括新闻点击、搜索查询以及网页浏览等。这种方法分别学习不同类型的用户嵌入(user embedding),进而将不同类型的用户行为合并为不同的用户视图。使用CNN和注意力网络相结合的方法学习用户的行为表示,使用行为注意力网络(behavior attention network)选择重要的用户行为来学习用户嵌入。
还有几种方法能够学习图形上的用户表示。例如,Qian et al.(2019)使用点击新闻的平均嵌入来学习基于内容的用户表示,并通过图神经网络(graph neural network,GNN)从用户点击的新闻图中学习基于图的用户表示。再将两者结合起来,形成统一的用户表示。Hu et al.(2020)使用与深度注意力神经网络(deep attention neural network,DAN)相同的体系结构来学习短期的用户表示,并使用两层图神经网络从各种各样的新闻-用户-话题图中学习长期的用户表示。再将两者结合起来,构建统一的用户表示。
3.基于知识图谱的模型(knowledge graph-based news modeling)
知识图谱(knowledge graph,KG)的概念最初发展于20世纪80年代,是一种用于表示来自多个领域大规模信息的方法。描述KG的一种常见方式是资源描述框架(resource description framework,RDF)标准,也就是用节点表示实体,图中的边表示实体之间的关系,每条边都以三元组(头实体、关系、尾实体)的形式表示。边在图中也称为事实,表示头实体和尾实体之间的特定关系。例如,(Donald Trump,president_of,America),这样的一个KG表示唐纳德·特朗普是美国的总统。KG是一个异构网络,因为其中包含多种类型的节点和关系。这样的图具有很强的表示能力,因为实体的属性可以通过图中的边获得,实体之间的强联系能够通过这些关系得以展现。2012年,谷歌将KG引入搜索框架,以便更好的理解查询过程,提升用户体验。到目前为止,KG已经应用于多种场景,包括搜索引擎、推荐系统、问答系统、关系检测等。新闻推荐系统中与KG有关的方法大致可以分为以下三类:基于嵌入的方法(embedding-based methods)、基于路径的方法(path-based methods)和混合的方法(unified methods)。
(1)基于嵌入的方法(Embedding-based methods)
基于嵌入的方法一般直接使用KG中的信息来丰富新闻或用户表示。为了充分利用信息,需要应用知识图嵌入(knowledge graph embedding,KGE)算法将KG编码为低秩嵌入(low-rank embedding)。KGE算法大致可分为两类:翻译距离模型,比如TransE(Bordes et al,2013)、TansH(Wang et al,2014)、TransR(Lin et al,2015)等,以及语义匹配模型,比如DistMult(Yang et al,2014)等。
根据KG中是否包含用户信息,基于嵌入的方法还可以分为两类。第一类方法是利用从数据集或外部知识库中提取的新闻及其相关属性来构造KG。这样构造的图命名为项图(item graph)。值得注意的是,项图中并不包含用户信息。遵循这一策略,使用KGE 算法对图进行编码,可以更全面的表示新闻,然后将新闻边的信息整合到推荐系统的框架中。该方法的总体思路可以说明如下:通过聚合多方面的信息,比如KG、用户-新闻交互矩阵、新闻内容、新闻属性等,得到每个新闻的潜在向量。每个用户的 潜在向量既可以通过用户-新闻交互矩阵提取,也可以通过新闻的嵌入组合来提取。
综上所述,大多数基于嵌入的方法构建了具有多种新闻信息的KG,以丰富新闻表示,同时使用这些信息更精确的建立用户模型。还有一些模型,比如Zhang et al.(2018)、Wang et al.(2018),通过在图中引入用户信息来构建用户-新闻图,能够直接对用户偏好进行建模。此外,实体嵌入是基于嵌入方法的核心,为了能更好的进行推荐,一些学者使用GAN(Yang et al,2018)或BEM(Wang et al,2019)对嵌入进行了改进。基于嵌入的方法本质上利用了图形结构中的信息。Wang et al(2019)应用多任务学习策略,将推荐模块与图相关任务进行联合训练,提高了推荐质量。
(2)基于路径的方法(path-based methods)
基于路径的方法构建用户-新闻图,并且利用图中实体的连接模式进行推荐。该方法发展于2013年,此前的论文中将这种方法称为HIN中的推荐方法(recommendation in the HIN)。该方法利用用户和/或新闻之间连接的相似性来增强推荐。
最近,有学者提出了一种新的框架,学习连接用户-新闻路径的显示嵌入,以便直接对用户-新闻关系进行建模。
(3)混合的方法(unified methods)
基于嵌入的方法利用KG中用户/新闻的语义表示进行推荐,而基于路径的方法使用语义连接信息,两种方法都只利用了图中信息的一个方面。为了充分利用KG中的信息进行推荐,有学者提出了将实体和关系的语义表示与连接信息相结合的混合方法。该方法基于嵌入传播的思想,结合KG中连接结构提供的信息,对实体表示进行了细化。在获得用户 和/或新闻的丰富表示之后,可以使用先前提到的公式(1)预测用户的偏好。
新闻排名
新闻排名是在新闻和用户建模的基础上,根据用户的个人兴趣对候选新闻进行个性化排名。常用的新闻排名技术可以分为两大类,即基于相关性的排名(relevance-based news ranking)和基于强化学习的排名(reinforcement leaning-based news ranking)。
1.基于相关性的排名(relevance-based news ranking)
基于相关性的新闻排名方法通常根据新闻的个性化相关性对用户感兴趣的候选新闻进行排名。在这种方法中,如何准确度量当前新闻与用户兴趣之间的相关性是一个核心问题。许多方法基于最终表示的相似性来评估用户-新闻的相关性。例如,Goossen et al.(2011)计算用户和新闻的CF-IDF特征向量之间的余弦相似度衡量两者的相关性。Garcin et al.(2012)利用新闻主题向量与用户主题向量之间的相似度来评价两者的相关性。Okura et al.(2017)使用新闻和用户表示之间的内积来预测相关性得分。
然而,用户的兴趣通常是多元的,候选新闻可能只与用户兴趣中的一部分相匹配。因此,一些方法使用更细粒度的兴趣匹配来建模用户兴趣与候选新闻之间的相关性。例如,Wang et al.(2020)首先将候选新闻和点击新闻的表示相乘,然后使用三维CNN网络的匹配模块,通过捕捉候选新闻与点击新闻之间的细粒度关联性来计算其相关性分数。Qi et al.(2021)首先使用新闻联合编码器对候选新闻和点击新闻中词语和实体之间的关联性进行建模,然后使用用户-新闻联合编码器进一步对点击新闻和候选新闻之间的交互进行建模。
在大多数方法中,与用户兴趣相关性更高的候选新闻会获得更高的排名,但这些方法可能会倾向于推荐与用户之前点击的新闻相似的新闻,这就是所谓的“过滤泡沫”问题(filter bubble problem)。因此,一些新闻排名方法会尝试推荐与之前点击的新闻略有不同的新闻。例如NewsComkie系统,它基于用户先前点击的新闻上下文中的新颖性对候选新闻进行排名(Gabrilovich et al,2004)。
2.基于强化学习的排名(reinforcement leaning-based news ranking)
基于相关性的排名方法主要针对当前候选文章的某种具体目标(比如点击量)进行优化,而基于强化学习的排名方法通常以优化长期总回报为目标。一种具有代表性的基于强化学习的个性化新闻推荐方法是LinUCB(Li et al,2010),它将个性化新闻推荐问题建模为上下文的强盗问题(bandit problem)。在该方法中,LinUCB通过混合线性模型计算收益。其中的块参数(block parameter)具有固定的位数并且能够不断更新,在计算上十分高效。
现存的问题和未来的发展方向
通过以上的总结,可以发现个性化新闻推荐技术在过去的几年中取得了长足的进步。然而在这个领域中仍然存在着许多尚待解决的问题,由此可以提出几个值得探索的方向。
1.对新闻的深度理解(deep news understanding)
新闻建模是个性化新闻推荐的核心。它可以在以下几个方面进行改进。首先,文本理解是新闻建模的核心问题,现有的方法还无法深入理解新闻的文本内容。因此,使用更高级的自然语言处理技术(例如,知识感知的PLM)能够有助于更好的理解新闻事件并且改进新闻建模。其次,除了文本信息,新闻还包含丰富的多形态信息,比如图像、视频等,这些内容可以为新闻理解提供补充信息,提高新闻理解的全面性。最后,新闻建模涉及到很多新闻内容中并未包含的关键因素,比如发布者、流行度和新鲜度等。需要一个统一的框架来整合各种信息(比如属性特征和上下文特征),同时有效的对不同特征之间的相关性进行建模。对这些方向的进一步研究有助于更准确、深入地理解新闻,为后续的用户建模和新闻排名提供依据。
2.通用的用户建模(universal user modeling)
用户建模对于理解用户的新闻兴趣至关重要。然而,对于个性化新闻推荐技术而言,准确并全面地对动态的用户兴趣进行建模十分困难,需要一个能够对各种用户兴趣进行建模的通用用户建模框架。这个框架应该满足以下几点要求。首先,该框架能够从多种用户行为和反馈中综合推断用户兴趣。点击行为中会包含许多噪声,对某些用户而言这可能是稀疏的,因此仅从点击行为来建模用户兴趣是不够的。其次,该框架需要对多样化、多粒度的用户兴趣进行建模。单独的用户嵌入可能不足以对用户兴趣进行全面的建模,因此使用更复杂的结构(比如嵌入集合和图)来表示用户兴趣会更合适。最后,该框架能够捕捉用户兴趣的动态变化。由于用户兴趣通常是随时间进行演变的,因此了解不同时期的用户兴趣并对其内在关系进行进一步建模具有重要意义。
3.高效的新闻排名(effective news ranking)
新闻排名是个性化新闻推荐中必不可少的一步,主要有三个发展方向。首先,现有的新闻排名方法主要基于候选新闻和用户兴趣之间的粗粒度相关性,这会对准确定位用户兴趣产生一定的影响。虽然有一些方法能够对用户和新闻之间的细粒度相关性进行建模,但是效率不高,不适用于计算资源和延迟容忍度有限的场景。因此,开发高效的新闻排名方法对提高在线新闻推荐系统具有重要意义。其次,单纯根据相关度对新闻进行排名可能会导致过滤泡沫问题。因此需要设计更复杂的新闻排名策略,在准确性和多样性之间取得良好的平衡。最后,现有的新闻排名方法大多是贪婪的,也就是在排名时只考虑当前的排序列表。从长期来看,这并不是实现用户良好参与性的最优解。因此,设计恰当的新闻排名策略以优化长期回报将有利于提高用户体验。
标签: #大数据推荐算法都有哪些