一种基于图算法的会话推荐系统

文档序号:34904886发布日期:2023-07-27 13:16阅读:35来源:国知局
本发明涉及会话推荐系统,尤其涉及一种基于图算法的会话推荐系统。
背景技术
::1、复杂的场景、丰富的用户、海量的特征是构成推荐系统的基石。如何通过大数据手段利用海量特征去理解丰富用户在复杂场景下的一系列行为,从而更好的服务用户是推荐系统的宗旨。2、推荐算法的历史还要追溯到1992年,施乐公司的帕拉奥图研究中心提出一种基于协同过滤算法的推荐系统,并将其用于垃圾邮件过滤。不过推荐算法真正用在互联网商业中,还是2003年amazon的工作。可以说,真正意义上的推荐系统诞生于电商,也随着电商的蓬勃发展而日新月异。协同过滤分为两种,一种是基于用户,一种是基于商品。amazon的工作采用的是商品cf,即基于商品,因为用户的行为数据往往过于稀疏。协同过滤简单可解释,但不具备泛化能力。具体的体现就是,尾部的商品因为数据稀疏,在计算与其他商品的相似度时往往趋于零,导致尾部商品大概率不被推荐,但其实它未必对客户不重要。协同过滤技术作为推荐系统最初始的技术实现简单,可解释性强,但是也存在泛化能力弱,面对行为稀疏的用户无法精准推荐的缺陷。netflix在2006年提出了矩阵分解技术,其很好解决了上述问题。通过矩阵分解,用户和商品都得到了与其对应的隐向量,泛化能力很强。不过矩阵分解(奇异值分解)计算量很大,并且不适合处理大规模稀疏矩阵,其缺点是受限于计算量,无法应用于大数据场景。逻辑回归可以很好的解决上述问题。逻辑回归即一个线性模型再套一个sigmoid层,经过训练每一个因子前的权重代表这个因子对因变量的重要程度,而且最后的因变量还在0-1之间。逻辑回归的好处很多:计算复杂度小、可解释性强。区别于协同过滤与矩阵分解,其不仅覆盖用户与商品的交互特征,还可以囊括用户、商品的属性特征。正是因为lr的这些优点,使得其在gpu尚未流行的年代,即2012年之前,称霸了推荐算法领域,不过其也有很明显的缺陷,即无法进行特征交叉,表达能力过弱。性别+年龄的组合特征也许是个很重要的特征,比如10岁的男孩喜欢玩具,20岁的男生喜欢体育用品,30岁的男人喜欢电子产品等等,但这些lr无法捕捉到。3、日本的大阪大学在2010年提出了fm模型,可以很好得捕捉二阶特征。而且经过一定数学技巧,复杂度降低到nk(n是特征维度,k是隐向量维度)。2012年以后,fm逐渐成为推荐领域的主流算法。这一现象一直到gbdt应用在推荐领域才结束。可以说fm模型开创了特征交叉技术的先河。2014年facebook提出基于gbdt+lr的解决方案,产生了很大的影响力。可以说,自此往后,推荐算法进入了特征工程模型化的阶段。即特征的筛选、构造由模型完成,整个推荐系统成为一个端到端的全链路系统。此外gbdt可以很好得进行特征的高阶交叉,这是fm所做不到的,其只能做二阶交叉,三阶的计算量已经可怕的惊人。当然,gdbt也不是没有缺点。基于残差的梯度提升思想决定了其无法很好的并行计算,用过这个模型的人都知道,如果特征多起来,训练时间是相当长的。截止到2014年,推荐系统领域仍然是机器学习占据主流。然而,在2012年,隔壁领域cv出现了alexnet这样现象级的深度学习网络,这股浪潮不可避免的影响到了推荐系统。在2015年,深度学习在推荐系统正式拉开了帷幕。深度学习在推荐领域的架构有一些共性,基本分为两大层。一层是特征embedding层,一层是特征交叉层。不同的深度学习推荐算法基本都是在特征交叉层做出各种创新。deep&crossing是将resnet中的残差思想引入进特征交互层中,对特征进行深度交叉,这也是deepcrossing名字的由来。deep&crossing有个很出名的变体是pnn,其将本体中的stacking层变为了乘积层。wide&deep的设计初衷是为了让模型兼具“记忆能力”与泛化能力。特征经过embedding后走deep,让特征充分交叉,体现泛化能力;还有一半是特征不走embedding,直接进入wide部分,在vector的level做交叉体现记忆能力。特征交叉技术走过了二阶交叉,自动筛选,高阶交叉等多个历程,其优势很明显,但是仍然忽略了模型中的一部分重要信息:序列信息。序列建模就是对具有时序信息的特征进行模式捕捉。上面的四大类推荐技术都没有涉及到对时间戳的利用,举例来说,一个人今天刚刚买过电脑主机,那后续短时间内购买显示屏的概率是很高的,这也就是序列建模的用武之地。这方面比较有代表性的模型是din、dien、mimn。相比于前四个技术,序列建模开辟了一个新的获取信息的渠道和手段,但是仍旧没有充分得利用数据。4、自2008年以来,《nature》杂志的一篇专栏讨论了大规模数据处理技术,提出了“大数据”的概念。在过去十多年中,大数据领域得到了各个领域的广泛关注和应用。大数据被定义为“在有限时间内,当前技术手段和理论知识无法及时更新和有效处理的数据规模”。为了满足大数据需求,google首先提出了三个关键技术理念,即google file system、mapreduce和bigtable,这些理念基于分布式和并行计算的lambda架构,以确保大数据的存储和处理。后来,apache的hadoop实现了这些理念,并开发了许多开源组件。例如,elasticsearch、logstash和kibana用于日志收集;spark用于分布式计算,hdfs用于分布式存储,yarn用于资源管理,zookeeper用于集群管理,而flink、kafka和rmq则专注于流计算。在这些商品中,apache spark是自hadoop以来的另一个重要商品。spark在hadoop的基础上进行了扩展,因为hadoop的批处理表现不佳且实时性差。hadoop的重复计算和大量i/o操作导致了效率低下。相比之下,spark可以显著提高运算速度,并使用弹性分布式数据集、优化迭代负载以及减少中间数据传输开销和同步次数。通过内存计算方式,spark满足了实时数据流的高速处理需求。由于研究人员对spark的研发充满热情,spark得以快速发展。现在,spark在数据分析领域具有重要地位。5、大数据技术引起了国内外的广泛关注和应用。除了众多企业,如cloudera和intel邓企业积极研发大数据产业外,中国政府还制定了《促进大数据发展行动纲要》来推动新兴技术的发展。阿里巴巴、京东和腾讯等著名企业正在积极应用大数据技术,享受了大数据技术带来的红利。大数据技术在商业、农业、医疗、档案管理和政府治理等领域都发挥着关键作用。因此,大数据技术对中国未来高新技术产业的发展至关重要,需要得到各行各业的高度重视。6、但是目前现有的会话推荐系统技术存在数据未得到充分利用,且数据处理缺少实时性,导致获得的推荐系统缺陷较大、响应速度慢、实时性弱的问题,因此,我们提出一种基于图算法的会话推荐系统用于解决上述问题,以降低推荐系统缺陷性,提高响应速度、加强实时性。技术实现思路1、本发明的目的是为了解决目前现有的会话推荐系统技术存在数据未得到充分利用,且数据处理缺少实时性,导致获得的推荐系统缺陷较大、响应速度慢、实时性弱等问题,而提出的一种基于图算法的会话推荐系统。2、为了实现上述目的,本发明采用了如下技术方案:3、一种基于图算法的会话推荐系统,包括转化模块、对接模块、实时写入模块、获取模块、改良邻接矩阵模块和改良注意力机制模块(即其他改良模块),其中所述转化模块与对接模块连接,所述对接模块与实时写入模块连接,所述实时写入模块与获取模块连接,所述获取模块与改良邻接矩阵模块连接,所述改良邻接矩阵模块与改良注意力机制模块连接;4、优选的,所述转化模块用于在用户产生点击、点赞以及其他交互行为时将每个行为转化为一条信息进入kafka,其中所述kafka是一个专业的消息队列管理工具,负责指令的消费管理,具有严格保证数据一致性,所述对接模块用于kakfa与flink对接,其中对接模块中的flink中存在数据消费需求时由kakfa将数据交给flink进行流式处理数据,所述flink具有实时性强,占用内存少等优势;5、优选的,所述实时写入模块用于flink将数据实时写入redis进行存储,以备后续使用,所述获取模块用于获取redis和hdfs,其中所述redis是个内存字典型数据库,且查询速度快,所述redis用于推荐系统实时特征存储的工具,所述redis中的数据需通过spark分布式计算存储入hdfs分布式数据库中,同时所述redis用于存储某个用户的即时喜好,所述hdfs用于存储备份用户历史喜好;6、优选的,所述实时写入模块通过redis提供实时特征,并由hdfs通过spark计算后提供离线特征,通过模型不断迭代更新响应用户请求;7、优选的,所述改良邻接矩阵模块用于改良邻接矩阵,其中进行改良邻接矩阵时需将以前单一的0/1邻接矩阵通过利用最短路径算法找到两个节点之间的最短路径变为以最短距离为权重的带权邻接矩阵,丰富了邻接矩阵的信息表达,通过最短路径捕捉潜在的关系模式;8、优选的,所述改良注意力机制模块用于在信息聚合时加入attention改良gcn的3-rank缺点,其中所述改良注意力机制模块中商品商品表示商品,会话表示用户在短时间(例如3小时内)连续访问商品,并按照时间顺序将商品进行排列获得会话,embedding信息嵌入,翻译为向量映射是将原始数据组织为向量的形式,且所述结构用于输入机器学习作为输入数据;9、优选的,所述改良注意力机制模块进行使用时先对获取到的用户点击数据进行表示,其中进行表示时令v={v1,v2,...,vm}表示所有商品(商品),并用表示每个匿名会话,匿名会话由按时间顺序排列的一系列用户交互组成,其中所述一系列用户交互为用户点击的商品,且所述表示在会话s中第1个被点击的商品,所述表示在会话s中第2个被点击的商品,所述表示在会话s中第l个被点击的商品。所述s的长度是l,表示完成后将每个会话序列构造为一个会话图graph,用于通过gnn学习当前会话中商品的embeddings,其中定义为给定会话设gs=(vs,es)为其对应的会话图,其中vs为s中被点击的商品(商品)的集合,表示边集,其中每条边表示s中相邻的两个商品:通过会话图构造全局图,其中所述全局图用于捕获全局级别的商品转换信息,且所述捕获的信息将用于学习所有会话中的商品嵌入;10、优选的,通过会话图构造全局图,先定义邻居集为,其中是会话sp中的任意节点,是会话sq中符合j(j的含义)取值要求的节点,i′是会话sq中商品所在的次序,ε是一个用于控制会话模型的商品短距离转换的超参数,一般取2,调整其取值大小会影响到j的取值范围。根据邻居集定义,对每个商品vi∈v全局级商品转换定义为{(vi,vj)|vi,vj∈v;vj∈nε(vi)},基于最短路径改良的邻接矩阵对于每个节点vi,为相邻边生成权重以区分vj邻居的重要性,同时使用gcn模型,在聚合时加入注意力,在全局图上传播特征,根据会话注意力评分对商品进行线性组合,并表示为所述π(vi,vj)表示不同重要性权重,所述为商品vi在图g中的邻居集,全局图中边(vi,vj)的权重是可训练的参数,利用注意力机制来学习不同节点之间的权重,该权重表示为eij表示节点vj的特征向量对节点vj的特征向量的重要性,使用leakyrelu作为激活函数,⊙操作符表示对向量逐元素相乘,是该激活函数的可自学习的参数向量。对每个商品通过结合全局上下文和会话上下文来获得它的表示,并且通过总和池来计算最终的会话表示,将会话序列输入图神经网络后获得会话中s涉及的商品的特征向量表示,同时通过软注意力机制学习相应的权重βi=qtσ(w1zi+w2s′+b),其中w1、w2是神经网络可自学习的d×d维矩阵,q和b是神经网络可自学习的d维向量,qt表示对向量进行转置操作,zi表示节点的位置信息,s′表示会话s中所有节点所对应特征向量的平均值,σ表示使用sigmoid函数作为激活函数,最后根据线性组合商品来获得会话表示基于获得的会话表示s,每个候选商品的最终推荐概率基于他们的初始嵌入以及当前会话表示,首先使用点积,然后应用softmax函数来输出y,其中输出y表示为yi=softmax{sthvi},其中yi表示商品vi在当前会话中出现在下次点击的概率。11、与现有技术相比,本发明的有益效果是:12、1、通过改良邻接矩阵和改良gcn的3-rank缺点,降低了构建出的推荐系统的缺陷性。13、2、通过将改良的推荐技术与大数据体系进行结合,搭建了一套基于大数据的推荐系统,具有响应速度快,可靠性高,实时性强的优势。14、本发明的目的是通过改良邻接矩阵和改良gcn的3-rank缺点,降低了构建出的推荐系统的缺陷性,同时通过将改良的推荐技术与大数据体系进行结合,搭建了一套基于大数据的推荐系统,具有响应速度快,可靠性高,实时性强的优势。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1