[0030] 为了进一步理解本发明,下面结合具体实施方式对本发明提供的一种考虑物品和物品属性特征级别重要性的会话推荐方法进行具体描述,但本发明并不限于此,该领域技术人员在本发明核心指导思想下做出的非本质改进和调整,仍然属于本发明的保护范围。
[0031] 首先,需要对用到的变量和公式给出相关定义。
[0032] 定义1.V:物品集合,且V={v1,v2,…,v|V|},|V|代表物品集合中物品的数量。
[0033] 定义2.s:当前会话,会话是当前时间段里的所有交互物品集合s={v1,v2,…,v|s|},|s|代表会话中物品的数量。
[0034] 定义3.S:系统中的会话集合,S={s1,s2,…,s|S|},|S|代表会话集合中会话的数量。
[0035] 定义4. 物品vj的向量表征。
[0036] 定义5.mi:用户的第i个兴趣向量表征。
[0037] 结合以上变量定义,将最终的问题定义为:给定用户的当前会话s,会话推荐方法对用户的多种兴趣进行建模,来预测用户对目标物品xnew,的点击率。在电商场景中,一个物品有很多属性特征,用户在决定是否购买时,可能关注物品的价格、风格、质量以及品牌等。并且用户对他点击过的商品的喜欢程度并不相同,甚至对于有些点击过的物品是不喜欢的态度。因此,在基于当前会话抽取用户兴趣以及给用户推荐下一个感兴趣的物品时,应确定两个重要性:第一个重要性是会话中不同物品的重要性;二是会话中物品的不同属性特征的重要性。也就是确定用户对每个物品的喜欢程度,以及对物品的不同属性特征的喜欢程度。
[0038] 为此,本发明提出了一种考虑物品和物品属性特征级别重要性的会话推荐方法,如图2所示,方法的向前传播(forward propagation)部分主要由四个部分组成。第一部分是用物品级别的注意力机制得到会话中所有物品的重要性;第二部分是用物品属性特征级别的注意力机制得到会话中物品不同属性特征的重要性;第三部分是结合会话中物品的重要性和物品属性特征的重要性,从会话中抽取多个用户兴趣向量表征;最后,根据用户兴趣向量表征,预测用户对目标物品的点击率。
[0039] 如图1所示,按照本发明的一个实施例,本方法包括如下步骤:
[0040] S100,用物品级别的注意力机制得到会话中所有物品的重要性。当前会话{v1,v2,…,v|s|}对应向量表征为{x1,x2,…,x|s|},采用物品级别的注意力(item‑level attention)机制得到会话中任一物品vj的注意力值(attentionvalue)e(vj),然后采用softmax函数对每个物品的注意力值进行归一化,得到任一物品vj最终权重αj,具体计算过程如下:
[0041]
[0042]
[0043] 其中,We1和we2分别是转换矩阵和转换向量,xj是物品vj的向量表征,RELU是RELU激活函数,exp(·)是指数函数。
[0044] S200,用物品属性特征级别的注意力机制得到会话中物品不同特征的重要性。用户对同一物品的不同属性特征的偏好是不同的,用户对不同物品的相同属性特征的偏好也是不同的。用户对物品vj的第i个属性特征的看重程度bi,j由乘法注意力机制计算得到,且再用softmax对bi,j进行归一化,得到参数ci,j,参数ci,j代表最终的用户对物品vj的第i个属性特征的看重程度。具体计算公式如下:
[0045]
[0046]
[0047] 其中,Wi是将物品转换到属性空间的转换矩阵,xj是物品vj的向量表征,qi是第i个属性特征,属性特征的个数为M个,在实验中M=3。
[0048] S300,结合会话中物品的重要性和物品属性特征的重要性,从会话中抽取多个用户兴趣向量表征。用户在当前会话中体现的兴趣特征,取决于当前会话中不同物品的重要性,以及物品的不同属性的重要性。同时考虑两者非常重要,仅仅用基于物品级别的注意力机制来做推荐,忽视了真实场景下用户的多兴趣。仅仅用基于物品属性特征级别的注意力机制来做推荐,会导致模型对不重要的物品分配过多的权重。因此,需要结合会话中物品的重要性和物品属性特征的重要性,从会话中抽取多个用户兴趣向量表征,具体公式如下:
[0049]
[0050] mi=∑jai,j·Wi·xj
[0051] 其中,ai,j是结合了物品重要程度αj和物品属性特征重要程度ci,j的参数。Wi是上步骤提到的将物品转换到属性空间的转换矩阵,Wi·xj可以将物品vi映射到第i个属性特征空间下,然后和参数ai,j相乘求和,得到用户的多兴趣向量表征mi。
[0052] S400,根据用户兴趣向量表征,预测用户对目标物品的点击率。对于不同的目标物品,用户对其不同的属性特征有不同的关注度。因此,本方法首先将目标物品和用户多兴趣进行匹配,给用户不同兴趣分配不同权重,并得到用户和该目标物品相关的最终兴趣向量表征o。再用用户最终兴趣向量表征和目标物品的向量表征xnew计算相似度,得到推荐概率为:
[0053] αi=qT·σ(W1·mi+W2·xnew)
[0054]
[0055]
[0056] 其中,mi为用户的第i个兴趣向量表征,xnew为目标物品vnew的向量表征。参数q和参数W1,W2控制每个兴趣向量表征的权重,σ是sigmoid激活函数。
[0057] S500,根据模型特性,设计损失函数。通过用户对目标物品的点击率预测值 计算预测值 和真实值y之间的误差,进而使用误差来更新模型参数。采用交叉熵损失函数来指导模型参数的更新过程:
[0058]
[0059] 其中,y∈{0,1}是真实值,代表用户是否点击了目标物品。σ是sigmoid函数。采用Adam优化器更新模型参数。
[0060] 上述对实施例的描述是为方便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。