本发明属于互联网服务技术领域,尤其是涉及一种考虑用户多兴趣以及社交影响的会话推荐方法。
背景技术:
随着移动互联网时代的到来和发展,在线平台上积累了越来越多的用户行为数据。通常,用户通过搜索功能从平台中找到自己感兴趣的物品,但是,随着物品数量的增多,用户从海量物品中找到合适的物品变得越来越困难。因此,推荐系统变得非常重要,推荐系统从海量数据中找出用户最感兴趣的物品并推荐给用户,可以极大地提升用户的满意度和公司的商业价值。现在,甚至有很多在线商业平台弱化了搜索功能,而主要依赖推荐功能,极大地降低了用户使用门槛。例如,抖音、今日头条等。这些平台上的推荐系统通常面临以下两个挑战。
第一,用户的兴趣是动态变化的且多样的。例如,用户在一段时间内可能对体育物品和休闲服饰感兴趣,在另一段时间内对装饰物品和早餐类食品感兴趣。第二,用户经常会分享物品给在线平台上的好友,且用户的兴趣倾向会受到好友的影响。并且不同的好友对用户的社交影响是不同的,这里的不同体现在两点:第一点是好友对用户的影响程度不同,有些好友是比较信赖的,有些好友是比较生疏的。第二点是不同好友和目标用户的共同兴趣不同。例如,有些朋友是体育方面上有共同兴趣,有些朋友是音乐方面上有共同兴趣。本方法是一种考虑用户多兴趣以及社交影响的会话(session)推荐方法,同时解决以上两种挑战。
现存的推荐方法中,要么忽视用户的兴趣是多样的,要么忽视社交影响。例如,阿里的周国睿等人在基于深度兴趣演变网络进行点击率预测方法(dien)中考虑了用户的多兴趣。北大的宋卫平等人在基于动态图注意力机制进行会话社交推荐方法中考虑了朋友对用户的社交影响。本方法通过多兴趣抽取模块从用户当前会话中抽取出用户的多兴趣,且通过特定兴趣社交影响抽取模块计算朋友对用户多兴趣的影响。这里,会话指代一段时间内的用户交互的物品序列,一般通过用户行为之间的时间间隔进行划分。也有一些方法将一天或者几天或者一周内的交互行为作为一个会话。
技术实现要素:
本方法的问题定义为基于用户当前会话(session)中的物品序列和朋友上一个会话中的物品序列,预测用户对目标物品的点击率。这里,会话指代一段时间内的用户交互的物品序列,一般通过用户行为之间的时间间隔进行划分。也有一些方法将一天或者几天或者一周内的交互行为作为一个会话。任何一个会话可以表示为s={x1,x2,…,xτ,…,xt},其中,xτ代表用户交互的第τ个物品。会话的向量表征为{x1,x2,…,xτ,…,xt},其中
在线平台上的推荐系统通常面临以下两个挑战:第一,用户的兴趣是动态变化的且多样的。例如,用户在一段时间内可能对体育物品和休闲服饰感兴趣,在另一段时间内对装饰物品和早餐类食品感兴趣。第二,用户经常会分享物品给在线平台上的好友,且用户的兴趣倾向会受到好友的影响。并且不同的好友对用户的社交影响是不同的,这里的不同体现在两点:第一点是好友对用户的影响程度不同,有些好友是比较信赖的,有些好友是比较生疏的。第二点是不同好友的兴趣不同。例如,有些朋友是体育方面上有共同兴趣,有些朋友是音乐方面上有共同兴趣。为了解决以上两种挑战,本发明采用以下技术方案:
一种考虑用户多兴趣以及社交影响的会话推荐方法,包括以下步骤:
根据目标用户当前会话中的物品序列,得到用户当前多兴趣表征。用户当前交互的会话st可以表示为st={x1,x2,…,xτ,…,xt},其中,xτ代表用户交互的第τ个物品,t表示当前会话的时间段下标,且st的向量表征为{x1,x2,…,xτ,…,xt},其中
其中,
根据社交网络,得到目标用户朋友的主要兴趣表征。目标用户第k个朋友的上一个会话表示为
ατ=wασ(wggfk+wxxτ)
其中,xτ是会话
计算朋友对目标用户的社交影响。目标用户u的朋友集合为n(u),在计算朋友对目标用户的社交影响时,既要考虑不同朋友的重要度,又要考虑不同朋友对目标用户的不同兴趣的影响。朋友集合n(u)对目标用户的兴趣vj的影响fj可以通过以下方法计算得到:
votekj=maxj(akj)·attnkj
其中,
结合朋友对目标用户的社交影响和用户的多兴趣表征,预测用户对目标物品的点击率。
其中,vj为目标用户当前会话中抽取出的第j个兴趣表征,fj为朋友对目标用户第j个兴趣的社交影响。
构建损失函数,训练模型参数。通过用户对目标物品的点击率预测值
其中,y∈{0,1}是真实值,代表用户是否点击了目标物品。σ是sigmoid函数。我们采用adam优化器更新模型参数。
本发明的有益技术效果如下:
(1)本发明结合目标用户的多兴趣和朋友对目标用户多兴趣的社交影响,进行更准确的推荐。
(2)本发明在计算朋友对目标用户的社交影响时,既考虑到好友的重要性,又考虑到好友之间的兴趣不同,进行更细致化的建模。
附图说明
图1为本发明一种考虑用户多兴趣以及社交影响的会话推荐方法的流程示意图;
图2为本发明一种考虑用户多兴趣以及社交影响的会话推荐方法的模型框架图。
具体实施方式
为了进一步理解本发明,下面结合具体实施方式对本发明提供的一种考虑用户多兴趣以及社交影响的会话推荐方法进行具体描述,但本发明并不限于此,该领域技术人员在本发明核心指导思想下做出的非本质改进和调整,仍然属于本发明的保护范围。
本方法的问题定义为基于用户当前会话(session)中的物品序列和朋友上一个会话中的物品序列,预测用户对目标物品的点击率。任何一个会话可以表示为s={x1,x2,…,xτ,…,xt},其中,xτ代表用户交互的第τ个物品。会话的向量表征为{x1,x2,…,xτ,…,xt},其中
一种考虑用户多兴趣以及社交影响的会话推荐方法的向前传播(forwardpropagation)部分主要由四个部分组成,如图2所示。第一部分是根据目标用户当前会话中的物品序列,得到用户当前多兴趣表征。第二部分是根据社交网络,得到目标用户朋友的主要兴趣表征。第三部分是计算朋友对目标用户的社交影响。第四部分是结合朋友对目标用户的社交影响和用户的多兴趣表征,预测用户对目标物品的点击率。
如图1所示,按照本发明的一个实施例,本方法包括如下步骤:
s100,根根目标用户当前会话中的物品序列,得到用户当前多兴趣表征。用户当前交互的会话st可以表示为st={x1,x2,…,xτ,…,xt},其中,xτ代表用户交互的第τ个物品,t表示当前会话的时间段下标,且st的向量表征为{x1,x2,…,xτ,…,xt},其中
其中,
s200,根据社交网络,得到目标用户朋友的主要兴趣表征。目标用户第k个朋友的上一个会话表示为
ατ=wασ(wggfk+wxxτ)
其中,xτ是会话
s300,计算朋友对目标用户的社交影响。目标用户u的朋友集合为n(u),在计算朋友对目标用户的社交影响时,既要考虑不同朋友的重要度,又要考虑不同朋友对目标用户的不同兴趣的影响。朋友集合n(u)对目标用户的兴趣vj的影响fj可以通过以下方法计算得到:
votekj=maxj(akj)·attnkj
其中,
s400,结合朋友对目标用户的社交影响和用户的多兴趣表征,预测用户对目标物品的点击率。
其中,vj为目标用户当前会话中抽取出的第j个兴趣表征,fj为朋友对目标用户第j个兴趣的社交影响。
s500,构建损失函数,训练模型参数。通过用户对目标物品的点击率预测值
其中,y∈{0,1}是真实值,代表用户是否点击了目标物品。σ是sigmoid函数。我们采用adam优化器更新模型参数。
上述对实施例的描述是为方便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。