一种对象推荐模型的训练、对象推荐方法、装置和设备与流程

    技术2025-06-11  45


    本发明涉及互联网应用,尤其涉及一种对象推荐模型的训练、对象推荐方法、装置和设备。


    背景技术:

    1、广告推荐系统作为现阶段推荐系统的典型应用成果之一,也是现阶段互联网广告的重要表现形式。各大电子商务网站都开始借助广告推荐系统对自己的产品进行推广,各公司通过合理的应用数据挖掘以及相关程序算法,将用户的历史数据和用户的消费偏好进行深刻的挖掘以及比较,真正将用户可能感兴趣以及触发购买行为的商品进行了精准预测。

    2、推荐算法是广告推荐系统中最核心的部分,直接决定了广告推荐的效果。近些年来推荐算法层出不穷,包括协同过滤推荐和基于社交关系的推荐等,协同过滤推荐是给用户推荐和他之前喜欢的物品相似的物品,或者和他兴趣相似的其他用户喜欢的物品;基于社交关系的推荐是根据与当前用户存在社交关系的用户对当前用户的偏好影响来推荐物品。

    3、然而,发明人发现现有技术至少存在如下问题:采用协同过滤推荐的方法,当没有新用户任何数据的时候,无法较好的为新用户推荐物品,并且无法得到一些小众的独特喜好。基于社交关系的推荐方式,同时无法协同处理社交关系与用户-物品关系表两类数据,对物品推荐准确性造成影响。


    技术实现思路

    1、本发明实施例的目的是提供一种对象推荐模型的训练、对象推荐方法、装置和设备,其能够基于用户的社交关系网络和用户自身与对象的关系数据,实现对对象推荐模型的训练,从而能够通过所述对象推荐模型为用户进行准确的对象推荐。

    2、为实现上述目的,本发明实施例提供了一种对象推荐模型的训练方法,包括:

    3、获取用户与对象的交互信息,得到用户-对象关系矩阵;其中,所述用户包括第一用户和与所述第一用户存在社交关系的至少一个第二用户;

    4、根据所述用户-对象关系矩阵,采用矩阵分解方法,得到所述第一用户的隐向量、所述第二用户的隐向量和所述第一用户相关的对象的隐向量;

    5、将所述第一用户的隐向量和所述第二用户的隐向量输入预设的对象推荐模型中,计算所述第一用户的社会隐向量;其中,所述社会隐向量用于表征所述第一用户的偏好以及所述第二用户对所述第一用户的偏好影响;

    6、根据所述对象的隐向量和所述第一用户的社会隐向量,确定所述对象推荐模型的目标优化函数;

    7、以所述目标优化函数最小化为目标,对所述对象推荐模型的参数进行更新,得到训练完成的对象推荐模型。

    8、作为上述方案的改进,所述对象推荐模型包括第一子模型、第二子模型和第三子模型;

    9、则所述将所述第一用户的隐向量和所述第二用户的隐向量输入预设的对象推荐模型中,计算所述第一用户的社会隐向量,包括:

    10、将所述第一用户的隐向量和每一所述第二用户的隐向量输入至所述第一子模型中,分析每一所述第二用户对所述第一用户的偏好的社会潜在影响,得到每一所述第二用户对所述第一用户的偏好影响的影响隐向量;

    11、将所述第一用户的隐向量和所述第二用户对应的影响隐向量输入至所述第二子模型中,分析每一所述第二用户对所述第一用户的偏好影响的注意权重,并根据所述注意权重对每一所述第二用户对应的影响隐向量进行加权处理,计算得到所述第一用户的偏好潜在向量;

    12、将所述第一用户的隐向量和所述第一用户的偏好潜在向量输入至所述第三子模型中,基于所述第三子模型的输出确定所述第一用户的社会隐向量。

    13、作为上述方案的改进,所述第一子模型包括第一共享嵌入层和第一多层感知机网络模块,所述第一多层感知机网络模块由若干个隐藏层组成;

    14、所述将所述第一用户的隐向量和每一所述第二用户的隐向量输入至所述第一子模型中,分析每一所述第二用户对所述第一用户的偏好的社会潜在影响,得到每一所述第二用户对所述第一用户的偏好影响的影响隐向量,包括:

    15、将所述第一用户的隐向量和每一所述第二用户的隐向量输入至所述第一共享嵌入层进行计算;所述第一共享嵌入层的计算公式为:

    16、

    17、将所述第一共享嵌入层的输出结果输入至所述第一多层感知机网络模块的第一个隐藏层,并依次将当前隐藏层的输出结果输入至下一隐藏层进行计算;每一所述隐藏层的计算公式为:

    18、

    19、根据最后一个隐藏层的输出结果,计算得到每一所述第二用户对所述第一用户的偏好影响的影响隐向量:

    20、

    21、其中,uu为所述第一用户的隐向量,uufp为第p个第二用户的隐向量,和分别表示所述第一用户和第p个第二用户的隐向量的权重矩阵,为第q-1层的权重矩阵,为最后一个隐藏层的权重矩阵;和分别为预设的偏置向量,g为relu激活函数,p=1,2,…,k;q=1,2,…,h;k为所述第二用户的数量,h为所述隐藏层的数量。

    22、作为上述方案的改进,所述第二子模块包括单层感知机形成的行为注意机制模块;

    23、所述将所述第一用户的隐向量和所述第二用户对应的影响隐向量输入至所述第二子模型中,分析每一所述第二用户对所述第一用户的偏好影响的注意权重,并根据所述注意权重对每一所述第二用户对应的影响隐向量进行加权处理,计算得到所述第一用户的偏好潜在向量,包括:

    24、将所述第一用户的隐向量和所述第二用户对应的影响隐向量输入至行为注意机制模块,计算得到每一所述第二用户对所述第一用户的偏好影响的注意力系数:

    25、

    26、通过softmax函数将每一所述第二用户对应的注意力系数进行归一化处理,得到每一所述第二用户对应的注意权重:

    27、

    28、根据每一所述第二用户对应的影响隐向量和每一所述第二用户对应的注意权重,采用以下加权函数计算得到所述第一用户的偏好潜在向量:

    29、

    30、其中,uu为所述第一用户的隐向量,fup为第p个第二用户对应的影响隐向量,和为预设的权重矩阵,bψ为预设的偏置向量,上标ψ是行为注意机制模块,p=1,2,…,k;k为所述第二用户的数量。

    31、作为上述方案的改进,所述第一子模型包括第二共享嵌入层和第二多层感知机网络模块,所述第二多层感知机网络模块由若干个隐藏层组成;

    32、所述将所述第一用户的隐向量和所述第一用户的偏好潜在向量输入至所述第三子模型中,基于所述第三子模型的输出确定所述第一用户的社会隐向量,包括:

    33、将所述第一用户的隐向量和所述第一用户的偏好潜在向量输入至所述第二共享嵌入层进行计算;

    34、将所述第二共享嵌入层的输出结果输入至所述第二多层感知机网络模块的第一个隐藏层,并依次将当前隐藏层的输出结果输入至下一隐藏层进行计算;

    35、根据最后一个隐藏层的输出结果,得到所述第一用户的社会隐向量。

    36、作为上述方案的改进,所述第一用户相关的对象的隐向量包括与所述第一用户交互过的对象的隐向量和与所述第一用户没有交互过的对象的隐向量;

    37、所述根据所述对象的隐向量和所述第一用户的社会隐向量,确定所述对象推荐模型的目标优化函数,包括:

    38、根据与所述第一用户交互过的对象的隐向量、与所述第一用户没有交互过的对象的隐向量和所述第一用户的社会隐向量,计算得到所述对象推荐模型的目标优化函数为:

    39、

    40、其中,σ为logistic sigmoid函数;zu为所述第一用户的社会隐向量,为所述第一用户交互过的对象的隐向量;为所述第一用户没有交互过的对象的隐向量。

    41、本发明实施例还提供了一种对象推荐方法,采用如上述任一项所述的对象推荐模型的训练方法所训练完成的对象推荐模型进行对象推荐,所述对象推荐方法包括:

    42、获取目标用户的隐向量、与所述目标用户存在社交关系的至少一个用户的隐向量,以及待推荐对象的隐向量;

    43、将所述目标用户的隐向量和所述与所述目标用户存在社交关系的至少一个用户的隐向量输入所述对象推荐模型中,计算得到所述目标用户的社会隐向量;

    44、将所述待推荐对象的隐向量和所述目标用户的社会隐向量进行匹配,得到每一所述待推荐对象的推荐优先级;

    45、根据每一所述待推荐对象的推荐优先级,对所述目标用户进行对象推荐。

    46、本发明实施例还提供了一种对象推荐模型的训练装置,包括:

    47、关系矩阵获取模块,用于获取用户与对象的交互信息,得到用户-对象关系矩阵;其中,所述用户包括第一用户和与所述第一用户存在社交关系的至少一个第二用户;

    48、矩阵分解模块,用于根据所述用户-对象关系矩阵,采用矩阵分解方法,得到所述第一用户的隐向量、所述第二用户的隐向量和所述第一用户相关的对象的隐向量;

    49、第一隐向量计算模块,用于将所述第一用户的隐向量和所述第二用户的隐向量输入预设的对象推荐模型中,计算所述第一用户的社会隐向量;其中,所述社会隐向量用于表征所述第一用户的偏好以及所述第二用户对所述第一用户的偏好影响;

    50、目标优化函数计算模块,用于根据所述对象的隐向量和所述第一用户的社会隐向量,确定所述对象推荐模型的目标优化函数;

    51、对象推荐模型训练模块,用于以所述目标优化函数最小化为目标,对所述对象推荐模型的参数进行更新,得到训练完成的对象推荐模型。

    52、本发明实施例还提供了一种对象推荐装置,采用如上述任一项所述的对象推荐模型的训练方法所训练完成的对象推荐模型进行对象推荐,所述对象推荐装置包括:

    53、数据获取模块,用于获取目标用户的隐向量、与所述目标用户存在社交关系的至少一个用户的隐向量,以及待推荐对象的隐向量;

    54、第二隐向量计算模块,用于将所述目标用户的隐向量和所述与所述目标用户存在社交关系的至少一个用户的隐向量输入所述对象推荐模型中,计算得到所述目标用户的社会隐向量;

    55、推荐优先级计算模块,用于根据所述待推荐对象的隐向量和所述目标用户的社会隐向量进行匹配,得到每一所述待推荐对象的推荐优先级;

    56、对象推荐模块,用于根据每一所述待推荐对象的推荐优先级,对所述目标用户进行对象推荐。

    57、本发明实施例还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的对象推荐模型的训练方法,或如上述任一项所述的对象推荐方法。

    58、本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任意一项所述的对象推荐模型的训练方法,或如上述任一项所述的对象推荐方法。

    59、与现有技术相比,本发明公开的对象推荐模型的训练、对象推荐方法、装置、设备和介质,通过接收用户与对象的交互信息,使用矩阵分解方法,得到用户的隐向量和对象的隐向量,解决了用户-对象关系矩阵和用户社交关系网络无法协同处理的问题。通过分析用户受其社会关系网络中的朋友的偏好影响和影响力大小,计算用户的社会隐向量,从而计算目标优化函数来实现对对象推荐模型的训练。本发明在新用户没有任何数据时也能进行对象推荐,通过整合协同过滤和社交推荐算法,在模型中融合了协同过滤算法中的矩阵分解以及社交推荐算法的社会关系影响层,有效规避了各自模型的缺点,大大提高了对对象推荐模型的训练效果和稳定性,提高了对对象推荐的准确性。


    技术特征:

    1.一种对象推荐模型的训练方法,其特征在于,包括:

    2.如权利要求1所述的对象推荐模型的训练方法,其特征在于,所述对象推荐模型包括第一子模型、第二子模型和第三子模型;

    3.如权利要求2所述的对象推荐模型的训练方法,其特征在于,所述第一子模型包括第一共享嵌入层和第一多层感知机网络模块,所述第一多层感知机网络模块由若干个隐藏层组成;

    4.如权利要求2所述的对象推荐模型的训练方法,其特征在于,所述第二子模块包括单层感知机形成的行为注意机制模块;

    5.如权利要求2所述的对象推荐模型的训练方法,其特征在于,所述第一子模型包括第二共享嵌入层和第二多层感知机网络模块,所述第二多层感知机网络模块由若干个隐藏层组成;

    6.如权利要求1所述的对象推荐模型的训练方法,其特征在于,所述第一用户相关的对象的隐向量包括与所述第一用户交互过的对象的隐向量和与所述第一用户没有交互过的对象的隐向量;

    7.一种对象推荐方法,其特征在于,采用如权利要求1至6任一项所述的对象推荐模型的训练方法所训练完成的对象推荐模型进行对象推荐,所述对象推荐方法包括:

    8.一种对象推荐模型的训练装置,其特征在于,包括:

    9.一种对象推荐装置,其特征在于,采用如权利要求1至6任一项所述的对象推荐模型的训练方法所训练完成的对象推荐模型进行对象推荐,所述对象推荐装置包括:

    10.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任意一项所述的对象推荐模型的训练方法,或如权利要求7所述的对象推荐方法。


    技术总结
    本发明公开了一种对象推荐模型的训练、对象推荐方法、装置和设备,通过获取所述用户‑对象关系矩阵,采用矩阵分解方法,得到第一用户的隐向量、第二用户的隐向量和第一用户相关的对象的隐向量,并输入预设的对象推荐模型中,分析所述第一用户的偏好以及所述第二用户对所述第一用户的偏好影响,计算得到所述第一用户的社会隐向量,确定所述对象推荐模型的目标优化函数,以所述目标优化函数最小化为目标,对所述对象推荐模型的参数进行更新,得到训练完成的对象推荐模型,用于实现对目标用户的对象推荐。采用本发明,其能够基于用户的社交关系网络和用户自身与对象的关系数据,实现对对象推荐模型的训练,提高了对象推荐模型的训练准确性。

    技术研发人员:汪海涛
    受保护的技术使用者:中移(上海)信息通信科技有限公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-32209.html

    最新回复(0)