推荐内容的选择方法、装置、设备、存储介质及程序产品与流程

文档序号:34232338发布日期:2023-05-24 15:42阅读:84来源:国知局
推荐内容的选择方法、装置、设备、存储介质及程序产品与流程

本技术实施例涉及人工智能和互联网,特别涉及一种推荐内容的选择方法、装置、设备、存储介质及程序产品。


背景技术:

1、随着人工智能技术的发展,推荐系统可以从海量信息中挑选出用户感兴趣的内容,并将之推荐给用户,以满足用户需求。

2、以视频推荐场景为例,相关技术通过矩阵分解的方式将用户和视频对应的唯一标识码映射到某一空间中,得到用户对应的词嵌入向量和视频对应的词嵌入向量,再通过用户对应的词嵌入向量和视频对应的词嵌入向量之间的内积,来预测用户和视频之间的交互可能性,进而将交互可能性高的视频推荐给用户。

3、然而,相关技术中所推荐的视频之间的相似程度高,视频推荐的多样性差。


技术实现思路

1、本技术实施例提供了一种推荐内容的选择方法、装置、设备、存储介质及程序产品,能够使得推荐内容在与用户之间具有相关性的同时,提高推荐内容的多样性。所述技术方案如下:

2、根据本技术实施例的一个方面,提供了一种推荐内容的选择方法,所述方法包括:

3、获取输入结构图,所述输入结构图中包括多个用户节点和多个内容节点,所述输入结构图用于表征所述用户节点和所述内容节点之间的关联;

4、根据所述输入结构图,生成所述输入结构图中的各个节点分别对应的融合向量;其中,对于所述各个节点中的目标节点,所述目标节点对应的融合向量整合有所述目标节点的特征信息和与所述目标节点相关联的节点的特征信息;

5、对于所述多个用户节点中的目标用户节点,基于所述目标用户节点对应的融合向量和所述多个内容节点分别对应的融合向量,确定所述目标用户节点分别与所述多个内容节点之间的交互预测值,所述交互预测值用于表征所述目标用户节点与所述内容节点之间的交互可能性;

6、根据所述目标用户节点分别与所述多个内容节点之间的交互预测值,以及推荐内容节点集的多样性指标,从所述多个内容节点中选择推荐内容节点;其中,所述推荐内容节点对应的内容是用于提供给所述目标用户节点对应的目标用户的推荐内容,所述推荐内容节点集包括所述推荐内容节点。

7、根据本技术实施例的一个方面,提供了一种交互预测模型的训练方法,所述方法包括:

8、获取交互预测模型的训练数据;其中,所述训练数据包括多组历史交互信息,所述历史交互信息用于描述用户与内容之间的交互历史;

9、基于所述多组历史交互信息,构建第一训练结构图和第二训练结构图;其中,所述第一训练结构图包括多个用户节点和多个内容节点,所述第一训练结构图用于表征所述用户节点和所述内容节点之间的关联,所述第二训练结构图包括多个内容节点,所述第二训练结构图用于表征所述内容节点之间的关联;

10、通过所述交互预测模型,获取所述第一训练结构图中的各个节点分别对应的融合向量,以及所述第二训练结构图中的各个节点分别对应的融合向量;其中,对于目标节点,所述目标节点的融合向量整合有所述目标节点的特征信息和与所述目标节点相关联的节点的特征信息;

11、基于所述第一训练结构图中的各个节点分别对应的融合向量和所述第二训练结构图中的各个节点分别对应的融合向量,确定所述交互预测模型的训练损失;

12、基于所述训练损失对所述交互预测模型进行训练,得到训练完成的交互预测模型。

13、根据本技术实施例的一个方面,提供了一种推荐内容的选择装置,所述装置包括:

14、结构图获取模块,用于获取输入结构图,所述输入结构图中包括多个用户节点和多个内容节点,所述输入结构图用于表征所述用户节点和所述内容节点之间的关联;

15、融合向量生成模块,用于根据所述输入结构图,生成所述输入结构图中的各个节点分别对应的融合向量;其中,对于所述各个节点中的目标节点,所述目标节点对应的融合向量整合有所述目标节点的特征信息和与所述目标节点相关联的节点的特征信息;

16、预测值获取模块,用于对于所述多个用户节点中的目标用户节点,基于所述目标用户节点对应的融合向量和所述多个内容节点分别对应的融合向量,确定所述目标用户节点分别与所述多个内容节点之间的交互预测值,所述交互预测值用于表征所述目标用户节点与所述内容节点之间的交互可能性;

17、推荐内容选择模块,用于根据所述目标用户节点分别与所述多个内容节点之间的交互预测值,以及推荐内容节点集的多样性指标,从所述多个内容节点中选择推荐内容节点;其中,所述推荐内容节点对应的内容是用于提供给所述目标用户节点对应的目标用户的推荐内容,所述推荐内容节点集包括所述推荐内容节点。

18、在一个示例性实施例中,所述推荐内容选择模块,包括:

19、候选集获取子模块,用于根据所述交互预测值,从所述多个内容节点中选择出第一数量的候选内容节点,得到所述目标用户节点对应的候选内容节点集;

20、推荐内容选择子模块,用于根据所述推荐内容节点集的多样性指标,有排除地从所述候选内容节点集中选择出第二数量的候选内容节点,作为所述推荐内容节点;其中,所述第二数量小于所述第一数量。

21、在一个示例性实施例中,所述推荐内容选择子模块,用于:

22、对于所述候选内容节点集中的第j个候选内容节点,若加入所述第j个候选内容节点后的推荐内容节点集的多样性指标下降程度,小于加入所述候选内容节点集中其他候选内容节点后的推荐内容节点集的多样性指标下降程度,则将所述第j个候选内容节点作为所述推荐内容节点,所述j为正整数;

23、将所述第j个候选内容节点添加进所述推荐内容节点集;

24、将所述第j个候选内容节点从所述候选内容节点集中剔除,得到调整后的候选内容节点集;

25、在所述推荐内容节点集中的推荐内容节点的数量小于所述第二数量的情况下,继续从所述调整后的候选内容节点集中选择所述推荐内容节点;

26、在所述推荐内容节点集中的推荐内容节点的数量等于所述第二数量的情况下,停止选择所述推荐内容节点。

27、在一个示例性实施例中,所述候选集获取子模块,用于:

28、按照所述交互预测值从大到小的顺序,对所述多个内容节点进行排序,得到内容节点序列;

29、从所述内容节点序列中选择出前第一数量的内容节点,得到所述候选内容节点集。

30、在一个示例性实施例中,所述融合向量生成模块,包括:

31、初始向量生成子模块,用于获取所述输入结构图中的各个节点分别对应的词嵌入向量;

32、聚合向量生成子模块,用于对于所述各个节点中的目标节点,根据所述输入结构图对所述目标节点对应的词嵌入向量进行特征聚合,得到所述目标节点对应的聚合向量;其中,所述目标节点对应的聚合向量用于聚合所述目标节点的特征信息和所述目标节点的直连节点的特征信息;

33、堆叠向量生成子模块,用于根据所述输入结构图对所述目标节点对应的聚合向量进行特征堆叠,得到所述目标节点对应的堆叠向量;其中,所述目标节点对应的堆叠向量用于堆叠所述目标节点的特征信息和与所述目标节点相关联的节点的特征信息;

34、融合向量生成子模块,用于根据所述目标节点对应的词嵌入向量、聚合向量和堆叠向量,生成所述目标节点对应的融合向量。

35、在一个示例性实施例中,所述聚合向量生成子模块,用于:

36、根据所述输入结构图,确定所述目标节点对应的直连节点集;

37、对于所述直连节点集中的目标直连节点,对所述目标节点对应的词嵌入向量和所述直连节点对应的词嵌入向量进行元素相乘,得到第一中间向量;

38、对所述第一中间向量和所述直连节点对应的词嵌入向量进行加权求和,得到所述目标直连节点对应的第二中间向量;

39、对所述直连节点集中的各个直连节点分别对应的第二中间向量进行求和,得到第三中间向量;

40、对所述目标节点对应的词嵌入向量和所述第三中间向量进行特征聚合,得到所述目标节点对应的聚合向量。

41、在一个示例性实施例中,所述堆叠向量包括m阶堆叠向量,m为大于1的正整数;所述融合向量生成子模块,用于:

42、根据所述输入结构图,确定所述目标节点对应的直连节点集;

43、对于所述m阶堆叠向量中的第p阶堆叠向量,在p等于2的情况下,对所述目标节点对应的聚合向量和所述直连节点集中的各个直连节点分别对应的聚合向量进行特征堆叠,得到所述目标节点对应的第2阶堆叠向量;其中,p为小于或等于m的正整数;

44、在p大于2的情况下,对所述目标节点对应的第p-1阶堆叠向量和所述各个直连节点分别对应的第p-1阶堆叠向量进行特征堆叠,得到所述目标节点对应的第p阶堆叠向量。

45、在一个示例性实施例中,所述预测值获取模块,用于:

46、计算所述目标用户节点对应的融合向量和所述目标内容节点对应的融合向量之间的内积;

47、根据所述内积确定所述目标用户节点和所述目标内容节点之间的交互预测值。

48、根据本技术实施例的一个方面,提供了一种交互预测模型的训练装置,所述装置包括:

49、训练数据获取模块,用于获取交互预测模型的训练数据;其中,所述训练数据包括多组历史交互信息,所述历史交互信息用于描述用户与内容之间的交互历史;

50、结构图构建模块,用于基于所述多组历史交互信息,构建第一训练结构图和第二训练结构图;其中,所述第一训练结构图包括多个用户节点和多个内容节点,所述第一训练结构图用于表征所述用户节点和所述内容节点之间的关联,所述第二训练结构图包括多个内容节点,所述第二训练结构图用于表征所述内容节点之间的关联;

51、融合向量获取模块,用于通过所述交互预测模型,获取所述第一训练结构图中的各个节点分别对应的融合向量,以及所述第二训练结构图中的各个节点分别对应的融合向量;其中,对于目标节点,所述目标节点的融合向量整合有所述目标节点的特征信息和与所述目标节点相关联的节点的特征信息;

52、训练损失获取模块,用于基于所述第一训练结构图中的各个节点分别对应的融合向量和所述第二训练结构图中的各个节点分别对应的融合向量,确定所述交互预测模型的训练损失;

53、预测模型训练模块,用于基于所述训练损失对所述交互预测模型进行训练,得到训练完成的交互预测模型。

54、在一个示例性实施例中,所述练损失获取模块,包括:

55、第一损失获取子模块,用于基于所述第一训练结构图中的各个节点分别对应的融合向量,得到第一训练损失;其中,所述第一训练损失用于拉远所述用户节点和与所述用户节点没有交互关系的内容节点之间的距离;

56、第二损失获取子模块,用于基于所述第二训练结构图中的各个节点分别对应的融合向量,得到第二训练损失;其中,所述第二训练损失用于拉近所述内容节点和所述内容节点对应的直连内容节点之间的距离;

57、练损失获取子模块,用于基于所述第一训练损失和所述第二训练损失,确定所述交互预测模型的训练损失。

58、在一个示例性实施例中,所述第一损失获取子模块,用于:

59、对于所述第一训练结构图中的第一用户节点,确定所述第一用户节点对应的第一交互集合和第二交互集合;其中,在所述第一交互集合中的每组用户内容对中,内容节点与所述第一用户节点之间具有交互关系,在所述第二交互集合中的每组用户内容对中,内容节点与所述第一用户节点之间无交互关系;

60、基于所述第一训练结构图中的各个节点分别对应的融合向量,确定所述第一交互集合中的每组用户内容对对应的交互预测值,以及所述第二交互集合中的每组用户内容对对应的交互预测值;

61、对于所述第一交互集合中的目标用户内容对,基于所述目标用户内容对对应的交互预测值与所述第二交互集合中的各组用户内容对对应的交互预测值,确定所述目标用户内容对对应的中间损失;其中,所述目标用户内容对对应的中间损失用于表征所述目标用户内容对与所述第二交互集合中的各组用户内容对之间的总差异程度;

62、基于所述第一交互集合中的各组用户内容对对应的中间损失值的和值,得到所述第一用户节点对应的第一子训练损失;

63、对所述第一训练结构图中的多个用户节点分别对应的第一子训练损失进行求和,得到所述第一训练损失。

64、在一个示例性实施例中,所述第一损失获取子模块,还用于:

65、基于所述目标用户内容对对应的交互预测值,分别与所述第二交互集合中的各组用户内容对对应的交互预测值之间的差值,确定所述目标用户内容对分别与所述第二交互集合中的各组用户内容对之间的子中间损失;

66、对所述目标用户内容对分别与所述第二交互集合中的各组用户内容对之间的子中间损失进行求和,得到所述目标用户内容对对应的中间损失。

67、在一个示例性实施例中,所述第二损失获取子模块,用于:

68、对于所述第二训练结构图中的第一内容节点,确定所述第一内容节点的直连内容节点集;

69、对于所述直连内容节点集中的目标直连内容节点,基于所述第一内容节点对应的融合向量和所述目标直连内容节点对应的融合向量之间的差异,确定所述目标直连内容节点对应的第四中间向量;

70、对所述直连内容节点集中的各个直连内容节点分别对应的第四中间向量进行求和,得到所述第一内容节点对应的第二子训练损失;

71、对所述第二训练结构图中的各个内容节点对应的第二子训练损失求和,得到所述第二训练损失。

72、根据本技术实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述推荐内容的选择方法,或者上述信息融合方法。

73、所述计算机设备为终端或服务器。

74、根据本技术实施例的一个方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述推荐内容的选择方法,或者上述信息融合方法。

75、根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述推荐内容的选择方法,或者上述信息融合方法。

76、本技术实施例提供的技术方案可以包括如下有益效果:

77、通过结合用户节点与内容节点之间的交互预测值和由推荐内容节点组成的集合的多样性指标,从多个内容节点中选择推荐内容节点,综合考虑了推荐内容节点与用户节点之间的相关性和推荐内容节点的多样性,从而使得推荐内容在与用户之间具有相关性的同时,提高推荐内容的多样性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1