一种基于时间间隔图的会话推荐方法

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

阅读说明:本技术 一种基于时间间隔图的会话推荐方法 (Session recommendation method based on time interval graph ) 是由 顾盼 于 2021-09-06 设计创作,主要内容包括:本发明公开了一种基于时间间隔图的会话推荐方法。该方法根据给定当前会话,对用户兴趣建模,并推荐当前用户在下一步最可能感兴趣的物品。主要由四个部分组成:第一部分是根据用户当前会话中的物品序列,构建带时间间隔属性的会话图;第二部分是使用时间间隔图神经网络更新物品向量表征;第三部分是根据用户当前会话中物品序列,获得用户兴趣向量表征;最后,根据用户兴趣表征,推荐物品。(The invention discloses a conversation recommendation method based on a time interval diagram. The method models the user interests given the current session and recommends the items that are most likely to be of interest to the current user in the next step. Mainly comprises four parts: the first part is to construct a conversation graph with time interval attribute according to the item sequence in the current conversation of the user; the second part is to use the neural network of the time interval graph to update the object vector representation; the third part is to obtain the user interest vector representation according to the item sequence in the current session of the user; and finally, recommending the item according to the user interest representation.)

一种基于时间间隔图的会话推荐方法

技术领域

本发明属于互联网服务技术领域,尤其是涉及一种基于时间间隔图的会话推荐方法。

背景技术

会话(Session)是一个时间段内用户的交互行为,基于会话的推荐是基于当前会话推荐用户下一个点击的物品。会话内的物品序列是有序的,对物品的序列性进行建模是非常必要的。如,买绿植之后,可能会产生买花盆的需求。传统的会话推荐系统采用循环神经网络来对用户兴趣进行建模,但是循环神经网络忽略了会话中更复杂的物品上下文关系。会话中一个物品的上一个被点击物品和下一个被点击物品叫做该物品的上下文(context)。在电商平台中,在同一个会话中,用户会对同一物品产生重复点击浏览的行为。同一物品会有多个上下文,如仅仅通过循环神经网络对会话进行建模,一个物品的多个上下文之间是没有联系的,想要对上下文之间联系进行建模,需要将会话构建成会话图。会话图可以捕捉到会话中丰富的物品转移关系。

仅仅考虑会话中物品的序列性是不够的,会话中物品间隔时间的不同也会导致推荐结果不同。如:同一行为发生在两小时前和半小时前对当前的影响肯定是不同的。因此,在构建会话图的时候,将物品交互之间的时间间隔考虑进去。先对时间间隔采用最小最大化归一化方式进行归一化,然后将时间间隔进行离散化,来学习时间间隔对用户兴趣表征的影响。本方法先基于会话构建带时间间隔属性的会话图,并基于会话图更新物品向量表征;然后用门控制循环神经网络(GRU)对会话建模,得到用户兴趣向量表征;最后根据用户兴趣表征,推荐用户下一个可能感兴趣的物品。

发明内容

本发明所要解决的技术问题是给定当前会话,对用户兴趣建模,并推荐当前用户在下一步最可能感兴趣的物品。为了捕捉到会话中丰富的物品转移关系,将当前会话构建成会话图。并在构建会话图的时候,将物品交互之间的时间间隔考虑进去,来学习时间间隔对用户兴趣建模的影响。

一种基于时间间隔图的会话推荐方法,包括以下步骤:

根据用户当前会话中的物品序列,构建带时间间隔属性的会话图。给定一个会话s={v1,v2,…,v|s|},任一物品vj为会话图T的节点,(vj-1,vj)为图网络T的有向边,表示一个用户点击物品vj-1之后点击物品vj。且图的边属性为点击物品vj-1和点击物品vj之间的时间间隔。

使用时间间隔图神经网络更新物品向量表征。会话图中的边属性时间间隔采用最小最大化归一化方式进行归一化,然后将时间间隔进行离散化。在会话图中进行物品节点信息传递时,将节点信息和边信息连接为整体进行传递,具体公式如下:

其中,tj表示点击物品vj发生时间,分别表示该会话中时间间隔的最大值和最小值,ti→j表示经过最小最大归一化后的时间间隔。函数bucketid(ti→j,{·})表示时间间隔ti→j处在集合参数中的下标,如ti→j=0.15,那么表示0.15落在第2个区间[0.1,0.2)内。emb(ti→j)表示ti→j的向量表征,emb(vj)表示物品vi向量表征,表示向量的连接。

然后再采用两层的图网络更新物品向量表征,最后得到物品vj的向量表征xj为图网络更新结果,也就是具体公式为:

其中,Wpool和Wh是转移矩阵,b是向量,σ为sigmoid函数,max代表元素级别的max操作,表示向量的连接。k代表在图网络T中的搜索深度,k的最大值为搜索深度L,代表节点vj在k层的向量表征,B(j)为会话图T中物品vj的邻居集合。表示物品节点xj的邻居节点vk传递过来的信息,融合了物品节点vj的所有邻居节点信息。融合了物品vj上一层的向量表征信息和物品vj邻居节点信息。

根据用户当前会话中物品序列,获得用户兴趣向量表征。采用门控制循环神经网络(GRU)对会话进行表征,得到兴趣表征。也就是将当前会话作为门控制循环神经网络(GRU)的输入,得到门控制循环神经网络(GRU)的输出作为用户的兴趣pu

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

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

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

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

其中,pu代表用户的兴趣向量,代表物品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.T:基于当前会话中交互的物品序列构建的带时间间隔属性的会话图。

定义5.B(j):带时间间隔属性的会话图T中物品vj的邻居集合。

定义6.物品vj的初始化的向量表征。

定义7.物品vj的经过会话图更新后的向量表征。

定义8.用户兴趣向量表征。

结合以上变量定义,将最终的问题定义为:给定当前会话,对用户兴趣建模,并推荐当前用户在下一步最可能感兴趣的物品,物品是集合V的子集。为了捕捉到会话中丰富的物品转移关系,将当前会话构建成会话图。并在构建会话图的时候,将物品交互之间的时间间隔考虑进去,来学习时间间隔对用户兴趣表征的影响。

为此,本发明提出了一种基于时间间隔图的会话推荐方法,如图2所示,方法的向前传播(forward propagation)部分主要由四个部分组成。第一部分是根据用户当前会话中的物品序列,构建带时间间隔属性的会话图;第二部分是使用时间间隔图神经网络更新物品向量表征;第三部分是根据用户当前会话中物品序列,获得用户兴趣向量表征;最后,根据用户兴趣表征,推荐物品。

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

S100,根据用户当前会话中的物品序列,构建带时间间隔属性的会话图。给定一个会话s={v1,v2,…,v|s|},任一物品vj为会话图T的节点,(vj-1,vj)为图网络T的有向边,表示一个用户点击物品vj-1之后点击物品vj。且图的边属性为点击物品vj-1和点击物品vj之间的时间间隔。

S200,使用时间间隔图神经网络更新物品向量表征。会话图中的边属性时间间隔采用最小最大化归一化方式进行归一化,然后将时间间隔进行离散化。在会话图中进行物品节点信息传递时,将节点信息和边信息连接为整体进行传递,具体公式如下:

其中,tj表示点击物品vj发生时间,分别表示该会话中时间间隔的最大值和最小值,ti→j表示经过最小最大归一化后的时间间隔。函数bucketid(ti→j,{·})表示时间间隔ti→j处在集合参数中的下标,如ti→j=0.15,那么表示0.15落在第2个区间[0.1,0.2)内。emb(ti→j)表示ti→j的向量表征,emb(vj)表示物品vi向量表征,表示向量的连接。

然后再采用两层的图网络更新物品向量表征,最后得到物品vj的向量表征xj为图网络更新结果,也就是具体公式为:

其中,Wpool和Wh是转移矩阵,b是向量,σ为sigmoid函数,max代表元素级别的max操作,表示向量的连接。k代表在图网络T中的搜索深度,k的最大值为搜索深度L,代表节点vj在k层的向量表征,B(j)为会话图T中物品vj的邻居集合。表示物品节点vj的邻居节点vk传递过来的信息,融合了物品节点vj的所有邻居节点信息。融合了物品vj上一层的向量表征信息和物品vj邻居节点信息。本方法中采用两层的图网络,所以搜索深度L=2。

S300,根据用户当前会话中物品序列,获得用户兴趣向量表征。采用门控制循环神经网络(GRU)对会话进行表征,得到兴趣表征。也就是将当前会话作为门控制循环神经网络(GRU)的输入,得到门控制循环神经网络(GRU)的输出作为用户的兴趣pu

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

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

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

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

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

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

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

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:书籍更新消息的推送方法、计算设备及计算机存储介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!