CN114780867B - 推荐方法、介质、装置和计算设备 - Google Patents
推荐方法、介质、装置和计算设备 Download PDFInfo
- Publication number
- CN114780867B CN114780867B CN202210504526.8A CN202210504526A CN114780867B CN 114780867 B CN114780867 B CN 114780867B CN 202210504526 A CN202210504526 A CN 202210504526A CN 114780867 B CN114780867 B CN 114780867B
- Authority
- CN
- China
- Prior art keywords
- node
- vector
- nodes
- characterization
- characterization 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 146
- 239000013598 vector Substances 0.000 claims abstract description 571
- 238000012512 characterization method Methods 0.000 claims abstract description 286
- 238000003062 neural network model Methods 0.000 claims abstract description 96
- 230000002776 aggregation Effects 0.000 claims description 125
- 238000004220 aggregation Methods 0.000 claims description 125
- 239000010410 layer Substances 0.000 claims description 106
- 238000005516 engineering process Methods 0.000 claims description 69
- 238000012545 processing Methods 0.000 claims description 42
- 230000006399 behavior Effects 0.000 claims description 37
- 238000012549 training Methods 0.000 claims description 32
- 238000004364 calculation method Methods 0.000 claims description 28
- 238000005070 sampling Methods 0.000 claims description 21
- 230000004931 aggregating effect Effects 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 16
- 239000013047 polymeric layer Substances 0.000 claims description 14
- 238000007781 pre-processing Methods 0.000 claims description 8
- 230000001502 supplementing effect Effects 0.000 claims description 7
- 235000002020 sage Nutrition 0.000 claims description 5
- 238000005096 rolling process Methods 0.000 claims description 4
- 230000014509 gene expression Effects 0.000 abstract description 13
- 230000002349 favourable effect Effects 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 description 48
- 230000008569 process Effects 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 11
- 239000000047 product Substances 0.000 description 11
- 238000000605 extraction Methods 0.000 description 9
- 230000004927 fusion Effects 0.000 description 8
- 238000006116 polymerization reaction Methods 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 5
- 235000019580 granularity Nutrition 0.000 description 5
- 239000000306 component Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 229920000642 polymer Polymers 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
Classifications
-
- 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/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施方式提供了一种推荐方法。包括:基于图神经网络模型,根据候选对象的自身节点及其邻居节点的第一表征向量,获取候选对象的最终表征向量;根据用户历史行为列表中至少一个历史对象的自身节点及其邻居节点的第一表征向量,获取至少一个历史对象的最终表征向量,进而获取用户表征向量;根据候选对象的最终表征向量与用户表征向量的相似度,确定推荐对象。本公开的方法中,对象的最终表征向量融合了自身及其邻居节点的第一表征向量,增强了表达能力;根据历史对象获取实时的用户表征向量,有利于及时捕获用户偏好进行个性化推荐,进而提高推荐质量,实现准确有效推送。此外,本公开的实施方式提供了一种介质、装置和计算设备。
Description
技术领域
本公开的实施方式涉及计算机技术领域,更具体地,本公开的实施方式涉及一种推荐方法、介质、装置和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着互联网技术的发展,越来越多应用程序中涉及内容推荐功能,用于主动向用户推荐其可能感兴趣的内容,提高用户的使用体验。
因此,需要提供一种推荐方法,以实现准确有效推送。
发明内容
本公开提供一种推荐方法、介质、装置和计算设备,以实现准确有效推送。
在本公开实施方式的第一方面中,提供了一种推荐方法,包括:将候选对象的自身节点及其邻居节点的第一表征向量作为预先训练的图神经网络模型的输入,获取图神经网络模型输出的候选对象的最终表征向量;将用户的历史行为列表中至少一个历史对象的自身节点及其邻居节点的第一表征向量作为图神经网络模型的输入,获取图神经网络模型输出的至少一个历史对象的最终表征向量;根据至少一个历史对象的最终表征向量,获取用户的用户表征向量;根据候选对象的最终表征向量与用户表征向量的相似度,确定候选对象中的推荐对象。
在本公开实施方式的第二方面中,提供了一种计算机可读存储介质,包括:计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面提供的推荐方法
在本公开实施方式的第三方面中,提供了一种推荐装置,包括:处理模块,用于将候选对象的自身节点及其邻居节点的第一表征向量作为预先训练的图神经网络模型的输入,获取图神经网络模型输出的候选对象的最终表征向量;处理模块,还用于将用户的历史行为列表中至少一个历史对象的自身节点及其邻居节点的第一表征向量作为图神经网络模型的输入,获取图神经网络模型输出的至少一个历史对象的最终表征向量;根据至少一个历史对象的最终表征向量,获取用户的用户表征向量;确定模块,用于根据候选对象的最终表征向量与用户表征向量的相似度,确定候选对象中的推荐对象。
在本公开实施方式的第四方面中,提供了一种计算设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使计算设备执行如第一方面提供的推荐方法。
在本公开实施方式中,基于图神经网络模型,根据候选对象的自身节点及其邻居节点的第一表征向量,获取候选对象的最终表征向量;根据用户历史行为列表中至少一个历史对象的自身节点及其邻居节点的第一表征向量,获取至少一个历史对象的最终表征向量,根据进而获取用户表征向量;根据候选对象的最终表征向量与用户表征向量的相似度,确定候选对象中的推荐对象。本公开的方法通过图神经网络模型融合了对象(候选对象或历史对象)的自身节点及其邻居节点的第一表征向量,加强了对象(候选对象或历史对象)的最终表征向量;根据至少一个历史对象的最终表征向量,获取实时的用户表征向量,有利于及时捕获用户偏好,进行个性化推荐,有利于提高推荐质量,实现准确有效推送,为用户带来更好的体验。
附图说明
此通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性地示出了根据本公开实施方式提供的应用场景示意图;
图2示意性地示出了根据本公开实施方式提供的推荐方法的流程示意图;
图3示意性地示出了根据本公开实施方式提供的推荐方法的技术路线图;
图4示意性地示出了根据本公开实施方式提供的构建用户组抽象节点的流程示意图;
图5示意性地示出了根据本公开实施方式提供的图神经网络模型的输入层的处理过程示意图;
图6示意性地示出了根据本公开实施方式提供的图神经网络模型的第一聚合层的处理过程示意图;
图7示意性地示出了根据本公开实施方式提供的图神经网络模型的第二聚合层的处理过程示意图;
图8示意性地示出了根据本公开实施方式提供的图神经网络模型的原理示意图;
图9示意性地示出了根据本公开实施方式提供的存储介质的结构示意图;
图10示意性地示出了根据本公开实施方式提供的推荐装置的结构示意图;
图11示意性地示出了根据本公开实施方式提供的计算设备的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据,本公开实施方式/实施例可以互相组合。
根据本公开的实施方式,提出了一种推荐方法、介质、装置和计算设备。
在本文中,需要理解的是,所涉及的术语以及术语的含义如下:
(1)对象:可以与用户进行互动的客体,例如,用户可以播放、下载的音频、视频等;用户可以关注的音频或视频的创作者、主播等;用户可以订阅收听的电台、播客等。
(2)背景音乐(Background music,简称BGM):指在电视剧、电影、网站中用于调节气氛的音乐,能够增强情感的表达,提高观众感官体验。
(3)异构图(Heterogeneous Graph):图中存在不同类型的节点和边,节点和边至少有一个具有多种类型。其中,图是描述一组“对象”的结构,其中某些“对象对”在某种意义上是相关的。这些对象对应于称为节点或点的数学抽象,并且每个相关的顶点对都称为边。例如,一个视频对应为一个视频类型的节点,一个单曲对应为一个单曲类型的节点,一个创作者对应为一个创作者类型的节点,若该视频与该创作者存在创作与被创作的关系,则该视频节点与创作者节点之间具有相连的“边”。若该单曲为该视频的背景音乐,则该单曲节点与该视频节点之间具有相连的“边”。
(4)表征向量(embedding):通过向量形式表示的特征数据。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
本发明人发现,一种相关技术中,基于协同过滤技术分析用户对视频的行为数据,确定该用户的相似用户,整合该用户的相似用户的偏好视频作为第一推荐视频,将视频库中与该第一推荐视频的标签相似的视频作为第二推荐视频。该推荐方法主要构建了用户与视频的关系矩阵,分析模型简单,随着视频规模的扩大,用户对小部分视频集合有交互行为,容易引起稀疏问题,并且协同过滤技术无法加入用户、视频的属性特征,无法实现精准推荐,推荐质量较低。
本发明人还发现,另一种相关技术中,基于推荐模型推测生成待推荐视频集合,之后基于衰减模型对各个待推荐视频中先前向用户推荐过且用户仅浏览未播放的视频进行降重处理,优先向用户推荐先前未推荐过的视频。该推荐方法主要利用衰减模型去优化推荐视频集合,衰减模型主要根据业务经验生成权重因子,模型相对简单,泛化能力较弱,且无法在大规模用户、视频场景下进行个性化推荐。
考虑到上述问题,本公开的实施方式中,通过图神经网络模型融合了对象(候选对象或历史对象)的自身节点及其邻居节点的第一表征向量,使最终表征向量蕴含了更加丰富的信息;根据至少一个历史对象的最终表征向量,获取实时的用户表征向量,有利于及时捕获用户偏好,进行个性化推荐,有利于提高推荐质量,实现准确有效推送,为用户带来更好的体验。相较于前述的相关技术,本公开的实施方式引入描述用户及多种类型对象的异构图,建立图神经网络模型从不同粒度完成不同类型节点的特征融合和交叉,提高了用户及对象的特征描述精确性,有利于提高推荐质量。
在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
应用场景总览
本公开实施方式适用于的场景包括图神经网络模型训练场景和/或应用图神经网络模型获取候选对象最终表征向量及用户表征向量,并进行对象推荐的推荐场景。
首先参考图1,图1示意性地示出了根据本公开实施方式提供的应用场景示意图,该应用场景涉及的设备包括服务器101。
应用场景为模型训练场景时:服务器101上存储有预先采集的训练数据且部署有待训练的模型,可在服务器101上基于训练数据训练模型。
应用场景为推荐场景时:服务器101上存储有候选对象及待进行推荐的用户的相关数据且部署有训练后的模型,可在服务器101上基于候选对象及待进行推荐的用户的相关数据和训练后的模型,确定向该用户推荐的推荐对象。
可选的,应用场景涉及的设备还包括终端102,服务器101与终端102可通过网络进行通信。此时,服务器101可为与对象相关的应用程序的产品服务器,终端102可为部署有该应用程序的客户端。
其中,用户可在终端102上打开与对象相关的应用程序,与对象进行交互,例如,在应用程序上听歌、看视频、听播客等。经用户授权的情况下,终端102可记录用户与对象的交互,并将记录的数据发送至服务器101,以用于模型训练和/或用于用户表征向量的实时更新。
示例性方法
下面结合图1的应用场景,参考图2-图8来描述根据本公开示例性实施方式的推荐方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
需要说明的是,本公开的实施方式可应用于电子设备,电子设备可以为终端或者服务器,即可在终端或者服务器上执行本公开示例性实施方式提供的推荐方法。
其中,终端可以是个人数字处理(personal digital assistant,简称PDA)设备、具有无线通信功能的手持设备(例如智能手机、平板电脑)、计算设备(例如个人电脑(personal computer,简称PC))、车载设备、可穿戴设备(例如智能手表、智能手环)、智能家居设备(例如智能显示设备)等。
其中,服务器可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器。服务器还可以是各种类别的,例如但不限于,网络服务器,应用服务器,或数据库服务器,或代理服务器。
可选的,服务器可以包括硬件,软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。例如,服务器例如刀片服务器、云端服务器等,或者可以是由多台服务器组成的服务器群组,可以包括上述类别的服务器中的一种或多种等等。
可选的,本公开的实施方式中,候选对象及历史对象为音频,或视频,或创作者。其中音频可以为单曲,也可以为电台广播的音频;创作者可以为歌手、演员等艺人,也可以为视频或音频剪辑的发布者。
参照图2,图2示意性地示出了根据本公开实施方式提供的推荐方法的流程示意图一。如图2所示,推荐方法包括:
S300、将候选对象的自身节点及其邻居节点的第一表征向量作为预先训练的图神经网络模型的输入,获取图神经网络模型输出的候选对象的最终表征向量。
S400、将用户的历史行为列表中至少一个历史对象的自身节点及其邻居节点的第一表征向量作为图神经网络模型的输入,获取图神经网络模型输出的至少一个历史对象的最终表征向量;根据至少一个历史对象的最终表征向量,获取用户的用户表征向量。
S500、根据候选对象的最终表征向量与用户表征向量的相似度,确定候选对象中的推荐对象。其中,相似度可以为余弦相似度。
在步骤300和步骤S400中,候选对象或历史对象的邻居节点通过预先建立的知识图谱索引获取。第一表征向量可以理解为候选对象或历史对象的原始特征数据。本实施例基于预先训练的图神经网络模型获得的候选对象或历史对象的最终表征向量,融合了其自身节点及其邻居节点的第一表征向量,使得最终表征向量蕴含了更加丰富的信息。
本实施例中推荐方法的执行主体以终端为例,步骤S400中,用户的历史行为列表来源于在经用户授权的情况下终端所记录的用户行为数据。历史对象以视频为例,用户对视频的行为数据包括但不限于用户对任一视频的点击、搜索、收藏、观看、评分或评论等行为数据,用户的历史行为列表中罗列有用户先前有所行为的视频。
对于用于获取用户表征向量的历史对象的选择,一种可行的实施方式,按照用户历史行为的时间由近及远的顺序选择历史行为列表中的至少一个历史对象,根据被选择的至少一个历史行为对象的最终表征向量获取用户表征向量,有利于捕获用户最近的兴趣偏好。
对于用于获取用户表征向量的历史对象的选择,另一种可行的实施方式,按照一段时间内用户历史行为的次数由多至少的顺序选择历史行为列表中的至少一个历史对象,例如三十天内或当前月份中被用户点击次数较多或观看次数较高的视频等,根据被选择的至少一个历史行为对象的最终表征向量获取用户表征向量,有利于捕获用户在一段时间内的兴趣偏好。
对于用于获取用户表征向量的历史对象的选择,还可以设置专门的选择模型,综合点击次数、评分分数、评论语义等多方面的用户历史行为数据,选定用户比较感兴趣的至少一个历史行为对象。本实施例对此不作限定。
一些实施例中,当历史对象为多个时,根据多个历史对象的最终表征向量,基于加权平均计算,获取用户的用户表征向量。其中权重的设定规则,可以为根据历史行为时间的远近,给用户最近行为的历史对象设定较大的权重,通过调整权重的设定有利于提高用户表征向量的表达能力。
由于历史对象的最终表征向量融合了其自身节点及其邻居节点的原始特征数据,使得历史对象的最终表征向量的抽象表达加强。相应地,利用历史对象的最终表征向量获取的用户表征向量的抽象表达加强。因此,在步骤S500中,利用候选对象的最终表征向量及用户表征向量的相似度确定推荐对象,能更准确地迎合用户的兴趣偏好,有利于提高推荐质量。
一些实施例中,推荐对象可以为一个也可以为多个,可将相似度较高的多个对象推荐给用户。
在一些实施例中,第一表征向量包括属性特征向量。步骤S300中,将候选对象的自身节点及其邻居节点的第一表征向量作为预先训练的图神经网络模型的输入之前,还包括:
S210、预先建立知识图谱,将候选对象作为目标节点,基于知识图谱,获取目标节点的邻居节点。
S220、获取目标节点及其邻居节点的属性特征向量;将目标节点的属性特征向量作为目标节点的第一表征向量;将目标节点的邻居节点的属性特征向量作为目标节点的邻居节点的第一表征向量。
其中,属性特征向量用于描述对象的属性特征。例如,视频包含标签、时长等属性,每个视频可在标签维度、时长维度等属性特征维度下具有标识性的特征向量。例如,单曲包含时长、歌手、语言类型等属性,每个单曲可在时长维度、歌手维度、语言类型维度等属性特征维度下具有标识性的特征向量。将属性特征向量作为对象节点的第一表征向量,参与步骤S300至步骤S500的运算。
需要说明的是,本实施例对每个对象的属性特征向量的长度不作限定,具体根据实际的业务数据分析获得。可选择性的筛选对用户偏好影响作用较大的属性维度,用于简化运算。
在又一些实施例中,第一表征向量还包括ID特征向量。步骤S300中,将候选对象的自身节点及其邻居节点的第一表征向量作为预先训练的图神经网络模型的输入之前,还包括:
S230、获取目标节点及其邻居节点的ID特征向量。步骤S230之前,为步骤S221:获取目标节点及其邻居节点的属性特征向量,步骤S221为步骤S220中的一部分。
S240、对目标节点的属性特征向量和ID特征向量进行拼接,将拼接结果作为目标节点的第一表征向量;对目标节点的邻居节点的属性特征向量和ID特征向量进行拼接,将拼接结果作为目标节点的邻居节点的第一表征向量。
其中,ID特征向量为根据预设规则赋予每个对象节点的标识性编码。随着时间的推移,用户数量不断增加,单曲、视频等发布数量也不断增加,面对大量的对象节点,通过增设ID特征向量,提高对每个对象的标识度。
进一步地,将对象的自身节点的ID特征向量和属性特征向量进行拼接,拼接结果作为第一表征向量参与步骤S300至步骤S500的运算。具体的,运算公式如下:
inputnode=W*[concat(idemb+Nodefeature)]
其中,inputnode为任一节点的第一表征向量;idemb为该节点的初始化ID特征向量,在模型训练过程中会不断更新;Nodefeature为该节点的属性特征向量,模型迭代过程中不会进行更新。W是初始化权重矩阵,用于使初始化的稀疏特征稠密化,同时对齐不同类型节点的第一表征向量,便于后续的聚合计算。
进一步地,在步骤S210中,预先建立知识图谱,包括:
S211、根据业务数据,确定实体节点;实体节点包括非用户实体节点和用户实体节点。
S212、对用户实体节点进行聚类形成多个聚类簇,构建多个用户组抽象节点与多个聚类簇一一对应,聚类簇的聚类中心特征向量作为用户组抽象节点的属性特征向量;
S213、抽取非用户实体节点及用户组抽象节点之间的关系,建立知识图谱。
图3示意性地示出了根据本公开实施方式提供的推荐方法的技术路线图。首先构建图谱,具体包括本体构建、关系抽取和图谱融合。
关于本体构建:本体是用于描述一个领域的术语集合,其组织结构是层次结构化的,可以作为知识图谱的骨架和基础。本体主要获取、描述和表示相关领域的知识,提供对该领域知识的共同理解,确定领域内共同认可的词汇。本实施例通过手工构建的方式定义知识图谱中的本体中包含的基本要素:节点、关系、属性。示例性的,节点可以包含单曲、视频、发布者等客观存在的实体节点,也可以包含基于业务特征构建的抽象节点。
具体的,在步骤S211中,根据业务数据,确定实体节点,将实体节点划分为用户实体节点和非用户实体节点。可选的,非用户实体节点包括但不限于单曲实体节点、视频实体节点、发布者实体节点。单曲实体节点与业务数据中的每个单曲一一对应;视频实体节点与业务数据中的每个视频一一对应;发布者实体节点与业务数据中的每个发布者一一对应;用户实体节点与业务数据中的每个用户一一对应。
对于用户实体节点,一般工业场景中能达到亿级别,而非用户实体节点只有百万或千万级别。如果将用户实体节点直接用于构建知识图谱,一方面,图谱的规模庞大,常用的图卷积及算法需要加载整张图谱进行计算,庞大的计算量容易导致内存溢出。另一方面,在图神经网络模型的训练过程中,大量的用户实体节点容易导致模型训练受用户特征影响,使得对非用户实体节点的表征向量学习不足。基于上述问题,本实施例中,在步骤S212中通过构建用户组抽象节点简化图谱,进而提高模型训练效率和效果。
关于关系抽取:关系抽取主要从不同源、不同结构的数据中进行知识提取,本实施例中所涉及的数据类型比较丰富,例如用户视频播放行为数据、用户单曲播放行为数据、视频发布数据、各节点的基础属性数据。实体抽取主要完成单曲、视频、发布者等实物的提取和基础属性数据的填充。关系抽取主要分析业务数据,利用分布式计算技术,对构建的本体中的关系进行计算,分别生成多种类型的边。
具体的,关系主要描述节点的关联性。在步骤S213中,非用户实体节点以单曲实体节点、视频实体节点、发布者实体节点为例。非用户实体节点与用户组抽象节点之间的关系可以包括:(1)单曲实体节点与视频实体节点之间的BGM关系;(2)单曲实体节点A与单曲实体节点B之间的同播放行为关系,其中同播放行为关系可以定义为大于预设阈值数量的用户在预设时间段内同时完整播放了单曲A和单曲B,例如,100个以上的用户在2小时内同时完整播放了单曲A和单曲B。(3)视频实体节点C与视频实体节点D之间的同播放行为关系;(4)单曲实体节点或视频实体节点与发布者实体节点之间的发布关系;(5)单曲实体节点或视频实体节点与用户组抽象节点之间的偏好关系,其中偏好关系可以定义为播放次数超过预设阈值。
经过关系抽取步骤,分别形成了知识图谱中带基础属性信息的节点数据和多种类型的边数据。经过知识融合将多个数据来源的实体、关系进行融合,最终构建一张能够准确描述单曲-视频-发布者等实体之间关系的知识图谱。
本实施例充分利用用户在单曲域、视频域等多个领域的行为数据和各域节点的属性特征,并融合到同一张图谱,一方面便于全面客观的刻画了视频、单曲、用户等的最终表征向量,另一方面完成了例如单曲域到视频域的域间知识迁移。基于知识图谱对实体之间关系的深度表达,有利于提高推荐准确性。
进一步地,基于图谱进行图卷积计算,具体包括图神经网络结构的构建和模型训练;最后基于训练完成的图神经网络模型进行对象推荐,具体以视频为例,获取候选视频的最终表征向量,以及基于用户行为列表中关联的视频等获取用户表征向量,基于候选视频的最终表征向量与用户表征向量的相似度实现视频推荐。本实施方案,一方面利用知识图谱的链接性和传播性,在视频、单曲等的多维属性、关联关系上进行图卷积,加强了视频的表达能力。另一方面可根据用户行为序列,实时生成动态用户表征向量,及时捕获用户兴趣偏好,满足了用户个性化体验需求。
一些相关推荐算法中,主要利用非用户实体节点构建图谱进行图表征,最终实现i2i召回,其中i2i召回算法可参照相关技术。然而,在推荐场景中,用户有着丰富的行为数据和画像数据等,该类数据的丢失会使推荐质量降低。本实施例中,将用户组抽象节点加入到图谱中,并参与图神经网络模型的训练过程,有利于优化模型,进而提高推荐质量。
进一步地,步骤S212通过聚类构建用户组抽象节点的方法具体包括:
S2121、获取用户实体节点的属性特征向量;
S2122、在用户实体节点中,随机选取第一数量的种子用户实体节点,将种子用户实体节点的属性特征向量作为初始的聚类中心特征向量;第一数量为预先设定的聚类簇的数量;
S2123、将用户实体节点中除种子用户实体节点之外的节点作为非种子用户实体节点,依次计算非种子用户实体节点的属性特征向量与初始的每个聚类中心特征向量的距离,确定该距离最小的聚类中心特征向量,将非种子用户实体节点划分到距离最小的聚类中心特征向量对应的聚类簇中;
S2124、通过对聚类簇中包括种子用户实体节点和非种子用户实体节点的所有用户实体节点的属性特征向量进行平均计算,更新聚类中心特征向量;
S2125、依次计算用户实体节点的属性特征向量与更新后的每个聚类中心特征向量的距离,确定该距离最小的聚类中心特征向量,重新将用户实体节点划分到距离最小的聚类中心特征向量对应的聚类簇中,直到聚类中心特征向量不再改变或者更新次数达到预设阈值;
S2126、构建多个用户组抽象节点与当前的聚类簇一一对应,将当前的聚类簇的聚类中心特征向量作为对应的用户组抽象节点的属性特征向量。
具体的,图4示意性地示出了根据本公开实施方式提供的构建用户组抽象节点的流程示意图。参照图4,首先获取用户实体节点的属性特征向量,该属性特征向量来自于用户特征数据,例如,用户画像特征数据(年龄、性别、城市等)以及用户行为特征数据(点击率、收藏率、完整播放率等)。
进一步地,预先设定聚类簇的数量K(即第一数量),自用户实体节点中,随机选取K个种子用户实体节点,相应地,这K个种子用户实体节点的属性特征向量作为初始的聚类中心特征向量。
进一步地,依次计算用户实体节点中非种子用户实体节点的属性特征向量与K个初始的聚类中心特征向量的欧式距离。确定K个初始的聚类中心特征向量中欧式距离最小的聚类中心特征向量所对应的聚类簇,将该非种子用户实体节点划分到该聚类簇中。初次分类完成后,形成了初始的K个聚类簇。
进一步地,将每个聚类簇中的用户实体节点的属性特征向量求均值,作为新的聚类中心特征向量,可获得K个更新后的聚类中心特征向量。
进一步地,依次计算用户实体节点的属性特征向量与根据K个更新后的聚类中心特征向量的欧氏距离。其中,用户实体节点包含了先前定义的种子用户实体节点和非种子用户实体节点。由于更新后的聚类中心特征不等于其中的某个用户实体节点的属性特征向量,因此需要计算每个用户实体节点的属性特征向量分别与K个更新后的聚类中心特征向量的欧氏距离,重新分类,更新K个聚类簇。
进一步地,根据更新后的K个聚类簇,获得再次更新的K个聚类中心特征向量,重复迭代,直到前后两次所获得的聚类中心特征向量相同,或达到预设的迭代次数,停止迭代。
最后,构建K个用户组抽象节点,当前的K个聚类中心特征向量分别作为每个用户组抽象节点的属性特征向量。在步骤S230中,可按照获取非用户实体节点的ID特征向量的方式获取每个用户组抽象节点的ID特征向量,进而参与步骤S240至步骤S500的运算。
需要说明的是,用户组抽象节点可作为邻居节点参与图神经网络模型的训练过程。用户组抽象节点也可以作为邻居节点参与图神经网络模型的应用过程,但由于随着时间的推移,用户实体节点会不断地增加,用户实体节点的属性特征向量会变化,在后续的维护过程中,需要定期更新用户组抽象节点的属性特征向量。
下面对基于图神经网络模型求取步骤S300中候选对象的最终表征向量的方法进行介绍,同理可知求取步骤S400中历史对象的最终表征向量的方法。
步骤S300中,将候选对象的自身节点及其邻居节点的第一表征向量作为预先训练的图神经网络模型的输入,获取图神经网络模型输出的候选对象的最终表征向量,具体包括:
S310、将候选对象作为目标节点,目标节点的邻居节点包括目标节点的一阶邻居节点至N阶邻居节点;其中,N为大于2的正整数。
其中,基于预先构建的知识图谱,将候选对象作为目标节点,其一阶邻居节点为与目标节点通过“边”直接连接的节点。目标节点的二阶邻居节点为与目标节点的一阶邻居节点通过“边”直接连接的节点。以此类推,可根据知识图谱索引确定目标节点的一阶邻居节点至N阶邻居节点。
S320、将目标节点的N-1阶邻居节点及其对应的N阶邻居节点的第一表征向量作为图神经网络模型的输入层的输入,获取输入层输出的N-1阶邻居节点的第二表征向量。
S330、将N-1阶邻居节点的第二表征向量以及从目标节点至N-2阶邻居节点的每个节点的第一表征向量作为图神经网络模型的聚合层的输入,获取聚合层输出的关于候选对象的最终表征向量。
需要说明的是,N也可以取值为1,则基于图神经网络模型获得的目标节点的最终表征向量融合了目标节点及其一阶邻居节点的第一表征向量;N也可以取值为2,则基于图神经网络模型获得的目标节点的最终表征向量融合了目标节点及其一阶邻居节点和二阶邻居节点的第一表征向量。本实施例中N的取值大于2,即N取值为3、4、5等,与N取值为1或2相比,由于融合了更多的邻居节点的特征数据,所获得的目标节点的最终表征向量的抽样表达更强。
经过实验验证,N取值为3时,模型训练效率及推荐质量均能达到较高的水平。N取值小于3时,由于融合的特征数据不足,使得推荐质量欠佳;N取值大于3时,虽然融合了较多的特征数据,但由于所实际的四阶邻居节点以及五阶邻居节点与目标节点关联性较弱,N取值大于3所带来的推荐质量的提高与其所带来的计算量的增加相比,并不均衡。
在实际应用过程中,本实施例对N的取值不作限定,可根据运算设备可支撑的运算能力、数据的丰富程度、以及推荐质量的要求,选定恰当的N值。
可选的,进行步骤S320之前,针对每个目标节点的N-1阶邻居节点,执行以下预处理:自N-1阶邻居节点对应的N阶邻居节点中,筛选出与N-1阶邻居节点的节点类型相同的N阶邻居节点,并通过对N阶邻居节点进行抽样处理或补充默认节点处理,使每个N-1阶邻居节点对应的N阶邻居节点的数量一致。
以N等于3为例,图5示意性地示出了根据本公开实施方式提供的图神经网络模型的输入层的处理过程示意图。参照图5,包括目标节点、一阶邻居节点、二阶邻居节点和三阶邻居节点,其展现了三阶邻居节点向二阶邻居节点的聚合过程。其中,二阶邻居节点及其对应的三阶邻居节点的类型相同。图5中以视频实体节点(填充为斜杠)、单曲实体节点(填充为横杠)、发布者实体节点(填充为竖杠)为例,其中无填充的一阶邻居节点和目标节点可以为视频实体节点、单曲实体节点、创作者实体节点中的任一种类型的非用户实体节点。在一些实例中,图5所示的目标节点及多阶邻居节点还可以包括其他类型的非用户实体节点,例如广播实体节点,还可以包括用户组抽象节点。
示例性的,设定每个二阶邻居节点对应的三阶邻居节点数量为2个。当二阶邻居节点对应的三阶邻居节点超过2个时,则进行抽样。其中,本实施例对抽样规则不作限定。当二阶邻居节点对应的三阶邻居节点不足2个时,则进行默认节点补充,参照图5所示的三阶邻居节点中,自左至右,第四个节点与第六个节点用虚线圆圈表示其为补充的默认节点。其中,补充默认节点的处理方式参照相关技术。
进一步地,步骤320将目标节点的N-1阶邻居节点及其对应的N阶邻居节点的第一表征向量作为图神经网络模型的输入层的输入,获取输入层输出的N-1阶邻居节点的第二表征向量,具体包括:对N-1阶邻居节点及其对应的N阶邻居节点的第一表征向量进行拼接,获得N-1阶邻居节点的第二表征向量。
具体的,可采用拼接函数concat(),将N-1阶邻居节点及其对应的N阶邻居节点的第一表征向量进行拼接。假设该第一表征向量均为一行7列的向量,假设将1个二阶邻居节点与其对应的2个三阶邻居节点的第一表征向量进行拼接,则拼接结果可以为一行21列的向量;也可以为3行7列的矩阵。
当拼接结果为向量时,在步骤S330的计算中,需要设置识别功能,用于识别该一行向量中的数字段来源于同一个节点。当拼接结果为矩阵时,一行数字段对应一个节点,相较于向量形式更便于识别。
进一步地,步骤S330中,具体包括:
S331、每一聚合层将当前层的节点的第一表征向量和上一层中与当前层的节点所对应的节点的第二表征向量进行聚合,将聚合后的向量作为当前层的节点的第二表征向量;
S332、将当前层的节点的第二表征向量输入下一聚合层并与对应下一聚合层的节点的第一表征向量进行聚合,直至从最后一聚合层聚合输出关于候选对象的最终表征向量。
具体的,图神经网络模型的聚合层有N-1层。一些实施例中,N取值为3,则图神经网络模型具有第一聚合层和第二聚合层。第一聚合层用于将二阶邻居节点的第二表征向量向一阶邻居节点的第一表征向量聚合,获得一阶邻居节点的第二表征向量。其中,二阶邻居节点的第二表征向量基于图神经网络模型的输入层获得。第二聚合层用于将一阶邻居节点的第二表征向量向目标节点的第一表征向量聚合,获得目标节点的第二表征向量,即目标节点的最终表征向量。
另一些实施例中,N取值为4,则图神经网络模型具有第一聚合层、第二聚合层及第三聚合层。第一聚合层用于将三阶邻居节点的第二表征向量向二阶邻居节点的第一表征向量聚合,获得二阶邻居节点的第二表征向量。其中,三阶邻居节点的第二表征向量基于图神经网络模型的输入层获得。第二聚合层用于将二阶邻居节点的第二表征向量向一阶邻居节点的第一表征向量聚合,获得一阶邻居节点的第二表征向量。第三聚合层用于将一阶邻居节点的第二表征向量向目标节点的第一表征向量聚合,获得目标节点的第二表征向量,即目标节点的最终表征向量。
可选的,每一聚合层采用如下至少一种技术进行聚合:注意力技术、特征交叉技术、图卷积技术。具体的,每一聚合层可以采用一种聚合技术或多种聚合技术的组合。每一聚合层所采取的聚合方式可以相同,也可以不同。在应用过程中,可根据对知识融合粒度以及运算能力的要求选择适当的聚合技术。
下面对注意力技术、特征交叉技术、图卷积技术依次进行介绍。
注意力技术包括Transformer聚合技术。Transformer聚合技术主要对同类型的节点进行域内细粒度的信息聚合。Transformer聚合技术抛弃了传统的CNN(ConvolutionalNeural Network,卷积神经网络)和RNN(Recurrent Neural Network,循环神经网络),整个网络结构完全是由Attention机制组成。RNN相关算法只能从左向右依次计算或者从右向左依次计算,这种机制带来了两个问题:(1)时间片t的计算依赖t-1时刻的计算结果,这样限制了模型的并行能力;(2)顺序计算的过程中信息会丢失,尽管LSTM(long short termmemory,长短时记忆神经网络)等门机制的结构一定程度上缓解了长期依赖的问题,但是对于特别长的依赖关系,LSTM效果不佳。
Transformer核心组件由Self-Attention(自注意力机制)和前馈神经网络构成,其中Self-Attention是最核心的模块。Self-Attention可以捕获同一个序列中物品间的语义特征,是一种通过自身和自身相关联的注意力机制,从而达到一个更好的特征表示来表达自身。Self-Attention无视物品之间的距离,直接计算依赖关系,更容易捕获到序列中长距离的互相依赖的特征,从而学习到序列的内部结构。Attention机制最经典的是QKV模型,Q是Question,V是Answer,K是新来的Question,计算历史记忆中Q和哪个K更相似,根据相似K对应的V,合成当前问题的答案。Self-Attention进化为是通过h个不同的线性变换对Q,K,V进行投影,MultiHead(Q,K,V)输出结果为Transformer聚合技术输出得最终表达。公式如下:
ftransformer=MultiHead(Q,K,V)=Concat(head1,......,headn)
其中,
此处以视频类型实体节点为例,进行Self-Attention机制的详细阐述。视频类型实体节点序列定义为Fμ={v1,v2,......,vn},包含n个节点,Q、K、V定义如下:
QKWkFμ;V=MvFμ
其中,WQ、Wk、Wv为视频类型实体节点的特征转换矩阵。采用scaled dot-product算法,可得:
关于Attention机制,本实施例中采用的是基于dot-product attention算法的点积型注意力机制。还可采用基于GRU(Gated Recurrent Unit,门控循环单元)算法的加型注意力机制(additive attention)实现对同类型的节点进行域内的信息聚合,其中,GRU算法是LSTM算法的变体之一,GRU算法及其与Attention机制的结合具体可参照相关技术。
对于特征交叉技术,特征交叉通过将两个或多个特征相乘,来实现对样本空间的非线性变换,增加模型的非线性能力。从本质上讲,特征交叉是利用非线性映射函数将样本从原始空间映射到特征空间的过程。从数学角度看,实现特征交叉的方法有内积、哈达玛积、笛卡尔积。举例说明,假设特征向量X=[x1,x2,x3],特征向量Y=[y1,y2,y3],那么内积为x1*y1+x2*y2+x3*y3;哈达玛积为[x1*y1,x2*y2,x3*y3];笛卡尔积为[x1*y1,x1*y2,x1*y3,x2*y1,x2*y2,x2*y3,x3*y1,x3*y2,x3*y3]。
特征交叉技术包括FM聚合技术。目标节点与邻居节点之间存在某种隐性关联,这种关联性对推荐结果有很大的影响。简单的线性模型,缺乏学习高阶特征的能力,很难从训练样本中学习到从未出现或极少出现的重要特征。FM聚合技术可以通过点积和隐向量的形式学习交叉特征。FM聚合技术的模型方程为:
其中,xi表示第i维特征;xj表示第j维特征;w0、wi、wij为模型参数。由于特征两两交叉增加了模型参数数量wij,根据矩阵分解的思想,将二次项稀疏矩阵分解为矩阵与其转置的相乘:
通过化解可大幅降低了模型参数数量,最终FM聚合技术的模型方程化解为:
另外,实现学习交叉特征还可采用多层感知机(MLP,Multilayer Perceptron),也称为人工神经网络(ANN,Artificial Neural Network),具体可参照相关技术。
图卷积技术包括Graphsage聚合技术,不区分节点类型,对所有的邻居节点的特征数据进行简单加权融合,实现最粗粒度的信息交叉和融合。另外,还可采用GCN(GraphConvolutional Network,图卷积网络)和将Attention机制引入到图卷积模型后产生的GAT(Graph Attention Networks,图注意力网络)抽取特征。
一些实施例中,在第一聚合层同时采用注意力技术、特征交叉技术、图卷积技术对N-1阶邻居节点的第二表征向量及N-2阶邻居节点的第一表征向量进行聚合,将聚合后的向量作为对应的N-2阶邻居节点的第二表征向量。
以N等于3为例,图神经网络模型具有第一聚合层和第二聚合层。第一聚合层用于将二阶邻居节点的第二表征向量向一阶邻居节点的第一表征向量聚合,将聚合后的向量作为对应的一阶邻居节点的第二表征向量。图6示意性地示出了根据本公开实施方式提供的图神经网络模型的第一聚合层的处理过程示意图。参照图6,其原理是:先对邻居节点进行随机采样,聚合二阶邻居节点的表征向量,生成一阶邻居节点的表征向量,再聚合一跳邻居节点的表征向量,生成目标节点的表征向量。在模型训练过程中,将目标节点的表征向量作为全连接层的输入,预测目标节点的标签,优化目标节点的表征向量。
在算法实现过程:首先找到该目标节点的一阶邻居节点、二阶邻居节点、三阶邻居节点,然后自三阶邻居节点从远到近,根据不同的聚合技术层层递进,最终得到目标节点的最终表征向量,图神经网络模型最终的优化目标是利用负采样的思想,使得图中越临近的节点表达越相似,距离越远的节点表达越不相似。
参照图6,包括目标节点、一阶邻居节点、二阶邻居节点和三阶邻居节点。其中,一阶邻居节点与其对应的二阶邻居节点类型不同。二阶邻居节点与其对应的三阶邻居节点的类型可以不同,也可以相同(如图5所示)。图6中以视频实体节点(填充为斜杠)、单曲实体节点(填充为横杠)、发布者实体节点(填充为竖杠)为例,其中无填充的目标节点可以为视频实体节点、单曲实体节点、创作者实体节点中的任一种类型的非用户实体节点。
可选的,通过抽样或补充默认节点的处理方法使每个一阶邻居节点对应的二阶邻居节点数量可以相同。可选的,每个一阶邻居节点对应的二阶邻居节点数量可以不等,则可能出现获得的每个一节邻居节点的第二表征向量不对齐(例如向量的维度不一致,矩阵的行数或列数不一致)。可在后续运算过程中,通过变换矩阵使每个一节邻居节点的第二表征向量对齐,便于第二聚合层的聚合计算。
进一步地,第二聚合层将一阶邻居节点的第二表征向量向目标节点的第一表征向量聚合,将聚合后的向量作为对应的目标节点的第二表征向量,即目标节点的最终表征向量。图7示意性地示出了根据本公开实施方式提供的图神经网络模型的第二聚合层的处理过程示意图,其中,以采用注意力技术中的Transformer聚合技术为例。
参照图6和图7,目标节点对应有多种类型的一阶邻居节点;每个一阶邻居节点也可以对应多种类型的二阶邻居节点。因此,目标节点的最终表征向量融合了多种类型的邻居节点的特征数据,加强了最终表征向量的抽象表达。在推荐场景中,获取用户表征向量时,可以不限制所确定的历史对象的类型;进行推荐时,也可以不限制候选对象的类型,进而实现跨域推荐。例如,根据用户历史行为列表中的多个视频类型的历史对象,获得用户表征向量。可根据该用户表征推荐单曲、创作者等非视频类型的推荐对象,实现了跨域推荐,模型扩展性好,可复用性高,实现成本低,自动化程度高。
示例性的,根据用户听单曲的喜好,自动为单曲搭配动态视频,不仅从听觉模式打动用户内心,而且在视觉模式为用户带来冲击力,为音乐添加更多可视化的故事与氛围,开创了新的听歌模式。
一些实施例中,在第一聚合层同时采用注意力技术、特征交叉技术、图卷积技术进行聚合处理,具体包括:
(1)基于GraphSAGE聚合技术,对N-1阶邻居节点的第二表征向量及N-2阶邻居节点的第一表征向量进行聚合,获得第一中间表征向量。
(2)基于FM聚合技术,对N-1阶邻居节点的第二表征向量及N-2阶邻居节点的第一表征向量进行聚合,获得第二中间表征向量。
(3)基于Transformer聚合技术,对N-1阶邻居节点的第二表征向量按节点类型分别进行域聚合计算,获得各节点类型下的域聚合表征向量。
(4)基于FM聚合技术,对各对象类型下的域聚合表征向量进行聚合,获得第三中间表征向量。
(5)将上述所得第一中间表征向量、第二中间表征向量、各对象类型下的域聚合表征向量及第三中间表征向量进行拼接,将拼接聚合后的向量作为对应的N-2阶邻居节点的第二表征向量。
图8示意性地示出了根据本公开实施方式提供的图神经网络模型的原理示意图。其中,以N取值为3为例,图神经网络模型包括输入层、第一聚合层及第二聚合层,其中,以视频实体节点、单曲实体节点、发布者实体节点为例;第一聚合层中注意力技术以Transformer聚合技术为例,特征交叉技术以FM聚合技术为例,图卷积技术以GraphSage聚合技术为例;第二聚合层以采用注意力技术中的Transformer聚合技术为例。
对于第一聚合层:
(1)基于GraphSage聚合技术,对二阶邻居节点的第二表征向量及一阶邻居节点的第一表征向量进行聚合,获得第一中间表征向量。
具体的,一阶邻居节点对应的二阶邻居节点包括视频实体节点、单曲实体节点以及发布者实体节点。GraphSage聚合技术不区分各域,将所有域拼接成一个大向量fk在邻居节点之间进行传递、聚合:
fk=concat(fv,fs,fp)
其中,fv、fs、fp分别为该二阶邻居节点中视频实体节点、单曲实体节点、发布者实体节点的第二表征向量。
采用标准的GraphSage GCN聚合方式,其中,Wgraphsage为变换矩阵;fs就是一阶邻居节点自身;fi表示该一阶邻居节点对应的n个二阶邻居节点之一;fgraphsage是由GraphSage聚合技术聚合得到的一阶邻居节点的第二表征向量,即fgraphsage为第一中间表征向量。
(2)基于FM聚合技术,对二阶邻居节点的第二表征向量及一阶邻居节点的第一表征向量进行聚合,获得第二中间表征向量。
具体的,FM聚合技术主要对视频实体节点、单曲实体节点以及发布者实体节点等不同类型的节点的表征向量进行高阶交叉。
首先,对于一阶邻居节点对应所有的二阶邻居节点的第二表征向量按域平均,并且线性变换到统一维度,以视频域为例,Fv={vs,v1,......,vn};其中,vs表示一阶邻居节点自身,v1至vn表示该一阶邻居节点对应的n个视频类型的二阶邻居节点,共n+1个节点。首先进行avg-pooling,以获得各域的平均向量:
hv=WFM-v×avg-pooling(Fv)
其中,WFM-video为变换矩阵,用于线性变换到统一维度。
同理,可分别获得单曲域的平均向量hs以及发布者域的平均向量hp。根据上述各域的平均向量,两两进行交叉,让不同域的信息进行充分的交叉融合:
其中,⊙表示点乘。hi、hj分别为各域的平均向量;ffm是由FM聚合技术聚合得到的一阶邻居节点的第二表征向量,即ffm1为第二中间表征向量。
(3)基于Transformer聚合技术,对N-1阶邻居节点的第二表征向量按节点类型分别进行域聚合计算,获得各节点类型下的域聚合表征向量。
具体的,Transformer聚合技术是最细粒度的聚合方式。以视频域为例,Fv={vs,v1,......,vn};其中,vs表示一阶邻居节点自身,v1至vn表示该一阶邻居节点对应的n个视频类型的二阶邻居节点,共n+1个节点的表征向量。将域内的n+1个节点之间进行Transformer变换,生成n+1个新向量headi,计算如下:
Q=WQFv;K=WKFv;V=WVFv
其中,WQ、Wk、Wv为特征转换矩阵。
进一步地,视频域聚合表征向量ftrans-v计算如下:
ftrans-v=MultiHead(Q,K,V)=Concat(head1,......,headn+1)
同理,可得单曲域聚合表征向量ftrans-s;发布者域聚合表征向量ftrans-p。
(4)基于FM聚合技术,对各对象类型下的域聚合表征向量进行聚合,获得第三中间表征向量。
在Transformer聚合技术的域内交叉的基础上,利用FM聚合技术实现域间交叉。计算如下:
其中,ffm2即为第三中间表征向量。
(5)将上述所得第一中间表征向量、第二中间表征向量、各对象类型下的域聚合表征向量及第三中间表征向量进行拼接,将拼接聚合后的向量作为对应的一阶邻居节点的第二表征向量f第一聚合层,计算如下:
f第一聚合层=Concat(fgraphsage,ffm1,ftrans,ffm2);
ftrans=Concat(ftrans-v,ftrans-s,ftrans-p)。
对于第二聚合层:基于Transformer聚合技术将一阶邻居节点的第二表征向量向目标节点的第一表征向量聚合。此处,目标节点对应的一阶邻居节点具有不同类型,不区分域。
假设Xt={xs,x1,......,xm};其中,xs表示目标节点自身,x1至xn表示该目标节点对应的m个二阶邻居节点,共m+1个节点的表征向量。将这m+1个节点之间进行Transformer变换,生成m+1个新向量;再将m+1个新向量去均值,得到目标节点的第二表征向量f第二聚合层,即目标节点的最终表征向量,计算如下:
f第二聚合层=avgpooling(Transformer(Relu(f第一聚合层)))
本实施例通过Transformer、FM、Graphsage三种聚合技术对不同类型的节点进行从粗到细不同粒度的交叉融合,以及域内和域间的交叉融合,极大提升了模型的表达能力,有利于提高推荐质量。
另外,注意力技术、特征交叉技术、图卷积技术不限于上述技术,还可以是:比如注意力技术还可以是GRU技术、特征交叉技术还可以是MLP技术、图卷积技术还可以是GCN技术、GAT技术等。
一些实施例中,当候选对象为冷启动对象时,通过补充默认节点作为候选对象的邻居节点。冷启动对象是指没有任何用户行为的对象,例如新上线的视频、单曲等。以N取值为3为例,在将候选对象的自身节点及其邻居节点的第一表征向量输入图神经网络模型时,对于没有邻居节点的冷启动对象,用默认节点充当冷启动对象的一阶邻居节点、二阶邻居节点及三阶邻居节点参与模型运算。
参照图8,还包括loss层,用于在图神经网络模型的训练过程中优化目标节点的最终表征向量,更好地拟合实际业务场景。图神经网络模型的训练过程如下:
S601、将样本节点及其邻居节点的第一表征向量作为待训练的图神经网络模型的输入,获得待训练的图神经网络模型输出的样本节点的当前表征向量。其中,训练场景下图神经网络模型的聚合计算流程与前述的推荐场景下的聚合计算流程相同,不再赘述。
S602、采集样本节点的相近节点及负采样节点,并获取相近节点及负采样节点的当前表征向量;相近节点为样本节点的邻居节点。基于word2vec(word to vector)的loss设计思想,图节点相似性定义为越临近节点表达越相似。因此,相近节点可以选择样本节点的一阶邻居节点、二阶邻居节点等,随着邻居节点的阶数越高,其与样本节点越远。
S603、根据预先定义的损失函数,通过反向传播调整待训练的图神经网络模型的参数,使样本节点与相近节点的距离最大化,使样本节点与负采样节点的距离最小化,直到损失函数达到预设阈值,图神经网络模型训练完成。可选的,损失函数公式为:
其中,损失函数的前半部分的目标节点Hi与相近节点Hj的点积,损失函数的后半部分/>为目标节点Hi与任意负采样节点HK的点积,优化目标使得前半部分数值尽可能大,后半部分数值尽可能小,即使Lnode_simlarity尽可能小。
需要说明的是,根据本公开示例性实施方式提供的模型训练方法和推荐方法,可以在相同设备上执行,也可以在不同设备上执行。
示例性介质
在介绍了本公开示例性实施方式的方法之后,接下来,参考图9对本公开示例性实施方式的存储介质进行说明。
参考图9所示,存储介质700中存储着根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机执行指令,该计算机执行指令用于使计算设备执行本公开所提供的推荐方法。然而,本公开的程序产品不限于此。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机执行指令。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开公开操作的计算机执行指令,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如C语言或类似的程序设计语言。计算机执行指令可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备。
示例性装置
在介绍了本公开示例性实施方式的介质之后,接下来,参考图10对本公开示例性实施方式的推荐装置进行说明,用于实现上述任一方法实施例中的方法,其实现原理和技术效果类似,在此不再赘述。
参照图10,图10示意性地示出了根据本公开实施方式提供的推荐装置的结构示意图一。如图10所示,推荐装置,包括:处理模块801,用于将候选对象的自身节点及其邻居节点的第一表征向量作为预先训练的图神经网络模型的输入,获取图神经网络模型输出的候选对象的最终表征向量;处理模块801,还用于将用户的历史行为列表中至少一个历史对象的自身节点及其邻居节点的第一表征向量作为图神经网络模型的输入,获取图神经网络模型输出的至少一个历史对象的最终表征向量;根据至少一个历史对象的最终表征向量,获取用户的用户表征向量;确定模块802,用于根据候选对象的最终表征向量与用户表征向量的相似度,确定候选对象中的推荐对象。
在本公开的一个实施例中,第一表征向量包括属性特征向量。推荐装置还包括获取模块803;获取模块803,用于预先建立知识图谱,将候选对象作为目标节点,基于知识图谱,获取目标节点的邻居节点;获取模块803,还用于获取目标节点及其邻居节点的属性特征向量;将目标节点的属性特征向量作为目标节点的第一表征向量;将目标节点的邻居节点的属性特征向量作为目标节点的邻居节点的第一表征向量。
在本公开的又一个实施例中,第一表征向量还包括ID特征向量;获取模块803,还用于获取目标节点及其邻居节点的ID特征向量;对目标节点的属性特征向量和ID特征向量进行拼接,将拼接结果作为目标节点的第一表征向量;对目标节点的邻居节点的属性特征向量和ID特征向量进行拼接,将拼接结果作为目标节点的邻居节点的第一表征向量。
在本公开的又一个实施例中,获取模块803,具体用于根据业务数据,确定实体节点;实体节点包括非用户实体节点和用户实体节点;获取模块,具体还用于对用户实体节点进行聚类形成多个聚类簇,构建多个用户组抽象节点与多个聚类簇一一对应,聚类簇的聚类中心特征向量作为用户组抽象节点的属性特征向量;获取模块803,具体还用于抽取非用户实体节点及用户组抽象节点之间的关系,建立知识图谱。
在本公开的又一个实施例中,获取模块803,具体还用于获取用户实体节点的属性特征向量;获取模块803,具体还用于在用户实体节点中,随机选取第一数量的种子用户实体节点,将种子用户实体节点的属性特征向量作为初始的聚类中心特征向量;第一数量为预先设定的聚类簇的数量;获取模块803,具体还用于将用户实体节点中除种子用户实体节点之外的节点作为非种子用户实体节点;依次计算非种子用户实体节点的属性特征向量与初始的每个聚类中心特征向量的距离,确定该距离最小的聚类中心特征向量;将非种子用户实体节点划分到距离最小的聚类中心特征向量对应的聚类簇中;获取模块803,具体还用于通过对聚类簇中包括种子用户实体节点和非种子用户实体节点的所有用户实体节点的属性特征向量进行平均计算,更新聚类中心特征向量;获取模块803,具体还用于依次计算用户实体节点的属性特征向量与更新后的每个聚类中心特征向量的距离,确定该距离最小的聚类中心特征向量;重新将用户实体节点划分到距离最小的聚类中心特征向量对应的聚类簇中;直到聚类中心特征向量不再改变或者更新次数达到预设阈值;获取模块803,具体还用于构建多个用户组抽象节点与当前的聚类簇一一对应,将当前的聚类簇的聚类中心特征向量作为对应的用户组抽象节点的属性特征向量。
在本公开的又一个实施例中,非用户实体节点包括单曲实体节点、视频实体节点、发布者实体节点;单曲实体节点与业务数据中的每个单曲一一对应;视频实体节点与业务数据中的每个视频一一对应;发布者实体节点与业务数据中的每个发布者一一对应;用户实体节点与业务数据中的每个用户一一对应。
在本公开的又一个实施例中,处理模块801,具体用于将候选对象作为目标节点,目标节点的邻居节点包括目标节点的一阶邻居节点至N阶邻居节点;其中,N为大于2的正整数;处理模块801,具体还用于将目标节点的N-1阶邻居节点及其对应的N阶邻居节点的第一表征向量作为图神经网络模型的输入层的输入,获取输入层输出的N-1阶邻居节点的第二表征向量;处理模块801,具体还用于将N-1阶邻居节点的第二表征向量以及从目标节点至N-2阶邻居节点的每个节点的第一表征向量作为图神经网络模型的聚合层的输入,获取聚合层输出的关于候选对象的最终表征向量。
在本公开的又一个实施例中,处理模块801,具体还用于每一聚合层将当前层的节点的第一表征向量和上一层中与当前层的节点所对应的节点的第二表征向量进行聚合,将聚合后的向量作为当前层的节点的第二表征向量;处理模块801,具体还用于将当前层的节点的第二表征向量输入下一聚合层并与对应下一聚合层的节点的第一表征向量进行聚合,直至从最后一聚合层聚合输出关于候选对象的最终表征向量。
在本公开的又一个实施例中,每一聚合层采用如下至少一种技术进行聚合:注意力技术、特征交叉技术、图卷积技术。
在本公开的又一个实施例中,处理模块801,具体还用于在第一聚合层同时采用注意力技术、特征交叉技术、图卷积技术对N-1阶邻居节点的第二表征向量及N-2阶邻居节点的第一表征向量进行聚合,将聚合后的向量作为对应的N-2阶邻居节点的第二表征向量。
在本公开的又一个实施例中,注意力技术包括Transformer聚合技术,特征交叉技术包括FM聚合技术,图卷积技术包括GraphSAGE聚合技术,处理模块,具体还用于基于GraphSAGE聚合技术,对N-1阶邻居节点的第二表征向量及N-2阶邻居节点的第一表征向量进行聚合,获得第一中间表征向量;处理模块801,具体还用于基于FM聚合技术,对N-1阶邻居节点的第二表征向量及N-2阶邻居节点的第一表征向量进行聚合,获得第二中间表征向量;处理模块801,具体还用于基于Transformer聚合技术,对N-1阶邻居节点的第二表征向量按节点类型分别进行域聚合计算,获得各节点类型下的域聚合表征向量;处理模块801,具体还用于基于FM聚合技术,对各对象类型下的域聚合表征向量进行聚合,获得第三中间表征向量;处理模块801,具体还用于将第一中间表征向量、第二中间表征向量、各对象类型下的域聚合表征向量及第三中间表征向量进行拼接,将拼接聚合后的向量作为对应的N-2阶邻居节点的第二表征向量。
在本公开的又一个实施例中,推荐装置还包括:第一预处理模块804;第一预处理模块804,用于在将目标节点的N-1阶邻居节点及其对应的N阶邻居节点的第一表征向量作为图神经网络模型的输入层的输入之前,针对每个目标节点的N-1阶邻居节点,执行以下预处理:自N-1阶邻居节点对应的N阶邻居节点中,筛选出与N-1阶邻居节点的节点类型相同的N阶邻居节点,并通过对N阶邻居节点进行抽样处理或补充默认节点处理,使每个N-1阶邻居节点对应的N阶邻居节点的数量一致。
在本公开的又一个实施例中,处理模块801,具体还用于对N-1阶邻居节点及其对应的N阶邻居节点的第一表征向量进行拼接,获得N-1阶邻居节点的第二表征向量。
在本公开的又一个实施例中,装置还包括第二预处理模块805;第二预处理模块805,用于当候选对象为冷启动对象时,通过补充默认节点作为候选对象的邻居节点。
在本公开的又一个实施例中,历史对象为多个;处理模块801,具体用于根据多个历史对象的最终表征向量,基于加权平均计算,获取用户的用户表征向量。
在本公开的又一个实施例中,推荐装置还包括:训练模块806。训练模块806,用于将样本节点及其邻居节点的第一表征向量作为待训练的图神经网络模型的输入,获得待训练的图神经网络模型输出的样本节点的当前表征向量;训练模块806,还用于采集样本节点的相近节点及负采样节点,并获取相近节点及负采样节点的当前表征向量;相近节点为样本节点的邻居节点;训练模块806,还用于根据预先定义的损失函数,通过反向传播调整待训练的图神经网络模型的参数,使样本节点与相近节点的距离最大化,使样本节点与负采样节点的距离最小化,直到损失函数达到预设阈值,图神经网络模型训练完成。
示例性计算设备
在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图11对本公开示例性实施方式的计算设备进行说明。
图11显示的计算设备90仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,计算设备90以通用计算设备的形式表现。计算设备90的组件可以包括但不限于:至少一个处理单元901、至少一个存储单元902,连接不同系统组件(包括处理单元901和存储单元902)的总线903。其中,至少一个存储单元902中存储有计算机执行指令使得至少一个处理单元901包括处理器,处理器执行该计算机执行指令,以实现如前述任一实施例提供的推荐方法。
总线903包括数据总线、控制总线和地址总线。
存储单元902可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)9018和/或高速缓存存储器9019,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)9020。
存储单元902还可以包括具有一组(至少一个)程序模块9021的程序/实用工具9022,这样的程序模块9021包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备90也可以与一个或多个外部设备904(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口905进行。并且,计算设备90还可以通过网络适配器906与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图11所示,网络适配器906通过总线903与计算设备90的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了推荐装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (30)
1.一种推荐方法,其特征在于,包括:
将候选对象的自身节点及其邻居节点的第一表征向量作为预先训练的图神经网络模型的输入,获取所述图神经网络模型输出的所述候选对象的最终表征向量;
将用户的历史行为列表中至少一个历史对象的自身节点及其邻居节点的第一表征向量作为所述图神经网络模型的输入,获取所述图神经网络模型输出的至少一个所述历史对象的最终表征向量;根据至少一个所述历史对象的最终表征向量,获取所述用户的用户表征向量;
根据所述候选对象的最终表征向量与所述用户表征向量的相似度,确定所述候选对象中的推荐对象;
所述第一表征向量包括属性特征向量和ID特征向量;
所述将候选对象的自身节点及其邻居节点的第一表征向量作为预先训练的图神经网络模型的输入之前,还包括:
预先建立知识图谱,将所述候选对象作为目标节点,基于所述知识图谱,获取所述目标节点的邻居节点;
获取所述目标节点及其邻居节点的所述ID特征向量和所述属性特征向量;对所述目标节点的所述属性特征向量和所述ID特征向量进行拼接,将拼接结果作为所述目标节点的第一表征向量;对所述目标节点的邻居节点的所述属性特征向量和所述ID特征向量进行拼接,将拼接结果作为所述目标节点的邻居节点的第一表征向量;
所述目标节点的邻居节点包括所述目标节点的一阶邻居节点至N阶邻居节点;其中,N为大于2的正整数;所述N阶邻居节点与N-1阶邻居节点的类型不同。
2.根据权利要求1所述的方法,其特征在于,所述将候选对象的自身节点及其邻居节点的第一表征向量作为预先训练的图神经网络模型的输入之前,还包括:
将所述目标节点的所述属性特征向量作为所述目标节点的第一表征向量;将所述目标节点的邻居节点的所述属性特征向量作为所述目标节点的邻居节点的第一表征向量。
3.根据权利要求2所述的方法,其特征在于,所述预先建立知识图谱,包括:
根据业务数据,确定实体节点;所述实体节点包括非用户实体节点和用户实体节点;
对所述用户实体节点进行聚类形成多个聚类簇,构建多个用户组抽象节点与所述多个聚类簇一一对应,所述聚类簇的聚类中心特征向量作为所述用户组抽象节点的属性特征向量;
抽取所述非用户实体节点及所述用户组抽象节点之间的关系,建立所述知识图谱。
4.根据权利要求3所述的方法,其特征在于,所述对所述用户实体节点进行聚类形成多个聚类簇,构建多个用户组抽象节点与所述多个聚类簇一一对应,所述聚类簇的聚类中心特征向量作为所述用户组抽象节点的属性特征向量,包括:
获取所述用户实体节点的属性特征向量;
在所述用户实体节点中,随机选取第一数量的种子用户实体节点,将所述种子用户实体节点的属性特征向量作为初始的聚类中心特征向量;所述第一数量为预先设定的所述聚类簇的数量;
将所述用户实体节点中除所述种子用户实体节点之外的节点作为非种子用户实体节点;依次计算所述非种子用户实体节点的属性特征向量与初始的每个所述聚类中心特征向量的距离,确定该距离最小的所述聚类中心特征向量;将所述非种子用户实体节点划分到所述距离最小的所述聚类中心特征向量对应的所述聚类簇中;
通过对所述聚类簇中包括所述种子用户实体节点和所述非种子用户实体节点的所有所述用户实体节点的属性特征向量进行平均计算,更新所述聚类中心特征向量;
依次计算所述用户实体节点的属性特征向量与更新后的每个所述聚类中心特征向量的距离,确定该距离最小的所述聚类中心特征向量;重新将所述用户实体节点划分到所述距离最小的所述聚类中心特征向量对应的所述聚类簇中;直到所述聚类中心特征向量不再改变或者更新次数达到预设阈值;
构建多个用户组抽象节点与当前的所述聚类簇一一对应,将当前的所述聚类簇的所述聚类中心特征向量作为对应的所述用户组抽象节点的属性特征向量。
5.根据权利要求3所述的方法,其特征在于,所述非用户实体节点包括单曲实体节点、视频实体节点、发布者实体节点;
所述单曲实体节点与所述业务数据中的每个单曲一一对应;所述视频实体节点与所述业务数据中的每个视频一一对应;所述发布者实体节点与所述业务数据中的每个发布者一一对应;所述用户实体节点与所述业务数据中的每个用户一一对应。
6.根据权利要求1所述的方法,其特征在于,所述将候选对象的自身节点及其邻居节点的第一表征向量作为预先训练的图神经网络模型的输入,获取所述图神经网络模型输出的所述候选对象的最终表征向量,包括:
将所述目标节点的N-1阶邻居节点及其对应的所述N阶邻居节点的第一表征向量作为所述图神经网络模型的输入层的输入,获取所述输入层输出的所述N-1阶邻居节点的第二表征向量;
将所述N-1阶邻居节点的第二表征向量以及从所述目标节点至N-2阶邻居节点的每个节点的第一表征向量作为所述图神经网络模型的聚合层的输入,获取所述聚合层输出的关于所述候选对象的最终表征向量。
7.根据权利要求6所述的方法,其特征在于,所述将所述N-1阶邻居节点的第二表征向量以及从所述目标节点至N-2阶邻居节点的每个节点的第一表征向量作为所述图神经网络模型的聚合层的输入,获取所述聚合层输出的关于所述候选对象的最终表征向量,包括:
每一聚合层将当前层的节点的第一表征向量和上一层中与当前层的节点所对应的节点的第二表征向量进行聚合,将聚合后的向量作为所述当前层的节点的第二表征向量;
将所述当前层的节点的第二表征向量输入下一聚合层并与对应下一聚合层的节点的第一表征向量进行聚合,直至从最后一聚合层聚合输出关于所述候选对象的最终表征向量。
8.根据权利要求7所述的方法,其特征在于,每一聚合层采用如下至少一种技术进行聚合:注意力技术、特征交叉技术、图卷积技术。
9.根据权利要求8所述的方法,其特征在于,所述聚合层有N-1层,所述每一聚合层将当前层的节点的第一表征向量和上一层中与当前层的节点所对应的节点的第二表征向量进行聚合,将聚合后的向量作为所述当前层的节点的第二表征向量,包括:
在第一聚合层同时采用注意力技术、特征交叉技术、图卷积技术对所述N-1阶邻居节点的第二表征向量及所述N-2阶邻居节点的第一表征向量进行聚合,将聚合后的向量作为对应的所述N-2阶邻居节点的第二表征向量。
10.根据权利要求9所述的方法,其特征在于,所述注意力技术包括Transformer聚合技术,所述特征交叉技术包括FM聚合技术,所述图卷积技术包括GraphSAGE聚合技术,
所述在第一聚合层同时采用注意力技术、特征交叉技术、图卷积技术对所述N-1阶邻居节点的第二表征向量及所述N-2阶邻居节点的第一表征向量进行聚合,将聚合后的表征向量作为对应的所述N-2阶邻居节点的第二表征向量,包括:
基于所述GraphSAGE聚合技术,对所述N-1阶邻居节点的第二表征向量及所述N-2阶邻居节点的第一表征向量进行聚合,获得第一中间表征向量;
基于所述FM聚合技术,对所述N-1阶邻居节点的第二表征向量及所述N-2阶邻居节点的第一表征向量进行聚合,获得第二中间表征向量;
基于所述Transformer聚合技术,对所述N-1阶邻居节点的第二表征向量按节点类型分别进行域聚合计算,获得各节点类型下的域聚合表征向量;
基于所述FM聚合技术,对各对象类型下的所述域聚合表征向量进行聚合,获得第三中间表征向量;
将所述第一中间表征向量、所述第二中间表征向量、各对象类型下的所述域聚合表征向量及所述第三中间表征向量进行拼接,将拼接聚合后的向量作为对应的所述N-2阶邻居节点的第二表征向量。
11.根据权利要求6所述的方法,其特征在于,所述将所述目标节点的N-1阶邻居节点及其对应的所述N阶邻居节点的第一表征向量作为所述图神经网络模型的输入层的输入,获取所述输入层输出的所述N-1阶邻居节点的第二表征向量,包括:
对所述N-1阶邻居节点及其对应的所述N阶邻居节点的第一表征向量进行拼接,获得所述N-1阶邻居节点的第二表征向量。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述候选对象为冷启动对象时,通过补充默认节点作为所述候选对象的所述邻居节点。
13.根据权利要求1所述的方法,其特征在于,所述历史对象为多个;
所述根据至少一个所述历史对象的最终表征向量,获取所述用户的用户表征向量,包括:
根据多个所述历史对象的最终表征向量,基于加权平均计算,获取所述用户的用户表征向量。
14.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将样本节点及其邻居节点的第一表征向量作为待训练的所述图神经网络模型的输入,获得待训练的所述图神经网络模型输出的所述样本节点的当前表征向量;
采集所述样本节点的相近节点及负采样节点,并获取所述相近节点及所述负采样节点的当前表征向量;所述相近节点为所述样本节点的邻居节点;
根据预先定义的损失函数,通过反向传播调整待训练的所述图神经网络模型的参数,使所述样本节点与所述相近节点的距离最大化,使所述样本节点与所述负采样节点的距离最小化,直到所述损失函数达到预设阈值,所述图神经网络模型训练完成。
15.一种推荐装置,其特征在于,包括:
处理模块,用于将候选对象的自身节点及其邻居节点的第一表征向量作为预先训练的图神经网络模型的输入,获取所述图神经网络模型输出的所述候选对象的最终表征向量;
所述处理模块,还用于将用户的历史行为列表中至少一个历史对象的自身节点及其邻居节点的第一表征向量作为所述图神经网络模型的输入,获取所述图神经网络模型输出的至少一个所述历史对象的最终表征向量;根据至少一个所述历史对象的最终表征向量,获取所述用户的用户表征向量;
确定模块,用于根据所述候选对象的最终表征向量与所述用户表征向量的相似度,确定所述候选对象中的推荐对象;
所述第一表征向量包括属性特征向量和ID特征向量;
所述装置还包括获取模块;
所述获取模块,用于预先建立知识图谱,将所述候选对象作为目标节点,基于所述知识图谱,获取所述目标节点的邻居节点;
所述获取模块,还用于获取所述目标节点及其邻居节点的所述ID特征向量和所述属性特征向量;对所述目标节点的所述属性特征向量和所述ID特征向量进行拼接,将拼接结果作为所述目标节点的第一表征向量;对所述目标节点的邻居节点的所述属性特征向量和所述ID特征向量进行拼接,将拼接结果作为所述目标节点的邻居节点的第一表征向量;
所述目标节点的邻居节点包括所述目标节点的一阶邻居节点至N阶邻居节点;其中,N为大于2的正整数;所述N阶邻居节点与N-1阶邻居节点的类型不同。
16.根据权利要求15所述的装置,其特征在于,所述获取模块,还用于将所述目标节点的所述属性特征向量作为所述目标节点的第一表征向量;将所述目标节点的邻居节点的所述属性特征向量作为所述目标节点的邻居节点的第一表征向量。
17.根据权利要求16所述的装置,其特征在于,
所述获取模块,具体用于根据业务数据,确定实体节点;所述实体节点包括非用户实体节点和用户实体节点;
所述获取模块,具体还用于对所述用户实体节点进行聚类形成多个聚类簇,构建多个用户组抽象节点与所述多个聚类簇一一对应,所述聚类簇的聚类中心特征向量作为所述用户组抽象节点的属性特征向量;
所述获取模块,具体还用于抽取所述非用户实体节点及所述用户组抽象节点之间的关系,建立所述知识图谱。
18.根据权利要求17所述的装置,其特征在于,
所述获取模块,具体还用于获取所述用户实体节点的属性特征向量;
所述获取模块,具体还用于在所述用户实体节点中,随机选取第一数量的种子用户实体节点,将所述种子用户实体节点的属性特征向量作为初始的聚类中心特征向量;所述第一数量为预先设定的所述聚类簇的数量;
所述获取模块,具体还用于将所述用户实体节点中除所述种子用户实体节点之外的节点作为非种子用户实体节点;依次计算所述非种子用户实体节点的属性特征向量与初始的每个所述聚类中心特征向量的距离,确定该距离最小的所述聚类中心特征向量;将所述非种子用户实体节点划分到所述距离最小的所述聚类中心特征向量对应的所述聚类簇中;
所述获取模块,具体还用于通过对所述聚类簇中包括所述种子用户实体节点和所述非种子用户实体节点的所有所述用户实体节点的属性特征向量进行平均计算,更新所述聚类中心特征向量;
所述获取模块,具体还用于依次计算所述用户实体节点的属性特征向量与更新后的每个所述聚类中心特征向量的距离,确定该距离最小的所述聚类中心特征向量;重新将所述用户实体节点划分到所述距离最小的所述聚类中心特征向量对应的所述聚类簇中;直到所述聚类中心特征向量不再改变或者更新次数达到预设阈值;
所述获取模块,具体还用于构建多个用户组抽象节点与当前的所述聚类簇一一对应,将当前的所述聚类簇的所述聚类中心特征向量作为对应的所述用户组抽象节点的属性特征向量。
19.根据权利要求17所述的装置,其特征在于,所述非用户实体节点包括单曲实体节点、视频实体节点、发布者实体节点;
所述单曲实体节点与所述业务数据中的每个单曲一一对应;所述视频实体节点与所述业务数据中的每个视频一一对应;所述发布者实体节点与所述业务数据中的每个发布者一一对应;所述用户实体节点与所述业务数据中的每个用户一一对应。
20.根据权利要求15所述的装置,其特征在于,
所述处理模块,具体还用于将所述目标节点的N-1阶邻居节点及其对应的所述N阶邻居节点的第一表征向量作为所述图神经网络模型的输入层的输入,获取所述输入层输出的所述N-1阶邻居节点的第二表征向量;
所述处理模块,具体还用于将所述N-1阶邻居节点的第二表征向量以及从所述目标节点至N-2阶邻居节点的每个节点的第一表征向量作为所述图神经网络模型的聚合层的输入,获取所述聚合层输出的关于所述候选对象的最终表征向量。
21.根据权利要求20所述的装置,其特征在于,
所述处理模块,具体还用于每一聚合层将当前层的节点的第一表征向量和上一层中与当前层的节点所对应的节点的第二表征向量进行聚合,将聚合后的向量作为所述当前层的节点的第二表征向量;
所述处理模块,具体还用于将所述当前层的节点的第二表征向量输入下一聚合层并与对应下一聚合层的节点的第一表征向量进行聚合,直至从最后一聚合层聚合输出关于所述候选对象的最终表征向量。
22.根据权利要求21所述的装置,其特征在于,每一聚合层采用如下至少一种技术进行聚合:注意力技术、特征交叉技术、图卷积技术。
23.根据权利要求22所述的装置,其特征在于,
所述处理模块,具体还用于在第一聚合层同时采用注意力技术、特征交叉技术、图卷积技术对所述N-1阶邻居节点的第二表征向量及所述N-2阶邻居节点的第一表征向量进行聚合,将聚合后的向量作为对应的所述N-2阶邻居节点的第二表征向量。
24.根据权利要求23所述的装置,其特征在于,所述注意力技术包括Transformer聚合技术,所述特征交叉技术包括FM聚合技术,所述图卷积技术包括GraphSAGE聚合技术,
所述处理模块,具体还用于基于所述GraphSAGE聚合技术,对所述N-1阶邻居节点的第二表征向量及所述N-2阶邻居节点的第一表征向量进行聚合,获得第一中间表征向量;
所述处理模块,具体还用于基于所述FM聚合技术,对所述N-1阶邻居节点的第二表征向量及所述N-2阶邻居节点的第一表征向量进行聚合,获得第二中间表征向量;
所述处理模块,具体还用于基于所述Transformer聚合技术,对所述N-1阶邻居节点的第二表征向量按节点类型分别进行域聚合计算,获得各节点类型下的域聚合表征向量;
所述处理模块,具体还用于基于所述FM聚合技术,对各对象类型下的所述域聚合表征向量进行聚合,获得第三中间表征向量;
所述处理模块,具体还用于将所述第一中间表征向量、所述第二中间表征向量、各对象类型下的所述域聚合表征向量及所述第三中间表征向量进行拼接,将拼接聚合后的向量作为对应的所述N-2阶邻居节点的第二表征向量。
25.根据权利要求20所述的装置,其特征在于,
所述处理模块,具体还用于对所述N-1阶邻居节点及其对应的所述N阶邻居节点的第一表征向量进行拼接,获得所述N-1阶邻居节点的第二表征向量。
26.根据权利要求15所述的装置,其特征在于,所述装置还包括第二预处理模块;
所述第二预处理模块,用于当所述候选对象为冷启动对象时,通过补充默认节点作为所述候选对象的所述邻居节点。
27.根据权利要求15所述的装置,其特征在于,所述历史对象为多个;
所述处理模块,具体用于根据多个所述历史对象的最终表征向量,基于加权平均计算,获取所述用户的用户表征向量。
28.根据权利要求15所述的装置,其特征在于,所述装置还包括:训练模块;
所述训练模块,用于将样本节点及其邻居节点的第一表征向量作为待训练的所述图神经网络模型的输入,获得待训练的所述图神经网络模型输出的所述样本节点的当前表征向量;
所述训练模块,还用于采集所述样本节点的相近节点及负采样节点,并获取所述相近节点及所述负采样节点的当前表征向量;所述相近节点为所述样本节点的邻居节点;
所述训练模块,还用于根据预先定义的损失函数,通过反向传播调整待训练的所述图神经网络模型的参数,使所述样本节点与所述相近节点的距离最大化,使所述样本节点与所述负采样节点的距离最小化,直到所述损失函数达到预设阈值,所述图神经网络模型训练完成。
29.一种介质,其特征在于,包括:一种计算机可读存储介质,包括:所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至14中任一项所述的方法。
30.一种计算设备,其特征在于,包括:
至少一个处理器;
以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述计算设备执行如权利要求1至14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210504526.8A CN114780867B (zh) | 2022-05-10 | 2022-05-10 | 推荐方法、介质、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210504526.8A CN114780867B (zh) | 2022-05-10 | 2022-05-10 | 推荐方法、介质、装置和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114780867A CN114780867A (zh) | 2022-07-22 |
CN114780867B true CN114780867B (zh) | 2023-11-03 |
Family
ID=82436482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210504526.8A Active CN114780867B (zh) | 2022-05-10 | 2022-05-10 | 推荐方法、介质、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114780867B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941740A (zh) * | 2019-11-08 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 视频推荐方法及计算机可读存储介质 |
CN111708964A (zh) * | 2020-05-27 | 2020-09-25 | 北京百度网讯科技有限公司 | 多媒体资源的推荐方法、装置、电子设备和存储介质 |
CN112232925A (zh) * | 2020-11-02 | 2021-01-15 | 哈尔滨工程大学 | 一种融合知识图谱对商品进行个性化推荐的方法 |
CN112507132A (zh) * | 2020-12-14 | 2021-03-16 | 天津大学 | 一种基于知识图谱和注意力机制的推荐方法 |
CN112989064A (zh) * | 2021-03-16 | 2021-06-18 | 重庆理工大学 | 一种聚合知识图神经网络和自适应注意力的推荐方法 |
CN113282612A (zh) * | 2021-07-21 | 2021-08-20 | 中国人民解放军国防科技大学 | 一种基于科学合作异质网络分析的作者会议推荐方法 |
WO2021179834A1 (zh) * | 2020-03-10 | 2021-09-16 | 支付宝(杭州)信息技术有限公司 | 基于异构图进行业务处理的方法及装置 |
WO2021179838A1 (zh) * | 2020-03-10 | 2021-09-16 | 支付宝(杭州)信息技术有限公司 | 一种基于异构图神经网络模型进行预测的方法和系统 |
CN113516501A (zh) * | 2021-05-13 | 2021-10-19 | 浙江鸿程计算机系统有限公司 | 一种基于图神经网络的用户通信行为预测方法和装置 |
CN113570058A (zh) * | 2021-09-22 | 2021-10-29 | 航天宏康智能科技(北京)有限公司 | 推荐方法和装置 |
CN113656684A (zh) * | 2021-07-13 | 2021-11-16 | 天津大学 | 一种基于知识图谱的推荐方法 |
CN114117213A (zh) * | 2021-11-12 | 2022-03-01 | 杭州网易云音乐科技有限公司 | 一种推荐模型训练、推荐方法、装置、介质和设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220092427A1 (en) * | 2020-09-21 | 2022-03-24 | International Business Machines Corporation | Integrated graph neural network for supervised non-obvious relationship detection |
CN112115367B (zh) * | 2020-09-28 | 2024-04-02 | 北京百度网讯科技有限公司 | 基于融合关系网络的信息推荐方法、装置、设备和介质 |
CN112650907B (zh) * | 2020-12-25 | 2023-07-14 | 百度在线网络技术(北京)有限公司 | 搜索词的推荐方法、目标模型的训练方法、装置及设备 |
-
2022
- 2022-05-10 CN CN202210504526.8A patent/CN114780867B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941740A (zh) * | 2019-11-08 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 视频推荐方法及计算机可读存储介质 |
WO2021179834A1 (zh) * | 2020-03-10 | 2021-09-16 | 支付宝(杭州)信息技术有限公司 | 基于异构图进行业务处理的方法及装置 |
WO2021179838A1 (zh) * | 2020-03-10 | 2021-09-16 | 支付宝(杭州)信息技术有限公司 | 一种基于异构图神经网络模型进行预测的方法和系统 |
CN111708964A (zh) * | 2020-05-27 | 2020-09-25 | 北京百度网讯科技有限公司 | 多媒体资源的推荐方法、装置、电子设备和存储介质 |
CN112232925A (zh) * | 2020-11-02 | 2021-01-15 | 哈尔滨工程大学 | 一种融合知识图谱对商品进行个性化推荐的方法 |
CN112507132A (zh) * | 2020-12-14 | 2021-03-16 | 天津大学 | 一种基于知识图谱和注意力机制的推荐方法 |
CN112989064A (zh) * | 2021-03-16 | 2021-06-18 | 重庆理工大学 | 一种聚合知识图神经网络和自适应注意力的推荐方法 |
CN113516501A (zh) * | 2021-05-13 | 2021-10-19 | 浙江鸿程计算机系统有限公司 | 一种基于图神经网络的用户通信行为预测方法和装置 |
CN113656684A (zh) * | 2021-07-13 | 2021-11-16 | 天津大学 | 一种基于知识图谱的推荐方法 |
CN113282612A (zh) * | 2021-07-21 | 2021-08-20 | 中国人民解放军国防科技大学 | 一种基于科学合作异质网络分析的作者会议推荐方法 |
CN113570058A (zh) * | 2021-09-22 | 2021-10-29 | 航天宏康智能科技(北京)有限公司 | 推荐方法和装置 |
CN114117213A (zh) * | 2021-11-12 | 2022-03-01 | 杭州网易云音乐科技有限公司 | 一种推荐模型训练、推荐方法、装置、介质和设备 |
Non-Patent Citations (1)
Title |
---|
Graph Neural Network for Tag Ranking in Tag-enhanced Video Recommendation;Liu Qi等;《2020 Association for Computing Machinery》;20201023;文章第2613-2620页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114780867A (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | Personalized learning full-path recommendation model based on LSTM neural networks | |
CN111241311B (zh) | 媒体信息推荐方法、装置、电子设备及存储介质 | |
CN112163165B (zh) | 信息推荐方法、装置、设备及计算机可读存储介质 | |
CN110781321B (zh) | 一种多媒体内容推荐方法及装置 | |
Lin et al. | Heterogeneous knowledge-based attentive neural networks for short-term music recommendations | |
CN112989212B (zh) | 媒体内容推荐方法、装置和设备及计算机存储介质 | |
Roy et al. | iMusic: a session-sensitive clustered classical music recommender system using contextual representation learning | |
CN116935170B (zh) | 视频处理模型的处理方法、装置、计算机设备和存储介质 | |
CN114417058A (zh) | 一种视频素材的筛选方法、装置、计算机设备和存储介质 | |
CN116977701A (zh) | 视频分类模型训练的方法、视频分类的方法和装置 | |
CN115618024A (zh) | 多媒体推荐方法、装置及电子设备 | |
CN116452263A (zh) | 一种信息推荐方法、装置、设备及存储介质、程序产品 | |
Yang | [Retracted] Research on Music Content Recognition and Recommendation Technology Based on Deep Learning | |
Liu | Music trend prediction based on improved LSTM and random forest algorithm | |
CN111125428A (zh) | 基于评分预测函数拟合结构的时间相关电影推荐方法 | |
Fei et al. | Learning user interest with improved triplet deep ranking and web-image priors for topic-related video summarization | |
CN115734024A (zh) | 音频数据处理方法、装置、设备及存储介质 | |
WO2023185320A1 (zh) | 冷启动对象推荐方法、装置、计算机设备和存储介质 | |
Gao | Automatic recommendation of online music tracks based on deep learning | |
US20240155195A1 (en) | Recommendation system forward simulator | |
Bai | Convolutional neural network and recommendation algorithm for the new model of college music education | |
CN114780867B (zh) | 推荐方法、介质、装置和计算设备 | |
Zhang | Design of the piano score recommendation image analysis system based on the big data and convolutional neural network | |
Lu | Design of a music recommendation model on the basis of multilayer attention representation | |
Qi et al. | ScratchGAN: Network representation learning for scratch with preference‐based generative adversarial nets |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |