一种基于评论的可解释推荐方法与流程

文档序号:17951319发布日期:2019-06-19 00:03阅读:185来源:国知局
一种基于评论的可解释推荐方法与流程

本发明属于计算机技术个性化推荐方法领域,是一种可解释的个性化推荐方法。



背景技术:

在互联网快速发展的这个时代,困扰我们的不再是信息匮乏,而是信息过载。推荐系统就是在大量的信息中,筛选出部分信息推荐给用户,类似于热门商品、热门信息推荐;而进行简单的热门推荐不能满足所有用户推荐需求,因为推荐热门商品会忽视用户的个人偏好,有些用户并不喜欢比较大众化的上面,因此个性化的推荐算法出现了。个性化推荐算法通过用户在推荐列表上的点击、购买等行为为系统创造经济效益,需要了解用户的推荐需求以及用户的偏好。随着各种互联网应用的迅速发展,推荐系统在各种网络应用中扮演着至关重要的角色,帮助用户找到感兴趣的物品。长期以来,个性化推荐的研究主要集中在如何为用户提供更准确的被推荐物品,而忽视了对推荐的解释。相关研究指出恰当的推荐理由可以提高用户对推荐结果的接受度。

个性化推荐系统成为网络应用中不可缺少的重要组成部分,而个性化推荐系统又分为几个类型,其中包括who、what、when、where以及why,我们可以把这五个类型对应为社交推荐、应用意识的推荐、有时间感知的推荐、基于位置的推荐以及可解释推荐,对于可解释推荐,指的是在给用户推荐商品的同时,还需要给出推荐该商品的解释;可解释推荐方法通过给出推荐的解释,而不是仅仅只是给出推荐的物品列表,来提示用户的信任度以及用户的满意度。

现在的推荐系统,很多是基于协同过滤的,这种方法主要的思想是根据用户历史的交互行为建模用户对物品的偏好。潜因子模型在学术界和工业界都很受欢迎,用户和物品的表达使用潜特征向量,在很多数据集上,潜因子模型都表现出了很好的预测精确度,但是,传统的潜因子模型在个性化推荐中还是存在一些问题,因为使用的是潜因子表达,因此在个性化推荐系统中缺少了推荐的解释,从而获得用户信任度和满意度的能力被减弱。为了能够在给出推荐的同时,给出推荐的解释,现有一些方法是获取用户显式的特性偏好以及显式的物品特征质量表示。近几年,为了改善推荐系统的精度和解释性,在推荐系统中除了使用用户和物品的评分信息,也尝试着使用用户评论作为新的附加信息加入推荐系统。一个典型的个性化推荐系统将用户在物品上的浏览、点击、购买、评论等行为信息作为输入数据,构建个性化推荐模型对用户进行偏好建模并给出个性化推荐列表。对于利用用户产生的评论主要有两种方式,一方面,利用用户产生的评论提取用户显式的特征偏好和物品显式的特征表示;另一方面,可以自动的挖掘用户在用户产生的评论中表达的情感,即便在用户与物品的评分很稀疏的情况下,这些挖掘的情感也可以补充用户的偏好和产品的特征,可以揭示影响顾客选择的隐藏的因素。经过研究发现,对于显式的用户特征偏好以及物品的特征质量表示,大多数文献中的方法是直接通过计数得到,因此希望能够通过结合显式的特征表达和隐式的特征表达,在利用隐式的特征表达保证推荐精度的同时,能够利用显式的特征表达给出推荐的解释,我们考虑通过学习的方式得到用户特征偏好和物品的特征质量表示。另外我们使用lstm来处理用户评论的时序信息,以此捕获动态的用户特征偏好和物品的特征质量表示。对于个性化推荐的方法,潜因子模型在预测精度上表现得很好,但是很难根据潜因子对用户产生一个推荐的解释。针对潜因子模型很难提供推荐解释的问题,为了在给用户推荐用户或者是给用户推荐物品的同时,给出一个推荐的解释,首先需要捕捉用户的特征偏好表示以及物品的特征质量表示,基于这个用户的特征偏好表示和物品的特征质量表示,来产生推荐的解释。本发明的基于评论的可解释推荐方法,包括特征提取、捕获用户特征偏好、捕获物品特征质量表示、进行预测评分、产生top-k的推荐以及根据用户特征偏好和物品特征质量表示产生推荐的解释。其特征在于通过lstm学习得到用户动态的特征偏好的隐因子表达和物品动态的特征质量表示的隐因子表达,然后将该隐因子表达通过一个全连接层进行解码得到显式的用户特征偏好和显式的物品特征质量表达,将该用户最终的特征偏好的隐因子表达与另一个潜因子表达拼接得到用户最终的表达,讲物品最终的特征质量表示的潜因子表达与用一个潜因子表达拼接得到物品最终的表达。



技术实现要素:

本发明是基于传统的用户可解释推荐的显因子模型的一个改进方法,提出一个同时考虑时序信息和推荐解释的推荐方法,为了处理用户评论的时序信息,拟利用lstm[19]来处理用户评论,用于捕捉随时间变化的用户偏好,以及随时间变化的物品的特征质量表示。为了能够在一定程度上保持推荐的精度,我们需要同时考虑用户隐式的特征偏好和物品隐式的特征表达,通过这两个部分来解决同时考虑时序信息和推荐解释的问题。我们通过lstm来处理用户评论的时序信息,以此捕获动态的用户特征偏好和物品的特征质量表示,将lstm最终的输出通过一个全连接层进行解码得到用户显示的特征偏好和物品显示的特征质量表示,最后将用户显示的特征偏好与用户隐式的特征表达进行拼接得到用户最终的表达,将物品显示的特征质量表示与物品隐式的特征表达进行拼接得到物品最终的表达。该发明包括以下步骤:

a.构造上下文情感词典l,情感词典中的每一个实体表示为(f,o,s)其中f表示的是特征词,o表示的是情感词,s是情感得分,s∈[-1,1]。

a1.进行特征提取:从训练集中所有的评论中提取特征词,将每一个特征词当一个方面,令f={f1,f2,…,fp}为特征词集合,f1表示的是第1个特征词,fc表示的是第c个特征词。

a2.情感词提取:从训练集中所有的评论中提取情感词,并且与提取的特征词成对的组合。

a3.生成上下文情感词典:根据情感词的情感以及情感极性标签生成上下文情感词典。

b.获取用户特征偏好向量,具体方法为:

b1.令u={u1,u2,…,um}为用户集合,其中ui表示的是第i个用户,将每一个用户ui的所有的历史评论,根据时间将所有的评论分为t段,其中t∈[1,2,…,t],用xi={xi1,xi2,…xit}表示用户ui的评论向量的集合,其中xit表示的是用户ui在第t个时间段内产生的所有评论的一个表达,用yj={yj1,yj2,…yjt}表示物品vj的评论向量的集合,其中yjt表示的是物品vj在第t个时间段内被评论的所有评论的一个表达,对于每一个时间段内的评论,从中抽取特征词及考虑否定词之后,在指定特征词上的表达的最终感情为(f,s’),其中f表示的是特征词,s’表示的是情感得分,假设特征词fc被用户ui在第t时间段以及之前提及次数为则用户ui在第t时间段的特征偏好可以表示为:

其中a表示最大评分,一般表示为5,表示数据集中的评分为(1,5]。

b2.通过类似的方法计数物品的特征质量表达,假设特征词fc在物品pj的第t个时间段以及之前提及的次数为则物品pj在t时间段的特征质量表示为:

b3.对于用户ui,将其每一个时间段的所有的评论通过doc2vec转换为一个向量xit,该向量xit表示的就是在第t个时间段内用户ui的所有的评论信息。将xi={xi1,xi2,…xit}这一系列向量根据时间送入lstm网络中,对于用户ui在第t时间段后lstm的输出为最终的输出经过一个全连接层,从而得到用户ui的偏好向量对于物品vj,通过类似的方法得到lstm的输出再经过一个全连接层,从而得到物品vj的特征质量表达将物品vj每一个时间内产生的评论,通过doc2vec转换为一个向量yjt,向量yjt表示的是在第t个时间段内,物品vj的所有评论的信息。将yj={yj1,yj2,…yjt}这一系列向量根据时间送入lstm网络中,对于物品vj在第t时间段后lstm的输出为最终的输出再经过一个全连接层,从而得到物品vj的特征质量表达

c.使用显示特征词获取的用户偏好并非能够包裹用户所考虑的全部可能属性,因此在考虑pi和qj之外再考虑r′个隐式变量用户最终的表示为物品最终的表示为则第i个用户对第j个物品的评分预测为:

d.模型的参数可以通过如下的优化问题得到:

根据预测得分给用户ui推荐top-k个物品,同时根据产生推荐解释,形如:您可能对[特征词][特征词][特征词]感兴趣,而该产品在[特征词][特征词]上表现不错。

附图说明

图1为本发明的模型示意图。

具体实施方式

下面结合附图,详细描述本发明的技术方案:

如图1所示,本发明的主要流程为:

a.收集用户评论数据,提取特征词,构建上下文特征词典。

b.获取用户特征偏好向量,具体方法为:

b1.令u={u1,u2,…,um}为用户集合,其中ui表示的是第i个用户,将每一个用户ui的所有的历史评论,根据时间将所有的评论分为t段,其中t∈[1,2,…,t],用xi={xi1,xi2,…xit}表示用户ui的评论向量的集合,其中xit表示的是用户ui在第t个时间段内产生的所有评论的一个表达,用yj={yj1,yj2,…yjt}表示物品vj的评论向量的集合,其中yjt表示的是物品vj在第t个时间段内被评论的所有评论的一个表达,对于每一个时间段内的评论,从中抽取特征词及考虑否定词之后,在指定特征词上的表达的最终感情为(f,s’),其中f表示的是特征词,s’表示的是情感得分,假设特征词fc被用户ui在第t时间段以及之前提及次数为则用户ui在第t时间段的特征偏好可以表示为:

其中a表示最大评分,一般表示为5,表示数据集中的评分为(1,5]。

b2.通过类似的方法计数物品的特征质量表达,假设特征词fc在物品pj的第t个时间段以及之前提及的次数为则物品pj在t时间段的特征质量表示为:

b3.对于用户ui,将其每一个时间段的所有的评论通过doc2vec转换为一个向量xit,该向量xit表示的就是在第t个时间段内用户ui的所有的评论信息。将xi={xi1,xi2,…xit}这一系列向量根据时间送入lstm网络中,对于用户ui在第t时间段后lstm的输出为最终的输出经过一个全连接层,从而得到用户ui的偏好向量对于物品vj,通过类似的方法得到lstm的输出再经过一个全连接层,从而得到物品vj的特征质量表达将物品vj每一个时间内产生的评论,通过doc2vec转换为一个向量yjt,向量yjt表示的是在第t个时间段内,物品vj的所有评论的信息。将yj={yj1,yj2,…yjt}这一系列向量根据时间送入lstm网络中,对于物品vj在第t时间段后lstm的输出为最终的输出再经过一个全连接层,从而得到物品vj的特征质量表达

c.使用显示特征词获取的用户偏好并非能够包裹用户所考虑的全部可能属性,因此在考虑pi和qj之外再考虑r′个隐式变量用户最终的表示为物品最终的表示为则第i个用户对第j个物品的评分预测为:

d.模型的参数可以通过如下的优化问题得到:

根据预测得分给用户ui推荐top-k个物品,同时根据产生推荐解释,形如:您可能对[特征词][特征词][特征词]感兴趣,而该产品在[特征词][特征词]上表现不错。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1