一种基于重构社交网络的会话社交推荐方法

文档序号:1889433 发布日期:2021-11-26 浏览:6次 >En<

阅读说明:本技术 一种基于重构社交网络的会话社交推荐方法 (Conversation social recommendation method based on reconstructed social network ) 是由 顾盼 祝凯林 于 2021-09-06 设计创作,主要内容包括:本发明公开了一种基于重构社交网络的会话社交推荐方法。该方法根据给定用户的当前会话和社交网络,对用户的兴趣以及朋友对用户的社交影响进行建模,来预测用户在下一步最可能感兴趣的物品。主要由四个部分组成:第一部分是基于当前用户,从社交网络中找到当前用户的真实朋友;第二部分是基于当前用户的当前会话和存储的会话集合,找到当前用户的潜在朋友;第三部分是得到当前用户、真实朋友和潜在朋友的兴趣表征;第四部分是结合当前用户的真实朋友和潜在朋友,得到朋友对用户的社交影响;第五部分是结合用户自身兴趣和社交影响,获得用户最终向量表征;最后,根据用户最终向量表征和物品向量表征,推荐物品。(The invention discloses a conversation social recommendation method based on a reconstructed social network. The method models the user&#39;s interests and the social influence of friends on the user based on the current session and social network of a given user to predict the items that the user is most likely to be interested in the next step. Mainly comprises four parts: the first part is to find the real friends of the current user from the social network based on the current user; the second part is to find potential friends of the current user based on the current session of the current user and the stored set of sessions; the third part is to obtain the interest representation of the current user, real friends and potential friends; the fourth part is that real friends and potential friends of the current user are combined to obtain the social influence of the friends on the user; the fifth part is that the final vector representation of the user is obtained by combining the interest of the user and the social influence; and finally, recommending the article according to the final vector representation of the user and the article vector representation.)

一种基于重构社交网络的会话社交推荐方法

技术领域

本发明属于互联网服务技术领域,尤其是涉及一种基于重构社交网络的会话社交推荐方法。

背景技术

会话(Session)是一个时间段内用户的交互行为,基于会话的推荐是基于当前会话推荐用户下一个点击的物品。会话推荐将用户的历史交互序列按照一定逻辑划分成若干会话,对当前会话建模,得到用户当前的兴趣,预测用户下一个感兴趣的物品。电商平台中,一个用户在历史上有很多购买兴趣,但在当前会话中,购买兴趣较为单一。对用户当前会话建模,得到用户的当前兴趣可以更为准确地捕捉用户现在的购买目的。另外,绝大部分在线平台会将社交容纳到基础功能内,允许用户和其他用户进行互动以及分享自己的兴趣。给用户推荐物品时,将社交影响考虑进来,可以降低数据的稀疏度。本方法的出发点是进一步挖掘出当前用户的潜在朋友,同时考虑潜在朋友和真实朋友对当前用户的社交影响,进一步降低数据的稀疏度。

此时,社交网络中涉及到两种关系:真实朋友和当前用户之间的关系,潜在朋友和当前用户之间的关系。这两种关系是不同的:当前用户和真实朋友通常都有很多兴趣爱好,且存在共同的兴趣,而抽取出的当前用户以及真实朋友的当前兴趣,未必是接近的;而潜在朋友是通过计算用户当前会话和存储的其他用户会话之间的相似度得到的,所以潜在朋友的兴趣和当前用户很接近。因此,真实朋友和潜在朋友对当前用户的作用需要先分开并行计算,再合并得到统一的社交影响。进而结合用户的兴趣,预测用户下一个感兴趣的物品。

发明内容

本发明所要解决的技术问题是给定用户的当前会话和社交网络,对用户的兴趣以及朋友对用户的社交影响进行建模,来预测用户在下一步最可能感兴趣的物品。在对社交影响建模时,涉及到两种关系:真实朋友和当前用户之间的关系,潜在朋友和当前用户之间的关系。这两种关系是不同的:一般当前用户和真实朋友都有很多兴趣爱好,且存在共同的兴趣,而抽取出的当前用户以及真实朋友的当前兴趣,未必是接近的;而潜在朋友是通过计算用户当前会话和存储的其他用户会话之间的相似度得到的,所以潜在朋友的兴趣和当前用户很接近。因此,真实朋友和潜在朋友对当前用户的作用需要先分开并行计算,再合并得到统一的社交影响。进而结合用户的兴趣,预测用户下一个感兴趣的物品。

一种基于重构社交网络的会话社交推荐方法,包括以下步骤:

基于当前用户,从社交网络中找到当前用户的真实朋友。根据平台中实际好友关系的数据记录,建立社交网络G,社交网络G是无向图。从社交网络G中找到当前用户的邻居节点,就是当前用户的的真实朋友集合N(u)。

基于当前用户的当前会话和存储的会话集合,找到当前用户的潜在朋友。采用记忆矩阵M存储最近发生的会话。基于当前用户的当前会话s={v1,v.,…,v|s|},通过计算当前会话和记忆矩阵M中的候选会话之间的cosine相似度从记忆矩阵M中找出最相似的k个会话,且保证相似度大于阈值simthre,再从筛选出的k个会话中随机抽取ε个会话。最后确定这ε个会话的用户为当前用户的潜在朋友集合B(u),且抽取出的会话代表了潜在朋友的兴趣。相似度计算公式如下:

其中,sj是记忆矩阵M中存储的任一会话。是会话s的二进制向量表示,如果一个物品出现在会话中,那么s中对应位置为1,否则为0。同理,是会话sj的二进制向量表示。l(s)和l(sj)分别代表了会话s和sj的长度。对于记忆矩阵M中存储的所有会话,用公式sim(s,sj)计算出和当前会话s的cosine相似度,把相似度低于阈值simthre的会话过滤掉,再按照cosine相似度由高到低排序,找出前k个会话,并从中随机抽取出ε个会话。

得到当前用户、真实朋友和潜在朋友的兴趣表征。从当前用户的当前会话、真实朋友的最近会话以及筛选出的潜在朋友的会话中抽取出对应用户的兴趣,采用门控制循环神经网络(GRU)分别对会话进行表征,得到兴趣表征。也就是将当前用户的当前会话、真实朋友的最近会话以及筛选出的潜在朋友的会话分别作为门控制循环神经网络(GRU)的输入,分别得到门控制循环神经网络(GRU)的输出作为当前用户的兴趣、真实朋友的兴趣以及潜在朋友的兴趣:

zi=σ(Wxz·xi+Whz·hi-1)

ri=σ(Wxr·xi+Whr·hi-1)

其中,ri是重置门(reset gate),zi为更新门(update gate),这两个门控向量决定了哪些信息能作为门控循环单元的输出。是当前记忆内容。xi是当前层的节点输入,也就是物品vi的向量表征。Wxz、Whz、Wxr和Whr分别是控制更新门zi和重置门ri的参数。Wxh和Whh是控制前记忆内容的参数。⊙是元素级别的矩阵相乘,σ是sigmoid函数。门控制循环神经网络(GRU)的最后一个隐藏层的输出就是会话表征。

结合当前用户的真实朋友和潜在朋友,得到朋友对用户的社交影响。将真实朋友和潜在朋友分开计算,且真实朋友和潜在朋友对当前用户的作用由注意力机制计算得到,每个朋友对当前用户的作用不同。而真实朋友和潜在朋友的重要度由先验参数λ控制,需要由实验者设置。最终社交影响pf具体的计算方式如下:

其中,αui表示真实朋友ui对当前用户的作用,αuj表示潜在朋友uj对当前用户的作用,是聚集了真实朋友和潜在朋友对当前用户的影响,pf是对加一层非线性的感知器层,也是最终社交影响;hu、hi和hj分别是当前用户、真实朋友ui和潜在朋友uj的向量表征,注意力值αui和αuj采用乘法注意力机制计算得到,并使用softmax函数进行了归一化。先验参数λ∈[0,1]控制真实朋友作用和潜在朋友作用的权重。Wg是转换矩阵参数,ReLU是ReLU激活函数。

结合用户自身兴趣和社交影响,获得用户最终向量表征。用户的兴趣由他当前会话行为和社交影响共同决定,用户的用户最终向量表征gu就由全连接层合并两者得到,令:

其中,Wph是转换矩阵,pf是社交影响,hu为当前用户的当前兴趣,为向量拼接操作。

根据用户最终向量表征和物品向量表征,推荐物品。将物品vj的向量xj乘以用户最终向量表征,再应用softmax函数计算出物品vj的分数:

其中,gu代表用户的兴趣向量,代表物品vj成为下一个交互物品的可能性;同时根据的对数似然函数值,计算损失函数:

其中,yj代表vj的one-hot编码,函数用梯度下降法来最优化。

本发明的有益技术效果如下:

(1)本发明是一种社交推荐方法,和传统的社交推荐方法不同的是,本发明进一步挖掘出用户的潜在朋友,对用户的社交网络进行扩充,缓解了数据的稀疏性。

(2)本发明分析了社交网络中的两种关系的不同,这两种关系分别是:真实朋友和当前用户之间的关系,潜在朋友和当前用户之间的关系。并分别采用注意力机制对两者关系进行建模,最后再合并一起,得到社交影响。

附图说明

图1为本发明一种基于重构社交网络的会话社交推荐方法的流程示意图;

图2为本发明一种基于重构社交网络的会话社交推荐方法的模型框架图。

具体实施方式

为了进一步理解本发明,下面结合具体实施方式对本发明提供的一种基于重构社交网络的会话社交推荐方法进行具体描述,但本发明并不限于此,该领域技术人员在本发明核心指导思想下做出的非本质改进和调整,仍然属于本发明的保护范围。

首先,需要对用到的变量和公式给出相关定义。

定义1.V:物品集合,且V={v1,v2,…,v|V|},|V|代表物品集合中物品的数量。

定义2.s:当前用户的当前会话,会话是当前时间段里的所有交互物品集合s={v1,v2,…,v|s|},|s|代表会话中物品的数量。

定义3.S:系统中的会话集合,S={s1,s2,…,s|S|},|S|代表会话集合中会话的数量。

定义4.G:关于用户和用户关系的社交网络。

定义5.N(u):社交网络G中当前用户的朋友集合。

定义6.B(u):算法挖掘出当前用户的潜在朋友集合。

定义7.物品vj的向量表征。

结合以上变量定义,将最终的问题定义为:给定当前用户的当前会话和社交网络,挖掘出和用户行为相似的潜在朋友集合,结合用户的真实朋友集合和潜在朋友集合得到社交影响,并结合用户的兴趣来推荐当前用户在下一步最可能感兴趣的物品,物品是集合V的子集。在对社交影响建模时,涉及到两种关系:真实朋友和当前用户之间的关系,潜在朋友和当前用户之间的关系。这两种关系是不同的。一般当前用户和真实朋友都有很多兴趣爱好,且存在共同的兴趣。而抽取出的真实朋友以及真实朋友的当前兴趣,未必是接近的。而挖掘潜在朋友是通过计算存储的最近用户会话和用户当前会话的相似度,所以潜在朋友的兴趣和当前用户很接近。因此,真实朋友和潜在朋友对当前用户的作用需要先分开并行计算,再合并得到统一的社交影响。进而结合用户的兴趣,预测用户下一个感兴趣的物品。

为此,本发明提出了一种基于重构社交网络的会话社交推荐方法,如图2所示,方法的向前传播(forward propagation)部分主要由四个部分组成。第一部分是基于当前用户,从社交网络中找到当前用户的真实朋友;第二部分是基于当前用户的当前会话和存储的会话集合,找到当前用户的潜在朋友;第三部分是得到当前用户、真实朋友和潜在朋友的兴趣表征;第四部分是结合当前用户的真实朋友和潜在朋友,得到朋友对用户的社交影响;第五部分是结合用户自身兴趣和社交影响,获得用户最终向量表征;最后,根据用户最终向量表征和物品向量表征,推荐物品。

如图1所示,按照本发明的一个实施例,本方法包括如下步骤:

S100,基于当前用户,从社交网络中找到当前用户的真实朋友。根据平台中实际好友关系的数据记录,建立社交网络G,社交网络G是无向图。从社交网络G中找到当前用户的邻居节点,就是当前用户的的真实朋友集合N(u)。

S200,基于当前用户的当前会话和存储的会话集合,找到当前用户的潜在朋友。采用记忆矩阵M存储最近发生的会话,在本方法综合考虑算法效果和存储压力,设置记忆矩阵M存储的会话序列个数为10000。基于当前用户的当前会话s={v1,v2,…,v|s|},通过计算当前会话和记忆矩阵M中的候选会话之间的cosine相似度,从记忆矩阵M中找出最相似的k个会话,且保证相似度大于阈值simthre,再从筛选出的k个会话中随机抽取ε个会话。最后确定这ε个会话的用户为当前用户的潜在朋友集合B(u),且抽取出的会话代表了潜在朋友的兴趣。相似度计算公式如下:

其中,sj是记忆矩阵M中存储的任一会话。是会话s的二进制向量表示,如果一个物品出现在会话中,那么s中对应位置为1,否则为0。同理,是会话sj的二进制向量表示。l(s)和l(sj)分别代表了会话s和sj的长度。对于记忆矩阵M中存储的所有会话,用公式sim(s,sj)计算出和当前会话s的cosine相似度,把相似度低于阈值simthre的会话过滤掉,再按照cosine相似度由高到低排序,找出前k个会话,并从中随机抽取出ε个会话。simthre设置小数值,可以增加推荐物品的多样性,simthre设置大数值,可以过滤掉更多的噪音。这里,simthre设置为0.3,k设置为100,ε设置为10。

S300,得到当前用户、真实朋友和潜在朋友的兴趣表征。从当前用户的当前会话、真实朋友的最近会话以及筛选出的潜在朋友的会话中抽取出对应用户的兴趣,采用门控制循环神经网络(GRU)分别对会话进行表征,得到兴趣表征。也就是将当前用户的当前会话、真实朋友的最近会话以及筛选出的潜在朋友的会话分别作为门控制循环神经网络(GRU)的输入,分别得到门控制循环神经网络(GRU)的输出作为当前用户的兴趣、真实朋友的兴趣以及潜在朋友的兴趣:

zi=σ(Wxz·xi+Whz·hi-1)

ri=σ(Wxr·xi+Whr·hi-1)

其中,ri是重置门(reset gate),zi为更新门(update gate),这两个门控向量决定了哪些信息能作为门控循环单元的输出。是当前记忆内容。xi是当前层的节点输入,也就是物品vi的向量表征。Wxz、Whz、Wxr和Whr分别是控制更新门zi和重置门ri的参数。Wxh和Whh是控制前记忆内容的参数。⊙是元素级别的矩阵相乘,σ是sigmoid函数。门控制循环神经网络(GRU)的最后一个隐藏层的输出就是会话表征。

S400,结合当前用户的真实朋友和潜在朋友,得到朋友对用户的社交影响。将真实朋友和潜在朋友分开计算,且真实朋友和潜在朋友对当前用户的作用由注意力机制计算得到,每个朋友对当前用户的作用不同。而真实朋友和潜在朋友的重要度由先验参数λ控制,需要由实验者设置。最终社交影响pf具体的计算方式如下:

其中,αui表示真实朋友ui对当前用户的作用,αuj表示潜在朋友uj对当前用户的作用,是聚集了真实朋友和潜在朋友对当前用户的影响,pf是对加一层非线性的感知器层,也是最终社交影响;hu、hi和hj分别是当前用户、真实朋友ui和潜在朋友uj的向量表征,注意力值αui和αuj采用乘法注意力机制计算得到,并使用softmax函数进行了归一化。先验参数λ∈[0,1]控制真实朋友作用和潜在朋友作用的权重,本实验中设置λ=0.7。Wg是转换矩阵参数,ReLU是ReLU激活函数。

S500,结合用户自身兴趣和社交影响,获得用户最终向量表征。用户的兴趣由他当前会话行为和社交影响共同决定,用户的用户最终向量表征gu就由全连接层合并两者得到,令:

其中,Wph是转换矩阵,pf是社交影响,hu为当前用户的当前兴趣,为向量拼接操作。

S600,根据用户最终向量表征和物品向量表征,推荐物品。将物品vj的向量xj乘以用户最终向量表征,再应用softmax函数计算出物品vj的分数:

其中,gu代表用户的兴趣向量,代表物品vj成为下一个交互物品的可能性;同时根据的对数似然函数值,计算损失函数:

其中,yj代表vj的one-hot编码,函数用梯度下降法来最优化。

上述对实施例的描述是为方便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于时间间隔图的会话推荐方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!