内容推荐方法、装置、电子设备及存储介质转让专利

申请号 : CN202110703143.9

文献号 : CN113282740B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈辉

申请人 : 中国平安人寿保险股份有限公司

摘要 :

本发明的内容推荐方法、装置、电子设备及存储介质,对用户历史交互的历史文章和待推荐的目标文章分别提取了文章特征数据和知识表征数据,并通过第一神经网络输出每篇文章的文章特征数据和知识表征数据的融合权重,根据融合权重将文章特征数据和知识表征数据进行融合得到每篇文章的融合特征数据,将用户的所有历史文章的融合特征数据和目标文章的融合特征数据输入至DIN模型中,得到推荐结果;由于引入了知识表征数据,丰富了文章的特征表征,同时,引用了学习交互行为和属性之间的关系的第一神经网络,自适应调节自适应调节每篇文章的文章特征数据和知识表征数据的融合权重,使得上述两个特征能够更好的融合,有利于提高内容推荐的准确率。

权利要求 :

1.一种内容推荐方法,其特征在于,包括:

获取与用户产生交互的历史文章以及待推荐的目标文章各自的文章特征数据;

利用预设的知识图谱获取所述历史文章以及所述目标文章各自的知识表征数据;

获取所述历史文章以及所述目标文章各自的交互向量和属性向量,将每个所述文章的交互向量和属性向量输入至预先训练好的第一神经网络中,输出所述文章的行为权重,其中,所述行为权重用于表征交互行为对具有对应属性的所述文章的影响程度,所述交互向量是根据文章的交互信息进行编码形成的,所述属性向量是根据文章的属性信息进行编码形成的,所述交互信息为点击次数,所述属性信息为分类;

根据所述行为权重将所述文章特征数据和所述知识表征数据进行特征融合,得到所述历史文章以及所述目标文章各自的融合特征数据;

将所述用户的历史文章的融合特征数据和所述目标文章的融合特征数据输入至预先训练好的DIN模型中,输出所述用户对所述目标文章产生交互行为的行为预测值,其中,所述DIN模型基于向历史用户推荐文章时所述历史用户的历史文章的融合特征数据、已推荐文章的融合特征数据以及所述历史用户对所述已推荐文章的实际交互行为训练得到;

根据各所述目标文章对应的所述行为预测值,对各所述目标文章进行排序,根据排序结构向所述用户进行内容推荐;

其中,所述利用预设的知识图谱获取所述历史文章以及所述目标文章各自的知识表征数据,包括:在所述知识图谱中查找与所述文章的文本相匹配的多个实体,获取所述文本的实体集合;

获取所述实体集合中任意两个实体,若所述任意两个实体在所述知识图谱中存在相连的边,则根据所述实体集合以及所述任意两个实体之间的边,生成文本对应的文本表示图;

若所述任意两个实体在所述知识图谱中不存在相连的边,则在所述知识图谱中获取所述任意两个实体之间的最短实体路径,则根据所述实体集合以及所述最短实体路径中所包含的实体和边,更新所述文本对应的文本表示图;

根据所述实体在所述文本表示图中的实体连接结构,生成所述文章对应的实体向量集合;

将所述实体向量集合输入至预训练的第二神经网络中,对所述实体向量集合中的每个实体向量进行编码,生成所述实体向量对应的实体编码向量,将所述实体编码向量的集合作为所述文章的知识表征数据;

所述根据所述行为权重将所述文章特征数据和所述知识表征数据进行特征融合,得到所述历史文章以及所述目标文章各自的融合特征数据,包括:通过全连接层将所述知识表征数据映射到与对应的所述文章特征数据相同的维度,得到映射知识表征数据;

根据数值1与所述行为权重的差值计算所述文章的知识权重;

根据所述行为权重和所述知识权重计算所述文章特征数据和所述映射知识表征数据的加权平均值,将所述加权平均值作为所述文章的融合特征向量。

2.根据权利要求1所述的内容推荐方法,其特征在于,所述第二神经网络包括输入层、第一隐含层、第二隐含层和输出层,所述对所述实体向量集合中的每个实体向量进行编码,生成所述实体向量对应的实体编码向量,包括:获取所述实体向量对应的关系向量,根据所述实体向量、所述关系向量以及所述第一隐含层对应的参数矩阵,生成第一隐含编码向量矩阵;

将所述第一隐含编码向量矩阵输入至所述第二隐含层中,根据所述第一隐含编码向量矩阵以及所述第二隐含层对应的参数矩阵,生成第二隐含编码向量矩阵;

根据所述第二神经网络的激活函数分别确定所述第一隐含编码向量矩阵和所述第二隐含编码向量矩阵各自对应的影响权重;

根据所述影响权重、所述第一隐含编码向量矩阵和所述第二隐含编码向量矩阵,确定所述实体向量对应的实体编码向量。

3.根据权利要求1所述的内容推荐方法,其特征在于,所述第一神经网络包括第三隐含层、第四隐含层和输出层,其中,所述第三隐含层包括第一数量个节点,所述第四隐含层包括第二数量个节点;所述将每个所述文章的交互向量和属性向量输入至预先训练好的第一神经网络中,输出所述文章的行为权重,包括:将每个所述文章的所述交互向量和所述属性向量输入至所述第三隐含层,分别在所述第三隐含层的每一个节点,对所述交互向量和所述属性向量进行交叉特征提取,得到第一数量个不同的第一交叉特征;

将第一数量个不同的第一交叉特征输入至所述第四隐含层,分别在第四隐含层的每一个节点,对第一数量个不同的第一交叉特征进行交叉特征提取,得到第二数量个不同的第二交叉特征;

将第二数量个不同的第二交叉特征在所述输出层中经过Sigmoid函数进行非线性映射,输出所述行为权重。

4.根据权利要求1所述的内容推荐方法,其特征在于,所述DIN模型包括注意力网络、池化及聚合层、连接层、MLP层和sigmoid输出层;所述将所述用户的历史文章的融合特征数据和所述目标文章的融合特征数据输入至预先训练好的DIN模型中,输出所述用户对所述目标文章产生交互行为的行为预测值,包括:利用注意力网络根据每个所述历史文章的融合特征数据和所述目标文章的融合特征数据计算每个所述历史文章和所述目标文章的关系权重;

利用池化及聚合层对各所述历史文章的融合特征数据和对应所述关系权重进行池化操作,得到所述用户的历史行为特征数据;

利用连接层将所述用户的历史行为特征数据和所述目标文章的融合特征数据进行连接操作,得到联合特征数据;

利用MLP层对所述联合特征数据进行特征提取;

利用sigmoid输出层对所述MLP层的输出进行非线性映射,输出所述行为预测值。

5.根据权利要求1所述的内容推荐方法,其特征在于,所述根据各所述目标文章对应的所述行为预测值,对各所述目标文章进行排序,根据排序结构向所述用户进行内容推荐,包括:根据行为预测值从大到小的顺序,对各个目标文章进行排序;

对所述用户推荐所述行为预测值大于或等于第一预设阈值的目标文章。

6.一种内容推荐装置,其特征在于,包括:

第一特征提取模块,用于获取与用户产生交互的历史文章以及待推荐的目标文章各自的文章特征数据;

第二特征提取模块,用于利用预设的知识图谱获取所述历史文章以及所述目标文章各自的知识表征数据;

行为学习模块,用于获取所述历史文章以及所述目标文章各自的交互向量和属性向量,将每个所述文章的交互向量和属性向量输入至预先训练好的第一神经网络中,输出所述文章的行为权重,其中,所述行为权重用于表征交互行为对具有对应属性的所述文章的影响程度,所述交互向量是根据文章的交互信息进行编码形成的,所述属性向量是根据文章的属性信息进行编码形成的,所述交互信息为点击次数,所述属性信息为分类;

特征融合模块,用于根据所述行为权重将所述文章特征数据和所述知识表征数据进行特征融合,得到所述历史文章以及所述目标文章各自的融合特征数据;

预测模块,用于将所述用户的历史文章的融合特征向量和所述目标文章的融合特征向量输入至预先训练好的DIN模型中,输出所述用户对所述目标文章产生交互行为的行为预测值,其中,所述DIN模型基于向历史用户推荐文章时所述历史用户的历史文章的融合特征数据、已推荐文章的融合特征数据以及所述历史用户对所述已推荐文章的实际交互行为训练得到;

推荐模块,用于根据各所述目标文章对应的所述行为预测值,对各所述目标文章进行排序,根据排序结构向所述用户进行内容推荐;

其中,所述第二特征提取模块,还用于在所述知识图谱中查找与所述文章的文本相匹配的多个实体,获取所述文本的实体集合;获取所述实体集合中任意两个实体,若所述任意两个实体在所述知识图谱中存在相连的边,则根据所述实体集合以及所述任意两个实体之间的边,生成文本对应的文本表示图;若所述任意两个实体在所述知识图谱中不存在相连的边,则在所述知识图谱中获取所述任意两个实体之间的最短实体路径,则根据所述实体集合以及所述最短实体路径中所包含的实体和边,更新所述文本对应的文本表示图;根据所述实体在所述文本表示图中的实体连接结构,生成所述文章对应的实体向量集合;将所述实体向量集合输入至预训练的第二神经网络中,对所述实体向量集合中的每个实体向量进行编码,生成所述实体向量对应的实体编码向量,将所述实体编码向量的集合作为所述文章的知识表征数据;

所述特征融合模块,还用于通过全连接层将所述知识表征数据映射到与对应的所述文章特征数据相同的维度,得到映射知识表征数据;根据数值1与所述行为权重的差值计算所述文章的知识权重;根据所述行为权重和所述知识权重计算所述文章特征数据和所述映射知识表征数据的加权平均值,将所述加权平均值作为所述文章的融合特征向量。

7.一种电子设备,其特征在于,包括处理器、以及与所述处理器耦接的存储器,所述存储器存储有可被所述处理器执行的程序指令;所述处理器执行所述存储器存储的所述程序指令时实现如权利要求1~5中任一项所述的内容推荐方法。

8.一种存储介质,其特征在于,所述存储介质内存储有程序指令,所述程序指令被处理器执行时实现如权利要求1~5中任一项所述的内容推荐方法。

说明书 :

内容推荐方法、装置、电子设备及存储介质

【技术领域】

[0001] 本发明涉及内容推荐技术领域,尤其涉及一种内容推荐方法、装置、电子设备及存储介质。【背景技术】
[0002] 在内容推荐领域,如何利用知识图谱来提升推荐模型的效果已经变得越来越重要。目前的内容推荐模型要么只利用知识图谱的知识,忽略用户行为的贡献,比如DKN模型等;要么就要要把推荐模型和很大的外部知识图谱一起训练,训练过于复杂,在工业级的生产环境难以部署,比如RippleNet模型。
[0003] 现有技术中,在进行内容推荐时,基于推荐场景中的样本训练得到的文章特征数据与基于文章内容的知识表征得到的知识表征数据无法有效融合,导致推荐准确率不高。【发明内容】
[0004] 本发明的目的在于提供一种内容推荐方法、装置、电子设备及存储介质,以解决现有技术中内容推荐准确率不高的技术问题。
[0005] 本发明的技术方案如下:提供一种内容推荐方法,包括:
[0006] 获取与用户产生交互的历史文章以及待推荐的目标文章各自的文章特征数据;
[0007] 利用预设的知识图谱获取所述历史文章以及所述目标文章各自的知识表征特征数据;
[0008] 获取所述历史文章以及所述目标文章各自的交互向量和属性向量,将每个所述文章的交互向量和属性向量输入至预先训练好的第一神经网络中,输出所述文章的行为权重,其中,所述行为权重用于表征交互行为对具有对应属性的所述文章的影响程度;
[0009] 根据所述行为权重将所述文章特征数据和所述知识表征数据进行特征融合,得到所述历史文章以及所述目标文章各自的融合特征数据;
[0010] 将所述用户的历史文章的融合特征数据和所述目标文章的融合特征数据输入至预先训练好的DIN模型中,输出所述用户对所述目标文章产生交互行为的行为预测值,其中,所述DIN模型基于向历史用户推荐文章时所述历史用户的历史文章的融合特征数据、已推荐文章的融合特征数据以及所述历史用户对所述已推荐文章的实际交互行为训练得到;
[0011] 根据各所述目标文章对应的所述行为预测值,对各所述目标文章进行排序,根据排序结构向所述用户进行内容推荐。
[0012] 优选地,所述利用预设的知识图谱获取所述历史文章以及所述目标文章各自的知识表征特征数据,包括:
[0013] 在所述知识图谱中查找与所述文章的文本相匹配的多个实体,获取所述文本的实体集合;
[0014] 获取所述实体集合中任意两个实体,若所述任意两个实体在所述知识图谱中存在相连的边,则根据所述实体集合以及所述任意两个实体之间的边,生成文本对应的文本表示图;
[0015] 若所述任意两个实体在所述知识图谱中不存在相连的边,则在所述知识图谱中获取所述任意两个实体之间的最短实体路径,则根据所述实体集合以及所述最短实体路径中所包含的实体和边,更新所述文本对应的文本表示图;
[0016] 根据所述实体在所述文本表示图中的实体连接结构,生成所述文章对应的实体向量集合;
[0017] 将所述实体向量集合输入至预训练的第二神经网络中,对所述实体向量集合中的每个实体向量进行编码,生成所述实体向量对应的实体编码向量,将所述实体编码向量的集合作为所述文章的知识表征特征数据。
[0018] 优选地,所述第二神经网络包括输入层、第一隐含层、第二隐含层和输出层,所述对所述实体向量集合中的每个实体向量进行编码,生成所述实体向量对应的实体编码向量,包括:
[0019] 获取所述实体向量对应的关系向量,根据所述实体向量、所述关系向量以及所述第一隐含层对应的参数矩阵,生成第一隐含编码向量矩阵;
[0020] 将所述第一隐含编码向量矩阵输入至所述第二隐含层中,根据所述第一隐含编码向量矩阵以及所述第二隐含层对应的参数矩阵,生成第二隐含编码向量矩阵;
[0021] 根据所述第二神经网络的激活函数分别确定所述第一隐含编码向量矩阵和所述第二隐含编码向量矩阵各自对应的影响权重;
[0022] 根据所述影响权重、所述第一隐含编码向量矩阵和所述第二隐含编码向量矩阵,确定所述实体向量对应的实体编码向量。
[0023] 优选地,所述第一神经网络包括第三隐含层、第四隐含层和输出层,其中,所述第三隐含层包括第一数量个节点,所述第四隐含层包括第二数量个节点;所述将每个所述文章的交互向量和属性向量输入至预先训练好的第一神经网络中,输出所述文章的行为权重,包括:
[0024] 将每个所述文章的所述交互向量和所述属性向量输入至所述第三隐含层,分别在所述第三隐含层的每一个节点,对所述交互向量和所述属性向量进行交叉特征提取,得到第一数量个不同的第一交叉特征;
[0025] 将第一数量个不同的第一交叉特征输入至所述第四隐含层,分别在第四隐含层的每一个节点,对第一数量个不同的第一交叉特征进行交叉特征提取,得到第二数量个不同的第二交叉特征;
[0026] 将第二数量个不同的第二交叉特征在所述输出层中经过Sigmoid函数进行非线性映射,输出所述行为权重。
[0027] 优选地,所述根据所述行为权重将所述文章特征数据和所述知识表征数据进行特征融合,得到所述历史文章以及所述目标文章各自的融合特征数据,包括:
[0028] 通过全连接层将所述知识表征数据映射到与对应的所述文章特征数据相同的维度,得到映射知识表征数据;
[0029] 根据数值1与所述行为权重的差值计算所述文章的知识权重;
[0030] 根据所述行为权重和所述知识权重计算所述文章特征数据和所述映射知识表征数据的加权平均值,将所述加权平均值作为所述文章的融合特征向量。
[0031] 优选地,所述DIN模型包括注意力网络、池化及聚合层、连接层、MLP层和sigmoid输出层;所述将所述用户的历史文章的融合特征数据和所述目标文章的融合特征数据输入至预先训练好的DIN模型中,输出所述用户对所述目标文章产生交互行为的行为预测值,包括:
[0032] 利用注意力网络根据每个所述历史文章的融合特征数据和所述目标文章的融合特征数据计算每个所述历史文章和所述目标文章的关系权重;
[0033] 利用池化及聚合层对各所述历史文章的融合特征数据和对应所述关系权重进行池化操作,得到所述用户的历史行为特征数据;
[0034] 利用连接层将所述用户的历史行为特征数据和所述目标文章的融合特征数据进行连接操作,得到联合特征数据;
[0035] 利用MLP层对所述联合特征数据进行特征提取;
[0036] 利用sigmoid输出层对所述MLP层的输出进行非线性映射,输出所述行为预测值。
[0037] 优选地,所述根据各所述目标文章对应的所述行为预测值,对各所述目标文章进行排序,根据排序结构向所述用户进行内容推荐,包括:
[0038] 根据行为预测值从大到小的顺序,对各个目标文章进行排序;
[0039] 对所述用户推荐所述行为预测值大于或等于第一预设阈值的目标文章。
[0040] 本发明的另一技术方案如下:提供一种内容推荐装置,包括:
[0041] 第一特征提取模块,用于获取与用户产生交互的历史文章以及待推荐的目标文章各自的文章特征数据;
[0042] 第二特征提取模块,用于利用预设的知识图谱获取所述历史文章以及所述目标文章各自的知识表征特征数据;
[0043] 行为学习模块,用于获取所述历史文章以及所述目标文章各自的交互向量和属性向量,将每个所述文章的交互向量和属性向量输入至预先训练好的第一神经网络中,输出所述文章的行为权重,其中,所述行为权重用于表征交互行为对具有对应属性的所述文章的影响程度;
[0044] 特征融合模块,用于根据所述行为权重将所述文章特征数据和所述知识表征数据进行特征融合,得到所述历史文章以及所述目标文章各自的融合特征数据;
[0045] 预测模块,用于将所述用户的历史文章的融合特征向量和所述目标文章的融合特征向量输入至预先训练好的DIN模型中,输出所述用户对所述目标文章产生交互行为的行为预测值,其中,所述DIN模型基于向历史用户推荐文章时所述历史用户的历史文章的融合特征数据、已推荐文章的融合特征数据以及所述历史用户对所述已推荐文章的实际交互行为训练得到;
[0046] 推荐模块,用于根据各所述目标文章对应的所述行为预测值,对各所述目标文章进行排序,根据排序结构向所述用户进行内容推荐。
[0047] 本发明的另一技术方案如下:提供一种电子设备,包括处理器、以及与所述处理器耦接的存储器,所述存储器存储有可被所述处理器执行的程序指令;所述处理器执行所述存储器存储的所述程序指令时实现上述的内容推荐方法。
[0048] 本发明的另一技术方案如下:提供一种存储介质,所述存储介质内存储有程序指令,所述程序指令被处理器执行时实现上述的内容推荐方法。
[0049] 本发明的有益效果在于:本发明的内容推荐方法、装置、电子设备及存储介质,对用户历史交互的历史文章和待推荐的目标文章分别提取了文章特征数据和知识表征数据,并通过第一神经网络输出每篇文章的文章特征数据和知识表征数据的融合权重,根据融合权重将文章特征数据和知识表征数据进行融合得到每篇文章的融合特征数据,将用户的所有历史文章的融合特征数据和目标文章的融合特征数据输入至DIN模型中,得到推荐结果;由于引入了知识表征数据,丰富了文章的特征表征,同时,引用了学习交互行为和属性之间的关系的第一神经网络,自适应调节自适应调节每篇文章的文章特征数据和知识表征数据的融合权重,使得上述两个特征能够更好的融合,有利于提高内容推荐的准确率。
【附图说明】
[0050] 图1为本发明第一实施例的内容推荐方法的流程图;
[0051] 图2为本发明第一实施例的内容推荐方法的网络流程图;
[0052] 图3为本发明第一实施例的内容推荐方法中S102的子步骤流程图;
[0053] 图4为本发明第一实施例的内容推荐方法中S205的子步骤流程图;
[0054] 图5为本发明第二实施例的内容推荐方法的流程图;
[0055] 图6为本发明第三实施例的内容推荐装置的结构示意图;
[0056] 图7为本发明第四实施例的电子设备的结构示意图;
[0057] 图8为本发明第五实施例的存储介质的结构示意图。【具体实施方式】
[0058] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0059] 本发明中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0060] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0061] 图1是本发明第一实施例的内容推荐方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。
[0062] 如图1所示,该内容推荐方法包括步骤:
[0063] S101,获取与用户产生交互的历史文章以及待推荐的目标文章各自的文章特征数据。
[0064] 其中,根据用户的交互行为数据获取所述用户的历史文章列表,并确定待推荐文章列表,其中,每个用户的历史文章列表包括与所述用户产生交互的历史文章,例如,可以是用户点击过的历史文章;待推荐文章列表包括待推荐的目标文章。在本步骤中,提取每个历史文章及每个目标文章的文章特征数据,文章特征数据用于表征不同文章对应的特征信息,以对不同的文章进行区分,示例性地,文章对应的特征信息可以包括文章内容、文章分类、文章长度、不同类型的交互次数以及不同类型的标签,不同类型的交互可以包括点击、喜欢、分享、收藏、屏蔽,不同类型的标签为在推荐过程中由用户反馈添加的标签或者在推荐场景中产生的标签。在一个可选的实施方式中,请参阅图2所示,提取文章特征数据的过程即为利用一个Embedding层将历史文章或目标文章映射成一个Embedding表示的过程,在文章特征数据生成过程中,首先,对每一个特征信息进行离散化处理得到对应的离散特征;然后,将所述离散特征输入至Embedding层,对所述离散特征进行处理,输出每一个特征信息对应的低维稠密特征;文章特征数据为特征信息对应的低维稠密特征的集合。
[0065] 具体地,离散特征为高维的二值化特征向量,Embedding层将其转换到低维的稠密特征向量表示。例如,离散化处理可以是one‑hot编码,所述one‑hot编码转换为对每一所述文章的特征信息中的每一项内容分配一个整数值,即对每一文章的特征信息进行编码,然后将该整数值转换成二值数组向量,将文章的所有特征信息进行one‑hot转换、再将one‑hot转换所得进行Embedding表示,得到所述文章特征数据。
[0066] S102,利用预设的知识图谱获取所述历史文章以及所述目标文章各自的知识表征特征数据。
[0067] 其中,历史文章的知识表征数据和目标文章的知识表征数据获取方式相同。
[0068] 其中,知识图谱,某些场景下也被称为知识库,是一种将现实世界中人类的知识结构化之后形成的知识系统。在知识图谱中,大量的知识,诸如开放数据库和百科全书中的信息,通常以关系数据集合的形式被表达出来。而在关系数据集合中,基本事实被抽象为实体,而规则、逻辑、推理等关联性的信息则被抽象为实体间的关系。若将实体对应于点,关系对应于边,则这些知识可以进一步以图的形式呈现。具体地,知识图谱的一种表示方法为三元组表示方法,即(h,r,t),其中h和t分别为头实体和尾实体,r用来描述h和t之间的关系。
[0069] 在本步骤中,根据知识图谱抽取文章(历史文章或目标文章)的文本中的特征词,所述特征词包括实体特征词和关系特征词中的至少一种,再将提取的特征词进行向量化表示,请参阅图2所示,本步骤的知识表征特征数据是由pre‑training Embedding层处理得到的。在一个可选的实施方式中,利用预设的知识图谱获取文章的知识表征特征数据,历史文章和目标文章的知识表征过程相同,具体包括如下步骤:
[0070] S201,在所述知识图谱中查找与所述文章的文本相匹配的多个实体,获取所述文本的实体集合;
[0071] 其中,针对历史文章或目标文章,对所述文章的文本进行分词处理,得到所述文本对应的分词序列;计算所述分词序列中每个分词与所述知识图谱中的不同实体之间的相似度,将相似度大于预设阈值且相似度最大的所述实体作为与所述分词匹配的实体,获取所述实体集合。
[0072] S202,获取所述实体集合中任意两个实体,若所述任意两个实体在所述知识图谱中存在相连的边,则根据所述实体集合以及所述任意两个实体之间的边,生成文本对应的文本表示图;
[0073] S203,若所述任意两个实体在所述知识图谱中不存在相连的边,则在所述知识图谱中获取所述任意两个实体之间的最短实体路径,则根据所述实体集合以及所述最短实体路径中所包含的实体和边,更新所述文本对应的文本表示图;
[0074] 其中,首先,对于直接相连的两个实体,根据知识图谱中两个实体以及之间的边确定初始的文本表示图;然后,对于无法直接连接的两个实体,基于最短路径算法获取两个实体之间的最短实体路径,将所述最短实体路径添加至所述文本表示图中,对初始的文本表示图进行更新。
[0075] 其中,在所述文本对应的文本表示图中,不仅仅包括实体集合中的实体,还进一步包括最短实体路径中的实体。
[0076] S204,根据所述实体在所述文本表示图中的实体连接结构,生成所述文章对应的实体向量集合;
[0077] 其中,对于实体连接机构中相互连接的两个实体以及两个实体之间的关系,根据所述知识图谱分别获取头实体、尾实体和关系对应的向量,得到所述文章对应的实体向量集合。
[0078] S205,将所述实体向量集合输入至预训练的第二神经网络中,对所述实体向量集合中的每个实体向量进行编码,生成所述实体向量对应的实体编码向量,将所述实体编码向量的集合作为所述文章的知识表征特征数据;
[0079] 其中,所述第二神经网络包括输入层、第一隐含层、第二隐含层和输出层,步骤S205进一步包括如下步骤:
[0080] S301,获取所述实体向量对应的关系向量,根据所述实体向量、所述关系向量以及所述第一隐含层对应的参数矩阵,生成第一隐含编码向量矩阵;
[0081] S302,将所述第一隐含编码向量矩阵输入至所述第二隐含层中,根据所述第一隐含编码向量矩阵以及所述第二隐含层对应的参数矩阵,生成第二隐含编码向量矩阵;
[0082] S303,根据所述第二神经网络的激活函数分别确定所述第一隐含编码向量矩阵和所述第二隐含编码向量矩阵各自对应的影响权重;
[0083] S304,根据所述影响权重、所述第一隐含编码向量矩阵和所述第二隐含编码向量矩阵,确定所述实体向量对应的实体编码向量。
[0084] 其中,第二神经网络为预训练的模型,无需与推荐模型一起进行训练,降低训练的复杂程度,第二神经网络可以为图卷积神经网络。
[0085] 本领域技术人员应当理解,利用知识图谱对文章进行知识表征的方式还可以采用现有技术中的其他方式。
[0086] S103,获取所述历史文章以及所述目标文章各自的交互向量和属性向量,将每个所述文章的交互向量和属性向量输入至预先训练好的第一神经网络中,输出所述文章的行为权重,其中,所述行为权重用于表征交互行为对具有对应属性的所述文章的影响程度。
[0087] 其中,历史文章的行为权重和目标文章的行为权重获取方式相同。
[0088] 在步骤S103中,交互向量是根据文章的交互信息进行编码形成的,属性向量是根据文章的属性信息进行编码形成的,具体参见步骤S101的描述,在一个可选的实施方式中,交互信息为点击次数,属性信息为分类,具体地,行为权重为所述文章特征数据在所述融合特征数据中所占比例,1与行为权重的差值为所述知识表征数据在所述融合特征数据中所占比例。所述文章特征数据是通过在推荐场景中的样本训练得到的,由于推荐的长尾效应,会导致不少文章得不到充分曝光,单纯依赖推荐场景的训练样本得到的文章特征数据进行推荐会导致准确率降低,同时,由于文章本身的属性对于交互行为影响较大,财经、娱乐、教育均为热门属性,古生物学、天文学、悬疑推理均为冷门属性,热门属性的交互行为次数一般高于冷门属性的交互行为次数,下面以点击次数和分类为例进行解释,一般情况下,在推荐场景中,分类为财经的文章的点击次数明显高于分类为古生物学的文章的点击次数,于是,在训练过程中,第一神经网络对交互行为(点击次数)和属性(分类)之间的关系进行学习,对于同样的类别,点击次数越多,文章的行为权重越大,经过学习的第一神经网络输出的点击次数为5000的娱乐类文章的行为权重远远高于点击次数为50的娱乐类文章的行为权重;对于不同的类别,越冷门的类别,点击次数对行为权重的影响越小,例如,经过学习的第一神经网络输出的点击次数为5的古生物学文章的行为权重和点击次数为5000的娱乐类文章的行为权重可能是接近的。
[0089] 其中,第一神经网络为带注意力机制的神经网络,通过第一神经网络传播表征信息,以得到全局节点表征。在一个可选的实施方式中,第一神经网络包括两个隐含层和一个输出层,分别为第三隐含层、第四隐含层和输出层,其中,第三隐含层的节点数为y1、第四隐含层的节点数为y2,输出层的激活函数为Sigmoid函数,第三隐含层用于刻画所述交互向量和所述属性向量的特征组合,具体地,h0=[e1,e2]输入至第一神经网络,其中ei是第i个filed的embedding,e1为交互向量(例如为点击次数向量),e2为属性向量(例如为类别向量),在第三隐含层的每一个节点,对交互向量和属性向量进行交叉特征提取,得到y1个不同的第一交叉特征,h1+1=σ(w1h1+b1),其中,σ为激活函数,h1,w1,b1分别为第三隐含层的输出,权重和偏置;再将y1个不同的第一交叉特征输入至第四隐含层,分别在第四隐含层的每一个节点,对y1个不同的第一交叉特征进行交叉特征提取,得到y2个不同的第二交叉特征,h2+1=σ(w2h2+b2),其中,σ为激活函数,h2,w2,b2分别为第四隐含层的输出,权重和偏置;y2个不同的第二交叉特征在输出层中经过Sigmoid函数进行非线性映射,输出的行为权重为0~1之间的值。
[0090] 请参阅图2所示,第一神经网络即为图2中的Fusion gate,所有的历史文章和目标文章共享一个Fusion gate结构,保证文章在有充分行为时,选择推荐场景样本学习的文章特征数据的权重(即为行为权重)更大,在文章行为不足时,选择外部知识图谱的知识表征数据的权重(步骤S104中所述知识权重)更大。
[0091] S104,根据所述行为权重将所述文章特征数据和所述知识表征数据进行特征融合,得到所述历史文章以及所述目标文章各自的融合特征数据。
[0092] 其中,首先,通过全连接层将所述知识表征数据映射到与对应的所述文章特征数据相同的维度,得到映射知识表征数据;然后,根据数值1与所述行为权重的差值计算所述文章的知识权重;然后,根据所述行为权重和所述知识权重计算所述文章特征数据和所述映射知识表征数据的加权平均值,将所述加权平均值作为所述文章的融合特征向量;其中,e=ne*f+de*(1‑f),其中,e为融合特征向量,ne为文章特征数据,de为映射知识表征数据,f为行为权重,1‑f为知识权重。
[0093] S105,将所述用户的历史文章的融合特征数据和所述目标文章的融合特征数据输入至预先训练好的DIN模型中,输出所述用户对所述目标文章产生交互行为的行为预测值。
[0094] 其中,所述DIN模型基于向历史用户推荐文章时所述历史用户的历史文章的融合特征数据、已推荐文章的融合特征数据以及所述历史用户对所述已推荐文章的实际交互行为训练得到。
[0095] 其中,请参阅图2所示,DIN模型包括注意力网络(Attention Net)、池化及聚合层(SUM Pooling)、连接层(Concat)、MLP层和sigmoid输出层,其中,MLP层包括第一MLP层和第二MLP层。注意力网络学习用户的历史文章的融合特征数据和目标文章的融合特征数据之间的关系,表达公式如下:
[0096]
[0097] 其中,[e1,e2,...,eH]表示用户的各历史文章的融合特征数据,vA代表目标文章A的融合特征数据,vU(A)表示用户U对目标文章A的感兴趣程度,vU(A)随着A的变化而不同,a()代表一个前向神经网络,a()的输出为不同历史文章的激活权重,wj代表ej的关系权重。由于注意力网络的输入包括所述用户的历史文章的融合特征向量和所述目标文章的融合特征向量,将历史文章的融合特征向量和目标文章的融合特征向量二者以及二者之间的外积进行连接,再通过激活函数和线性层得到历史文章ej与目标文章vA在embedding空间的关系权重,计算出每个历史文章ej的关系权重wj后,通过池化及聚合层执行带权重的pooling操作,得到vU(A)。再利用连接层将用户U对目标文章A的感兴趣程度vU(A)与目标文章vA进行concat操作,再经过第一MLP层和第二MLP层学习这些向量之间的高阶非线性关系,最后经过sigmoid输出层输出行为预测值,行为预测值越大,表示用户与目标文章产生交互行为的可能性越大。
[0098] 在所述DIN模型进行训练时,使用负对数似然函数logloss作为损失函数进行训练:
[0099]
[0100] 其中,S指整个训练样本,样本条数为N。y∈{0,1}是样本中的标签,其中y=1表示用户点击了该样本,y=0表示用户未点击该样本。P(x)为模型的输出。
[0101] S106,根据各所述目标文章对应的所述行为预测值,对各所述目标文章进行排序,根据排序结构向所述用户进行内容推荐。
[0102] 其中,根据行为预测值从大到小的顺序,对各个目标文章进行排序;按照预设的内容推荐规则,基于上述排序结果向用户进行内容推荐。例如,预设的内容推荐规则可以是推荐排序前第一数量位的目标文章,或者,推荐行为预测值大于或等于第一预设阈值的目标文章。
[0103] 图3是本发明第二实施例的内容推荐方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图3所示的流程顺序为限。
[0104] 如图3所示,该内容推荐方法包括步骤:
[0105] S401,获取与用户产生交互的历史文章以及待推荐的目标文章各自的文章特征数据。
[0106] S402,利用预设的知识图谱获取所述历史文章以及所述目标文章各自的知识表征特征数据。
[0107] S403,获取所述历史文章以及所述目标文章各自的交互向量和属性向量,将每个所述文章的交互向量和属性向量输入至预先训练好的第一神经网络中,输出所述文章的行为权重,其中,所述行为权重用于表征交互行为对具有对应属性的所述文章的影响程度。
[0108] S404,根据所述行为权重将所述文章特征数据和所述知识表征数据进行特征融合,得到所述历史文章以及所述目标文章各自的融合特征数据。
[0109] S405,将所述用户的历史文章的融合特征数据和所述目标文章的融合特征数据输入至预先训练好的DIN模型中,输出所述用户对所述目标文章产生交互行为的行为预测值,其中,所述DIN模型基于向历史用户推荐文章时所述历史用户的历史文章的融合特征数据、已推荐文章的融合特征数据以及所述历史用户对所述已推荐文章的实际交互行为训练得到。
[0110] S406,根据各所述目标文章对应的所述行为预测值,对各所述目标文章进行排序,根据排序结构向所述用户进行内容推荐。
[0111] 步骤S401至步骤S406具体参见第一实施例的步骤S101至步骤S106,在此不进行一一赘述。
[0112] S407,根据所述文章特征数据、所述知识特征数据以及所述融合特征数据建立所述文章的特征集合,将所述特征集合上传至区块链中,以使得所述区块链对特征集合进行加密存储。
[0113] 具体地,基于历史文章或目标文章的特征集合得到对应的摘要信息,具体来说,摘要信息为文章的特征集合进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证文章的特征集合是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0114] 图6是本发明第三实施例的内容推荐装置的结构示意图。如图4所示,该内容推荐装置30包括第一特征提取模块31、第二特征提取模块32、行为学习模块33、特征融合模块34、预测模块35和推荐模块36,其中,第一特征提取模块31,用于获取与用户产生交互的历史文章以及待推荐的目标文章各自的文章特征数据;第二特征提取模块32,用于利用预设的知识图谱获取所述历史文章以及所述目标文章各自的知识表征特征数据;行为学习模块
33,用于获取所述历史文章以及所述目标文章各自的交互向量和属性向量,将每个所述文章的交互向量和属性向量输入至预先训练好的第一神经网络中,输出所述文章的行为权重,其中,所述行为权重用于表征交互行为对具有对应属性的所述文章的影响程度;特征融合模块34,用于根据所述行为权重将所述文章特征数据和所述知识表征数据进行特征融合,得到所述历史文章以及所述目标文章各自的融合特征数据;预测模块35,用于将所述用户的历史文章的融合特征向量和所述目标文章的融合特征向量输入至预先训练好的DIN模型中,输出所述用户对所述目标文章产生交互行为的行为预测值,其中,所述DIN模型基于向历史用户推荐文章时所述历史用户的历史文章的融合特征数据、已推荐文章的融合特征数据以及所述历史用户对所述已推荐文章的实际交互行为训练得到;推荐模块36,用于根据各所述目标文章对应的所述行为预测值,对各所述目标文章进行排序,根据排序结构向所述用户进行内容推荐。
[0115] 进一步地,所述第二特征提取模块32还用于在所述知识图谱中查找与所述文章的文本相匹配的多个实体,获取所述文本的实体集合;获取所述实体集合中任意两个实体,若所述任意两个实体在所述知识图谱中存在相连的边,则根据所述实体集合以及所述任意两个实体之间的边,生成文本对应的文本表示图;若所述任意两个实体在所述知识图谱中不存在相连的边,则在所述知识图谱中获取所述任意两个实体之间的最短实体路径,则根据所述实体集合以及所述最短实体路径中所包含的实体和边,更新所述文本对应的文本表示图;根据所述实体在所述文本表示图中的实体连接结构,生成所述文章对应的实体向量集合;将所述实体向量集合输入至预训练的第二神经网络中,对所述实体向量集合中的每个实体向量进行编码,生成所述实体向量对应的实体编码向量,将所述实体编码向量的集合作为所述文章的知识表征特征数据。
[0116] 更进一步地,所述第二特征提取模块32还用于获取所述实体向量对应的关系向量,根据所述实体向量、所述关系向量以及所述第一隐含层对应的参数矩阵,生成第一隐含编码向量矩阵;将所述第一隐含编码向量矩阵输入至所述第二隐含层中,根据所述第一隐含编码向量矩阵以及所述第二隐含层对应的参数矩阵,生成第二隐含编码向量矩阵;根据所述第二神经网络的激活函数分别确定所述第一隐含编码向量矩阵和所述第二隐含编码向量矩阵各自对应的影响权重;根据所述影响权重、所述第一隐含编码向量矩阵和所述第二隐含编码向量矩阵,确定所述实体向量对应的实体编码向量。
[0117] 进一步地,所述第一神经网络包括第三隐含层、第四隐含层和输出层,其中,所述第三隐含层包括第一数量个节点,所述第四隐含层包括第二数量个节点;所述行为学习模块33还用于将每个所述文章的所述交互向量和所述属性向量输入至所述第三隐含层,分别在所述第三隐含层的每一个节点,对所述交互向量和所述属性向量进行交叉特征提取,得到第一数量个不同的第一交叉特征;将第一数量个不同的第一交叉特征输入至所述第四隐含层,分别在第四隐含层的每一个节点,对第一数量个不同的第一交叉特征进行交叉特征提取,得到第二数量个不同的第二交叉特征;将第二数量个不同的第二交叉特征在所述输出层中经过Sigmoid函数进行非线性映射,输出所述行为权重。
[0118] 进一步地,所述特征融合模块34还用于通过全连接层将所述知识表征数据映射到与对应的所述文章特征数据相同的维度,得到映射知识表征数据;根据数值1与所述行为权重的差值计算所述文章的知识权重;根据所述行为权重和所述知识权重计算所述文章特征数据和所述映射知识表征数据的加权平均值,将所述加权平均值作为所述文章的融合特征向量。
[0119] 进一步地,所述预测模块35还用于利用注意力网络根据每个所述历史文章的融合特征数据和所述目标文章的融合特征数据计算每个所述历史文章和所述目标文章的关系权重;利用池化及聚合层对各所述历史文章的融合特征数据和对应所述关系权重进行池化操作,得到所述用户的历史行为特征数据;利用连接层将所述用户的历史行为特征数据和所述目标文章的融合特征数据进行连接操作,得到联合特征数据;利用MLP层对所述联合特征数据进行特征提取;利用sigmoid输出层对所述MLP层的输出进行非线性映射,输出所述行为预测值。
[0120] 进一步地,所述推荐模块36还用于根据行为预测值从大到小的顺序,对各个目标文章进行排序;对所述用户推荐所述行为预测值大于或等于第一预设阈值的目标文章。
[0121] 图5是本发明第四实施例的电子设备的结构示意图。如图5所示,该电子设备40包括处理器41及和处理器41耦接的存储器42。
[0122] 存储器42存储有用于实现上述任一实施例的所述内容推荐方法的程序指令。
[0123] 处理器41用于执行存储器42存储的程序指令以进行内容推荐。
[0124] 其中,处理器41还可以称为CPU(Central Processing Unit,中央处理单元)。处理器41可能是一种集成电路芯片,具有信号的处理能力。处理器41还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0125] 参阅图6,图6为本发明第五实施例的存储介质的结构示意图。本发明实施例的存储介质存储有能够实现上述所有方法的程序指令51,所述存储介质可以是非易失性,也可以是易失性。其中,该程序指令51可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
[0126] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0127] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围。
[0128] 以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。