CN115358807A - 物品的推荐方法和装置、存储介质及电子设备 - Google Patents
物品的推荐方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115358807A CN115358807A CN202110535779.7A CN202110535779A CN115358807A CN 115358807 A CN115358807 A CN 115358807A CN 202110535779 A CN202110535779 A CN 202110535779A CN 115358807 A CN115358807 A CN 115358807A
- Authority
- CN
- China
- Prior art keywords
- nodes
- article
- target
- node
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Biophysics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Economics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种与人工智能和内容推送相关的物品的推荐方法和装置、存储介质及电子设备。其中,该方法包括:获取将要接受物品推荐的目标账号的历史操作记录;在至少一个对象物品对应的异构图中,确定出与至少一个对象物品中每个对象物品所在物品节点各自关联的邻居节点;在对每个对象物品各自关联的邻居节点分别进行分类以得到分类结果的情况下,根据分类结果确定每个对象物品各自对应的目标嵌入向量;将各个目标嵌入向量进行拼接,得到至少一个对象物品对应的综合嵌入向量;利用综合嵌入向量进行计算,以得到待推荐给目标账号的目标物品的物品信息。本发明解决了向用户推荐物品准确度低的技术问题。
Description
技术领域
本发明涉及大数据领域,具体而言,涉及一种物品的推荐方法和装置、存储介质及电子设备。
背景技术
现有技术中,在向用户推荐物品的过程中,如推荐购物物品、推荐文章的过程中,通常可以根据用户的历史浏览数据中的物品信息或文章信息等确定相似的物品或文章,然后推荐相似的物品或文章。然而,仅仅根据物品信息或文章信息确定相似推荐的方法,推荐的内容并不准确。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种物品的推荐方法和装置、存储介质及电子设备,以至少解决向用户推荐物品准确度低的技术问题。
根据本发明实施例的一个方面,提供了一种物品的推荐方法,包括:获取将要接受物品推荐的目标账号的历史操作记录,其中,上述历史操作记录为使用上述目标账号的用户对至少一个对象物品已执行的交互操作的操作记录;在上述至少一个对象物品对应的异构图中,确定出与上述至少一个对象物品中每个对象物品所在物品节点各自关联的邻居节点,其中,上述邻居节点为根据预定步长从上述异构图中选择出的节点,上述异构图中包括用于指示物品与对上述物品执行过交互操作的账号之间的依赖关系,上述物品中包括上述至少一个对象物品;在对每个对象物品各自关联的上述邻居节点分别进行分类以得到分类结果的情况下,根据上述分类结果确定每个对象物品各自对应的目标嵌入向量;将各个上述目标嵌入向量进行拼接,得到上述至少一个对象物品对应的综合嵌入向量;利用上述综合嵌入向量进行计算,以得到待推荐给上述目标账号的目标物品的物品信息。
根据本发明实施例的另一方面,还提供了一种物品的推荐装置,包括:获取单元,用于获取将要接受物品推荐的目标账号的历史操作记录,其中,上述历史操作记录为使用上述目标账号的用户对至少一个对象物品已执行的交互操作的操作记录;确定单元,用于在上述至少一个对象物品对应的异构图中,确定出与上述至少一个对象物品中每个对象物品所在物品节点各自关联的邻居节点,其中,上述邻居节点为根据预定步长从上述异构图中选择出的节点,上述异构图中包括用于指示物品与对上述物品执行过交互操作的账号之间的依赖关系,上述物品中包括上述至少一个对象物品;分类单元,用于在对每个对象物品各自关联的上述邻居节点分别进行分类以得到分类结果的情况下,根据上述分类结果确定每个对象物品各自对应的目标嵌入向量;拼接单元,用于将各个上述目标嵌入向量进行拼接,得到上述至少一个对象物品对应的综合嵌入向量;计算单元,用于利用上述综合嵌入向量进行计算,以得到待推荐给上述目标账号的目标物品的物品信息。
作为一种可选的示例,上述分类单元包括:第一处理模块,用于将每个上述对象物品确定为当前物品,对上述当前物品执行如下操作:从上述异构图中确定出上述当前物品所在的物品节点的邻居节点;按照上述邻居节点的类型将上述邻居节点分为多类;对于每一类上述邻居节点确定出一个类型嵌入向量;按照每一类上述邻居节点的第一权重,对上述类型嵌入向量进行加权求和,得到上述目标嵌入向量。
作为一种可选的示例,上述第一处理模块还用于:将每一类上述邻居节点确定为当前类邻居节点,对上述当前类邻居节点执行如下操作:获取上述当前类邻居节点中的每一个邻居节点的节点嵌入向量;将上述节点嵌入向量拼接为目标节点嵌入向量;将上述目标节点嵌入向量与上述当前类邻居节点中节点的数量的模的比值确定为上述当前类邻居节点的类型嵌入向量。
作为一种可选的示例,上述第一处理模块还用于:将上述当前类邻居节点中每一个上述邻居节点确定为当前邻居节点,对上述当前邻居节点执行如下操作:获取上述当前邻居节点的属性集,其中,上述属性集中包括上述当前邻居节点的多个属性信息;将每一个上述属性信息转换为属性向量;将上述属性向量拼接为目标属性向量;将上述目标属性向量与上述属性集的模的比值确定为上述当前邻居节点的节点嵌入向量。
作为一种可选的示例,上述分类单元还包括:第二处理模块,用于在按照每一类上述邻居节点的第一权重,对上述类型嵌入向量进行加权求和,得到上述目标嵌入向量之前,将每一类上述邻居节点确定为当前类邻居节点,对上述当前类邻居节点执行如下操作,以确定上述当前类邻居节点的上述第一权重:获取上述当前物品的节点嵌入向量和上述当前类邻居节点的类型嵌入向量拼接得到的第一拼接向量;将上述第一拼接向量与注意力参数相乘,得到第一乘积,并对上述第一乘积执行修正操作,得到第一修正向量;在上述当前物品的节点嵌入向量和每一类上述邻居节点的类型嵌入向量拼接得到第二拼接向量后,将每一个上述第二拼接向量与注意力参数相乘,得到多个第二乘积,并对上述多个第二乘积执行上述修正操作,得到多个第二修正向量,其中,每一个上述第二乘积对应一个上述第二修正向量;确定上述第二修正向量的和;将上述第一修正向量与上述和的比值确定为上述当前类邻居节点的上述第一权重。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述物品的推荐方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的物品的推荐方法。
在本发明实施例中,采用了获取将要接受物品推荐的目标账号的历史操作记录,其中,上述历史操作记录为使用上述目标账号的用户对至少一个对象物品已执行的交互操作的操作记录;在上述至少一个对象物品对应的异构图中,确定出与上述至少一个对象物品中每个对象物品所在物品节点各自关联的邻居节点,其中,上述邻居节点为根据预定步长从上述异构图中选择出的节点,上述异构图中包括用于指示物品与对上述物品执行过交互操作的账号之间的依赖关系,上述物品中包括上述至少一个对象物品;在对每个对象物品各自关联的上述邻居节点分别进行分类以得到分类结果的情况下,根据上述分类结果确定每个对象物品各自对应的目标嵌入向量;将各个上述目标嵌入向量进行拼接,得到上述至少一个对象物品对应的综合嵌入向量;利用上述综合嵌入向量进行计算,以得到待推荐给上述目标账号的目标物品的物品信息的方法,由于在上述方法中,在向目标账号推荐物品的时候,是根据用户所操作过的当前物品的异构图中确定出的综合嵌入向量来预测待推荐的目标物品的物品信息,从而考虑到了物品、用户以及用户对物品的操作记录形成的会话之间的依赖关系,可以预测出更加准确的物品推荐,提高了向用户推荐物品的准确度,进而解决了向用户推荐物品准确度低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的物品的推荐方法的应用环境的示意图;
图2是根据本发明实施例的另一种可选的物品的推荐方法的应用环境的示意图;
图3是根据本发明实施例的一种可选的物品的推荐方法的流程的示意图;
图4是根据本发明实施例的一种可选的物品的推荐方法的异构图;
图5是根据本发明实施例的一种可选的物品的推荐方法的预测目标物品的示意图;
图6是根据本发明实施例的一种可选的物品的推荐方法的目标神经网络模型的结构示意图;
图7是根据本发明实施例的一种可选的物品的推荐方法的异构神经网络模型的结构示意图;
图8是根据本发明实施例的一种可选的物品的推荐装置的结构示意图;
图9是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种物品的推荐方法,可选地,作为一种可选的实施方式,上述物品的推荐方法可以但不限于应用于如图1所示的环境中。
如图1所示,终端设备102包括了存储器104,用于存储终端设备102运行过程中产生的各项数据、处理器106,用于处理运算上述各项数据、显示器108,用于显示目标物品的物品信息。终端设备102可以通过网络110与服务器112之间进行数据交互。服务器112包括数据库114,用于存储各项数据,处理引擎116,用于处理上述各项数据。通过步骤S102到步骤S106,终端设备102可以向服务器112发送目标账号的历史操作记录,然后服务器112根据历史操作记录来预测推荐的目标物品的物品信息,并将物品信息返回给终端设备102,以使终端设备102显示物品信息。
作为一种可选的实施方式,上述物品的推荐方法可以但不限于应用于如图2所示的环境中。
如图2所示,终端设备202包括了存储器204,用于存储终端设备202运行过程中产生的各项数据、处理器206,用于处理运算上述各项数据、显示器208,用于显示目标物品的物品信息。终端设备202可以执行步骤S202到步骤S210,从而预测推荐的目标物品的物品信息。
可选地,在本实施例中,上述终端设备可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
可选地,上述物品的推荐方法可以但不限于应用于购物过程中,或者应用在推荐音乐、视频、文章等内容中。例如,如果应用在购物过程中,则在用户的历史操作记录中,包括了用户操作过的如浏览或购买过的物品,从用户浏览过的物品的异构图中,确定出用户浏览过的每一个物品的目标嵌入向量,并拼接得到综合嵌入向量,通过对综合嵌入向量进行计算,预测出要推荐的目标物品,并将目标物品推荐给用户。
如果将上述物品的推荐方法应用到推荐音乐、视频或文章的过程中,则可以获取用户的历史操作记录,历史操作记录中,包括了用户操作过的如浏览或点赞、分享的音乐、视频或文章,从用户操作过的音乐、视频或文章的异构图中,确定出用户操作过的每一个音乐、视频或文章的目标嵌入向量,并拼接得到综合嵌入向量,通过对综合嵌入向量进行计算,预测出要推荐的音乐、视频或文章的信息,并将音乐、视频或文章的信息推荐给用户。也就是说,上述物品的推荐方法中的物品,可以为购物的物品,也可以为文章、音乐、视频等内容,还可以为服务等。如根据用户已经拥有或购买的服务来为用于预测推荐的服务。
由于在上述过程中,在确定推荐的目标物品的物品信息的时候,是根据用户所操作过的当前物品的异构图中确定出的综合嵌入向量来预测待推荐的目标物品的物品信息,从而考虑到了物品、用户以及用户对物品的操作记录形成的会话之间的依赖关系,可以预测出更加准确的物品推荐,提高了向用户推荐物品的准确度。
上述物品的推荐方法涉及到人工智能。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
可选地,本实施例中涉及到的名词如下:
会话:会话是一组项目的集合。可以是一次活动或事务,也可以是一段时间内所有项目或事务的集合。
基于会话的推荐系统:以会话为基本数据组织单元,对数据进行分析和推荐的推荐系统。基于会话的推荐系统的目标是根据嵌入在会话中或会话之间的复杂关系来预测会话或未来会话的未知部分。
异构图:Heterogeneous Graph,包含多种类型节点、多种类型边的图结构。
可选地,作为一种可选的实施方式,如图3所示,上述物品的推荐方法包括:
S302,获取将要接受物品推荐的目标账号的历史操作记录,其中,历史操作记录为使用目标账号的用户对至少一个对象物品已执行的交互操作的操作记录;
可选地,以本实施例中的物品为购物物品为例,用户可以在购物的过程中,产生历史操作记录。如对物品的购买、浏览、添加购物车、分享等操作。历史操作记录可以保存在终端的本地,也可以保存在终端上的客户端对应的服务器上的该用户对应的存储空间中。
S304,在至少一个对象物品对应的异构图中,确定出与至少一个对象物品中每个对象物品所在物品节点各自关联的邻居节点,其中,邻居节点为根据预定步长从异构图中选择出的节点,异构图中包括用于指示物品与对物品执行过交互操作的账号之间的依赖关系,物品中包括至少一个对象物品;
可选地,本实施例中的异构图,可以为用户操作过的至少一个对象物品所对应的异构图。不同的对象物品组成的异构图不同。
可选地,不同的对象物品组成的异构图中可以包括不同的用户。例如,用户1和用户2分别对不同的对象物品执行过操作,用户1操作过物品1、物品2和物品3,而用户2操作过物品1和物品3,用户1操作的物品1和物品2构成一个用户1的会话,用户1操作的物品3构成一个用户1的会话。在生成异构图时,可以在异构图中记录物品1和物品2和物品3的关系,以及记录用户和物品之间的关系,以及生成用户的会话,并在异构图中记录会话和物品、用户的关系。不同类型的关系可以用不同的外观进行区分。例如,以不同颜色的线段作为不同类型的关系。
可选地,在生成异构图后,在异构图中可以查看到物品之间的顺序关系。该顺序关系可以根据不同的用户所操作的时间先后确定如用户操作物品1后,操作的物品2,则物品1位于物品2之前。
如图4所示,图4为一种可选的异构图。图4中,物品1、物品2和物品3之间有先后关系,通过箭头指向表示。用户1包括了会话1-1和会话1-2,而用户2包括了会话2。用户1的会话1-1中包括了物品1和物品2,用户1的会话1-2中包括了物品3.用户1和物品1-3对应。而用户2的会话2中包括了物品1和物品3,用户2和物品1和物品3对应。
对于每一个物品,都对应一个物品节点。物品节点可以在异构图中对应有多个邻居节点。
S306,在对每个对象物品各自关联的邻居节点分别进行分类以得到分类结果的情况下,根据分类结果确定每个对象物品各自对应的目标嵌入向量;
可选地,本实施例中,每一个对象物品都要确定出一个目标嵌入向量。在具体确定时,可以确定出每一个对象物品的邻居节点,然后,对邻居节点进行分类,分类结果中,每一类的邻居节点确定出一个类型嵌入向量,将类型嵌入向量根据每一类邻居节点的第一权重加权求和得到一个目标物品的目标嵌入向量。
S308,将各个目标嵌入向量进行拼接,得到至少一个对象物品对应的综合嵌入向量;
可选地,本实施例中的拼接可以为直接将目标嵌入向量按照对应的物品的先后顺序拼接成一个综合嵌入向量。物品的先后顺序即为异构图中的物品的顺序。
S310,利用综合嵌入向量进行计算,以得到待推荐给目标账号的目标物品的物品信息。
可选地,本实施例中,在获取到综合嵌入向量后,可以使用全连接层对综合嵌入向量进行计算,从而确定出待推荐的目标商品的商品信息。
通过本实施例的上述方法,在向目标账号推荐物品的时候,根据用户所操作过的当前物品的异构图中确定出的综合嵌入向量来预测待推荐的目标物品的物品信息,从而考虑到了物品、用户以及用户对物品的操作记录形成的会话之间的依赖关系,可以预测出更加准确的物品推荐,提高了向用户推荐物品的准确度。
作为一种可选的实施方式,在对每个对象物品各自关联的邻居节点分别进行分类以得到分类结果的情况下,根据分类结果确定每个对象物品各自对应的目标嵌入向量包括:
将每个对象物品确定为当前物品,对当前物品执行如下操作:
从异构图中确定出当前物品所在的物品节点的邻居节点;
按照邻居节点的类型将邻居节点分为多类;
对于每一类邻居节点确定出一个类型嵌入向量;
按照每一类邻居节点的第一权重,对类型嵌入向量进行加权求和,得到目标嵌入向量。
可选地,本实施例中,对于目标账号操作过的至少一个对象物品中的每一个对象物品,都要确定出一个目标嵌入向量。在确定目标嵌入向量时,可以将上述当前物品的物品节点的邻居节点分为多类。在分类的时候,按照邻居节点各自的类型,将邻居节点分为多类。邻居节点的类型即为该节点在异构图中的类型。例如,有的邻居节点为物品类,有的邻居节点为会话类,有的邻居节点为用户类等。将邻居节点分为不同的类之后,每一类邻居节点确定出一个类型嵌入向量,并加权求和得到当前物品的目标嵌入向量。
本实施例意在通过上述方法,从而获取到每一个当前物品的准确的目标嵌入向量。且在目标嵌入向量中记录了当前物品的关联的物品、用户和会话的关系,根据目标嵌入向量拼接得到的综合嵌入向量确定推荐物品,准确度更高。
作为一种可选的实施方式,从异构图中确定出当前物品所在的物品节点的邻居节点包括:
以物品节点为起点,按照预定步长,在异构图中随机选择物品节点的关联节点;
每按照预定步长选择一次关联节点,将关联节点确定为新的起点;
在确定出多个关联节点之后,从多个关联节点中确定出邻居节点。
可选地,本实施例中提出一种确定物品节点的邻居节点的方法。上述方法中,根据预定步长,从异构图中选择物品节点的关联节点,然后从关联节点中确定物品节点的邻居节点。预定步长可以为预先设定的值。然后,通过预定步长确定邻居节点时,查看不同的预定步长的确定效率,从而调整预定步长,得到最佳的预定步长。在确定关联节点时,例如,预定步长为2,则在异构图中,对于一个物品节点,选择该物品节点的距离为1的相邻节点,再选择该相邻节点距离为1的相邻节点。将后一个相邻节点确定为物品节点的一个关联节点,并将该关联节点作为新的起点,通过该方法再次确定关联节点,直到确定出多个关联节点。具体可以为在确定出预定数量的关联节点后停止,或者在确定出的关联节点包括了异构图中的所有类型的情况下停止。确定出的关联节点按照类型进行分类,每一类关联节点选择出出现次数最多的一个或多个节点作为邻居节点。
通过该方法,可以保证确定每一个物品节点的邻居节点的准确性,进一步提高推荐的目标物品的准确度。
作为一种可选的实施方式,在确定出多个关联节点之后,从多个关联节点中确定出邻居节点包括:
按照关联节点的类型,将关联节点分为多类;
对于每一类关联节点中的节点,按照出现次数从大到小的顺序进行排序;
将每一类关联节点的排序结果中的前N个节点,确定为物品节点的邻居节点。
可选地,上述N为正整数。上述N的数值可以变化。例如,确定N的初始值为3,然后,对于每一类的关联节点中的出现次数最多的前3个关联节点确定为物品节点的邻居节点,通过确定的邻居节点确定目标嵌入向量,最后预测目标物品的物品信息。而随着预测目标物品的物品信息的准确度,可以调整N的值,以使准确度更高。
作为一种可选的实施方式,对于每一类邻居节点确定出一个类型嵌入向量包括:
将每一类邻居节点确定为当前类邻居节点,对当前类邻居节点执行如下操作:获取当前类邻居节点中的每一个邻居节点的节点嵌入向量;
将节点嵌入向量拼接为目标节点嵌入向量;
将目标节点嵌入向量与当前类邻居节点中节点的数量的模的比值确定为当前类邻居节点的类型嵌入向量。
可选地,本实施例中,每一类邻居节点确定出一个类型嵌入向量时,需要先确定该类邻居节点中,每一个邻居节点的节点嵌入向量,然后将节点嵌入向量拼接为目标节点嵌入向量。在拼接的时候,可以按照每一个邻居节点的出现次数由大到小或者由小到大的顺序拼接节点嵌入向量得到目标节点嵌入向量。最后,通过将目标节点嵌入向量与当前类邻居节点中节点的数量的模的比值确定为当前类邻居节点的类型嵌入向量从而得到每一类邻居节点的类型嵌入向量。
作为一种可选的实施方式,获取当前类邻居节点中的每一个邻居节点的节点嵌入向量包括:
将当前类邻居节点中每一个邻居节点确定为当前邻居节点,对当前邻居节点执行如下操作:
获取当前邻居节点的属性集,其中,属性集中包括当前邻居节点的多个属性信息;
将每一个属性信息转换为属性向量;
将属性向量拼接为目标属性向量;
将目标属性向量与属性集的模的比值确定为当前邻居节点的节点嵌入向量。
可选地,本实施例中,当前邻居节点的属性值可以为当前邻居节点对应的内容的各种属性。当前邻居节点为用户时,属性信息可以为用户的用户信息,例如可以为用户的唯一标识、用户的等级、购买力、购物车内容等。如果当前邻居节点为物品的节点,则属性信息可以为物品的尺寸、评价、价格、重量、保质期、品牌等各种属性。如果当前邻居节点为会话节点,则属性信息可以为会话产生的时间段、会话对应的用户、会话对应的物品等。
每一个属性可以转换为一个属性向量,将每一个属性向量进行拼接,得到目标属性向量。拼接时,可以为属性信息随机排序,按照随机排序的顺序拼接向量,也可以为每一个属性信息分配重要性权重,按照重要性权重拼接向量。最后,将目标属性向量与属性集的模的比值确定为当前邻居节点的节点嵌入向量,从而得到当前邻居节点的节点嵌入向量。
作为一种可选的实施方式,在按照每一类邻居节点的第一权重,对类型嵌入向量进行加权求和,得到目标嵌入向量之前,方法还包括:
将每一类邻居节点确定为当前类邻居节点,对当前类邻居节点执行如下操作,以确定当前类邻居节点的第一权重:
获取当前物品的节点嵌入向量和当前类邻居节点的类型嵌入向量拼接得到的第一拼接向量;
将第一拼接向量与注意力参数相乘,得到第一乘积,并对第一乘积执行修正操作,得到第一修正向量;
在当前物品的节点嵌入向量和每一类邻居节点的类型嵌入向量拼接得到第二拼接向量后,将每一个第二拼接向量与注意力参数相乘,得到多个第二乘积,并对多个第二乘积执行修正操作,得到多个第二修正向量,其中,每一个第二乘积对应一个第二修正向量;
确定第二修正向量的和;
将第一修正向量与和的比值确定为当前类邻居节点的第一权重。
可选地,通过上述方法确定第一权重,可以为每一类邻居节点确定出准确的第一权重,从而可以确定出准确的目标嵌入向量和综合嵌入向量,进而提高推荐的目标物品的准确度。
作为一种可选的实施方式,将各个目标嵌入向量进行拼接,得到至少一个对象物品对应的综合嵌入向量包括:
获取至少一个对象物品中最后一个对象物品的第一目标嵌入向量;
为至少一个对象物品中每一个物品的目标嵌入向量分配一个第二权重;
按照第二权重对至少一个对象物品中每一个对象物品的目标嵌入向量加权求和,得到第二目标嵌入向量;
将第一目标嵌入向量和第二目标嵌入向量融合为综合嵌入向量。
可选地,本实施例中,在确定综合嵌入向量时,为每一个目标嵌入向量分配的第二权重可以进行调整。即随着确定出的目标物品的准确度,来调整第二权重,从而得到更加准确的第二权重。
本实施例中,在拼接得到综合嵌入向量时,需要考虑用户的短期偏好和长期偏好。上述至少一个对象物品中最后一个对象物品确定出的第一目标嵌入向量是用户的短期偏好。而为至少一个对象物品中每一个物品的目标嵌入向量分配一个第二权重;按照第二权重对至少一个对象物品中每一个对象物品的目标嵌入向量加权求和,得到第二目标嵌入向量是用户的长期偏好,将短期偏好和长期偏好进行融合,得到综合嵌入向量,综合嵌入向量包括了用户的短期偏好和长期偏好。本实施例提高了确定目标物品的准确度。
以下结合一个具体示例解释上述物品的推荐方法。例如,将上述物品的推荐方法应用到推荐购物物品的过程中。用户在购买物品时,可以浏览物品,并对物品进行购买、添加购物车、分享等操作。获取用户在预定时长内操作过的物品的记录,构成一个会话。例如,用户1在10分钟之内点击了1个物品1,将一个物品2加入购物车,购买了一个物品3。则物品1到物品3构成用户1的会话序列。不同用户的不同会话可以构成异构图,异构图中记录会话序列三种依赖关系(即同一会话中不同物品间的依赖、不同会话间的依赖、不同会话中不同物品的依赖)充分考虑物品之间的转换关系,实现更好的推荐结果。上述物品推荐方法可以使用目标神经网络模型来实现。目标神经网络模型可以获取到综合嵌入向量并计算得到推荐的目标物品。目标神经网络模型分为训练和使用两个阶段。而无论哪一个阶段,目标神经网络模型的作用为在获取到用户的历史操作记录中的物品的情况下,对于某一个物品,预测该物品的下一个物品。例如,如图5所示,图5中,用户u的历史操作记录S1中包括了用户操作过的V1到V4四件物品。目标神经网络模型在训练过程中,可以预测每一件物品的下一件物品,如预测物品V2的下一件物品V3,然后和历史操作记录中的V3进行比对,查看预测结果是否正确。如果预测结果不正确,则需要调整目标神经网络模型的模型参数,以使目标神经网络模型预测的更加准确。在使用目标神经网络模型确定目标物品的时候,可以获取到用户的历史操作记录,然后,预测历史操作记录中最后一件物品的下一件物品,就是预测用户接下来可能操作的物品,从而预测出目标物品。
本实施例中的目标神经网络模型的模型结构图如图6所示,主要包括三个部分,分别为异构图的构建、学习物品节点嵌入、生成会话嵌入。首先将会话序列构建成为异构图,异构图包含三种类型的节点,即会话、物品、用户节点;本步骤中,可以将不同的用户的不同会话序列构建到一个异构图中。如图6中的构建异构图,其中,物品的V1到V2到V3到V5到V4为物品的顺序关系,其中,由于不同用户的不同操作顺序,V2可以直接到V5。而且,异构图中还记录了每一个物品对应的用户u1和u2,以及用户和会话S1到S3之间的关系,以及会话和物品之间的关系。之后通过异构图神经网络学习出包含物品转换信息以及用户会话依赖关系的物品嵌入向量;然后生成表达能力强大的综合嵌入向量;最终经过softmax层计算每个候选物品的得分,将得分最高的一项作为下一项物品的推荐。
对于异构图的构建,将会话集S构建成异构图Gn=(V,S,U,EV,E)。其中V为物品节点集合,S为会话节点集合,U为用户节点集合,Ev表示两个物品间的边的集合,Ev=(vs,i,vs,i+1)是一组有向边,它表示购买物品vs,i后,下一项购买的是物品vs,i+1,E是一组无向边的集合E={(vs,i,s),(vs,i,u),(s,u)}可以表示物品与会话、物品与用户、用户与会话之间的联系。异构图创建好后,采用深度游走算法(DeepWalk)将异构图中所有的节点嵌入到统一的向量空间中,即从每一个节点出发,进行固定步长L的随机游走,得到一定数量的词向量,然后使用Word2vec模型对这些词向量进行识别,最终生成每个节点的预嵌入的节点嵌入向量。
在获取到每一个节点的节点嵌入向量后,需要获取每一个物品节点的目标嵌入向量。生成节点嵌入向量后,异构图中每一个节点可以用相同纬度的节点嵌入向量进行表示。接下来采用异构图神经网络(HetGNN)学习出包含丰富信息以及丰富的物品转换关系的综合嵌入向量。HetGNN的核心步骤是聚合,主要分为四个步骤:a异构邻居采样;b异构邻居节点内容聚合;c同种类型异构邻居聚合;d不同类型聚合。HetGNN的模型结构如图7所示。
a、异构邻居采样
学习项目嵌入向量最重要的问题是如何聚合不同内容的异构邻居,这些异构邻居的种类和数量不同,可能需要不同的特征转换来进行处理。例如,某一用户在2次会话中购买了三件物品,另一位用户,在3次会话中购买了4个物品,此时这两个用户的邻居数量不同,那么该如何选取节点的异构邻居使其能使用同一个模型进行聚合是一个重要的问题。为解决这个问题,实施例采用用了基于重启的随机游走的方法RWR来采样异构邻居。RWR的主要步骤如下:
(1)对所有的物品节点V={v1,v2,v3,……,vn},从每一个物品节点vi点开始进行随机游走,在随机游走的过程中有概率P的可能回到节点vi。为了在游走的过程中得到所有类型的节点,RWR控制每种类型节点游走的数量,并将所有游走到的节点存入RWR(v)列表中。随机游走时,采用预定步长。预定步长可以初始化为一个值,通过目标神经网络模型的训练过程进行调整。
(2)在RWR(v)中将所有的节点分类,对每一种类型t,选取出现次数最多的一个或多个节点作为物品节点vi的异构邻居节点。以此方法来进行异构邻居的采样,能够为每一个物品节点选取所有类型和相同数量的异构邻居节点。
b、异构邻居节点内容聚合
不同类型的异构邻居节点,节点的内容不同。例如,用户节点可能包含年龄、性别等属性,物品节点包含物品名称、种类等属性。为了将节点不同的属性内容通过神经网络编码成固定维度的嵌入表示,本实施例提供了一个基于双向LSTM(BiLSTM)的架构来获取特征之间的交互。它将节点的所有属性聚合到该节点嵌入表示中,使其拥有更大的表达能力。其具体步骤如下:
首先,针对节点vi的异构邻居v,它的属性集是Arr={arr1,arr2…arrn},使用不同的模型将属性arri转换为相同维度的嵌入向量得到Arr={arr1,arr2...arrn}。HetGNN针对不同类型的属性给出了不同的解决方法,例如文字属性使用one-hot模型、图片使用CNN模型等。得到邻居节点的各属性嵌入向量后,采用以下公式计算内容聚合后的节点嵌入向量f1(v):
本实施例的内容聚合的编码方式,能够聚合异构内容使节点嵌入向量更具有表达能力,同时便于添加节点的内容属性。
c、同种类型异构邻居聚合
节点内容聚合得到节点嵌入向量后,得到每个异构邻居节点的嵌入向量表示。每个物品节点的异构邻居节点有多个种类,t种类型的异构邻居节点有多个,本实施例提供了一个神经网络结构将同种类型的节点聚合到一个类型嵌入向量中。采用BiLSTM来聚合同种类型节点,学习同种类型节点直接的复杂关系,使学习出的类型嵌入具有更强的表达能力。类型嵌入向量f2(t)的计算可见如下公式。
至此,本文将物品节点vi的同种类型t的邻居节点聚合成一个类型嵌入向量。
d、不同类型聚合
得到类型嵌入向量后,需要将所有类型嵌入向量聚合为一个目标嵌入向量,也即最终得到物品节点vi的目标嵌入向量。但是,不同的节点,其不同类型的异构邻居对其影响不同。因此,本实施例引入注意力机制解决这个问题。物品节点vi不同类型的重要性计算公式如下:
其中,LeakyReLU为带泄露修正线性单元,U∈R1×2d是注意力参数,T为异构节点类型集合,t为某一异构节点类型。fj表示f1或除f2。计算出每种类型对节点vi的重要性后,采用下面公式计算出物品节点vi最终的目标嵌入向量表示。
至此,本实施例将每一个物品节点及其异构邻居节点聚合成一个目标嵌入向量,作为该物品节点的最终向量表示vi=f3(vi),vi中不仅包含了物品间的转换关系,同时学习了其他类型节点的信息,使其更具有表达能力。
在获取到每一个物品节点的目标嵌入向量之后,就能够生成综合嵌入向量。对于会话s={vs,1,vs,2,vs,3,……,vs,i},其综合嵌入向量表示计算如以下公式所示:
所得到的S即为综合嵌入向量。在训练目标神经网络模型时,通过S预测出目标商品的商品信息,和样本数据进行比对,以查看目标神经网络模型的识别准确度。如果识别准确度低,则需要调整目标神经网络模型中的参数。如果目标神经网络模型识别准确度高,则可以投入使用。通过上述方法确定出S,然后对S进行计算,预测出目标物品的物品信息,并将目标物品推荐给目标账号。
此外,考虑用户的长期偏好和短期偏好对推荐结果的不同影响,本实施例中还提供了一种确定上述S的方法。为模型添加注意力机制,从而得到可表示长期偏好和短期偏好的综合嵌入向量S。
首先考虑会话的局部嵌入向量sl,sl需要关注的是用户的短期偏好。计算局部会话嵌入向量可采用以下公式:
sl=vs,n
其中vs,n为当前会话最后一个项目的嵌入向量。
对于用户的长期偏好,就需要在考虑所有项目之间的转换关系。本实施例软注意力机制来学习会话的全局嵌入向量sg,采用以下公式:
αi=WTσ(W1vs,n+W2vs,i+c)
其中,矩阵WT∈Rd,W1,W2∈Rd×2d为控制项目嵌入向量的权重。
得到会话的全局嵌入和局部嵌入后,根据下面公式计算会话的混合嵌入。
sh=W3[sl;sg]
其中矩阵W3∈Rd×2d用于将sl,sg融合到同一嵌入向量中。
生成综合嵌入向量sh后,经过softmax层计算每个候选物品的得分,然后通过反向传播算法训练模型,模型收敛后,在测试集进行测试。
本实施例的目标是根据已有会话信息间的依赖关系来为用户进行下一项推荐。本实施例将会话序列构建成异构图结构,在异构图中能够充分考虑项目、会话以及用户之间丰富的依赖关系,并通过Deepwalk算法将所有的节点嵌入到统一的向量空间中;通过异构图神经网络学习出包含用户信息、会话以及物品间依赖关系的物品向量;通过软注意力机制,考虑会话的局部嵌入和全局嵌入,从而学习用户的短期偏好和长期偏好,生成包含丰富信息和复杂转换关系的会话向量;经过softmax层计算每个物品的得分,根据得分为用户进行Top-N推荐,提高了推荐目标物品的准确度。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述物品的推荐方法的物品的推荐装置。如图8所示,该装置包括:
获取单元802,用于获取将要接受物品推荐的目标账号的历史操作记录,其中,历史操作记录为使用目标账号的用户对至少一个对象物品已执行的交互操作的操作记录;
确定单元804,用于在至少一个对象物品对应的异构图中,确定出与至少一个对象物品中每个对象物品所在物品节点各自关联的邻居节点,其中,邻居节点为根据预定步长从异构图中选择出的节点,异构图中包括用于指示物品与对物品执行过交互操作的账号之间的依赖关系,物品中包括至少一个对象物品;
分类单元806,用于在对每个对象物品各自关联的邻居节点分别进行分类以得到分类结果的情况下,根据分类结果确定每个对象物品各自对应的目标嵌入向量;
拼接单元808,用于将各个目标嵌入向量进行拼接,得到至少一个对象物品对应的综合嵌入向量;
计算单元810,用于利用综合嵌入向量进行计算,以得到待推荐给目标账号的目标物品的物品信息。
通过本实施例的上述装置,在向目标账号推荐物品的时候,根据用户所操作过的当前物品的异构图中确定出的综合嵌入向量来预测待推荐的目标物品的物品信息,从而考虑到了物品、用户以及用户对物品的操作记录形成的会话之间的依赖关系,可以预测出更加准确的物品推荐,提高了向用户推荐物品的准确度。
本实施例的其他示例请参见上述示例,在此不再赘述。
根据本发明实施例的又一个方面,还提供了一种用于实施上述物品的推荐方法的电子设备,该电子设备可以是图9所示的终端设备或服务器。本实施例以该电子设备为终端为例来说明。如图9所示,该电子设备包括存储器902和处理器904,该存储器902中存储有计算机程序,该处理器904被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
获取将要接受物品推荐的目标账号的历史操作记录,其中,历史操作记录为使用目标账号的用户对至少一个对象物品已执行的交互操作的操作记录;
在至少一个对象物品对应的异构图中,确定出与至少一个对象物品中每个对象物品所在物品节点各自关联的邻居节点,其中,邻居节点为根据预定步长从异构图中选择出的节点,异构图中包括用于指示物品与对物品执行过交互操作的账号之间的依赖关系,物品中包括至少一个对象物品;
在对每个对象物品各自关联的邻居节点分别进行分类以得到分类结果的情况下,根据分类结果确定每个对象物品各自对应的目标嵌入向量;
将各个目标嵌入向量进行拼接,得到至少一个对象物品对应的综合嵌入向量;
利用综合嵌入向量进行计算,以得到待推荐给目标账号的目标物品的物品信息。
可选地,本领域普通技术人员可以理解,图9所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图9中所示更多或者更少的组件(如网络接口等),或者具有与图9所示不同的配置。
其中,存储器902可用于存储软件程序以及模块,如本发明实施例中的物品的推荐方法和装置对应的程序指令/模块,处理器904通过运行存储在存储器902内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的物品的推荐方法。存储器902可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器902可进一步包括相对于处理器904远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器902具体可以但不限于用于存储目标账号的历史操作记录等信息。作为一种示例,如图9所示,上述存储器902中可以但不限于包括上述物品的推荐装置中的获取单元802、确定单元804、分类单元806、拼接单元808和计算单元810。此外,还可以包括但不限于上述物品的推荐装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置906为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器908,用于显示目标物品的物品信息;和连接总线910,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
获取将要接受物品推荐的目标账号的历史操作记录,其中,历史操作记录为使用目标账号的用户对至少一个对象物品已执行的交互操作的操作记录;
在至少一个对象物品对应的异构图中,确定出与至少一个对象物品中每个对象物品所在物品节点各自关联的邻居节点,其中,邻居节点为根据预定步长从异构图中选择出的节点,异构图中包括用于指示物品与对物品执行过交互操作的账号之间的依赖关系,物品中包括至少一个对象物品;
在对每个对象物品各自关联的邻居节点分别进行分类以得到分类结果的情况下,根据分类结果确定每个对象物品各自对应的目标嵌入向量;
将各个目标嵌入向量进行拼接,得到至少一个对象物品对应的综合嵌入向量;
利用综合嵌入向量进行计算,以得到待推荐给目标账号的目标物品的物品信息。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种物品的推荐方法,其特征在于,包括:
获取将要接受物品推荐的目标账号的历史操作记录,其中,所述历史操作记录为使用所述目标账号的用户对至少一个对象物品已执行的交互操作的操作记录;
在所述至少一个对象物品对应的异构图中,确定出与所述至少一个对象物品中每个对象物品所在物品节点各自关联的邻居节点,其中,所述邻居节点为根据预定步长从所述异构图中选择出的节点,所述异构图中包括用于指示物品与对所述物品执行过交互操作的账号之间的依赖关系,所述物品中包括所述至少一个对象物品;
在对每个对象物品各自关联的所述邻居节点分别进行分类以得到分类结果的情况下,根据所述分类结果确定每个对象物品各自对应的目标嵌入向量;
将各个所述目标嵌入向量进行拼接,得到所述至少一个对象物品对应的综合嵌入向量;
利用所述综合嵌入向量进行计算,以得到待推荐给所述目标账号的目标物品的物品信息。
2.根据权利要求1所述的方法,其特征在于,所述在对每个对象物品各自关联的所述邻居节点分别进行分类以得到分类结果的情况下,根据所述分类结果确定每个对象物品各自对应的所述目标嵌入向量包括:
将每个所述对象物品确定为当前物品,对所述当前物品执行如下操作:
从所述异构图中确定出所述当前物品所在的物品节点的邻居节点;
按照所述邻居节点的类型将所述邻居节点分为多类;
对于每一类所述邻居节点确定出一个类型嵌入向量;
按照每一类所述邻居节点的第一权重,对所述类型嵌入向量进行加权求和,得到所述目标嵌入向量。
3.根据权利要求2所述的方法,其特征在于,所述从所述异构图中确定出所述当前物品所在的物品节点的邻居节点包括:
以所述物品节点为起点,按照预定步长,在所述异构图中随机选择所述物品节点的关联节点;
每按照所述预定步长选择一次所述关联节点,将所述关联节点确定为新的所述起点;
在确定出多个所述关联节点之后,从多个所述关联节点中确定出所述邻居节点。
4.根据权利要求3所述的方法,其特征在于,所述在确定出多个所述关联节点之后,从多个所述关联节点中确定出所述邻居节点包括:
按照所述关联节点的类型,将所述关联节点分为多类;
对于每一类所述关联节点中的节点,按照出现次数从大到小的顺序进行排序;
将每一类所述关联节点的排序结果中的前N个节点,确定为所述物品节点的所述邻居节点。
5.根据权利要求2所述的方法,其特征在于,所述对于每一类所述邻居节点确定出一个类型嵌入向量包括:
将每一类所述邻居节点确定为当前类邻居节点,对所述当前类邻居节点执行如下操作:获取所述当前类邻居节点中的每一个邻居节点的节点嵌入向量;
将所述节点嵌入向量拼接为目标节点嵌入向量;
将所述目标节点嵌入向量与所述当前类邻居节点中节点的数量的模的比值确定为所述当前类邻居节点的类型嵌入向量。
6.根据权利要求5所述的方法,其特征在于,所述获取所述当前类邻居节点中的每一个邻居节点的节点嵌入向量包括:
将所述当前类邻居节点中每一个所述邻居节点确定为当前邻居节点,对所述当前邻居节点执行如下操作:
获取所述当前邻居节点的属性集,其中,所述属性集中包括所述当前邻居节点的多个属性信息;
将每一个所述属性信息转换为属性向量;
将所述属性向量拼接为目标属性向量;
将所述目标属性向量与所述属性集的模的比值确定为所述当前邻居节点的节点嵌入向量。
7.根据权利要求2所述的方法,其特征在于,在按照每一类所述邻居节点的第一权重,对所述类型嵌入向量进行加权求和,得到所述目标嵌入向量之前,所述方法还包括:
将每一类所述邻居节点确定为当前类邻居节点,对所述当前类邻居节点执行如下操作,以确定所述当前类邻居节点的所述第一权重:
获取所述当前物品的节点嵌入向量和所述当前类邻居节点的类型嵌入向量拼接得到的第一拼接向量;
将所述第一拼接向量与注意力参数相乘,得到第一乘积,并对所述第一乘积执行修正操作,得到第一修正向量;
在所述当前物品的节点嵌入向量和每一类所述邻居节点的类型嵌入向量拼接得到第二拼接向量后,将每一个所述第二拼接向量与注意力参数相乘,得到多个第二乘积,并对所述多个第二乘积执行所述修正操作,得到多个第二修正向量,其中,每一个所述第二乘积对应一个所述第二修正向量;
确定所述第二修正向量的和;
将所述第一修正向量与所述和的比值确定为所述当前类邻居节点的所述第一权重。
8.根据权利要求1至7任意一项所述的方法,其特征在于,所述将各个所述目标嵌入向量进行拼接,得到所述至少一个对象物品对应的综合嵌入向量包括:
获取所述至少一个对象物品中最后一个对象物品的第一目标嵌入向量;
为所述至少一个对象物品中每一个物品的所述目标嵌入向量分配一个第二权重;
按照所述第二权重对所述至少一个对象物品中每一个对象物品的所述目标嵌入向量加权求和,得到第二目标嵌入向量;
将所述第一目标嵌入向量和所述第二目标嵌入向量融合为所述综合嵌入向量。
9.一种物品的推荐装置,其特征在于,包括:
获取单元,用于获取将要接受物品推荐的目标账号的历史操作记录,其中,所述历史操作记录为使用所述目标账号的用户对至少一个对象物品已执行的交互操作的操作记录;
确定单元,用于在所述至少一个对象物品对应的异构图中,确定出与所述至少一个对象物品中每个对象物品所在物品节点各自关联的邻居节点,其中,所述邻居节点为根据预定步长从所述异构图中选择出的节点,所述异构图中包括用于指示物品与对所述物品执行过交互操作的账号之间的依赖关系,所述物品中包括所述至少一个对象物品;
分类单元,用于在对每个对象物品各自关联的所述邻居节点分别进行分类以得到分类结果的情况下,根据所述分类结果确定每个对象物品各自对应的目标嵌入向量;
拼接单元,用于将各个所述目标嵌入向量进行拼接,得到所述至少一个对象物品对应的综合嵌入向量;
计算单元,用于利用所述综合嵌入向量进行计算,以得到待推荐给所述目标账号的目标物品的物品信息。
10.根据权利要求9所述的装置,其特征在于,所述分类单元包括:
第一处理模块,用于将每个所述对象物品确定为当前物品,对所述当前物品执行如下操作:
从所述异构图中确定出所述当前物品所在的物品节点的邻居节点;
按照所述邻居节点的类型将所述邻居节点分为多类;
对于每一类所述邻居节点确定出一个类型嵌入向量;
按照每一类所述邻居节点的第一权重,对所述类型嵌入向量进行加权求和,得到所述目标嵌入向量。
11.根据权利要求10所述的装置,其特征在于,所述第一处理模块还用于:
以所述物品节点为起点,按照预定步长,在所述异构图中随机选择所述物品节点的关联节点;
每按照所述预定步长选择一次所述关联节点,将所述关联节点确定为新的所述起点;
在确定出多个所述关联节点之后,从多个所述关联节点中确定出所述邻居节点。
12.根据权利要求11所述的装置,其特征在于,所述第一处理模块还用于:
按照所述关联节点的类型,将所述关联节点分为多类;
对于每一类所述关联节点中的节点,按照出现次数从大到小的顺序进行排序;
将每一类所述关联节点的排序结果中的前N个节点,确定为所述物品节点的所述邻居节点。
13.根据权利要求9至12任意一项所述的装置,其特征在于,所述拼接单元包括:
获取模块,用于获取所述至少一个对象物品中最后一个对象物品的第一目标嵌入向量;
分配模块,用于为所述至少一个对象物品中每一个物品的所述目标嵌入向量分配一个第二权重;
计算模块,用于按照所述第二权重对所述至少一个对象物品中每一个对象物品的所述目标嵌入向量加权求和,得到第二目标嵌入向量;
融合模块,用于将所述第一目标嵌入向量和所述第二目标嵌入向量融合为所述综合嵌入向量。
14.一种计算机可读的存储介质,所述计算机可读的存储介质存储有计算机程序,其特征在于,所述计算机程序运行时执行所述权利要求1至8任一项中所述的方法。
15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110535779.7A CN115358807A (zh) | 2021-05-17 | 2021-05-17 | 物品的推荐方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110535779.7A CN115358807A (zh) | 2021-05-17 | 2021-05-17 | 物品的推荐方法和装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115358807A true CN115358807A (zh) | 2022-11-18 |
Family
ID=84030700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110535779.7A Pending CN115358807A (zh) | 2021-05-17 | 2021-05-17 | 物品的推荐方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115358807A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116955836A (zh) * | 2023-09-21 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 推荐方法、装置、设备、计算机可读存储介质及程序产品 |
CN117575744A (zh) * | 2024-01-15 | 2024-02-20 | 成都帆点创想科技有限公司 | 一种基于用户关联关系的物品推荐方法及系统 |
-
2021
- 2021-05-17 CN CN202110535779.7A patent/CN115358807A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116955836A (zh) * | 2023-09-21 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 推荐方法、装置、设备、计算机可读存储介质及程序产品 |
CN116955836B (zh) * | 2023-09-21 | 2024-01-02 | 腾讯科技(深圳)有限公司 | 推荐方法、装置、设备、计算机可读存储介质及程序产品 |
CN117575744A (zh) * | 2024-01-15 | 2024-02-20 | 成都帆点创想科技有限公司 | 一种基于用户关联关系的物品推荐方法及系统 |
CN117575744B (zh) * | 2024-01-15 | 2024-03-26 | 成都帆点创想科技有限公司 | 一种基于用户关联关系的物品推荐方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108876526B (zh) | 商品推荐方法、装置和计算机可读存储介质 | |
CN111079015B (zh) | 一种推荐方法、装置、计算机设备和存储介质 | |
CN111242748B (zh) | 用于向用户推荐项目的方法、装置和存储介质 | |
CN111652648A (zh) | 智能生成个性化组合促销方案的方法及具有该方法的系统 | |
CN111008336A (zh) | 一种内容推荐方法、装置、设备及可读存储介质 | |
CN110008397B (zh) | 一种推荐模型训练方法及装置 | |
CN113379449B (zh) | 多媒体资源召回方法、装置、电子设备以及存储介质 | |
CN111104599B (zh) | 用于输出信息的方法和装置 | |
CN115358807A (zh) | 物品的推荐方法和装置、存储介质及电子设备 | |
CN111967924A (zh) | 商品推荐方法、商品推荐装置、计算机设备和介质 | |
CN114417174B (zh) | 内容推荐方法、装置、设备及计算机存储介质 | |
CN112288554A (zh) | 商品推荐方法和装置、存储介质及电子装置 | |
CN115631008B (zh) | 商品推荐方法、装置、设备及介质 | |
CN111552835A (zh) | 文件推荐方法、装置及服务器 | |
CN112269943B (zh) | 一种信息推荐系统及方法 | |
US10296928B1 (en) | System and methods for measuring and influencing customer trajectory within a product space | |
CN113327154B (zh) | 基于大数据的电商用户讯息推送方法及系统 | |
CN114429384B (zh) | 基于电商平台的产品智能推荐方法及系统 | |
CN110879863B (zh) | 跨领域搜索方法和跨领域搜索装置 | |
CN115329183A (zh) | 数据处理方法、装置、存储介质及设备 | |
Prasad et al. | Mobile recommendation system using Mapreduce | |
CN116911913B (zh) | 一种交互结果的预测方法及装置 | |
CN117216548A (zh) | 推荐数据评估模型的构建方法、推荐数据评估方法和装置 | |
CN118210975A (zh) | 对象列表推荐方法、装置、电子设备及可读存储介质 | |
CN117636141A (zh) | 多目标预测方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |