本发明涉及信息推荐领域,尤其涉及一种推荐方法、一种推荐系统、一种计算机装置和一种计算机可读存储介质。
背景技术:
hidasi等人提出了一个利用lstm来进行基于会话的推荐的技术。该方法主要利用了上文提到的lstm根据用户的历史消费记录来建模每一个消费物品的表示。为了推荐下一个物品,他们利用用户消费的最后一个物品来表示用户的当前兴趣,我们根据这个兴趣的数学表示,计算当前兴趣与所有物品的相似程度,最终我们向用户推荐一个与当前兴趣最相近的物品。该技术是一项成熟的技术,但是它存在很多问题。首先它没有建模用户的长期兴趣,仅仅用用户的近期消费记录来建模他的近期兴趣。另外一个问题是它没有考虑用户的社交影响,这使得模型的预测有很大的偏差。chaney等人提出了一个社交柏松分解模型。他们建模了一种信任因子来刻画朋友对某个用户的推荐影响程度,在建模用户兴趣的时候考虑了朋友的影响,但是这个模型提出已经很久了,并且没有考虑消费历史记录的序列化特征,因此也存在一定的缺陷。
现有技术或者对用户的动态兴趣进行建模或者对推荐系统中的社交影响进行分析,但据我们所知,尚没有一种技术将上述两个因素结合起来。最近的一项研究关于使用递归神经网络模拟会话级的用户行为,但没有考虑社交影响。其他的工作研究了社交影响,例如,ma等人探讨了朋友的社交关系对推荐的系统影响。但是,来自不同用户的影响都是静态的,它们不会根据被推荐用户当前的兴趣而发生变化。
技术实现要素:
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提供一种基于会话和社交影响的推荐方法,其能够同时考虑用户的社交关系和用户的动态兴趣爱好因素,以提升推荐的准确性;并依据用户自己的兴趣爱好,动态推断社交关系中影响力较高的朋友,使当前兴趣相近的朋友对推荐结果影响更大。
本发明的另一个目的在于提供一种基于会话和社交影响的推荐系统,其能够在生成推荐结果时,综合考虑用户自身兴趣和其朋友兴趣,加入了对朋友影响力的动态推断模块,从而更好的抓取相关朋友的近期爱好,使之服务于目标用户的物品推荐。
本发明的再一个目的在于提供一种计算机装置。
本发明的又一个目的在于提供一种计算机可读存储介质。
为实现上述目的,本发明第一方面的技术方案提供了一种基于会话和社交影响的推荐方法,包括以下步骤:
构建目标用户当前会话中被消耗的物品集合
g=(u,e);
其中,u表示目标用户,u表示社交网络中目标用户u的朋友的集合,e表示与目标用户u的社交关系,i表示被消耗商品;
根据物品集合
其中,hn表示目标用户的最新兴趣,hn-1表示最新兴趣的前一个兴趣,f表示将最新被消耗商品与前一个兴趣结合的非线性函数;
根据物品集合
其中,
构建社交网络g的长期兴趣模型
其中,社交网络g中朋友k的长期兴趣模型
根据短期兴趣模型
其中,relu(x)=max(0,x)是一个非线性的激活函数,w1是变换矩阵;
计算目标用户的节点表示
其中,
根据社交网络g中朋友k关于目标用户u的权值计算合并特征权值,令:
其中,
对合并特征权值进行非线性变换,得到:
其中,w(l)是l层的一个共享的并且可以学习的权值矩阵;
根据动态个人兴趣模型计算得到用户的最终兴趣,令:
其中,w2为线性变换矩阵,
根据用户的最终兴趣得到推荐物品是y的概率,即:
其中,n(u)为社交网络g中用户的个数,zy为物品y的嵌入表示,|i|为物品的个数;
根据推荐物品是y的概率计算物品的对数似然函数值:
在该技术方案中,本方法旨在同时建模用户的动态兴趣和实时社交影响。具体而言,我们使用神经网络技术对用户当前的会话进行建模,提取出用户的兴趣偏好,并实时计算用户的朋友在当前场景下对其产生的影响,结合自身爱好和朋友影响进行物品推荐。
在上述技术方案中,优选地,将最新被消耗商品与前一个兴趣结合的非线性函数f为:
其中,σ为sigmoid函数,σ(x)=(1+exp(-x))-1。
本发明第二方面的技术方案提供了一种基于会话和社交影响的推荐系统,包括:
构建模块,被设置为用于构建目标用户当前会话中被消耗的物品集合
g=(u,e);
其中,u表示目标用户,u表示社交网络中目标用户u的朋友的集合,e表示与目标用户u的社交关系,i表示被消耗商品;
动态个人兴趣模型建立模块,被设置为用于根据物品集合
其中,hn表示目标用户的最新兴趣,hn-1表示最新兴趣的前一个兴趣,f表示将最新被消耗商品与前一个兴趣结合的非线性函数;
短期兴趣模型构建模块,被设置为用于根据物品集合
其中,
长期兴趣模型构建模块,被设置为用于构建社交网络g的长期兴趣模型
其中,社交网络g中朋友k的长期兴趣模型
拼接模块,被设置为用于根据短期兴趣模型
其中,relu(x)=max(0,x)是一个非线性的激活函数,w1是变换矩阵;
计算模块,被设置为用于计算目标用户的节点表示
其中,
合并特征权值计算模块,被设置为用于根据社交网络g中朋友k关于目标用户u的权值计算合并特征权值,令:
其中,
非线性变换模块,被设置为用于对合并特征权值进行非线性变换,得到:
其中,w(l)是l层的一个共享的并且可以学习的权值矩阵;
最终兴趣计算模块,被设置为用于根据动态个人兴趣模型计算得到用户的最终兴趣,令:
其中,w2为线性变换矩阵,
概率计算模块,被设置为用于根据用户的最终兴趣得到推荐物品是y的概率,即:
其中,n(u)为社交网络g中用户的个数,zy为物品y的嵌入表示,|i|为物品的个数;
对数似然函数值计算模块,被设置为用于根据推荐物品是y的概率计算物品的对数似然函数值:
在该技术方案中,在推荐系统中,同时考虑用户的社交关系和用户的动态兴趣爱好因素,以提升推荐的准确性;并依据用户自己的兴趣爱好,动态推断社交关系中影响力较高的朋友,使当前兴趣相近的朋友对推荐结果影响更大。为了提升在线平台推荐系统的准确性,本发明中提出对用户的动态兴趣爱好和动态社交关系进行建模。在生成推荐结果时,综合考虑用户自身兴趣和其朋友兴趣,加入了对朋友影响力的动态推断模块,从而更好的抓取相关朋友的近期爱好,使之服务于目标用户的物品推荐。
在上述技术方案中,优选地,将最新被消耗商品与前一个兴趣结合的非线性函数f为:
其中,σ为sigmoid函数,σ(x)=(1+exp(-x))-1。
本发明第三方面的技术方案提供了一种计算机装置,包括处理器,处理器用于执行存储器中存储的计算机程序时实现本发明的第一方面的技术方案提出的任一项的推荐方法的步骤。
本发明第四方面的技术方案提供了一种计算机可读存储介质,其上存储有计算机程序(指令),计算机程序(指令)被处理器执行时实现本发明的第一方面的技术方案提出的任一项的推荐方法的步骤。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明一个实施例所涉及的推荐方法的流程框图;
图2示出了本发明另一个实施例所涉及的推荐系统的流程框图;
图3示出了本发明实施例所涉及的动态图注意力模型图;
图4示出了本发明实施例所涉及的动态图注意力网络图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
下面参照图1至图4描述根据本发明一些实施例的推荐方法及系统、计算机装置、计算机可读存储介质。
为了能够给在线社区的用户提供有效的建议,我们提出同时对用户的动态兴趣和依赖于情境的社交影响进行建模。我们将最终的问题定义为如下:
定义(会话级社交推荐)令u表示用户集合,i表示物品集合,g=(u,e)是社交网络,其中e是用户之间的社交关系。对于用户u,给定一个新的会话
为此,本发明提出一种新颖的的动态图注意力模型dynamicgraphrecommendation(dgrec),如图3所示,它可以同时建模用户自身的偏好和用户的朋友们的偏好。
dgrec由四个模块组成。第一个模块是一个循环神经网络(rnn),它可以建模在用户当前会话中被消耗的物品序列。用户的朋友的兴趣是由他们短期偏好和长期偏好的组合来建模的。短期偏好,例如在其最近会话中的物品,也使用rnn编码。朋友的长期偏好是通过学习得到的个人嵌入表示来编码的。然后,模型使用图注意力网络将当前用户的表示与其朋友的表示相结合。这是我们的模型和贡献的关键部分:我们提出的机制学会根据用户当前的兴趣来衡量每个朋友的影响。在最后一步中,该模型通过将用户的当前偏好与他所受到的(依赖于情境的)社交影响相结合来产生推荐结果。
如图1所示,按照本发明一个实施例的基于会话和社交影响的推荐方法,包括以下步骤:
s100,构建目标用户当前会话中被消耗的物品集合
g=(u,e);
其中,u表示目标用户,u表示社交网络中目标用户u的朋友的集合,e表示与目标用户u的社交关系,i表示被消耗商品;
为了捕捉用户快速变化的兴趣,我们使用rnn来建模(目标)用户在当前会话中的动作(即点击)。rnn是标准的序列建模工具并且最近被用来建模用户(序列的)偏好数据。rnn可以一个输入一个输入地推断用户会话
其中,hn表示目标用户的最新兴趣,hn-1表示最新兴趣的前一个兴趣,f表示将最新被消耗商品与前一个兴趣结合的非线性函数;
我们认为,社交网络g中,用户可能会受到朋友们最近兴趣的影响。出于这个原因,我们以不同的方式建模朋友的短期和长期兴趣。
我们使用朋友最近消费的物品序列(例如,朋友的最新在线会话)来建模他的短期兴趣。长期兴趣代表了一个朋友的总体兴趣,并使用个人的嵌入表示进行建模。
对一个目标用户当前的会话
其中,
朋友的长期偏好反映了他们的总体兴趣。由于长期偏好不是时间敏感的,我们使用一个向量来表示它们。
s400,构建社交网络g的长期兴趣模型
其中,社交网络g中朋友k的长期兴趣模型
s500,根据短期兴趣模型
其中,relu(x)=max(0,x)是一个非线性的激活函数,w1是变换矩阵;
我们使用新颖的图注意力网络获得目标用户的兴趣和他的朋友们的兴趣的混合表示。首先,我们在图中编码朋友关系网络,其中节点对应于用户(即目标用户及其朋友),边表示朋友关系。此外,每个节点使用其对应的用户的表示作为(动态)特征。其次,使用消息传递算法沿边传播这些特征。我们的方法的主要新颖之处在于使用注意力机制来衡量沿每个边传播的特征的权重。权重对应于朋友对目标用户的影响程度。经过固定次数的消息传递迭代之后,目标用户节点处的结果特征就是组合后的表示。
对于每个用户,我们构造了一个以该用户和其朋友为节点的图。如果用户u有|n(u)|个朋友,那么该图就有|n(u)|+1个节点。用户u的初始表示hn被作为节点u的初始特征
我们提出了一个新颖的动态图注意力网络,用它来模型化上下文相关的社交影响,并且使用注意力机制来引导影响的传播。整个过程在图4中进行了阐述。
s600,计算目标用户的节点表示
其中,
s700,根据社交网络g中朋友k关于目标用户u的权值计算合并特征权值,令:
其中,
其中,w(l)是l层的一个共享的并且可以学习的权值矩阵,其中每一层代表图卷积网络的一次卷积操作,该值由第一层开始经过l层卷积之后得到每个节点的最终表示。合并(社交影响)的表示我们用
因为一个用户的兴趣由他的最近行为和社交影响两者共同决定,他的最终表示就由全连接层合并两者得到,即s900,根据动态个人兴趣模型计算得到用户的最终兴趣,令:
其中,w2为线性变换矩阵,
s1000,根据用户的最终兴趣得到推荐物品是y的概率,即:
其中,n(u)为社交网络g中用户的个数,zy为物品y的嵌入表示,|i|为物品的个数;
s1100,根据推荐物品是y的概率计算物品的对数似然函数值:
在该实施例中,本方法旨在同时建模用户的动态兴趣和实时社交影响。具体而言,我们使用神经网络技术对用户当前的会话进行建模,提取出用户的兴趣偏好,并实时计算用户的朋友在当前场景下对其产生的影响,结合自身爱好和朋友影响进行物品推荐。
如图2所示,按照本发明另一个实施例的基于会话和社交影响的推荐系统1000,包括:
构建模块10,被设置为用于构建目标用户当前会话中被消耗的物品集合
g=(u,e);
其中,u表示目标用户,u表示社交网络中目标用户u的朋友的集合,e表示与目标用户u的社交关系,i表示被消耗商品;
动态个人兴趣模型建立模块20,被设置为用于根据物品集合
其中,hn表示目标用户的最新兴趣,hn-1表示最新兴趣的前一个兴趣,f表示将最新被消耗商品与前一个兴趣结合的非线性函数;
短期兴趣模型构建模块30,被设置为用于根据物品集合
其中,
长期兴趣模型构建模块40,被设置为用于构建社交网络g的长期兴趣模型
其中,社交网络g中朋友k的长期兴趣模型
拼接模块50,被设置为用于根据短期兴趣模型
其中,relu(x)=max(0,x)是一个非线性的激活函数,w1是变换矩阵;
计算模块60,被设置为用于计算目标用户的节点表示
其中,
合并特征权值计算模块70,被设置为用于根据社交网络g中朋友k关于目标用户u的权值计算合并特征权值,令:
其中,
非线性变换模块80,被设置为用于对合并特征权值进行非线性变换,得到:
其中,w(l)是l层的一个共享的并且可以学习的权值矩阵;
最终兴趣计算模块90,被设置为用于根据动态个人兴趣模型计算得到用户的最终兴趣,令:
其中,w2为线性变换矩阵,
概率计算模块100,被设置为用于根据用户的最终兴趣得到推荐物品是y的概率,即:
其中,n(u)为社交网络g中用户的个数,zy为物品y的嵌入表示,|i|为物品的个数;
对数似然函数值计算模块110,被设置为用于根据推荐物品是y的概率计算物品的对数似然函数值:
在该实施例中,在推荐系统中,同时考虑用户的社交关系和用户的动态兴趣爱好因素,以提升推荐的准确性;并依据用户自己的兴趣爱好,动态推断社交关系中影响力较高的朋友,使当前兴趣相近的朋友对推荐结果影响更大。为了提升在线平台推荐系统的准确性,本发明中提出对用户的动态兴趣爱好和动态社交关系进行建模。在生成推荐结果时,综合考虑用户自身兴趣和其朋友兴趣,加入了对朋友影响力的动态推断模块,从而更好的抓取相关朋友的近期爱好,使之服务于目标用户的物品推荐。
在上述任一实施例中,优选地,将最新被消耗商品与前一个兴趣结合的非线性函数f为:
其中,σ为sigmoid函数,σ(x)=(1+exp(-x))-1。
本发明再一个实施例的计算机装置,包括处理器,处理器用于执行存储器中存储的计算机程序时实现本发明的第一方面的技术方案提出的任一项的推荐方法的步骤。
本发明又一个实施例的计算机可读存储介质,其上存储有计算机程序(指令),计算机程序(指令)被处理器执行时实现本发明的第一方面的技术方案提出的任一项的推荐方法的步骤。
在本发明中,术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明的描述中,需要理解的是,术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或单元必须具有特定的方向、以特定的方位构造和操作,因此,不能理解为对本发明的限制。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。