[0041] 为了进一步理解本发明,下面结合具体实施方式对本发明提供的一种基于用户长期兴趣和短期兴趣建模的会话推荐方法进行具体描述,但本发明并不限于此,该领域技术人员在本发明核心指导思想下做出的非本质改进和调整,仍然属于本发明的保护范围。
[0042] 首先,需要对用到的变量和公式给出相关定义。
[0043] 定义1.V:物品集合,且V={v1,v2,…,v|V|},|V|代表物品集合中物品的数量。
[0044] 定义2.scurrent:当前会话,会话是当前时间段里的所有交互物品集合current|s |代表会话中物品的数量。
[0045] 定义3.shistory:历史偏好序列,历史偏好序列是用户历史上加购、收藏和购买的物history品集合 |s |代表历史偏好序列中物品的数量。
[0046] 定义4.S:系统中的会话集合,S={s1,s2,…,s|S|},|S|代表会话集合中会话的数量。
[0047] 定义5. 物品vj的向量表征。
[0048] 定义6.pshort:当前会话的向量表征,也代表着用户短期兴趣向量表征。
[0049] 定义7.ptime‑relevent:用户和时间相关的长期兴趣向量表征。
[0050] 定义8.ptime‑irrelevent:用户和时间无关的长期兴趣向量表征。
[0051] 定义9.plong:用户长期兴趣向量表征,结合了用户时间相关的长期兴趣向量表征以及用户时间无关的长期兴趣向量表征。
[0052] 结合以上变量定义,将最终的问题定义为:给定用户的当前会话scurrent和用户历history史偏好序列s ,会话推荐方法对用户的短期兴趣和长期兴趣进行建模,来推荐用户在下一步最可能感兴趣的物品,物品是物品集合V的子集。
[0053] 电商平台中用户的交互行为包括浏览、点击、加购、收藏和购买行为。对于当前会话,本方法将所有的交互行为都纳入当前会话中,所有的交互行为都能代表用户当前的需求和兴趣。而抽取用户长期稳定的兴趣,本方法只考虑用户的加购、收藏和购买行为,这些行为体现了用户明确的喜好。因此,在本方法中,当前会话序列中包含了用户的当前所有交互行为,而历史偏好序列仅仅包含用户的历史加购、收藏和购买行为。
[0054] 一种基于用户长期兴趣和短期兴趣建模的会话推荐方法的向前传播(forward propagation)部分主要由三个部分组成,如图2所示。第一部分是根据户当前会话序列,采用门控循环单元网络(GRU)抽取用户当前的短期兴趣(short‑term interest)。第二部分是抽取用户的长期兴趣(long‑term interest),具体的做法是基于用户的短期兴趣,同时采用原始注意力机制和时间注意力机制得到时间无关的长期兴趣表征以及时间有关的长期兴趣表征,然后融合两种长期兴趣表征,得到用户的最终长期兴趣表征。第三部分是根据得到的用户长期兴趣表征和短期兴趣表征进行物品推荐。
[0055] 如图1所示,按照本发明的一个实施例,本方法包括如下步骤:
[0056] S100,根据用户当前会话中的物品序列,采用门控制循环神经网络获得用户短期兴趣。本方法采用门控循环单元网络(GRU)对用户当前会话中的物品序列进行建模,当前会话中的物品序列对应的向量表征为
公式为:
[0057] zτ=σ(Wxz·xτ+Whz·hτ‑1)
[0058] rτ=σ(Wxr·xτ+Whr·hτ‑1)
[0059]
[0060]
[0061] 其中,rτ是重置门(reset gate),zτ为更新门(update gate),这两个门控向量决定了哪些信息能作为门控循环单元的输出。 是当前记忆内容。xτ是当前层的节点输入。和 分别是控制更新门zτ和重置门rτ的参数。
和 是控制当前记忆内容 的参数。⊙是元素级别的矩阵相乘,σ是
sigmoid函数,tanh是tanh激活函数。门控循环单元网络GRU的输入序列为
门控循环单元网络输出为 也就是用户短期兴趣
(short‑term interest)表征为
[0062] S200,根据用户短期兴趣和用户历史偏好序列,采用时间注意力机制得到用户时间相关的长期兴趣。注意力机制(attention mechanism)的作用是使得抽取的用户长期兴趣是和用户当前的短期兴趣相关的。原始的注意力机制是不考虑时间因素的,本方法采用时间注意力机制(time attention mechanism),将原始注意力机制计算得到的注意力值和history时间权重结合。使得最终用户历史偏好序列s 中每个物品的权重同时取决于两个因素:物品和用户短期兴趣的相关性以及该物品交互时间和当前会话交互时间之间的时间间time‑relevent
隔。具体和时间相关的长期兴趣p 计算公式如下:
[0063]
[0064] δj=σ(wtlog[t(scurrent)‑t(vj)]+bt)
[0065] αj=softmaxj(ej·δj)
[0066]
[0067] 其中,xj是历史偏好序列中物品vj的向量表征,且vj∈shistory。We和qe分别是转换矩阵和转换向量,σ是sigmoid函数。ej是用户短期兴趣和历史偏好序列中物品vj的注意力值(attention value),代表了物品vj的重要程度和短期兴趣的相关度。系数ej是只考虑到物品vj和用户短期兴趣的语义相关性,而时间注意力值αj是综合了语义相关性系数ej和时间相关性系数δj,且经过了softmax归一化处理。这里,时间相关性系数δj是关于当前会话时间current和物品vj交互时间间隔的函数,参数为标量wt和标量bt。注意,这里的时间函数t(s )表current
示当前会话发生在当年的第几天。如:当前会话发生在时间2021年8月1日,那么t(s )=213,表示发生在当年的第213天。该时间函数充分表现了物品的季节周期性。最后用户时time‑relevent
间相关的长期兴趣p 为历史偏好序列中所有物品的向量表征乘以对应时间注意力值αj的和。
[0068] S300,根据用户短期兴趣和和用户历史偏好序列,采用原始注意力机制得到用户时间无关的长期兴趣。本方法采用注意力机制(attention mechanism)从用户历史偏好序time‑irrelevent列中抽取出和用户当前的短期兴趣相关的用户长期兴趣p 。注意力机制会给用户历史偏好序列中的每个物品分配一个权重(注意力值),表示该物品和用户短期兴趣的相关性,具体公式为:
[0069]
[0070] αj=softmaxj(ej)
[0071]
[0072] 其中,xj是历史偏好序列中物品vj的向量表征,且vj∈shistory。W1和q1分别是转换矩阵和转换向量。ej是用户短期兴趣和历史偏好序列中物品vj的注意力值,代表了物品vj的重要程度。得到历史偏好序列中所有物品的注意力值之后,对其进行softmax归一化,将注意力值归一化到[0,1]范围内,得到αj。最后历史偏好序列中所有物品的向量表征乘以对应的time‑irrelevent归一化后的注意力值的和,就是用户时间无关的长期兴趣p 。
[0073] S400,融合用户的两种长期兴趣,获得用户长期兴趣表征。用户的长期兴趣表征long time‑irrelevent time‑releventp 融合了用户时间无关的长期兴趣p 以及时间相关的长期兴趣p 。而
time‑irrelevent time‑relevent
时间无关的长期兴趣p 以及时间相关的长期兴趣p 两者的重要性或者
time‑irrelevent time‑relevent short
系数取决于三个变量,分别为:p 、p 和p 。原因是品类是否具有时间
short
周期性,取决于用户的当前兴趣p ,且抽取的用户时间无关的长期兴趣以及时间相关的长期兴趣都是和当前短期兴趣相一致的兴趣。因此,同时把这三个向量作为输入,得到两种long
长期兴趣的重要性。用户长期兴趣p 具体计算公式如下:
[0074]
[0075] plong=βptime‑relevent+(1‑β)ptime‑irrelevent
[0076] 其中, 和 是转换矩阵,qp是转换向量,tanh是tanh激活函数,σ是sigmoidtime‑relevent激活函数。系数β表示用户时间相关的长期兴趣p 的重要程度,系数1‑β表示用户time‑irrelevent
时间无关的长期兴趣p 的重要程度。
[0077] S500,根据用户短期兴趣和用户长期兴趣表征,获得用户最终兴趣表征。用户最终兴趣表征p公式如下:
[0078]short long
[0079] 其中,p 和p 分别为用户的短期和长期兴趣, 为向量拼接操作,W是线性转化矩阵。
[0080] S600,根据用户最终兴趣表征,推荐物品。将物品vj的向量xj乘以用户兴趣向量p,再应用softmax函数计算出物品vj的分数:
[0081]
[0082] 其中,p代表用户的兴趣向量,代表物品vj成为下一个交互物品的可能性。同时根据 的对数似然函数值,计算损失函数:
[0083]
[0084] 其中,yj代表vj的one‑hot编码, 函数用梯度下降法来最优化。
[0085] 上述对实施例的描述是为方便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。