论文阅读:Financial news recommendation based on graph embeddings

基于图嵌入的金融新闻推荐
摘要
(问题提出的原因)证券公司需要将合适的金融新闻推荐给特定用户,但现有的推荐方法在推荐金融新闻方面表现不够好。一方面,金融新闻一般包含着很多与公司和股票有关的外部知识。另一方面,由于在阅读金融新闻时,用户会对多个概念、公司、股票、行业类型感兴趣,所以推荐金融新闻时需要动态计算用户兴趣。

(简要叙述问题解决思路)
(创新点1)为了解决以上问题,本文先构造了一个包含用户、新闻、公司、概念和行业类型的异构图。结点就代表着用户、新闻、公司、概念、行业类型这些实体。结点之间的连线代表着结点之间的关系。使用node2vec产生结点的图嵌入表示,结点表示出来之后,基于结点的表示能够计算用户-新闻之间的关系。
(创新点2)因为金融新闻文章是时间敏感的,本文提出一种增量方法来缓解计算压力。
(理论意义)基于node2vec的推荐方法和增量方法的结合能够很好地平衡金融推荐中的推荐效率和推荐准确度。
(实验结果)本文的方法在中国某证券公司真实数据集上进行了验证,结果显示本文提出的方法优于普遍使用的baseline方法。
(现实意义)不仅能够辅助公司决策,选择合适的新闻推荐给用户,而且能够让用户得到个性化的实时推荐服务。
1、引言
第一段
(背景)随着网络的发展,相对于传统的新闻媒介如报纸、电视等,人们更倾向于通过网页或者手机等移动设备阅读新闻。
(问题解决的必要性)在线新闻平台一个突出的问题是信息过载,金融公司致力于将手机端合适的金融新闻推荐给目标用户,从而吸引用户投资股票。(总结)因此,个性化金融新闻推荐对于学术界和工业界来说都具有很大的挑战性。
第二段
(科学问题的特点及难点)金融新闻有一些特点,比如事件的时间线和公司复杂性之间的关系。fig1显示了金融新闻文章经常涉及公司名称和股票信息。
在这里插入图片描述一方面,这些新闻文章包含着和公司、股票有关的复杂的外部知识;另一方面,金融新闻的读者往往同时对多个概念、公司、股票和行业类型感兴趣,这增加了用户画像的难度。
此外,金融新闻文章具有明显的时间敏感性,如图中所示,读者会快速地越过过期的新闻,转而阅读相对新的新闻,这就导致了在线更新问题。
(传统模型解决此类问题表现)简单的神经网络模型对于解决这些问题表现不佳。
第三段
(对作者的论文思路有贡献的参考文献)
为了解决新闻的外部知识问题,研究者使用了基于知识的技术进行新闻推荐。18年,wang等人提出了深度知识感知网络[2]。作者使用知识图谱来抽取新闻之间潜在的知识层面的联系,并且建立用户嵌入来更准确地刻画用户浏览偏好。另一项研究基于医疗知识图嵌入提出了安全药物推荐方法并且提出了一个有趣的思路来更新嵌入信息来解决冷启动问题[3]。Zihayat等人意识到用户点击分析的缺点,提出了一个新颖的新闻推荐方法,这种方法基于新闻效用模型来决定用户的真实兴趣[4]。为了提高训练数据的多样性以及提升推荐模型效果,Geva等人在数字市场数据中加入了文本新闻数据,补充数字市场数据信息,并且使用了数据挖掘方法来预测盘中交易的股票收益。

受以上研究启发,本文使用了知识图谱和图嵌入技术来解决金融新闻推荐任务。为了处理新闻中包含的公司、股票等外部知识,本文构建了一个高质量的图,称为证券子图,包含了公司、概念和行业类别信息。
为了动态地计算用户阅读偏好并且发现新闻之间的深层联系,分别构建了一个用户子图和新闻子图。构建这两个子图时不仅使用了用户点击行为,而且使用了用户股票交易记录。
将用户子图、新闻子图与证券子图链接就能得到一个异质知识图谱。使用图嵌入算法node2vec对图中的拓扑结构和语义信息进行建模,就能够得到异质知识图谱的图嵌入表示。

图嵌入技术能够解决用户画像问题,能够根据嵌入信息建立起用户-新闻关系。

为了解决在线更新问题,本文提出一种增量嵌入更新方法,这种方法能够训练核心图的图嵌入,(核心图中结点较少发生变化),。使用相关的结点来表示最新的新闻。这种方法可以缓解冷启动问题。
当给定一个没有被任何用户阅读过的新闻,这个新闻的嵌入信息可以由新闻文本中包含的概念的嵌入、行业类型嵌入、股票名称嵌入共同表示。

为了满足真实推荐场景中对推荐效率和推荐效果的要求,本文设计了一种基于图嵌入的金融新闻推荐框架。在这种框架下,增量嵌入更新模型负责表示在股票交易中新出现的结点嵌入,从而确保推荐框架的效率。同时一个普通的图嵌入模型在整个异质图上进行训练,得到所有结点的嵌入表示,从而确保推荐效果。

fig.2 对几个推荐场景给出了示例。
在这里插入图片描述
我们的模型聚焦于解决这几个推荐场景中的问题。
Scene1:(一般推荐)基于浏览记录,cindy能够和Amazon联系在一起。因为亚马逊属于计算机软件服务行业,所以亚马逊和计算机软件服务能够联系在一起,接下来和“AT&T”这个公司相关的新闻就可以推荐给Cindy。
Scene2:(用户冷启动)尽管Alice并没有浏览新闻的记录,但是有交易记录。已知Alice买了Google的股票,那么就可将Alice与Alphabet.Inc联系起来,由于Alphabet也属于计算机软件服务公司,接下来,也可以将与AT&T有关的新闻推荐给Alice.
Scene3:(新闻冷启动)一个标题为“5G”的新闻还没有被任何用户阅读过。使用命名实体识别方法,可以将其与概念实体“5G”联系起来。因为Bob浏览过和5G这个概念有关的新闻,所以标题为5G的这条新闻可以推荐给Bob。
Scene4:(用户兴趣计算)用户Alice和Bob之间存在着隐藏的关系,实际上他们的兴趣很相似。他们都喜欢科技产业。通过他们的图嵌入,可以容易地计算他们之间的关系。如果使用协同过滤或者基于内容地推荐则不容易计算二者之间的相似程度。

本文的贡献如下所述。首先是介绍NNR,一个基于图的金融新闻推荐方法,这种方法优于传统使用的baseline方法。第二个是提出了INNR,一个能够使推荐效率更加高效的增量方法。本文的主要贡献是将NNR和INNR结合起来从而构建了一个基于图嵌入的金融新闻推荐框架,这种推荐框架能够很好地平衡金融新闻推荐中的时间效率和推荐准确度。
这个推荐框架能够为公司提供决策支持,将合适的新闻推荐给目标用户,而且能够让用户得到实时推荐服务。
本文提出的方法不局限于金融新闻推荐,还可以应用在其他推荐任务中。比如,本文的方法也可以用在互联网中推荐广告。电商平台能够得到用户购买商品或者浏览商品的记录。这些记录可以用来构建商品子图,商品、价格范围、品牌、功能等都可以作为商品子图的结点。另外,通过一些共现关系,商品之间也可以互相联系。平台上的用户可以用来构造用户子图。商品广告可以用来构造广告子图。商品子图可以可以看作是链接用户与广告的桥梁。 在这种场景下,我们需要发现用户和广告之间的潜在联系,这与本文中我们做的发现用户和金融新闻之间的潜在关系是一样的。
本文接下来的结构如下:Section2定义了本文探索的金融新闻推荐问题。Section3展示了本文提出的方法。Section4 是实验设计和细节分析。Section5 简要地回顾了新闻推荐的相关工作。最后在Section6做了论文总结和未来研究方向。
2、问题定义
由于浏览记录的可获得性问题以及数据使用限制等各种原因,在真实世界的推荐场景中,我们只能获得少量的低质量浏览数据。因此,我们需要添加额外信息来提高推荐性能。考虑到用户对股票交易看得较为慎重,证券公司能够得到用户的历史交易记录。所以使用交易记录数据来进行推荐更准确而且可靠,能够为证券公司提供决策支持。
我们正式定义金融新闻推荐问题如下:
问题:给定一个用户u和和用户的浏览记录 D b D_b Db、交易记录 D t D_t Dt,为用户推荐金融新闻就是预测从用户u到新闻数据集N的边。 输出是带有用户兴趣的新闻集合 N u N_u Nu
为了解决以上问题,需要基于真实世界数据集高效地计算从用户到一些新闻的边。这要求我们将用户和新闻映射到同一向量空间,通过计算向量之间的距离来表示用户与新闻之间的相关性。之后,就可以将与用户最相关的新闻推荐给用户。
3、提出的模型
在本文,提出了基于图嵌入的新闻推荐框架,这种方法能够很好地平衡时间效率和推荐准确度之间的关系。
框架如fig3所示。
在这里插入图片描述在所提出的框架中,增量更新模型负责学习新出现的结点的图嵌入,从而保证推荐的效率;普通的图嵌入模型在整个异质网络中进行训练,得到所有结点的图嵌入,从而保证学习的嵌入的质量。
3.1 Node2vec-based news recommendation
fig4是Node2vec-based news recommendation方法的介绍。
在这里插入图片描述这个模型包括三个部分:图结构、嵌入的训练和新闻推荐。
为了建立用户和新闻之间的关系,首先需要构建包括股票、公司、概念和行业类型这些实体的证券知识图谱。然后,这些实体之间的关系如上下流关系就可以建立起来。
基于用户的股票交易记录,用户可以与证券知识图谱中链接起来。通过进行信息抽取和为新闻打标签,可以抽取出新闻中包含的股票、公司、行业、概念等实体。这样基于抽取出的信息,也可以将新闻文章与证券知识图谱链接起来。最终,间接建立起了用户与新闻之间的关系。
使用Node2vec来建立整个图的嵌入表示,然后基于用户嵌入和新闻嵌入之间的余弦相似度进行新闻推荐。余弦相似度大小代表着用户对新闻的喜爱程度。
3.2 Graph construction
异质知识图谱由三部分构成:证券子图、用户关系子图和新闻关系子图。用户关系子图是基于用户股票交易记录构建的。新闻关系子图是基于股票、公司这些与新闻相关的实体构建的。子图能够便于动态计算用户偏好以及计算新闻文章之间的关系。证券子图的构建是为了分析与公司、股票等相关的外部知识。
在知识图谱中,用户和新闻可以通过证券子图间接地联系起来。
3.2.1 Securities subgraph
证券子图描述了证券市场的实体以及这些实体之间的关系。证券子图可以看成是一个三元组集合,(i,r,j),其中,i,j∈ E,r∈ R。E是实体的集合,R是实体之间的关系。
实体包括股票、公司、概念、类型。在图中,公司和股票所处的地位是相同的。概念代表的是一些常用的用来描述股票的关键词,比如blockchain、5G、Tesla等。在本文中,类型代表着行业类型,这些行业类型由中国的SWS 证券研究协会规定。在这里插入图片描述
新闻文章可以和多个公司、概念、类型相联系,因为新闻文章中可能提及了多个相应的关键词。一个公司可能投资了另一个公司,所以不同的公司之间也存在着边。同时,一些概念和类型也与公司有联系。
这些实体可以看成是新闻文章的标签,实体可以使用命名实体识别方法进行抽取。在本文,命名实体识别方法使用了Bi-LSTM和CRF,命名实体识别过程如下:
(1)从所有新闻文章中随机选取3000条新闻,手动进行四种命名实体的标记,这四种实体分别是公司、股票、行业和概念。
(2)使用在全体新闻上预训练好的word2vec模型来表示新闻中的词语。在进行命名实体标记时使用四种标签(0:公司,1:股票,2:行业,3:概念,4:其他)来标记输入序列。输入文本的例子、word2vec词嵌入序列和已打标签的实体序列在fig5中有示例。
在这里插入图片描述
(3)bi-LSTM-CRF模型的输入是词嵌入序列,输出是每个词语实体的标签。在这部分,金标准值是手动标记的实体。模型的损失函数是交叉熵损失函数。
(4)使用2100条新闻文章来训练模型,900条新闻文章用来做测试。
(5)模型训练好之后,新的新闻使用同样的word2vec模型做处理,送入训练好的模型,从而得到新闻中包含的公司、股票、行业、概念这些实体。
(6)使用新闻中涉及的实体,新闻就可以与证券子图进行链接,从而继续后续操作。
3.2.2. User-related subgraph
用户关系子图使用在这里插入图片描述来表示,其中,U表示的是用户集合,S是股票集合。变量 r u s r_{us} rus代表边的集合。如果一个用户 u i u_i ui买了或者比较关注股票 s j s_j sj,则这两个结点之间就会存在边 r i j r_{ij} rij,边 r i j r_{ij} rij
权重 w i j w_{ij} wij使用用户 u i u_i ui购买股票 s j s_j sj的总次数来表示。用户和股票之间的关系包括用户的行为如购买、关注。
3.2.3. News-related subgraph
新闻关系子图表示为在这里插入图片描述,其中N是新闻集合,S是股票集合,Co是概念集合,Ca是行业类型集合。变量 r n r_n rn表示边集合。如果新闻文章 n i n_i ni提及了股票 s j s_j sj,这两个实体之间就会存在边 r i j r_{ij} rij,如果边 r i j r_{ij} rij存在,则将边 r i j r_{ij} rij的权重 w i j w_{ij} wij设为1。其他实体之间的关系同理。

3.3. Training embeddings
这部分将会讨论怎么使用图嵌入模型对异质知识图谱进行嵌入表示以及模型的优化方法。
作为网络的一种表示方式,图嵌入算法在很多场景中都得到了应用。在很多相关工作中,node2vec的有效性和稳定性都得到了验证。在本文中,使用node2vec来学习异质知识图谱中结点的嵌入表示。实际上,使用其他图嵌入算法也可以证明我们提出的金融知识图谱的优势。如果必要的话,我们也可以使用其他有监督的嵌入算法来完成相同的任务。

为了论文理解,这里引用知乎大佬王喆对deepwalk和node2vec这样两种比较经典的图嵌入方法的介绍。引文链接
DeepWalk介绍
早期影响力较大的graph embedding方法是2014年提出的DeepWalk,它的主要思想是在由物品组成的图结构上进行随机游走,产生大量物品序列,然后将这些物品序列作为训练样本输入word2vec进行训练,得到物品的embedding。下图用图示的方法展现了DeepWalk的过程:
在这里插入图片描述
如图3,整个DeepWalk的算法流程可以分为四步:
(1)图a展示了原始的用户行为序列
(2)图b基于这些用户行为序列构建了物品相关图,可以看出,物品A,B之间的边产生的原因就是因为用户U1先后购买了物品A和物品B,所以产生了一条由A到B的有向边。如果后续产生了多条相同的有向边,则有向边的权重被加强。在将所有用户行为序列都转换成物品相关图中的边之后,全局的物品相关图就建立起来了。
(3)图c采用随机游走的方式随机选择起始点,重新产生物品序列。
(4)图d最终将这些物品序列输入word2vec模型,生成最终的物品Embedding向量。
在上述DeepWalk的算法流程中,核心是第三步,其中唯一需要形式化定义的是随机游走的跳转概率,也就是到达节点 v i v_i vi后,下一步遍历 v i v_i vi的临接点 v j v_j vj的概率。
如果物品的相关图是有向有权图,那么从节点 v i v_i vi跳转到节点 v j v_j vj的概率定义如下:
在这里插入图片描述
其中N+(vi)是节点vi所有的出边集合,Mij是节点vi到节点vj边的权重。
如果物品相关图是无相无权重图,那么跳转概率将是上面公式的一个特例,即权重Mij将为常数1,且N+(vi)应是节点vi所有“边”的集合,而不是所有“出边”的集合。
DeepWalk的进一步改进——Node2vec
2016年,斯坦福大学在DeepWalk的基础上更进一步,通过调整随机游走权重的方法使graph embedding的结果在网络的同质性(homophily)和结构性(structural equivalence)中进行权衡权衡。
具体来讲,网络的“同质性”指的是距离相近节点的embedding应该尽量近似,如图4,节点u与其相连的节点s1、s2、s3、s4的embedding表达应该是接近的,这就是“同质性“的体现。
“结构性”指的是结构上相似的节点的embedding应该尽量接近,图4中节点u和节点s6都是各自局域网络的中心节点,结构上相似,其embedding的表达也应该近似,这是“结构性”的体现。在这里插入图片描述
为了使Graph Embedding的结果能够表达网络的结构性,在随机游走的过程中,需要让游走的过程更倾向于宽度优先搜索(BFS),BFS更喜欢游走到跟当前节点有直接连接的节点上;另一方面,为了抓住网络的同质性,就需要随机游走更倾向于深度优先搜索(DFS),DFS会更倾向于通过多次跳转,游走到远方的节点上。(可以借助:“周游了世界才知道中国人之间的同质性,周游了中国才知道中国人之间的结构性”这句话帮助理解。)。在node2vec算法中,BFS和DFS的倾向性主要是通过节点间的跳转概率来控制,有两个参数P和Q来控制。

引用到此处结束。。接着开始讲论文正文。

现有的node2vec算法流程如下。知识图谱在这里插入图片描述
用来学习映射函数,在这里插入图片描述,使用此映射函数将结点表示成在这里插入图片描述个参数的嵌入表示形式。对于每一个源节点u∈V,在这里插入图片描述表示使用采样策略S产生结点u的网络邻居。
node2vc优化的目标为:给定每个顶点的条件下,令其近邻顶点出现的概率最大。在这里插入图片描述
为了求解上述最优化问题,node2vec算法有两个假设。

  • 条件独立性假设
    即给定源顶点条件下,其近邻顶点出现的概率与近邻集合中其余顶点无关。可以得到如下公式:
    在这里插入图片描述

  • 特征空间对称性假设

  • 即一个结点作为源节点和作为近邻结点时共用同一套embedding向量。可以得到如下公式:
    在这里插入图片描述
    根据这两个假设条件,目标函数最终可以表示为:
    在这里插入图片描述
    其中在这里插入图片描述是归一化因子,由于此归一化因子的计算代价高,所以采用负采样技术进行优化。
    使用随机梯度下降来求解映射函数 f f f的参数。实际上就是最大化结点与其近邻集合的内积。
    3.4 News recommendation
    这一部分提出了node2vec-based news recommendation (NNR)(基于node2vec的新闻推荐)。这种方法使用用户嵌入与新闻文章嵌入来计算用户与新闻之间的相关性。为了计算用户对新闻的偏好程度,引入了余弦相似度来计算两个结点之间的相似度。
    在这里插入图片描述

其中d是嵌入的维度。
给定一个用户以及候选的金融新闻文章,首先将用户和新闻文章映射到同一个潜在向量空间,接着选择前top-k个与用户最相关的新闻文章。更准确地说,就是给定一个用户和候选新闻,可以计算用户与新闻之间的余弦相似度值,将与用户的余弦相似度值最高的top-k个新闻推荐给用户。公式如下:
在这里插入图片描述
其中u代表用户, n i n_i ni是是候选的金融新闻。
在这里插入图片描述是选择需要推荐的新闻。其中K代表需要推荐的新闻的数量,U是目标用户集合,N是候选新闻集合, N u N_u Nu给用户u的推荐结果。
3.5 Incrementally updating embeddings (增量更新嵌入)
实际上,在推荐过程中涉及百亿级别的新闻文章以及百万级别的用户,所以实体的数目会达到千亿级别,训练具有千亿级别实体的图嵌入的计算代价特别大。与此同时,金融新闻会随着时间改变,在真实推荐场景中,在线更新是不可避免的。由于新闻的时间敏感性,如果推荐时需要花费数十个小数来得到新闻或者用户的嵌入表示是不切实际的。
所以,提出一个能够在几分钟内确定新闻嵌入和用户嵌入的新方法是很必要的。为了解决这个问题,本文提出了incremental node2vec-based news recommendation (INNR)方法(基于node2vec的增量新闻推荐方法)。为了减少计算时间,只需要训练图中那些较少改变的核心实体的嵌入即可,不需要训练图中的全部实体。之后,可以基于核心图嵌入使用多种策略来表示新用户或者新的新闻。基于嵌入信息,可以计算出用户和新闻之间的相关性,从而将合适的新闻推荐给目标用户。
核心图实际上就是前面提到的证券子图。选择证券子图作为核心图的原因有如下几点:

  • 用户和新闻更新地较为频繁,而公司、概念、行业类型较少发生改变。所以证券子图的嵌入表示相对比较稳定。
  • 公司、概念、行业之间的关系反映出金融新闻的外部知识,也就是说反映出新闻内容信息。
  • 公司、概念、行业类型是从用户股票交易记录获得的。分析这些记录可以反应用户的阅读偏好,从而能够帮助进行用户画像。
    这里给出一个例子说明如何表示新的新闻文章和新用户。假设有一个新闻,表示为 n 1 n_1 n1,它所属的行业类型有 c a 1 ca_1 ca1 c a 2 ca_2 ca2,另外新闻 n 1 n_1 n1中涉及了一些概念和股票,使用 c o 1 co_1 co1 c o 2 co_2 co2 s 1 s_1 s1表示。
    因为 c a 1 ca_1 ca1 c a 2 ca_2 ca2 c o 1 co_1 co1 c o 2 co_2 co2是核心图中的实体,所以可以使用doc2vec得到这些实体的图嵌入。这些嵌入构成了大小为s的集合V。用来表示用户和新闻文章的策略如下:
    Strategy 1:新闻 n 1 n_1 n1可以被表示为 v s 1 v_{s1} vs1。新闻嵌入表示实体的均值,平均值能够保留数据的共同特征,但容易受异常值影响。在这里插入图片描述
    Strategy 2:为了排除异常值的影响,可以使用与其他结点的欧式距离和最小的结点代表新闻 n 1 n_1 n1,表示为 v s 2 v_{s2} vs2。但是这种方法会丢失其他结点的信息。

在这里插入图片描述
Strategy 3:为了结合以上两种策略的优点,可以先计算每个结点与其他结点的欧式距离和,将距离最远的k个结点剔除之后,剩下的结点嵌入取均值来代表新闻 n 1 n_1 n1,表示为 v s 3 v_{s3} vs3在这里插入图片描述
对于图中存在的新闻,可以直接使用学习到的图嵌入表示新闻。对于一个与用户没有交互关系的新新闻,可以使用新闻中涉及的实体的嵌入来表示,表示是使用策略3.
同样的策略也可以用来表示用户。
提出的INNR算法可以实现在线更新,而且能够解决用户冷启动和新闻冷启动问题
4. Experiment and evaluation
4.1. Experiment details
4.1.1. Data preparation
用来评价模型的数据集来自GF证券公司真实数据集。GF证券公司拥有超过900亿用户,是中国排名前五的证券公司。实验使用的浏览记录来自于GF证券的手机app应用,交易数据是用户真实的股票交易数据。这些数据很权威,很可靠,而且为了保护用户隐私,都进行了脱敏处理。
源数据包含了22404个用户和从2017年5月到2018年五月的64881条新闻文章数据。我们根据交易记录和浏览记录的时间范围随机选择用户和新闻。另外,新闻中涉及的实体包括59267个公司,2013个概念,226个行业类型。
为了确保模型性能表现好,我们剔除了源数据中的一些低质量的数据,比如那些没有没有交易和浏览记录的用户。我们剔除这些数据的原因如下:
(1)那些没有浏览和交易数据的用户增加了图的稀疏性,对于我们的模型具有负面作用。
(2)用户没有浏览记录,那么就无法验证模型推荐结果。
去除了一些低质量的数据后,使用的数据还有3800个用户和64881条新闻。这些用户的股票交易记录和浏览记录用来训练和测试模型。
为了防止过拟合,我们将训练集和测试集分开。在冷启动场景中,训练数据是用户的股票交易数据,测试数据是用户的新闻浏览记录。在一般的推荐场景中,训练数据是用户的股票交易数据和部分用户浏览数据。这部分浏览数据称为 N 1 N_1 N1。剩余部分的浏览数据作为测试数据。这部分数据称为 N 2 N_2 N2
剔除数据之后的数据集包含127865个实体和339222个关系。如table1所示。
4.1.2. Parameter configuration
node2vec算法中的参数P和Q使用测试数据进行优化。P和Q的值是0,0.25,1和4。有九种P和Q的不同组合。P是return parameter,控制着重复访问上次访问过的顶点的概率。Q控制着游走的距离远近。通过P和Q参数的不同组合,node2vec可以模拟宽度优先的随机游走和广度优先的随机游走。对于INNR算法,剔除的异常点的百分比也是需要优化的参数。
其他参数设置如下:嵌入向量的维度d=128,游走序列长度l=80,游走的步数n=10,窗口大小k=10,epochs的次数e=10.
4.1.3. Evaluation index(评价指标)
RPI rate
仅仅使用precision和recall率难以评估模型的推荐结果是否符合用户偏好。因此,定义了一种评价推荐结果与用户偏好是否兼容的评价标准RPI rate。 The rate of recommendation-preference interactions (RPIs) 代表的是推荐准确的数量占全部推荐的比例。如果推荐给用户的新闻所属的行业类别是用户以前浏览过的新闻的所属类别,那么这个推荐结果就认为是正确的。
举个例子,假设推荐给用户三个新闻,分别表示为 n 1 n_1 n1 n 2 n_2 n2 n 3 n_3 n3。这三个新闻所属的类别都是 c a 1 ca_1 ca1 c a 2 ca_2 ca2。已知用户之前还浏览过新闻 n 4 n_4 n4 n 5 n_5 n5这两个新闻属于 c a 2 ca_2 ca2 c a 3 ca_3 ca3。因为推荐的新闻所属的行业类型和曾经浏览过的新闻所属的行业类型具有一个共同的类型 c a 2 ca_2 ca2,所以认推荐是成功的。
Computation time
模型训练时间和测试时间之和称为推荐时间,推荐时间代表着模型的推荐效率。在本文中,训练时间定义为训练模型得到图嵌入的时间,测试时间定义为加载新闻文本和用户数据,根据训练好的图嵌入计算用户和新闻的相似度并且将新闻推荐给用户所使用的时间。所有的实验都是在一个单处理器上运行的。硬件设置如下:
Intel® Xeon® E5-2620 v3 CPU operating at 2.40 GHz and 32 GB of RAM.
在本文中,所有的实验都是为用户推荐三条新闻文章。每一个模型做十次实验,使用十次实验的最高得分来表示模型性能。十次实验的计算的平均时间作为计算时间。
4.2. Result summary
在此部分,数据集中的所有用户和新闻被表示为N和U,选择一个时间点t,在时间t之前的新闻文章标记为 N 1 N_1 N1,时间t之后的新闻文章标记为 N 2 N_2 N2。其中 ∣ N 1 ∣ |N_1| N1 ∣ N 2 ∣ |N_2| N2=7:3。
所有的3800个用户被随机分为 U 1 U_1 U1 U 2 U_2 U2两部分,其中 ∣ U 1 ∣ |U_1| U1 ∣ U 2 ∣ |U_2| U2=7:3。包含 N 1 N_1 N1中新闻的浏览记录标记为在这里插入图片描述,包含 N 2 N_2 N2中新闻的浏览记录标记为在这里插入图片描述,用户U的交易记录标记为在这里插入图片描述
4.2.1. Node2vec-based news recommendation models
这部分探索如果只使用基于node2vec模型进行推荐,推荐效果效果如何。训练模型时,只使用用户交易数据在这里插入图片描述,因为在真实推荐场景中,很难得到高质量的、完整的用户浏览数据。所以,只使用高质量的股票交易记录来训练模型效果会比较好。
NNR算法在用户和新闻很少改变的静态图中是有效的,而INNR算法在在线更新和冷启动推荐场景中表现更好。训练集和测试集所使用的数据如table2所示。在这里插入图片描述
在NNR中,在构建包含证券子图、用户子图和新闻子图三个子图的知识图谱中,所有的用户和新闻都考虑进来了。证券子图包含了股票、公司、概念和行业类型,保存了证券相关的背景知识。用户关系子图通过股票交易记录将用户与股票链接起来。新闻关系子图链接着新闻和股票、公司、概念、行业类型这些实体。因为构建图是没有使用浏览记录,所以用户和新闻之间没有直接链接的边。
INNR能够使用在三种冷启动场景下:新用户场景、新的新闻场景以及同时包含新用户和新新闻的场景。使用在着三个场景下的INNR模型分别被标记为 I N N R u INNR_u INNRu I N N R n INNR_n INNRnKaTeX parse error: Expected '}', got '&' at position 8: INNR_{n&̲u}
I N N R n INNR_n INNRn模型中,在创建新闻关系子图时只使用了 N 1 N_1 N1中的新闻,因为 N 2 N_2 N2中的新闻视为新的新闻。而证券子图和用户子图则是和NNR中使用的一样。模型在所有的新闻浏览记录数据集在这里插入图片描述上进行了验证。 N 1 N_1 N1中所有新闻的嵌入表示可以将node2vec应用在整个图上确定,新的新闻的嵌入表示则可以使用论文3.5节讨论过的策略,基于其他结点来进行嵌入表示。 I N N R u INNR_u INNRu模型在构建用户子图时只考虑了 U 1 U_1 U1中的用户,而证券子图和新闻子图则和NNR模型中一样。KaTeX parse error: Expected '}', got '&' at position 8: INNR_{n&̲u}同时考虑了在 U 1 U_1 U1中的用户和在 N 2 N_2 N2中的新闻,因为这样新的新闻和新的用户会同时出现,这就和真实推荐场景比较接近。
所有模型都在数据集 D a t a N b Data^b_N DataNb上进行验证,当使用RPI、precision、recall三个指标评价模型时,使用新闻的行业类型作为金标准。
table3和table4分别展示了模型性能和计算时间。虽然NNR和INNR模型只使用了股票交易记录来推测用户和新闻之间的关系,但是都达到了很好的推荐效果。NNR模型在RPI、precision、recall中得到了最高的分数,但是计算时间太长。最大的问题是当出现新的新闻或者新用户时,NNR模型需要重新训练。
聚焦于在线更新和冷启动问题,INNR可以使用相关的结点表示新的用户或者新闻,从而减少额外的计算时间,同时避免重新训练模型。提前训练核心图大约需要3600秒,但是正常情况下只需要训练一次。INNR模型的推荐效果和计算时间与INNR模型相近,但是RPI rate比NNR低了15%,INNR在冷启动场景下表现更稳定。
在这里插入图片描述
在这里插入图片描述
INNR模型的RPI值比NNR模型的RPI值低是因为INNR中直接使用了相关的结点嵌入表示新的用户或者新闻会丢失一些特征信息。比如结点之间的跳数和结点的稀疏性。然而INNR的RPI指标仍然达到了35%,比其他协同过滤的baseline模型的分数高。与NNR相比,INNR需要更短的训练时间,在实验分析中已经充分说明了。虽然INNR与NNR相比有大约7%的RPI下降,但训练时间缩减了两倍,这点在时间敏感的金融新闻推荐任务中是更重要的。
4.2.2. Comparison between Node2vec-based models and baseline models
在这一部分,我们的模型与其他的baseline进行比较,从而证明我们提出的模型的有效性和高效率。使用以下常用的模型进行比较:nonnegative matrix factorization (NMF),singular
value decomposition (SVD),SVD++, centered-KNN、the Kmost popular method(类似基于热点推荐),random method(随机推荐)。
我们还设置了一种叫做RNN recsys的基于内容的方法以及一个基于node2vec进行在线嵌入的方法与我么的方法做比较,以确保我们的方法与不同类型的推荐方法都做了比较。
为了测试模型,首先构造(user,rating ,news)三元组。通过浏览记录可以知道用户是否浏览了某条新闻,如果用阅读了某条新闻,则三元组的rating=1,成功构造正例,对于那些用户没有浏览过的新闻,从中随机挑选一些新闻作为负例,rating=0.
协同过滤方法是使用现有的软件包实现的,基于内容的方法是使用开源代码实现的,基于嵌入的方法也是基于开源代码实现的。所有参与比较的模型都使用了相关工作中给出的默认的超参数。
table5显示了训练集和测试集的分配情况。在这里插入图片描述
在之前的部分,训练模型时只使用了股票交易数据, D a t a U t Data^t_U DataUt。为了和baseline中使用的数据一致,在实验中,训练基于node2vec的模型时同时使用了 D a t a U t Data^t_U DataUt D a t a U b Data^b_U DataUb
对于NNR模型,此部分与前面部分的不同之处在于知识图谱中添加了 N 1 N_1 N1中新闻的浏览记录。根据数据集KaTeX parse error: Double subscript at position 9: Data^b_N_̲1,用户和新闻直接联系起来了,所以在预测用户与新闻之间的潜在关系时使用到了更多的信息。INNR模型在三种冷启动场景下的设置与论文之前部分大部分是一致的,唯一不同之处是加入了浏览记录数据。

模型的表现比较结果在table6中进行了展示。
在这里插入图片描述
模型运行时间的比较展示在table7中。
在这里插入图片描述
通过实验结果可以看出,NNR模型在所有模型中表现最好。
与table3相比,加入了浏览记录之后,NNR模型和INNR模型效果都有了不同程度的提升。
但是计算时间仍是NNR最大的缺点。NNR模型的计算时间是SVD模型的
倍,是KNN模型的34倍,这在真实的推荐场景中速度是不可行的。
INNR模型的RPI指标与其他模型相比仍然表现优异。NNR比INNR表现更好;然而,由于有更多的结点和边,NNR模型的训练时间是INNR模型的3倍。效率高仍然是INNR模型的主要优点。
与knn模型相比,INNR模型只需要大约200秒就能从现存的结点嵌入得到用户和新闻的表示,所使用的时间是SVD模型的35倍,是KNN模型所需时间的一半。另外,当处理冷启动问题时,INNR模型一致保持在接近最优的水平,这说明INNR模型在冷启动场景中具有很好的稳定性。
在所有的baseline中,MostPop方法的推荐效果优于SVD、SVD++,KNN和NMF,虽然这种方法是一种很简单的方法。这是因为当有突发新闻时,用户倾向于去阅读这些突发新闻,在这种场景下,MostPop方法表现优异。在本文实验中,random baseline方法优于一些协同过滤方法。这可能是因为没有足够的反馈信息,协同过滤方法很难准确地识别相似用户。处理基于KNN地方法之外,其他协同过滤方法几秒中就可以训练好,这显示处了效率方面的优势。
RNN recsys方法效果与NNR方法相当,而且训练时间也相近。然而它和NNR存在同样的缺点,那就是在推荐一批新的新闻时,模型需要重新训练。在线node2vec方法在RPI指标上高出INNR模型7.5个百分点,但在线node2vec的训练时间时INNR训练时间的29倍。在真实的推荐场景中,对时间效率要求很高。时间必须控制在分钟级别。所以在线node2vec无法满足要求。使用INNR模型,我们能够根据用户和其他结点的关系直接跟新用户嵌入表示,这样能够大大提升时间效率。当股市关闭之后,交易暂停,我们就可以使用最新的数据重新训练整个图,更新所有结点,从而弥补INNR的推荐损失。
5. Related studies
这部分会简要地回顾一下新闻推荐地相关工作。
5.1. Collaborative filtering methods
由于新闻会频繁地发生变化,所以协同过滤方法经常会存在冷启动问题。 Agarwal等人提出了一个从冷启动问题到热启动问题无缝过渡地模型。Trevisiol 等人也试图解决冷启动场景中地推荐问题,他们提出的方法能够在给定用户浏览的第一个网址之后,预测用户下一个浏览的网址。尽管研究者们在基于协同过滤的方法上做了大量工作,这种方法还是需要很多人工特征。
5.2. Content-based methods
基于内容的方法时新闻推荐中最为流行的方法。Wu等人针对新闻关键词提出了一个新闻过滤和摘要方法。Capelle于2015年对SF-IDF方法进行了改进,这种方法在SF-IDF的基础上还考虑了句法集语义关系和命名实体识别相似度。虽然很多研究都对基于内容的方法进行了改进,但仅仅使用简单的基于内容的方法难以动态地准确地计算用户偏好。
5.3. Hybrid methods
混合的方法将基于内容的方法与协同过滤方法进行了结合。例如,Phelan等人利用用户点击行为,基于贝叶斯的方法来预测用户当下的兴趣。Son 提出了一种基于位置的新闻推荐方法。研究者们也开始将神经网络模型应用在新闻推荐任务中。Okura等人从基于去噪自动编码器变体的文章分布式表示开始,然后使用具有浏览历史记录的RNN作为输入序列生成用户表示。
5.4. Embeddings-based methods
知识图谱基于显性的领域知识,将与用户兴趣与新闻特征映射到同一特征空间。在推荐任务中越来越受到重视。图嵌入算法作为一种表示网络的方法,在很多实际场景中都得到了应用。在过去的几十年中,大量的研究探索了图嵌入算法。Bordes设计了一种方法,使得在三元组(h,l,t)中h+l~t,以此来学习到实体和关系的表示。
Wang等人对Bordes’s 的工作进行了扩展,通过将实体投影到由法向量标识的超平面上,使得实体在不同的关系上下文中有不同的表示。Lin等人提出的模型通过使用一个与任何关系相联系的矩阵将实体和关系映射到不同维度的向量空间中。Perozzi等人提出了深度游走方法,这种方法在模拟图的上的随机游走,能够产生倍神经语言模型处理的连续序列。Grover等人提出了node2vec方法,这种方法时对深度游走方法的改进。
接着,研究者们开始考虑基于图嵌入方法的应用。Wang等人使用图嵌入的方法解决了taobao推荐中的挑战。作者通过用户行为信息构造图,学习图中所有item的嵌入表示,同时使用item的嵌入计算item的相似度。Grbovic等人描述列表和用户嵌入技术,文中提出的方法是为了解决Airbnb市场推荐问题专门提出,的,这种方法能够捕捉到用户的短期兴趣和长期兴趣。以上方法都是为了解决大规模数据集上的实时推荐问题提出来的,而且都使用了基于图嵌入的方法。wang等人在2018年提出了深度知识感知网络用于新闻推荐,显示了基于图嵌入的推荐方法的有效性。
6. Conclusions
在这篇文章中,我们应用了知识图谱进行金融新闻推荐,而且提出了一个模型对嵌入进行增量更新以减少计算开销。通过知识图谱中的结点代表着用户、新闻、公司和其他实体,结点之间的相关性可以通过node2vec得到。使用图嵌入方法,用户和新闻可以投影到同一个向量空间中。然后可以根据新闻与用户间的相似度将新闻推荐给用户。通过在证券公司真实数据集上实验发现,本文提出的方法由于矩阵分解的协同过滤方法,最近邻方法,以及热点推荐方法,而且也优于一些基于内容的方法和一个基于嵌入的方法。本文使用的基于node2vec的推荐方法和增量方法的结合的方法应用在金融新闻推荐中能够很好地平衡推荐效率和推荐准确度。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值