CN115687747A - 一种内容推荐方法及相关装置 - Google Patents
一种内容推荐方法及相关装置 Download PDFInfo
- Publication number
- CN115687747A CN115687747A CN202110875150.7A CN202110875150A CN115687747A CN 115687747 A CN115687747 A CN 115687747A CN 202110875150 A CN202110875150 A CN 202110875150A CN 115687747 A CN115687747 A CN 115687747A
- Authority
- CN
- China
- Prior art keywords
- node
- embedding
- graph
- heterogeneous
- content
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种应用于人工智能领域的内容推荐方法及相关装置,用于更准确地推荐内容。本申请实施例方法包括:接收内容推荐请求,根据内容推荐请求,获取目标用户标识所对应的第一嵌入特征,第一嵌入特征包括目标用户节点的深度嵌入特征和广度嵌入特征,目标用户节点的深度嵌入特征和广度嵌入特征为将包含有用户节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的,对第一嵌入特征与第二嵌入特征进行相关度计算,得到特征相关度,第二嵌入特征包括目标内容节点的深度嵌入特征和广度嵌入特征,目标内容节点与目标内容具有映射关系;若特征相关度满足内容推荐条件,则向目标用户标识所对应的终端设备推送目标内容。
Description
技术领域
本申请实施例涉及人工智能技术领域,尤其涉及一种内容推荐方法及相关装置。
背景技术
随着科技的飞速发展,人工智能(artificial intelligence,AI)逐渐走入人们生活的方方面面。人工智能在实体预测上具有广泛的实践意义,其中,实体的嵌入向量是推荐、搜索或投放场景中重要的信息单元,旨在捕捉实体关联信息,从而更好地表征实体。而嵌入向量的质量将影响推荐、搜索或投放实体内容的准确度。
而传统的基于图结构的嵌入式向量学习算法,只能以深度优先的邻域探索方式为主,无法很好地捕捉图网络完整的拓扑结构,或者因为对图中节点间的关系建模比较简单,无法充分考虑图中节点的度(Degree)对节点之间关系的影响,导致获取到的节点的嵌入向量的精度不高,则导致通过精度不高的节点的嵌入向量无法有效捕捉实体关联信息,无法准确地进行实体内容的表征,从而导致推荐、搜索或投放实体内容的准确度不高。
发明内容
本申请实施例提供了一种内容推荐方法及相关装置,用于通过结合图嵌入模型以及图卷积网络能够充分学习到异构图中的每个节点所对应的广度嵌入特征以及深度嵌入特征,进而通过目标用户节点所对应的第一嵌入特征与目标内容节点所对应的第二嵌入特征之间的特征相关度,来直观清晰地反映目标用户节点与目标内容节点之间的相关程度,从而根据特征相关度能够更准确地获取用户感兴趣的目标内容,以提高向用户推荐目标内容的准确性。
有鉴于此,本申请一方面提供一种内容推荐方法,包括:
接收内容推荐请求,其中,内容推荐请求携带目标用户标识,目标用户标识与目标用户节点具有映射关系;
根据内容推荐请求,获取目标用户标识所对应的第一嵌入特征,其中,第一嵌入特征包括目标用户节点的深度嵌入特征和广度嵌入特征,目标用户节点的深度嵌入特征和广度嵌入特征为将包含有用户节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的;
对第一嵌入特征与第二嵌入特征进行相关度计算,得到特征相关度,其中,第二嵌入特征包括目标内容节点的深度嵌入特征和广度嵌入特征,目标内容节点的深度嵌入特征和广度嵌入特征为将包含有内容节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的,目标内容节点与目标内容具有映射关系;
若特征相关度满足内容推荐条件,则向目标用户标识所对应的终端设备推送目标内容。
本申请的另一方面提供一种内容推荐装置,包括:
接收单元,用于接收内容推荐请求,其中,内容推荐请求携带目标用户标识,目标用户标识与目标用户节点具有映射关系;
获取单元,用于根据内容推荐请求,获取目标用户标识所对应的第一嵌入特征,其中,第一嵌入特征包括目标用户节点的深度嵌入特征和广度嵌入特征,目标用户节点的深度嵌入特征和广度嵌入特征为将包含有用户节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的;
处理单元,用于对第一嵌入特征与第二嵌入特征进行相关度计算,得到特征相关度,其中,第二嵌入特征包括目标内容节点的深度嵌入特征和广度嵌入特征,目标内容节点的深度嵌入特征和广度嵌入特征为将包含有内容节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的,目标内容节点与目标内容具有映射关系;
处理单元,还用于若特征相关度满足内容推荐条件,则向目标用户标识所对应的终端设备推送目标内容。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,
获取单元,用于获取待训练数据,其中,待训练数据用于生成第一节点集合以及第二节点集合;
生成单元,用于根据待训练数据生成目标异构图,其中,目标异构图包括第一节点集合、第二节点集合以及节点连边集合;
处理单元,还用于针对于目标异构图中的每个节点,通过图嵌入模型获取每个节点所对应的深度嵌入特征,其中,深度嵌入特征包括基于节点预测得到的第一嵌入向量,以及,基于节点的邻居节点预测得到的第二嵌入向量;
处理单元,还用于将每个节点所对应的深度嵌入特征作为图卷积网络的输入,通过图卷积网络获取每个节点所对应的广度嵌入特征,其中,广度嵌入特征为对节点的深度嵌入特征与节点的邻居节点的深度嵌入特征进行融合后得到的;
处理单元,还用于根据每个节点所对应的广度嵌入特征以及每个节点所对应的深度嵌入特征,对图卷积网络的模型参数进行更新。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,生成单元具体可以用于:
根据待训练数据获取第一节点集合以及第二节点集合,其中,第一节点集合包括第一用户节点,第一用户节点用于记录与内容具有交互关系的第一用户,第二节点集合包括内容节点、第二用户节点以及内容标签节点,第二用户节点用于记录生成内容的第二用户,内容标签节点用于记录内容属于的内容分类标签;
根据第一节点集合以及第二节点集合,生成第一异构图以及第二异构图,其中,第一异构图用于表示第一用户、第二用户与内容之间的关系结构,第二异构图用于表示第一用户、内容以及内容分类标签之间的关系结构。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,
处理单元,还用于对第一异构图进行节点序列采样,得到第一异构图对应的第一异构节点序列,并,对第二异构图进行节点序列采样,得到第二异构图对应的第二异构节点序列,其中,第一异构节点序列以及第二异构节点序列均包括节点以及节点的邻居节点;
处理单元,还用于基于第一异构节点序列以及第二异构节点序列,通过图嵌入模型,根据预设的滑动窗口的长度从每个异构节点序列中截取多个窗口节点子序列;
处理单元,还用于对每个窗口节点子序列中的每个节点进行向量映射处理,得到基于节点预测得到的嵌入向量以及基于节点的邻居节点预测得到的嵌入向量;
获取单元,还用于获取每个窗口节点子序列中的每个节点所对应的负采样节点,其中,负采样节点来源于异构节点序列所对应的其他窗口节点子序列,负采样节点与节点属于相同节点集合;
处理单元,还用于对节点的负采样节点进行向量映射处理,得到负采样节点所对应的嵌入向量;
处理单元,还用于根据基于节点预测得到的嵌入向量、基于节点的邻居节点预测得到的嵌入向量以及负采样节点所对应的嵌入向量对图嵌入模型的模型参数进行更新。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,处理单元具体可以用于:
根据第一异构图以及预设的采样长度生成第一元路径,其中,第一元路径包括节点类型、节点类型的采样顺序以及采样长度;
根据第一元路径对第一异构图进行采样,得到第一异构节点序列;
处理单元具体可以用于:
根据第二异构图以及预设的采样长度生成第二元路径,其中,第二元路径包括节点类型、节点类型的采样顺序以及采样长度;
根据第二元路径对第二异构图进行采样,得到第二异构节点序列。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,处理单元具体可以用于:
从第一异构图中获取连接每个节点与邻居节点之间的节点连边所对应的第一权重值;
根据第一权重值计算每个节点的邻居节点所对应的第一采样概率;
根据第一采样概率的大小、节点类型、节点类型的采样顺序以及采样长度,在第一异构图的每个节点与邻居节点之间游走,生成第一异构节点序列;
处理单元具体可以用于:
从第二异构图中获取连接每个节点与邻居节点之间的节点连边所对应的第二权重值;
根据第二权重值计算每个节点的邻居节点所对应的第二采样概率;
根据第二采样概率的大小、节点类型、节点类型的采样顺序以及采样长度,在第二异构图的每个节点与邻居节点之间游走,生成第二异构节点序列。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,处理单元具体可以用于:
通过图卷积网络,将第一异构图与第二异构图进行聚合,得到聚合异构图,其中,聚合异构图包括K级节点层,每一级节点层中包含的邻居节点通过节点连边与下一级节点层中的邻居节点连接,K为大于1的整数;
针对于聚合异构图中的每个节点,对节点的深度嵌入特征与节点所对应的K级节点层中邻居节点的深度嵌入特征进行K级融合,得到每个节点所对应的广度嵌入特征。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,处理单元具体可以用于:
对每个K-1级邻居节点的深度嵌入特征进行均值计算,得到每个节点所对应的K级邻居节点的聚合特征,其中,K级邻居节点为通过节点连边与K-1级邻居节点连接的节点;
将聚合特征与K级邻居节点的深度嵌入特征进行拼接,并对拼接后的嵌入特征进行非线性转换,得到K级邻居节点所对应的广度嵌入特征;
根据K级邻居节点所对应的广度嵌入特征以及基于节点预测得到的嵌入向量进行拼接,并对拼接后的嵌入特征进行非线性转换,得到每个节点所对应的广度嵌入特征。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,
处理单元,还用于当目标异构图中添加有新的节点时,将更新后的目标异构图作为图嵌入模型的输入,通过图嵌入模型获取新的节点所对应的深度嵌入特征;
获取单元,还用于根据图卷积网络的模型参数以及新的节点所对应的深度嵌入特征,获取新的节点所对应的广度嵌入特征。
本申请另一方面提供了一种计算机设备,包括:存储器、收发器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序时实现如上述各方面的方法;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。网络设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该网络设备执行上述各方面所提供的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
通过根据接收到的内容推荐请求,获取目标用户标识所对应的包含有目标用户节点的深度嵌入特征和广度嵌入特征的第一嵌入特征,且目标用户节点的深度嵌入特征和广度嵌入特征为将包含有用户节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的,并对第一嵌入特征与包含有目标内容节点的深度嵌入特征和广度嵌入特征的第二嵌入特征进行相关度计算,以获取特征相关度,目标内容节点的深度嵌入特征和广度嵌入特征为将包含有内容节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的,目标内容节点与目标内容具有映射关系,当特征相关度满足内容推荐条件时,向目标用户标识所对应的终端设备推送目标内容。通过上述方式,实现了通过结合图嵌入模型以及图卷积网络来更好地捕捉异构图中的图网络完整的拓扑结构,能够充分学习到异构图中的每个节点所对应的广度嵌入特征以及深度嵌入特征,进而通过计算包含有目标用户节点的深度嵌入特征和广度嵌入特征的第一嵌入特征与包含有目标内容节点的深度嵌入特征和广度嵌入特征的第二嵌入特征之间的特征相关度,来直观清晰地反映目标用户节点与目标内容节点之间的相关程度,并能够通过相关程度来体现用户对目标内容的感兴趣程度,则根据特征相关度能够更准确地获取用户感兴趣的目标内容,从而能够提高向用户推荐目标内容的准确性。
附图说明
图1是本申请实施例中内容数据控制系统的一个架构示意图;
图2是本申请实施例中内容推荐方法的一个实施例流程图;
图3是本申请实施例中内容推荐方法的另一个实施例流程图;
图4是本申请实施例中内容推荐方法的另一个实施例流程图;
图5是本申请实施例中内容推荐方法的另一个实施例流程图;
图6是本申请实施例中内容推荐方法的另一个实施例流程图;
图7是本申请实施例中内容推荐方法的另一个实施例流程图;
图8是本申请实施例中内容推荐方法的另一个实施例流程图;
图9是本申请实施例中内容推荐方法的另一个实施例流程图;
图10是本申请实施例中内容推荐方法的另一个实施例流程图;
图11是本申请实施例中内容推荐方法的一个原理流程示意图;
图12(a)是本申请实施例中内容推荐方法的一个异构图的示意图;
图12(b)是本申请实施例中内容推荐方法的另一个异构图的示意图;
图13(a)是本申请实施例中内容推荐方法的一个异构节点序列的示意图;
图13(b)是本申请实施例中内容推荐方法的另一个异构节点序列示意图;
图13(c)是本申请实施例中内容推荐方法的另一个异构节点序列示意图;
图13(d)是本申请实施例中内容推荐方法的另一个异构节点序列示意图;
图14是本申请实施例中内容推荐方法的一个节点序列采样的原理示意图;
图15是本申请实施例中内容推荐方法的另一个节点序列采样的原理示意图;
图16是本申请实施例中内容推荐方法的一个窗口节点子序列的示意图;
图17是本申请实施例中内容推荐方法的一个图嵌入模型获取节点的深度嵌入特征的原理示意图;
图18是本申请实施例中内容推荐方法的一个图卷积网络获取异构图中的节点的广度嵌入特征的原理示意图;
图19是本申请实施例中内容推荐方法的一个图卷积网络获取节点的嵌入特征的原理示意图;
图20是本申请实施例中内容推荐装置的一个实施例示意图;
图21是本申请实施例中计算机设备的一个实施例示意图。
具体实施方式
本申请实施例提供了一种本申请实施例提供了一种内容推荐方法及相关装置,用于通过结合图嵌入模型以及图卷积网络能够充分学习到异构图中的每个节点所对应的广度嵌入特征以及深度嵌入特征,进而通过目标用户节点所对应的第一嵌入特征与目标内容节点所对应的第二嵌入特征之间的特征相关度,来直观清晰地反映目标用户节点与目标内容节点之间的相关程度,从而根据特征相关度能够更准确地获取用户感兴趣的目标内容,以提高向用户推荐目标内容的准确性。
本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着信息的飞速发展,人工智能以及数据库(Database)也逐渐走入人们生活的方方面面。人工智能在文本翻译、智能问答以及情感分析等方面,都具有广泛的实践意义。人工智能的出现,也极大地方便了人们的工作和生活。其中,人工智能是利用数学计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换而言之,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能是一门综合学科,涉及的领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能的基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统和机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。在自然语言处理技术中,人工智能可以用来处理文本,并对文本中的词语进行合理的解释。以及在机器学习/深度学习技术中,人工智能可以用来处理文本,并对文本中的词频或词语的重要度进行统计或解释。本申请实施例提供的内容推荐方法就可以通过自然语言处理技术以及机器学习技术来实现。
应理解,本申请提供的内容推荐方法可以应用于通过嵌入特征完成信息或任务的推荐或投放的场景中,作为示例,例如通过视频内容的嵌入特征在视频应用程序完成视频内容投放。作为另一个示例,例如新闻资讯应用平台通过资讯内容的嵌入特征获取资讯内容推荐给用户。作为再一示例,例如购物平台通过商品内容的嵌入特征获取商品内容推荐给用户,在上述种种场景中,为了完成内容的推荐,现有技术中提供的解决方案为,通过图结构的嵌入式向量学习算法获取嵌入特征,但是因为无法很好地捕捉图网络完整的拓扑结构,或者因为对图中节点间的关系建模比较简单,无法充分考虑图中节点的度对节点之间关系的影响,导致了获取到的嵌入特征的精度不高,进而导致通过精度不高的节点的嵌入向量无法有效捕捉实体关联信息,无法准确地进行实体内容的表征,从而导致推荐、搜索或投放实体内容的准确度不高。
为了解决上述问题,本申请提出了一种内容推荐方法,该方法应用于图1所示的内容数据控制系统,请参阅图1,图1为本申请实施例中内容数据控制系统的一个架构示意图,如图1所示,服务器通过接收终端设备发送的内容推荐请求,并根据接收到的内容推荐请求,获取目标用户标识所对应的包含有目标用户节点的深度嵌入特征和广度嵌入特征的第一嵌入特征,且目标用户节点的深度嵌入特征和广度嵌入特征为将包含有用户节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的,并对第一嵌入特征与包含有目标内容节点的深度嵌入特征和广度嵌入特征的第二嵌入特征进行相关度计算,以获取特征相关度,目标内容节点的深度嵌入特征和广度嵌入特征为将包含有内容节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的,目标内容节点与目标内容具有映射关系,当特征相关度满足内容推荐条件时,向目标用户标识所对应的终端设备推送目标内容。通过上述方式,实现了通过结合图嵌入模型以及图卷积网络来更好地捕捉异构图中的图网络完整的拓扑结构,能够充分学习到异构图中的每个节点所对应的广度嵌入特征以及深度嵌入特征,进而通过计算包含有目标用户节点的深度嵌入特征和广度嵌入特征的第一嵌入特征与包含有目标内容节点的深度嵌入特征和广度嵌入特征的第二嵌入特征之间的特征相关度,来直观清晰地反映目标用户节点与目标内容节点之间的相关程度,并能够通过相关程度来体现用户对目标内容的感兴趣程度,则根据特征相关度能够更准确地获取用户感兴趣的目标内容,从而能够提高向用户推荐目标内容的准确性。
可以理解的是,图1中仅示出了一种终端设备,在实际场景中可以由更多种类的终端设备参与到数据处理的过程中,例如个人电脑(personal computer,PC),具体数量和种类因实际场景而定,具体此处不做限定。另外,图1中示出了一个服务器,但在实际场景中,也可以有多个服务器的参与,特别是在多模型训练交互的场景中,服务器的数量因实际场景而定,具体此处不做限定。
需要注意的是,本实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdelivery network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,终端设备以及服务器可以连接组成区块链网络,本申请在此不做限制。
为了解决上述问题,本申请提出了一种内容推荐方法,该方法一般由服务器或终端设备执行,相应地,应用于内容推荐的装置一般设置于服务器或终端设备中。
可以理解的是,如本申请所公开的内容推荐方法、相关设备以及装置,其中多个服务器/终端设备可以组成为一区块链,而服务器/终端设备为区块链上的节点。在实际应用中,可以在区块链中需要进行节点与节点之间的数据共享,每个节点上可以存储有图像数据、节点数据以及特征数据等。
下面将对本申请中内容推荐方法进行介绍,请参阅图2,本申请实施例中内容推荐方法一个实施例包括:
在步骤S101中,接收内容推荐请求,其中,内容推荐请求携带目标用户标识,目标用户标识与目标用户节点具有映射关系;
具体地,当用户对想要获取到感兴趣的内容时,其中,内容具体可以表现为新闻资讯、广告、好友信息、商品购物直播间、视频或音频等,此处不做具体限制,或者当用户希望获取到的内容对用户而言有一定的吸引力时,或者获取到的内容与用户的兴趣爱好的关联度比较高等,用户可以通过终端设备向服务器发送内容推荐请求,使得系统或服务器可以响应接收到的内容推荐请求,获取内容推荐请求携带目标用户标识,以使后续能够根据获取到的目标用户标识在数据库中快速查找到与该目标用户标识具有映射关系的目标用户节点。
其中,用户标识也可以称为用户身份标识码(identity,ID),用于指示用户的身份或账号,可以具体表现为整数(int)型的数字串,也可以具体表现为字符串等,用户标识可以对应于用户应用账号以及目标用户节点,用于供服务器确定内容推荐请求的发起者,用户应用账号为内容推荐请求的发起者在虚拟内容管理应用中的账号,例如内容推荐请求的发起者的游戏账号、视频应用账号或赛事频道应用账号等;目标用户节点可以用于记录与内容具有交互关系的用户;目标用户标识与用户应用账号以及目标用户节点之间的映射关系可以存储于系统的服务器侧,也可以同时存储于系统的客户端侧和服务器侧,更具体的,目标用户标识与目标用户节点之间一一对应。
需要说明的是,当生成内容的用户想要进行内容的推广或预热时,可以通过终端设备向服务器发送内容推广请求,使得系统或服务器可以响应接收到的内容推广请求,获取内容推荐请求携带目标内容标识,以使后续能够根据获取到的目标内容标识在数据库中快速查找到与该目标内容标识具有映射关系的目标内容节点。
其中,生成内容的用户具体可以表现为创作看点资讯的号主,发表视频、图像等的博主,或者通过虚拟直播间进行交流的主播等,此处不做具体限制,目标用户标识用于指示生成内容的用户所生成的目标内容,更具体的,目标内容标识与目标内容节点之间一一对应。
例如,在流量包投放场景中,号主在创作新的作品内容后,想要对该新的作品内容进行的推广或预热,则可以通过终端设备向服务器发送内容推广请求,同时,可以通过购买平台服务器提供的不同流量值的流量包来对该新的作品内容进行预热或推广,其中,在向终端设备推荐内容之前平台服务器可以根据已有的分类标签对作品内容进行分类,则可以将作品内容更好地推送给更多的用户。
可以理解的是,如果在数据库中没有与内容推广请求携带的目标内容标识相匹配的目标内容节点,则可以根据该目标内容标识的提供者的用户数据,可以在数据库中获取该用户数据具有映射关系的其他节点所对应的深度嵌入特征以及广度嵌入特征,例如,在数据库的如图12(a)所示的第一异构图中,获取到与提供者的用户数据相对应的号主节点所对应的深度嵌入特征以及广度嵌入特征,以及在数据库的如图12(b)所示的第二异构图中,可以获取到与提供者的用户数据相应的二级分类节点对应的深度嵌入特征和广度嵌入特征,以及一级分类所对应的深度嵌入特征以及广度嵌入特征等,然后可以把这三个节点对应的深度嵌入特征以及广度嵌入特征通过隐空间进行相加,得到融合后的嵌入特征,可以作为目标内容标识所对应的目标嵌入特征。
在步骤S102中,根据内容推荐请求,获取目标用户标识所对应的第一嵌入特征,其中,第一嵌入特征包括目标用户节点的深度嵌入特征和广度嵌入特征,目标用户节点的深度嵌入特征和广度嵌入特征为将包含有用户节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的;
在本实施例中,在获取到内容推荐请求后,可以根据内容推荐请求携带的目标用户标识与目标用户节点之间的映射关系,在数据库中快速索引到与该目标用户标识唯一对应的目标用户节点,进而可以获取到该目标用户节点的深度嵌入特征和广度嵌入特征,即第一嵌入特征,以使后续能够对获取到的第一嵌入特征进行相应的处理,来获取与该第一嵌入特征相匹配或相关联的特征,从而能够根据与该第一嵌入特征相匹配或相关联的特征来准确获取与该第一嵌入特征相匹配程度高或相关联程度高的内容推荐给用户。
具体地,本实施例可以通过训练好的图嵌入模型以及图卷积网络对包含有一系列目标用户节点的异构图进行处理以及特征提取,来预先获取到异构图中的每个目标用户节点所对应的深度嵌入特征以及广度嵌入特征,能够通过每个目标用户节点所对应的深度嵌入特征以及广度嵌入特征,很好地表征异构图中的每个目标用户节点,其中,异构图包含有不同节点类型的节点以及表示不同关系的节点连边。
进一步地,当接收内容推荐请求时,可以根据内容推荐请求携带的目标用户标识与目标用户节点之间的映射关系,在数据库中快速索引到与该目标用户标识唯一对应的目标用户节点,然后准确可以获取到能够更好地表征该目标用户节点的深度嵌入特征和广度嵌入特征,以使后续能够通过该目标用户节点的深度嵌入特征和广度嵌入特征来有效获取与目标用户节点具有关联关系的内容,从而能够更精准将内容推荐给目标用户节点所对应的用户,从而能够在一定程度上提高向用户推荐目标内容的准确性。
在步骤S103中,对第一嵌入特征与第二嵌入特征进行相关度计算,得到特征相关度,其中,第二嵌入特征包括目标内容节点的深度嵌入特征和广度嵌入特征,目标内容节点的深度嵌入特征和广度嵌入特征为将包含有内容节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的,目标内容节点与目标内容具有映射关系;
在本实施例中,在获取到第一嵌入特征之后,可以通过获取能够准确包含有目标内容节点的深度嵌入特征和广度嵌入特征,即第二嵌入特征,来计算对第一嵌入特征与第二嵌入特征之间的特征相关度,以使后续可以根据特征相关度来直观清晰地反映目标用户节点与目标内容节点之间的相关程度,并能够通过相关程度来体现用户对目标内容的感兴趣程度,从而根据特征相关度能够更准确地获取用户感兴趣的目标内容,能够在一定程度上提高向用户推荐目标内容的准确性。
其中,第一嵌入特征与第二嵌入特征之间的特征相关度用于指示第一嵌入特征与第二嵌入特征之间的相关程度,能够用于表示目标用户节点与目标内容节点之间的相关程度,从而能够通过目标用户节点与目标内容节点之间的相关程度来反映用户对目标内容的感兴趣程度,或者内容与用户的兴趣爱好的关联程度,特征相关度具体可以表现为分数、概率值或距离等,还可以是其他表现形式,此处不做具体限制,其中,目标内容节点可以用于记录目标内容,目标内容节点与目标内容之间的映射关系可以存储于系统的服务器侧,也可以同时存储于系统的客户端侧和服务器侧,更具体的,目标内容节点与目标内容之间一一对应。
具体地,本实施例可以通过训练好的图嵌入模型以及图卷积网络对包含有一系列目标内容节点的异构图进行处理以及特征提取,来预先获取到异构图中的每个目标内容节点所对应的深度嵌入特征以及广度嵌入特征,能够通过每个目标内容节点所对应的深度嵌入特征以及广度嵌入特征,很好地表征异构图中的每个目标内容节点。
进一步地,当获取到第一嵌入特征时,为了能够准确获取适合用户或者与用户关联度高的目标内容,可以通过将获取到的第一嵌入特征与任一目标内容节点所对应的第二嵌入特征进行相关度计算,具体可以是将第一嵌入特征与任一目标内容节点所对应的第二嵌入特征进行点乘,来获取能够表示第一嵌入特征与任一目标内容节点所对应的第二嵌入特征之间的相关程度的相关度得分,即特征相关度,从而能够通过特征相关度来直观清晰地反映目标用户节点与每个目标内容节点之间的相关程度。
在步骤S104中,若特征相关度满足内容推荐条件,则向目标用户标识所对应的终端设备推送目标内容。
在本实施例中,当特征相关度满足内容推荐条件时,可以根据目标内容节点与目标内容之间的映射关系,可以向目标用户标识所对应的终端设备推送该特征相关度对应的目标内容,即能够将与目标用户节点相关度高的目标内容节点所对应的目标内容推荐给用户,能够更精准地向目标用户标识所对应的终端设备推送该目标内容,从而能够在一定程度上提高向用户推荐目标内容的准确性。
具体地,当获取到第一嵌入特征与任一目标内容节点所对应的第二嵌入特征之间的特征相关度时,具体可以是如果该特征相关度为概率值时,可以通过将特征相关度与预设的概率阈值进行比较,若特征相关度大于或者等于预设的概率阈值,即特征相关度满足内容推荐条件,其中,预设的概率度阈值是根据实际应用需求进行设置的,此处不做具体限制。
例如,在视频看点的投币场景中,当用户相要获取感兴趣的内容,并可以对喜欢的内容例如视频内容或音频内容等,进行投币或者点赞时,用户可以通过终端设备向服务器发送内容推荐请求,使得播放视频内容的平台服务器可以通过计算目标用户节点与目标内容节点之间的特征相关度,并可以结合视频内容所对应的获币量如20个币,可以按照预设的兑换方式,将20币兑换成该视频内容相应的流量如50次,如果视频内容的特征相关度达到预设的阈值时,即特征相关度满足内容推荐条件,则平台服务器可以根据流量的大小来对该视频内容进行相应的转发投放。
进一步地,需要说明的是,由于在实际应用中,如在流量包投放或推广等场景中,号主可以购买不同流量值的流量包来将号主的视频内容进行预热或推广,使得该视频内容能够推送给更多的用户,因此,为了能够更加准确地为用户推荐视频内容,本实施例可以通过计算特征相关度与预设的相关度系数之间的乘积,来获取相关度得分,若计算得到的相关度得分大于或者等于预设的推荐阈值,即特征相关度满足内容推荐条件,或者,可以根据号主购买的流量包的流量值确定该视频内容对应目标投放量,其中,目标投放量为平台至少要对该视频内容进行转发或投放的流量值,即保量,如号主购买的流量包的流量值为5000次,相应的目标投放量为4800次,则可以获取每个目标内容节点所对应的目标内容的当前的实际投放量,进而通过可以计算目标投放量与实际投放量之间的差值,并将计算得到的差值与预设的投放系数相乘,则可以将获取到的乘积作为目标内容的保量分,可以理解的是,保量分与目标投放量与实际投放量之间的差值为正相关,故可以通过计算每个目标内容的相关度得分与保量分之和,来表示每个目标内容需要进行投放的重要程度,若相关度得分与保量分之和大于或等于预设的投放阈值,即特征相关度满足内容推荐条件,其中,预设的相关度系数、投放系数以及投放阈值等,均是根据实际应用需求进行设置的,此处不做具体限制,然后,可以向目标用户标识所对应的终端设备,推送满足内容推荐条件的特征相关度所对应的目标内容。
进一步地,还可以按照每个目标内容相对应的投放的重要程度,来依次向目标用户标识所对应的终端设备推送目标内容,使得用户能够更好地获取到其感兴趣的目标内容,也能够将目标内容进行投放或推广。
在本申请实施例中,提供了一种内容推荐方法,通过上述方式,实现了通过结合图嵌入模型以及图卷积网络来更好地捕捉异构图中的图网络完整的拓扑结构,能够充分学习到异构图中的每个节点所对应的广度嵌入特征以及深度嵌入特征,进而通过计算包含有目标用户节点的深度嵌入特征和广度嵌入特征的第一嵌入特征与包含有目标内容节点的深度嵌入特征和广度嵌入特征的第二嵌入特征之间的特征相关度,来直观清晰地反映目标用户节点与目标内容节点之间的相关程度,并能够通过相关程度来体现用户对目标内容的感兴趣程度,则根据特征相关度能够更准确地获取用户感兴趣的目标内容,从而能够提高向用户推荐目标内容的准确性。
可选地,在上述图2对应的实施例的基础上,本申请实施例提供的内容推荐方法另一个可选实施例中,如图3所示,该方法还包括:
在步骤S301中,获取待训练数据,其中,待训练数据用于生成第一节点集合以及第二节点集合;
在本实施例中,为了能够更好更准确地将目标内容的推荐给用户或将目标内容投放至相应的应用程序中,本实施例通过获取待训练数据,以使后续能够利用获取到的待训练数据来训练和优化能够获取到较高精度的嵌入特征的模型,从而能够在一定程度上提高获取嵌入特征的精度。
其中,待训练数据是用于训练获取高精度的嵌入特征的模型和提升准确率的标注好的数据,待训练数据具体可以是用于学习不同实体的嵌入特征的业务内容特征数据,更具体地,不同业务场景下对应有不同的待训练数据,作为示例,例如,在短视频投放场景中,用户可以对喜欢的短视频进行点赞等,则待训练数据具体可以表现为用户点击或查看短视频的流水数据,如浏览、点赞、评论或下载等交互流水数据,以及短视频内容和与短视频内容关联的特征信息,如内容与号主之间的创作关系,或者是内容和内容属于的二级分类标签之间的从属关系,或者是二级分类标签和内容属于的一级分类标签之间的从属关系,还可以表现为其他关联的特征信息,此处不做具体限制。作为另一示例,例如,在视频看点的投币场景中,用户可以对喜欢的视频内容进行投币,则待训练数据具体可以表现为用户投币的流水数据,以及视频内容数据和与视频内容数据关联的特征信息。作为另一示例,例如,在流量包投放场景中,创作者在创作新的作品内容后,会购买不同流量值的流量包对该新的作品内容进行预热或推广,则待训练数据具体可以表现为创作者创作作品内容的流水数据,以及作品内容数据与作品内容数据关联的特征信息。作为另一示例,例如,在投币以及流量包的购买的场景中,还会涉及“大号带小号”场景,具体可以表现为平台需要扶持的中腰部号主,即热度较低的号主,寻找类似的热门号主,然后利用热门号主的相关行为和粉丝受众特征来为扶持行为提供引导,则待训练数据具体可以表现为热门号主的流水数据、作品内容数据以及与作品内容数据关联的特征信息,中腰部号主的流水数据、作品内容数据以及与作品内容数据关联的特征信息,待训练数据还可以表现为其他业务数据,此处不做具体限制。
具体地,如图11所示,获取待训练数据,具体可以根据实际应用或业务需求,利用网络爬虫技术在大数据平台中进行爬取,或者是接收终端设备发送的待训练数据,或者是服务器数据库中获取预存有的待训练数据,以使后续能够对获取到的待训练数据进行相应的处理,具体可以是将待训练数据换为第一节点集合以及第二节点集合,以为构造异构图做准备,进而能够用于训练和优化图嵌入模型以及图卷积网络,以使图嵌入模型以及图卷积网络能够更好地捕捉异构图中的图网络完整的拓扑结构,能够提高模型的学习能力以及模型的训练精度,从而能够充分学习到异构图中的每个节点所对应的广度嵌入特征以及深度嵌入特征,从而能够在一定程度上提高获取嵌入特征的精度。
在步骤S302中,根据待训练数据生成目标异构图,其中,目标异构图包括第一节点集合、第二节点集合以及节点连边集合;
在本实施例中,在获取到待训练数据后,可以根据待训练数据生成目标异构图,能够通过目标异构图将待训练数据转换为第一节点集合、第二节点集合进行呈现,以及将待训练数据中各个数据之间的关联关系,通过节点连边集合进行直观表达,能够更好地反映多数据类型的图数据对象,以及更好地反映数据之间的多样化的交互关系或关联关系,从而使得后续能够通过该目标异构图更好地捕捉到待训练数据中各个数据之间的结构关系以及关联关系,能够更好地提取待训练数据中的嵌入特征,从而能够在一定程度上提高获取嵌入特征的精度。
具体地,如图11所示,当获取到二待训练数据时,可以根据待训练数据以及待训练数据中各个数据之间的关联关系,来构造包含有第一节点集合、第二节点集合以及节点连边集合的目标异构图,能够通过目标异构图中的各种节点类型的节点以及各个节点之间的节点连边来直观清晰地反映待训练数据以及待训练数据中各个数据之间的关联关系。
例如,获取到的待训练数据为过去N天内用户点击消费内容的流水记录,以及用户点击消费的内容,与内容具有关联的特征信息,如生成用户点击消费的内容的号主数据,以及用户点击消费的内容在平台服务器中属于的分类标签,如二级分类标签为篮球,以及对应的一级分类标签为体育类等,那么可以根据用户对内容的点击消费记录,用户与消费内容之间的交互关系,以及与内容具有关联的特征信息,如图12(a)所示,可以构建关于“用户-内容-号主”的节点集合所对应的异构图,以及如图12(b)所示,可以构建关于“用户-内容-二级分类-一级分类”的节点集合所对应的异构图。
在步骤S303中,针对于目标异构图中的每个节点,通过图嵌入模型获取每个节点所对应的深度嵌入特征,其中,深度嵌入特征包括基于节点预测得到的第一嵌入向量,以及,基于节点的邻居节点预测得到的第二嵌入向量;
在本实施例中,在获取到目标异构图后,可以通过图嵌入模型获取每个节点所对应的深度嵌入特征,能够通过图嵌入模型学习到异构图中的每个节点的深度嵌入特征,以使后续能够将每个节点所对应的深度嵌入特征作为图卷积网络的输入,使得无法学习异构图中特征的图卷积网络,能够基于学习到异构图中的每个节点的深度嵌入特征,不仅能够学习到异构图中的深度嵌入特征,还能够学习到异构图中的广度嵌入特征,能够提高对嵌入特征的学习能力,从而能够在一定程度上提高获取嵌入特征的精度。
具体地,如图11所示,当获取到目标异构图时,为了学习异构图中的每个节点的深度嵌入向量表示,可以通过图嵌入模型获取包含有基于节点预测得到的第一嵌入向量,以及,基于节点的邻居节点预测得到的第二嵌入向量的深度嵌入特征,其中,图嵌入模型具体可以是根据实际应用需求确定的,具体可以表现为跳字(skip-gram)模型或者连续词袋(Continuous Bag-of-Words Model,CBOW)模型,还可以是其他图嵌入模型,如Hin2vec算法,此处不做具体限制。
在步骤S304中,将每个节点所对应的深度嵌入特征作为图卷积网络的输入,通过图卷积网络获取每个节点所对应的广度嵌入特征,其中,广度嵌入特征为对节点的深度嵌入特征与节点的邻居节点的深度嵌入特征进行融合后得到的;
在本实施例中,如图11所示,在获取到每个节点所对应的深度嵌入特征后,可以将每个节点所对应的深度嵌入特征作为图卷积网络的输入,能够使得无法学习异构图中特征的图卷积网络,能够基于学习到异构图中的每个节点的深度嵌入特征,不仅能够学习到异构图中的深度嵌入特征,还能够学习到异构图中的广度嵌入特征,能够提高对嵌入特征的学习能力,从而能够在一定程度上提高获取深度嵌入特征以及广度嵌入特征的精度。
具体地,如图19所示,当获取到目标异构图时,为了能够学习异构图中的每个节点的广度嵌入向量表示,以及更好地捕捉异构图中的图网络完整的拓扑结构,本实施例可以将每个节点所对应的深度嵌入特征作为图卷积网络的输入,通过图卷积网络对获取到的每个节点所对应的深度嵌入特征进行特征融合,以获取每个节点所对应的广度嵌入特征,其中,图卷积网络具体可以是根据实际应用需求确定的,具体可以表现为图采样聚合(GraphSAmple and aggreGatE,GraphSage)网络,还可以是其他图卷积网络,如PinSage算法,此处不做具体限制。
其中,GraphSage网络是基于归纳式的图神经网络(Inductive GNN)的一种,在GraphSage网络中每一个节点的嵌入表示是根据节点的邻居关系的变化而变化。
在步骤S305中,根据每个节点所对应的广度嵌入特征以及每个节点所对应的深度嵌入特征,对图卷积网络的模型参数进行更新。
具体地,在获取到每个节点所对应的广度嵌入特征后,可以根据每个节点所对应的广度嵌入特征以及每个节点所对应的深度嵌入特征,对图卷积网络的模型参数进行更新,具体可以是采用基于自适应矩估计(Adaptive moment estimation,Adam)优化器的梯度下降方法对图卷积网络的模型参数进行更新,还可以采用其他更新方式,此处不做具体限制,使得图卷积网络能够稳定收敛,从而得到对图中的节点的嵌入特征具备较好学习能力的图卷积网络,从而能够在一定程度上提高获取深度嵌入特征以及广度嵌入特征的精度。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的内容推荐方法另一个可选实施例中,如图4所示,目标异构图包括第一异构图以及第二异构图;根据待训练数据生成目标异构图,包括:
在步骤S401中,根据待训练数据获取第一节点集合以及第二节点集合,其中,第一节点集合包括第一用户节点,第一用户节点用于记录与内容具有交互关系的第一用户,第二节点集合包括内容节点、第二用户节点以及内容标签节点,第二用户节点用于记录生成内容的第二用户,内容标签节点用于记录内容属于的内容分类标签;
在步骤S402中,根据第一节点集合以及第二节点集合,生成第一异构图以及第二异构图,其中,第一异构图用于表示第一用户、第二用户与内容之间的关系结构,第二异构图用于表示第一用户、内容以及内容分类标签之间的关系结构。
在本实施例中,在获取到待训练数据后,为了能够更好地学习到实际应用场景中的各种业务数据中的实体关系,例如,信息流投放场景中,需要学习用户、内容和号主三种实体关系,包含有多种不同的数据类型以及不同类型的关联关系,故可以通过构造异构图来更加清晰直观地反映数据内容以及数据之间的关联关系,本实施例可以待训练数据转换为第一节点集合以及第二节点集合,然后,可以根据第一节点集合包括第一用户节点的,以及第二节点集合包括的内容节点以及第二用户节点来构造能够表示“第一用户-内容-第二用户”的关系结构的第一异构图,还可以根据第一节点集合包括第一用户节点的,以及第二节点集合包括的内容节点以及内容标签节点来构造能够表示“第一用户-内容-内容分类标签”的关系结构的第二异构图,以使后续可以根据第一异构图以及第二异构图来训练和优化图嵌入模型以及图卷积网络,能够更好地捕捉到第一异构图以及第二异构图的图结构,以及第一异构图以及第二异构图各个节点之间中的结构关系以及关联关系,能够更好地提取第一异构图以及第二异构图中各个节点的嵌入特征,从而能够在一定程度上提高获取嵌入特征的精度。
具体地,根据待训练数据获取第一节点集合以及第二节点集合具体可以是基于知识图谱、树节点或者表示解析器(Abstract Meaning Representation,AMR)等技术来将待训练数据转换为第一节点集合以及第二节点集合,还可以是采用其他方法,此处不作具体限制。
进一步地,根据第一节点集合以及第二节点集合,生成第一异构图以及第二异构图具体可以是基于深度图形库教程和文档(Deep Graph Library Tutorials andDocumentation,DGL)的API接口处的dgl.heterograph()来创建异构图,其中,dgl.heterograph()的参数是字典,其键为形式为(srctype,edgetype,dsttype),含义为(初始节点类型,边的类型,终止节点类型),使得后续能够根据第一异构图以及第二异构图中异构节点之间的关系,来把节点映射进同一个隐向量空间,进而可以更好地训练和优化图嵌入模型以及图卷积网络,从而能够更好地提取第一异构图以及第二异构图中各个节点的嵌入特征,从而能够在一定程度上提高获取深度嵌入特征的精度。
例如,在信息流投放场景中,有用户、内容、号主以及内容分类标签等待训练数据数据,则可以将这些待训练数据转换为用户节点、内容节点、号主节点以及内容标签节点等,进而可以在“用户节点-内容节点”关系的基础上,同时构造“用户节点和号主节点”之间的关系,可以得到一个第一异构图,还可以构造“用户节点和内容标签节点”之间的关系,可以得到一个第二异构图,进而根据构造出来的第一异构图可以通过衡量用户与号主之间的关系来进行内容的推荐或投放。此外,还可以根据构造出来的第一异构图以及第二异构图,通过用户节点、号主节点和内容标签节点之间的关系对内容进行更好地画像,进而通过画像可以快速地找到对特定号主在特定内容分类标签下生成内容感兴趣的用户,并将该内容有效地投放给用户,从而能够在一定程度上提高推荐目标内容的准确率和效率。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的内容推荐方法另一个可选实施例中,如图5所示,该方法还包括:
在步骤S501中,对第一异构图进行节点序列采样,得到第一异构图对应的第一异构节点序列,并,对第二异构图进行节点序列采样,得到第二异构图对应的第二异构节点序列,其中,第一异构节点序列以及第二异构节点序列均包括节点以及节点的邻居节点;
在步骤S502中,基于第一异构节点序列以及第二异构节点序列,通过图嵌入模型,根据预设的滑动窗口的长度从每个异构节点序列中截取多个窗口节点子序列;
在步骤S503中,对每个窗口节点子序列中的每个节点进行向量映射处理,得到基于节点预测得到的嵌入向量以及基于节点的邻居节点预测得到的嵌入向量;
在步骤S504中,获取每个窗口节点子序列中的每个节点所对应的负采样节点,其中,负采样节点来源于异构节点序列所对应的其他窗口节点子序列,负采样节点与节点属于相同节点集合;
在步骤S505中,对节点的负采样节点进行向量映射处理,得到负采样节点所对应的嵌入向量;
在步骤S506中,根据基于节点预测得到的嵌入向量、基于节点的邻居节点预测得到的嵌入向量以及负采样节点所对应的嵌入向量对图嵌入模型的模型参数进行更新。
在本实施例中,如图11所示,在获取到第一异构图以及第二异构图后,为了更好地学习到第一异构图以及第二异构图中的每个节点的深度嵌入特征,具体可以是采用Node2vec算法、Metapath2vec算法或者元路径(Metapath)算法,还可以采用其他采样算法,此处不做具体限制,分别对第一异构图以及第二异构图中的每个节点进行相关序列采样,得到每个节点对应的异构节点序列,进而,可以通过Skip-gram模型对异构节点序列进行深度嵌入特征的学习,然后,可以根据学习到的深度嵌入特征对图嵌入模型的模型参数进行更新,使得图嵌入模型能够稳定收敛,从而得到对图中的节点的深度嵌入特征具备较好学习能力的图嵌入模型,从而能够在一定程度上提高获取嵌入特征的精度。
其中,如图14所示,Node2vec算法是综合考虑深度优先采样(Depth-firstSample,DFS)和广度优先采样(Bread-first Sample,BFS)的采样算法,旨在同时对邻域进行深度优先检索(Depth-first Search,DFS)和广度优先检索(Bread-first Search,BFS)的建模。如图14中B部分所示,当基于节点v*进行下一步采样时,Node2vec算法会有1/p的概率进行BFS采样,如有1/p的概率从基于节点v*向节点v1、节点v2或者节点v3进行BFS采样,或者,有1/q的概率进行DFS采样,如有1/q的概率从基于节点v*向节点v4,节点v4向节点v5,节点v5向节点v9进行DFS采样。如图14中A部分,所示通过对超参数p和q的调整,可以改变游走策略对于BFS采样和DFS采样的倾向性,并不做中心节点周围的图拓扑结构,最终可以采样完成得到异构节点序列。
具体地,当获取到第一异构图以及第二异构图后,可以通过采样的方式,为每个节点生成不同的游走序列,具体可以是采用元路径算法来根据节点连边集合,对第一节点集合以及第二节点集合进行节点序列采样,可以得到每个节点对应的第一异构节点序列以及第二异构节点序列。
例如,对如图12(a)所示的第一异构图采用路径算法对进行节点序列采样,可以得到如图13(c)所示的“u1-r1-a1-r6-u3-r31-a5-r81-u19”以及“u2-r11-a1-r8-u5-r33-a15-r117-u99”等第一异构节点序列。
例如,对如图12(b)所示的第二异构图采用路径算法对进行节点序列采样,可以得到如图13(d)所示的“u1-r1-sc1-fc1-sc3-r19-u9-r11-sc21-fc3-sc25-r14-u88”的第二异构节点序列,以及如“u13-r31-sc1-fc1-sc5-r11-u91-r111-sc31-fc6-sc35-r41-u87”的第二异构节点序列等。
进一步地,可以将获取到的每个节点的异构节点序列通过Skip-gram模型输入,根据预设的滑动窗口的长度从每个异构节点序列中截取多个窗口节点子序列,具体可以是通过滑动窗口,从每个异构节点序列的第一个节点开始,按照预设的滑动窗口的长度来依次捕捉节点序列,可以得到多个窗口节点子序列。
例如,如图13(c)所示,假设有一个异构节点序列为“u1-r1-a1-r6-u3-r31-a5-r81-u19”,如果预设的滑动窗口的长度为5,那么从该异构节点序列的第一个节点开始,滑动窗口捕捉节点序列,如图16所示,可以得到“u1-r1-a1-r6-u3”的窗口节点子序列,进而,滑动窗口从第二个节点开始捕捉节点序列,可以得到“r1-a1-r6-u3-r31”的窗口节点子序列,同理,通过滑动窗口依次捕捉节点序列,可以得到多个窗口节点子序列。
进一步地,如图16所示,可以从窗口节点子序列“u1-r1-a1-r6-u3”中选取出一个中心节点a1,然后,如图17所示,将中心节点a1映射成对应的嵌入向量,具体可以是将节点a1嵌入到低维的稠密向量空间中,可以得到嵌入向量a1,同理,进而可以利用嵌入向量a1进一步预测滑动窗口的其他节点的嵌入向量,可以得到嵌入向量u1、嵌入向量r1、嵌入向量r6以及嵌入向量u3。
进一步地,为了提高图嵌入模型对节点的深度嵌入特征的学习能力,本实施例获取每个窗口节点子序列中的每个节点所对应的负采样节点,来丰学习深度嵌入特征的参考因素,具体可以是除当前窗口节点子序列之外,从异构节点序列所对应的其他窗口节点子序列中随机采样与中心节点属于相同节点集合的节点,即负采样节点,然后,可以对节点的负采样节点进行向量映射处理,以获取负采样节点所对应的嵌入向量,其中,对节点的负采样节点进行向量映射处理的方式与上述对每个窗口节点子序列中的每个节点进行向量映射处理,得到基于节点预测得到的嵌入向量以及基于节点的邻居节点预测得到的嵌入向量的方式相似,此处不再赘述。
进一步地,在获取到节点预测得到的嵌入向量、基于节点的邻居节点预测得到的嵌入向量以及负采样节点所对应的嵌入向量后,可以根据基于节点预测得到的嵌入向量、基于节点的邻居节点预测得到的嵌入向量以及负采样节点所对应的嵌入向量获取损失值,然后,根据损失值可以通过随机梯度下降(stochastic gradient descent,SGD)的方式对图嵌入模型的模型参数进行更新,还可以是采用其他更新方式,此处不做具体限制。
其中,根据基于节点预测得到的嵌入向量、基于节点的邻居节点预测得到的嵌入向量以及负采样节点所对应的嵌入向量获取损失值,具体可以是通过如下(1)式的损失函数E1得到:
其中,vc表示中心节点的嵌入向量,vt表示邻居节点预测得到的嵌入向量,vneg表示负采样节点所对应的嵌入向量,Nneg表示负采样的节点个数,σ(*)表示激活函数。
可选地,在上述图5对应的实施例的基础上,本申请实施例提供的内容推荐方法另一个可选实施例中,如图6所示,对第一异构图进行节点序列采样,得到第一异构图对应的第一异构节点序列,包括:
在步骤S601中,根据第一异构图以及预设的采样长度生成第一元路径,其中,第一元路径包括节点类型、节点类型的采样顺序以及采样长度;
在步骤S602中,根据第一元路径对第一异构图进行采样,得到第一异构节点序列;
对第二异构图进行节点序列采样,得到第二异构图对应的第二异构节点序列,包括:
在步骤S603中,根据第二异构图以及预设的采样长度生成第二元路径,其中,第二元路径包括节点类型、节点类型的采样顺序以及采样长度;
在步骤S604中,根据第二元路径对第二异构图进行采样,得到第二异构节点序列。
具体地,对第一异构图进行节点序列采样,得到第一异构图对应的第一异构节点序列具体可以是基于Metapath2vec算法中的元路径(Metapath),根据第一异构图以及预设的采样长度生成第一元路径,进而可以按照第一元路径中的起始的节点类型在第一异构图中选取一个属于该节点类型的起始节点,然后,可以按照节点类型的采样顺序,在第一异构图中从起始节点顺序向邻居节点游走,直到游走完与采样长度相对应的节点个数,可以得到第一异构节点序列,同理,对第二异构图进行节点序列采样,得到第二异构图对应的第二异构节点序列的采样的方式可以与步骤S601至步骤S602中所描述的方式相似,此处不再赘述,使得后续可以根据第一异构节点序列以及第二异构节点序列,更好地把异构图中的各个节点映射进同一个隐向量空间,进而可以使得图嵌入模型以及图卷积网络能够更好地学习到第一异构图以及第二异构图中各个节点的嵌入特征,从而能够在一定程度上提高获取深度嵌入特征以及广度嵌入特征的精度。
例如,如图15所示,假设在信息流推荐场景中,有一个根据论文的发表关系构建基于机构(Org)、作者(Author)、论文(Paper)和会议(Venue)的关于科研领域的异构图,那么针对该第一异构图可以采样Metapath2vec算法进行序列采样,具体可以使在采样生成每一条节点序列时,通过Metapath2vec算法首先选择一种路径类型,如图15中的APA、APVPA或OAPVPAO等,然后根据选择的路径类型确定一个元路径,进而可以根据元路径生成对应的由异构节点组成的路径序列,即异构节点序列。
例如,假设根据如图12(a)所示的第一异构图以及预设的采样长度为5,可以生成一个第一元路径,如图13(a)所示的元路径“u-r-a-r-u”,或者,根据如图12(b)所示的第二异构图以及预设的采样长度为7,可以生成一个第二元路径,如图13(b)所示的元路径“u-r-sc-fc-sc-r-u”,其中,u可以表示用户,如浏览作品内容的观众,r可以表示作品内容,如视频、广告或文案等,a可以表示作品内容的创作者,如创作看点资讯的号主,发表视频、图像等的博主,或者通过虚拟直播间进行交流的主播等,sc可以表示作品内容属于的二级分类标签,如篮球类、足球类、华语类或粤语类等,fc可以表示作品内容属于的二级分类标签,如体育类或音乐类等。
可选地,在上述图6对应的实施例的基础上,本申请实施例提供的内容推荐方法另一个可选实施例中,如图7所示,根据第一元路径对第一异构图进行采样,得到第一异构节点序列,包括:
在步骤S701中,从第一异构图中获取连接每个节点与邻居节点之间的节点连边所对应的第一权重值;
在步骤S702中,根据第一权重值计算每个节点的邻居节点所对应的第一采样概率;
在步骤S703中,根据第一采样概率的大小、节点类型、节点类型的采样顺序以及采样长度,在第一异构图的每个节点与邻居节点之间游走,生成第一异构节点序列;
根据第二元路径对第二异构图进行采样,得到第二异构节点序列,包括:
在步骤S704中,从第二异构图中获取连接每个节点与邻居节点之间的节点连边所对应的第二权重值;
在步骤S705中,根据第二权重值计算每个节点的邻居节点所对应的第二采样概率;
在步骤S706中,根据第二采样概率的大小、节点类型、节点类型的采样顺序以及采样长度,在第二异构图的每个节点与邻居节点之间游走,生成第二异构节点序列。
在本实施例中,由于在根据待训练数据生成第一异构图以及第二异构图时,为了能够更好地将待训练数据中的各个数据之间的关联关系进行表达,本实施例通过节点连边的边权重wij来表示连接如图12(a)所示的第一异构图中的每个第一用户、内容节点以及号主节点之间的节点连边所对应的权重值,或者用于表示如图12(b)所示的第二异构图中的每个第一用户、内容节点、二级分类节点以及一级分类节点之间的节点连边所对应的权重值。
进一步地,在获取到第一元路径以及第二元路径后,为了能够更好地对节点进行游走采样,针对与第一异构图,本实施例可以通过连接每个节点和邻居节点之间的节点连边所对应的权重值来获取从起始节点游走至下一节点的概率,即第一采样概率,然后,可以根据第一采样概率的大小以及下一采样节点的节点类型、节点类型的采样顺序,从每个起始节点向符合节点类型的采样顺序以及节点类型且第一采样概率最大的邻居节点游走,来为每个节点生成不同的游走序列,即第一异构节点序列,同理,针对与第二异构图,根据第二元路径对第二异构图进行采样,得到第二异构节点序列的采样的方式可以与步骤S701至步骤S703中所描述的方式相似,此处不再赘述。
具体地,在获取到第一异构图以及第二异构图后,可以根据节点连边集合来获取连接每个节点和邻居节点之间的节点连边所对应的权重值,如果节点和邻居节点之间是一对一的关系,则可以获取到节点连边所对应的权重值wij为1,例如,如图12(a)所示的第一异构图中的内容节点以及号主节点之间可以是一一对应的关系,即连接这两种节点的节点连边对应的权重值wij为1。如果节点和邻居节点之间不是一对一的关系,那么为了避免因马太效应而导致权重值出现极大或极小的情况,本实施例可以通过如下公式(2)对节点连边所对应的权重值wij进行归一化来获取能够更好地反映每个节点和邻居节点之间的关联关系的权重值:
其中,Nu可以表示与每个节点具有连接关系的邻居节点的数量,Nr可以表示每个邻居节点被节点连接的次数,其中,u表示节点的个数,r表示每个节点具有连接关系的邻居节点的个数,如果,节点和邻居节点之间不存在节点连边,则wij为0。
进一步地,在获取到第一元路径以及第二元路径后,根据第一元路径以及第二元路径进行节点序列采样,具体可以是按照节点类型、节点类型的采样顺序从每个节点向与下一个具有连接关系的邻居节点游走,可以理解为是对于每一时刻t所对应的节点向下一时刻(t+1)所对应的节点的采样,那么本实施例可以通过连接每个节点和邻居节点之间的节点连边所对应的权重值wij来计算每一的采样概率pij,具体可以如下(3)式使采用Softmax函数进行归一化来获取:
其中,e是常数e,常用作底数的自然对数。
其中,采样概率pij可以通过如下(4)式来表示:
其中,vi表示时刻t的节点,vi+1表示是元路径中的与vi邻接节点,即时刻t所对应的节点向下一时刻(t+1)所对应的节点,例如,如图12(a)所示的第一异构图可以从用户节点向内容节点以及号主节点进行顺序采样,或者,如图12(b)所示的第二异构图从用户节点向内容节点以及二级分类节点和一级分类节点采样等,E为节点连边的数量,φ(vi+1)=t+1表示节点是当前t时刻的节点的下一时刻在图中的邻接节点。
进一步地,如图13(c)以及图13(d)所示,在获取到第一元路径以及第二元路径后,可以理解的是连接节点和邻居节点之间的连边节点所对应的权重值越大,则该节点连边对应的采样概率也越大,那么从每个节点向与每个节点具有连接关系的邻居节点游走,会按照元路径中的节点类型、节点类型的采样顺序以及采样长度,且优先从采样概率大到小在第一异构图或第二异构图中进行游走,然后,可以生成由游走到的异构节点组成的路径序列,即第一异构节点序列或第二异构节点序列,能够通过对第一异构图或第二异构图中的每个节点进行相关序列采样,以使后续可以将获取到的异构节点序列作为图嵌入模型的输入,使得图嵌入模型能够更好地学习到异构图中的深度嵌入特征,从而能够在一定程度上提高获取深度嵌入特征的精度。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的内容推荐方法另一个可选实施例中,如图8所示,将每个节点所对应的深度嵌入特征作为图卷积网络的输入,通过图卷积网络获取每个节点所对应的广度嵌入特征,包括:
在步骤S801中,通过图卷积网络,将第一异构图与第二异构图进行聚合,得到聚合异构图,其中,聚合异构图包括K级节点层,每一级节点层中包含的邻居节点通过节点连边与下一级节点层中的邻居节点连接,K为大于1的整数;
在步骤S802中,针对于聚合异构图中的每个节点,对节点的深度嵌入特征与节点所对应的K级节点层中邻居节点的深度嵌入特征进行K级融合,得到每个节点所对应的广度嵌入特征。
具体地,如图19所示,在获取到目标异构图中的每个节点所对应的深度嵌入特征后,可以在图卷积网络中可以采用K-hops的聚合方式,来将第一异构图与第二异构图进行聚合,可以将每个节点和邻居节点之间的深度关联关系聚合为层级节点之间的广度连接关系,使得图卷积网络能够更好地捕捉聚合异构图中的图结构以及节点的广度嵌入特征,进而对节点的深度嵌入特征与节点所对应的K级节点层中邻居节点的深度嵌入特征进行K级融合,具体可以是采用GraphSage网络中的学习多个融合器(aggregator),融合器具体可以表现为可学习融合器-1(Learnable aggregator-1)或可学习融合器-2(Learnableaggregator-1)等,可以通过每个融合器来每一层节点的嵌入特征聚合,而每一层聚合均是基于上一层聚合所得到的节点表示进行的,聚合K级后可以得到每个节点所对应的广度嵌入特征,其中,每个节点的邻居通过采样的方式获取。
可选地,在上述图8对应的实施例的基础上,本申请实施例提供的内容推荐方法另一个可选实施例中,如图9所示,针对于聚合异构图中的每个节点,对节点的深度嵌入特征与节点所对应的K级节点层中邻居节点的深度嵌入特征进行K级融合,得到每个节点所对应的广度嵌入特征,包括:
在步骤S901中,对每个K-1级邻居节点的深度嵌入特征进行均值计算,得到每个节点所对应的K级邻居节点的聚合特征,其中,K级邻居节点为通过节点连边与K-1级邻居节点连接的节点;
在步骤S902中,将聚合特征与K级邻居节点的深度嵌入特征进行拼接,并对拼接后的嵌入特征进行非线性转换,得到K级邻居节点所对应的广度嵌入特征;
在步骤S903中,根据K级邻居节点所对应的广度嵌入特征以及基于节点预测得到的嵌入向量进行拼接,并对拼接后的嵌入特征进行非线性转换,得到每个节点所对应的广度嵌入特征。
在本实施例中,在将获取到的目标异构图中的每个节点所对应的深度嵌入特征作为图卷积网络的输入后,可以根据每个K-1级邻居节点的深度嵌入特征进行均值计算,得到每个节点所对应的K级邻居节点的聚合特征,并将聚合特征与K级邻居节点的深度嵌入特征进行拼接,并对拼接后的嵌入特征进行非线性转换,来获取K级邻居节点所对应的广度嵌入特征,进而再将K级邻居节点所对应的广度嵌入特征以及基于节点预测得到的嵌入向量进行拼接,并对拼接后的嵌入特征进行非线性转换,能够将每个节点以及与该节点连接的K级节点进行逐层融合,可以通过K级节点的深度嵌入特征来预测该节点的广度嵌入特征,能够更加准确地学习到每个节点所对应的广度嵌入特征,从而能够在一定程度上提高获取每个节点的深度嵌入特征以及广度嵌入特征的精度。
其中,K级节点是每个节点最短路径上连接的每一级节点,即K级邻居节点为通过节点连边与K-1级邻居节点连接的节点例如,如“u1-r1-a1”中节点r1为节点u1的一级节点,节点a1为节点u1的二级节点,同理可以得到节点u1的K级节点。
具体地,如图18所示,当将获取到的目标异构图中每个节点所对应的深度嵌入特征作为图卷积网络的输入时,可以通过图卷积网络利用BFS探索的方式,把每个节点以及节点的邻接节点进行统一地聚合,从而更好地表达当前的节点的广度嵌入特征。
例如,将如图12(a)所示的“用户-内容-号主”的第一异构图以及图12(b)所示的“用户-内容-二级分类-一级分类”的第二异构图中的每一个节点,可以通过GraphSage算法将第一异构图以及第二异构图中的每个节点以及节点的邻接节点聚合得到图18所示的融合后的聚合异构图。
其中,GrapSage算法通过BFS的方式,利用多跳(K-hop)的方式将每个节点作为一个源节点,然后将源节点的第k度的邻居融合进源节点的嵌入表示中,来获取该源节点的广度嵌入特征,即通过图神经网络中的K个可学习融合器(aggregator)来学习图结构中融合节点,来逐层融合源节点每一跳的邻居节点,最后能够将k跳的邻居融合进源节点的嵌入表示中,具体可以通过如下(5)式和(6)式来逐层融合源节点每一跳的邻居节点:
其中,表示第k跳的邻居节点通过取均值的方式来进行聚合后所得到的向量表示,表示第k-1跳的邻居节点的深入嵌入特征,和分别表示源节点v的第k跳和第k-1跳的邻居节点通过拼接以及非线性转换的方式来进行聚合后得到向量表示,CONCAT(*,*)表示拼接函数,参数矩阵Wk是GraphSage算法需要学习的模型参数。此外,表示每个节点的初始特征为每个节点所对应的深度嵌入特征。
进一步地,可以根据k跳后获取到的每个节点的广度嵌入特征、每个节点所对应的深度嵌入特征以及每个节点的负采样节点所对应的深度嵌入特征来获取损失值,根据损失值通过随机梯度下降的方式对图卷积网络的模型参数进行更新,具体可以是通过如下(7)式的损失函数E2来得到损失值:
其中,hs表示k跳后获取到的每个节点的广度嵌入特征,hv表示每个节点所对应的深度嵌入特征,hneg表示负采样节点所对应的深度嵌入特征。
例如,将如图12(a)所示的第一异构图以及如图12(b)所示的第二异构图依次通过图嵌入模型以及图卷积网络,可以分别输出聚合异构图中用户节点、内容节点、号主节点、二级分类节点以及一级分类节点所对应的目标嵌入特征,其中,目标嵌入特征包括每个节点所对应的广度嵌入特征以及深度嵌入特征,分别可以表示为 以及其中,l表示向量的维度。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的内容推荐方法另一个可选实施例中,如图10所示,该方法还包括:
在步骤S1001中,当目标异构图中添加有新的节点时,将更新后的目标异构图作为图嵌入模型的输入,通过图嵌入模型获取新的节点所对应的深度嵌入特征;
在步骤S1002中,根据图卷积网络的模型参数以及新的节点所对应的深度嵌入特征,获取新的节点所对应的广度嵌入特征。
具体地,当目标异构图中添加有新的节点时,如第一异构图有少量的节点增量时,即第一异构图中添加有新的节点,如有新的用户节点、内容节点或号主节点增加至第一异构图中,可以理解的是由于节点之间具有关联关系,则节点之间的节点连边也会相应增加,进而可以将更新后的第一异构图输入至图嵌入模型,以获取新添加至第一异构图中的节点所对应的深度嵌入特征。
进一步地,由于第一异构图有少量的节点增量时,第一异构图中的每个节点之间的关联关系没有发生较为明显的变化,故通过图嵌入模型学习到的每个节点所对应的深度嵌入特征也没有较为明显的变化,因此,在第一异构图中的节点增量少于预设的增量阈值时,本实施例可以使用图卷积网络的模型参数以及新添加至第一异构图中的节点所对应的深度嵌入特征来对该节点的广度嵌入特征进行推导,无需将新添加至第一异构图中的节点所对应的深度嵌入特征输入至图卷积网络中进行处理,就可以推理得到新的节点所对应的广度嵌入特征,可以降低获取嵌入特征的复杂度,从而能够在一定程度上提高获取嵌入特征的效率,其中,预设的增量阈值是根据实际应用需求进行设置的,此处不做具体限制,同理,当第二异构图有少量的节点增量时,获取新增节点的深度嵌入特征以及广度嵌入特征的方式与第一异构图有少量的节点增量时,获取新增节点的深度嵌入特征以及广度嵌入特征的方式相似,此处不再赘述。
下面对本申请中的内容推荐装置进行详细描述,请参阅图20,图20为本申请实施例中内容推荐装置的一个实施例示意图,内容推荐装置20包括:
接收单元201,用于接收内容推荐请求,其中,内容推荐请求携带目标用户标识,目标用户标识与目标用户节点具有映射关系;
获取单元202,用于根据内容推荐请求,获取目标用户标识所对应的第一嵌入特征,其中,第一嵌入特征包括目标用户节点的深度嵌入特征和广度嵌入特征,目标用户节点的深度嵌入特征和广度嵌入特征为将包含有用户节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的;
处理单元203,用于对第一嵌入特征与第二嵌入特征进行相关度计算,得到特征相关度,其中,第二嵌入特征包括目标内容节点的深度嵌入特征和广度嵌入特征,目标内容节点的深度嵌入特征和广度嵌入特征为将包含有内容节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的,目标内容节点与目标内容具有映射关系;
处理单元203,还用于若特征相关度满足内容推荐条件,则向目标用户标识所对应的终端设备推送目标内容。
可选地,在上述图20对应的实施例的基础上,本申请实施例提供的内容推荐装置的另一实施例中,
获取单元202,用于获取待训练数据,其中,待训练数据用于生成第一节点集合以及第二节点集合;
生成单元204,用于根据待训练数据生成目标异构图,其中,目标异构图包括第一节点集合、第二节点集合以及节点连边集合;
处理单元203,还用于针对于目标异构图中的每个节点,通过图嵌入模型获取每个节点所对应的深度嵌入特征,其中,深度嵌入特征包括基于节点预测得到的第一嵌入向量,以及,基于节点的邻居节点预测得到的第二嵌入向量;
处理单元203,还用于将每个节点所对应的深度嵌入特征作为图卷积网络的输入,通过图卷积网络获取每个节点所对应的广度嵌入特征,其中,广度嵌入特征为对节点的深度嵌入特征与节点的邻居节点的深度嵌入特征进行融合后得到的;
处理单元203,还用于根据每个节点所对应的广度嵌入特征以及每个节点所对应的深度嵌入特征,对图卷积网络的模型参数进行更新。
可选地,在上述图20对应的实施例的基础上,本申请实施例提供的内容推荐装置的另一实施例中,生成单元204具体可以用于:
根据待训练数据获取第一节点集合以及第二节点集合,其中,第一节点集合包括第一用户节点,第一用户节点用于记录与内容具有交互关系的第一用户,第二节点集合包括内容节点、第二用户节点以及内容标签节点,第二用户节点用于记录生成内容的第二用户,内容标签节点用于记录内容属于的内容分类标签;
根据第一节点集合以及第二节点集合,生成第一异构图以及第二异构图,其中,第一异构图用于表示第一用户、第二用户与内容之间的关系结构,第二异构图用于表示第一用户、内容以及内容分类标签之间的关系结构。
可选地,在上述图20对应的实施例的基础上,本申请实施例提供的内容推荐装置的另一实施例中,
处理单元203,还用于对第一异构图进行节点序列采样,得到第一异构图对应的第一异构节点序列,并,对第二异构图进行节点序列采样,得到第二异构图对应的第二异构节点序列,其中,第一异构节点序列以及第二异构节点序列均包括节点以及节点的邻居节点;
处理单元203,还用于基于第一异构节点序列以及第二异构节点序列,通过图嵌入模型,根据预设的滑动窗口的长度从每个异构节点序列中截取多个窗口节点子序列;
处理单元203,还用于对每个窗口节点子序列中的每个节点进行向量映射处理,得到基于节点预测得到的嵌入向量以及基于节点的邻居节点预测得到的嵌入向量;
获取单元202,还用于获取每个窗口节点子序列中的每个节点所对应的负采样节点,其中,负采样节点来源于异构节点序列所对应的其他窗口节点子序列,负采样节点与节点属于相同节点集合;
处理单元203,还用于对节点的负采样节点进行向量映射处理,得到负采样节点所对应的嵌入向量;
处理单元203,还用于根据基于节点预测得到的嵌入向量、基于节点的邻居节点预测得到的嵌入向量以及负采样节点所对应的嵌入向量对图嵌入模型的模型参数进行更新。
可选地,在上述图20对应的实施例的基础上,本申请实施例提供的内容推荐装置的另一实施例中,处理单元203具体可以用于:
根据第一异构图以及预设的采样长度生成第一元路径,其中,第一元路径包括节点类型、节点类型的采样顺序以及采样长度;
根据第一元路径对第一异构图进行采样,得到第一异构节点序列;
处理单元具体可以用于:
根据第二异构图以及预设的采样长度生成第二元路径,其中,第二元路径包括节点类型、节点类型的采样顺序以及采样长度;
根据第二元路径对第二异构图进行采样,得到第二异构节点序列。
可选地,在上述图20对应的实施例的基础上,本申请实施例提供的内容推荐装置的另一实施例中,处理单元203具体可以用于:
从第一异构图中获取连接每个节点与邻居节点之间的节点连边所对应的第一权重值;
根据第一权重值计算每个节点的邻居节点所对应的第一采样概率;
根据第一采样概率的大小、节点类型、节点类型的采样顺序以及采样长度,在第一异构图的每个节点与邻居节点之间游走,生成第一异构节点序列;
处理单元203具体可以用于:
从第二异构图中获取连接每个节点与邻居节点之间的节点连边所对应的第二权重值;
根据第二权重值计算每个节点的邻居节点所对应的第二采样概率;
根据第二采样概率的大小、节点类型、节点类型的采样顺序以及采样长度,在第二异构图的每个节点与邻居节点之间游走,生成第二异构节点序列。
可选地,在上述图20对应的实施例的基础上,本申请实施例提供的内容推荐装置的另一实施例中,处理单元203具体可以用于:
通过图卷积网络,将第一异构图与第二异构图进行聚合,得到聚合异构图,其中,聚合异构图包括K级节点层,每一级节点层中包含的邻居节点通过节点连边与下一级节点层中的邻居节点连接,K为大于1的整数;
针对于聚合异构图中的每个节点,对节点的深度嵌入特征与节点所对应的K级节点层中邻居节点的深度嵌入特征进行K级融合,得到每个节点所对应的广度嵌入特征。
可选地,在上述图20对应的实施例的基础上,本申请实施例提供的内容推荐装置的另一实施例中,处理单元203具体可以用于:
对每个K-1级邻居节点的深度嵌入特征进行均值计算,得到每个节点所对应的K级邻居节点的聚合特征,其中,K级邻居节点为通过节点连边与K-1级邻居节点连接的节点;
将聚合特征与K级邻居节点的深度嵌入特征进行拼接,并对拼接后的嵌入特征进行非线性转换,得到K级邻居节点所对应的广度嵌入特征;
根据K级邻居节点所对应的广度嵌入特征以及基于节点预测得到的嵌入向量进行拼接,并对拼接后的嵌入特征进行非线性转换,得到每个节点所对应的广度嵌入特征。
可选地,在上述图20对应的实施例的基础上,本申请实施例提供的内容推荐装置的另一实施例中,
处理单元203,还用于当目标异构图中添加有新的节点时,将更新后的目标异构图作为图嵌入模型的输入,通过图嵌入模型获取新的节点所对应的深度嵌入特征;
获取单元202,还用于根据图卷积网络的模型参数以及新的节点所对应的深度嵌入特征,获取新的节点所对应的广度嵌入特征。
本申请另一方面提供了另一种计算机设备示意图,如图21所示,图21是本申请实施例提供的一种计算机设备结构示意图,该计算机设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)310(例如,一个或一个以上处理器)和存储器320,一个或一个以上存储应用程序331或数据332的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器320和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备300中的一系列指令操作。更进一步地,中央处理器310可以设置为与存储介质330通信,在计算机设备300上执行存储介质330中的一系列指令操作。
计算机设备300还可以包括一个或一个以上电源340,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口360,和/或,一个或一个以上操作系统333,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述计算机设备300还用于执行如图2至图10对应的实施例中的步骤。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如图2至图10所示实施例描述的方法中的步骤。
本申请的另一方面提供了一种包含指令的计算机程序产品当其在计算机或处理器上运行时,使得所述计算机或处理器执行如图2至图10所示实施例描述的方法中的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种内容推荐方法,其特征在于,包括:
接收内容推荐请求,其中,所述内容推荐请求携带目标用户标识,所述目标用户标识与目标用户节点具有映射关系;
根据所述内容推荐请求,获取所述目标用户标识所对应的第一嵌入特征,其中,所述第一嵌入特征包括所述目标用户节点的深度嵌入特征和广度嵌入特征,所述目标用户节点的深度嵌入特征和广度嵌入特征为将包含有用户节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的;
对所述第一嵌入特征与第二嵌入特征进行相关度计算,得到特征相关度,其中,所述第二嵌入特征包括目标内容节点的深度嵌入特征和广度嵌入特征,所述目标内容节点的深度嵌入特征和广度嵌入特征为将包含有内容节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的,所述目标内容节点与目标内容具有映射关系;
若所述特征相关度满足内容推荐条件,则向所述目标用户标识所对应的终端设备推送所述目标内容。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取待训练数据,其中,所述待训练数据用于生成第一节点集合以及第二节点集合;
根据所述待训练数据生成目标异构图,其中,所述目标异构图包括所述第一节点集合、所述第二节点集合以及节点连边集合;
针对于所述目标异构图中的每个节点,通过图嵌入模型获取所述每个节点所对应的深度嵌入特征,其中,所述深度嵌入特征包括基于节点预测得到的第一嵌入向量,以及,基于所述节点的邻居节点预测得到的第二嵌入向量;
将所述每个节点所对应的深度嵌入特征作为图卷积网络的输入,通过所述图卷积网络获取所述每个节点所对应的广度嵌入特征,其中,所述广度嵌入特征为对节点的深度嵌入特征与所述节点的邻居节点的深度嵌入特征进行融合后得到的;
根据所述每个节点所对应的广度嵌入特征以及所述每个节点所对应的深度嵌入特征,对所述图卷积网络的模型参数进行更新。
3.根据权利要求2所述的方法,其特征在于,所述目标异构图包括第一异构图以及第二异构图;
所述根据所述待训练数据生成目标异构图,包括:
根据所述待训练数据获取所述第一节点集合以及所述第二节点集合,其中,所述第一节点集合包括第一用户节点,所述第一用户节点用于记录与内容具有交互关系的第一用户,所述第二节点集合包括内容节点、第二用户节点以及内容标签节点,所述第二用户节点用于记录生成内容的第二用户,所述内容标签节点用于记录内容属于的内容分类标签;
根据所述第一节点集合以及所述第二节点集合,生成所述第一异构图以及所述第二异构图,其中,所述第一异构图用于表示所述第一用户、所述第二用户与内容之间的关系结构,所述第二异构图用于表示所述第一用户、内容以及所述内容分类标签之间的关系结构。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对所述第一异构图进行节点序列采样,得到所述第一异构图对应的第一异构节点序列,并,对所述第二异构图进行节点序列采样,得到所述第二异构图对应的第二异构节点序列,其中,所述第一异构节点序列以及所述第二异构节点序列均包括节点以及所述节点的邻居节点;
基于所述第一异构节点序列以及第二异构节点序列,通过所述图嵌入模型,根据预设的滑动窗口的长度从所述每个异构节点序列中截取多个窗口节点子序列;
对每个窗口节点子序列中的每个节点进行向量映射处理,得到所述基于节点预测得到的嵌入向量以及基于所述节点的邻居节点预测得到的嵌入向量;
获取每个窗口节点子序列中的每个节点所对应的负采样节点,其中,所述负采样节点来源于所述异构节点序列所对应的其他窗口节点子序列,所述负采样节点与所述节点属于相同节点集合;
对所述节点的负采样节点进行向量映射处理,得到所述负采样节点所对应的嵌入向量;
根据所述基于节点预测得到的嵌入向量、所述基于节点的邻居节点预测得到的嵌入向量以及所述负采样节点所对应的嵌入向量对所述图嵌入模型的模型参数进行更新。
5.根据权利要求4所述的方法,其特征在于,所述对所述第一异构图进行节点序列采样,得到所述第一异构图对应的第一异构节点序列,包括:
根据第一异构图以及预设的采样长度生成第一元路径,其中,所述第一元路径包括节点类型、节点类型的采样顺序以及采样长度;
根据所述第一元路径对所述第一异构图进行采样,得到所述第一异构节点序列;
所述对所述第二异构图进行节点序列采样,得到所述第二异构图对应的第二异构节点序列,包括:
根据第二异构图以及预设的采样长度生成第二元路径,其中,所述第二元路径包括节点类型、节点类型的采样顺序以及采样长度;
根据所述第二元路径对所述第二异构图进行采样,得到所述第二异构节点序列。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一元路径对所述第一异构图进行采样,得到所述第一异构节点序列,包括:
从所述第一异构图中获取连接每个节点与邻居节点之间的节点连边所对应的第一权重值;
根据所述第一权重值计算所述每个节点的邻居节点所对应的第一采样概率;
根据所述第一采样概率的大小、节点类型、节点类型的采样顺序以及采样长度,在所述第一异构图的每个节点与邻居节点之间游走,生成所述第一异构节点序列;
所述根据所述第二元路径对所述第二异构图进行采样,得到所述第二异构节点序列,包括:
从所述第二异构图中获取连接每个节点与邻居节点之间的节点连边所对应的第二权重值;
根据所述第二权重值计算所述每个节点的邻居节点所对应的第二采样概率;
根据所述第二采样概率的大小、节点类型、节点类型的采样顺序以及采样长度,在所述第二异构图的每个节点与邻居节点之间游走,生成所述第二异构节点序列。
7.根据权利要求2所述的方法,其特征在于,所述将所述每个节点所对应的深度嵌入特征作为图卷积网络的输入,通过所述图卷积网络获取所述每个节点所对应的广度嵌入特征,包括:
通过所述图卷积网络,将所述第一异构图与所述第二异构图进行聚合,得到聚合异构图,其中,所述聚合异构图包括K级节点层,每一级节点层中包含的邻居节点通过节点连边与下一级节点层中的邻居节点连接,所述K为大于1的整数;
针对于所述聚合异构图中的每个节点,对节点的深度嵌入特征与所述节点所对应的K级节点层中邻居节点的深度嵌入特征进行K级融合,得到所述每个节点所对应的广度嵌入特征。
8.根据权利要求7所述的方法,其特征在于,所述针对于所述聚合异构图中的每个节点,对节点的深度嵌入特征与所述节点所对应的K级节点层中邻居节点的深度嵌入特征进行K级融合,得到所述每个节点所对应的广度嵌入特征,包括:
对每个K-1级邻居节点的深度嵌入特征进行均值计算,得到每个节点所对应的K级邻居节点的聚合特征,其中,所述K级邻居节点为通过节点连边与所述K-1级邻居节点连接的节点;
将所述聚合特征与所述K级邻居节点的深度嵌入特征进行拼接,并对拼接后的嵌入特征进行非线性转换,得到所述K级邻居节点所对应的广度嵌入特征;
根据K级邻居节点所对应的广度嵌入特征以及所述基于节点预测得到的嵌入向量进行拼接,并对拼接后的嵌入特征进行非线性转换,得到所述每个节点所对应的广度嵌入特征。
9.根据权利要求2所述的方法,其特征在于,所述根据所述每个节点所对应的广度嵌入特征以及所述每个节点所对应的深度嵌入特征,对所述图卷积网络的模型参数进行更新之后,所述方法还包括:
当所述目标异构图中添加有新的节点时,将更新后的目标异构图作为所述图嵌入模型的输入,通过所述图嵌入模型获取所述新的节点所对应的深度嵌入特征;
根据所述图卷积网络的模型参数以及新的节点所对应的深度嵌入特征,获取所述新的节点所对应的广度嵌入特征。
10.一种内容推荐装置,其特征在于,包括:
接收单元,用于接收内容推荐请求,其中,所述内容推荐请求携带目标用户标识,所述目标用户标识与目标用户节点具有映射关系;
获取单元,用于根据所述内容推荐请求,获取所述目标用户标识所对应的第一嵌入特征,其中,所述第一嵌入特征包括所述目标用户节点的深度嵌入特征和广度嵌入特征,所述目标用户节点的深度嵌入特征和广度嵌入特征为将包含有用户节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的;
处理单元,用于对所述第一嵌入特征与第二嵌入特征进行相关度计算,得到特征相关度,其中,所述第二嵌入特征包括目标内容节点的深度嵌入特征和广度嵌入特征,所述目标内容节点的深度嵌入特征和广度嵌入特征为将包含有内容节点的异构图依次通过图嵌入模型以及图卷积网络处理得到的,所述目标内容节点与目标内容具有映射关系;
所述处理单元,还用于若所述特征相关度满足内容推荐条件,则向所述目标用户标识所对应的终端设备推送所述目标内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110875150.7A CN115687747A (zh) | 2021-07-30 | 2021-07-30 | 一种内容推荐方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110875150.7A CN115687747A (zh) | 2021-07-30 | 2021-07-30 | 一种内容推荐方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115687747A true CN115687747A (zh) | 2023-02-03 |
Family
ID=85059865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110875150.7A Pending CN115687747A (zh) | 2021-07-30 | 2021-07-30 | 一种内容推荐方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115687747A (zh) |
-
2021
- 2021-07-30 CN CN202110875150.7A patent/CN115687747A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11574145B2 (en) | Cross-modal weak supervision for media classification | |
CN111885399B (zh) | 内容分发方法、装置、电子设备以及存储介质 | |
US20150178265A1 (en) | Content Recommendation System using a Neural Network Language Model | |
CN111353106B (zh) | 推荐方法和装置、电子设备和存储介质 | |
CN109241405A (zh) | 一种基于知识关联的学习资源协同过滤推荐方法及系统 | |
CN109471978B (zh) | 一种电子资源推荐方法及装置 | |
TW201447797A (zh) | 內容個人化之多相排序方法和系統 | |
CN111382190B (zh) | 一种基于智能的对象推荐方法、装置和存储介质 | |
CN111104599B (zh) | 用于输出信息的方法和装置 | |
WO2023231542A1 (zh) | 表示信息的确定方法、装置、设备及存储介质 | |
US20230306263A1 (en) | Pattern-based classification | |
CN112989169A (zh) | 目标对象识别方法、信息推荐方法、装置、设备及介质 | |
CN113641797A (zh) | 数据处理方法、装置、设备、存储介质及计算机程序产品 | |
Matsumoto et al. | Music video recommendation based on link prediction considering local and global structures of a network | |
CN115131052A (zh) | 一种数据处理方法、计算机设备和存储介质 | |
CN113962417A (zh) | 一种视频处理方法、装置、电子设备和存储介质 | |
CN115687747A (zh) | 一种内容推荐方法及相关装置 | |
CN112395490B (zh) | 用于生成信息的方法和装置 | |
CN116049566A (zh) | 对象表示方法、装置、设备、存储介质及计算机程序产品 | |
CN116935261A (zh) | 数据处理方法及相关装置 | |
CN113761272A (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
CN115345635A (zh) | 推荐内容的处理方法、装置、计算机设备和存储介质 | |
CN112883256A (zh) | 多任务处理方法、装置、电子设备及存储介质 | |
CN114428811B (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
KR102526254B1 (ko) | 반응형 포스터 콘텐츠의 생성 및 이의 상호작용 제공 방법, 장치 및 시스템 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40081833 Country of ref document: HK |