基于文本处理的方面级可解释深度网络评分预测推荐方法转让专利

申请号 : CN202011038985.9

文献号 : CN112182156B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张天蔚程志勇舒明雷董祥军

申请人 : 齐鲁工业大学

摘要 :

一种基于文本处理的方面级可解释深度网络评分预测推荐方法,通过深入挖掘用户与物品之间在方面级层面上的关联,从而进行精准的、可解释强的评分预测工作,方面级指的就是用户对物品作出评价时所关注的角度。通过深入挖掘用户与物品之间在方面级层面上的关联,可以有效刻画该用户的关注习惯,亦可以从多种角度描述该物品,这些最终都可以体现到评论的文本内容中,被人们直观的理解。在传统的协同过滤推荐思想之上,利用卷积神经网络抽取评论文本中的特征向量作为辅助信息参与评分预测推荐,提升了评分预测推荐效果,从而提高了推荐系统的可解释性。

权利要求 :

1.一种基于文本处理的方面级可解释深度网络评分预测推荐方法,其特征在于,包括如下步骤:a)在含评论文本的用户‑物品‑评分数据集D中,将每一个用户u和每一个物品i转变为代表其自身的嵌入式向量Embu及Embi,Embu及Embi的长度为K,K为超参数,K=128;

b)将数据集D中评论文本信息进行清洗与格式处理,构建评论文本中每一个单词的上下文窗口,每一个构建所得的窗口作为一个方面级;

c)在经步骤b)处理后的数据集D中抽取由文本信息辅助表征每个用户u的辅助向量Vu和每一个物品i的辅助向量Vi,结合注意力机制,将辅助向量Vu和辅助向量Vi与嵌入式向量Embu及Embi相融合,得到融合特征向量Attweiahts;

d)将融合特征向量Attweiahts转化为输入向量后,输入用于评分预测的三层神经网络中,得到基于文本处理的方面级可解释深度网络评分预测推荐方法模型,模型的输入为嵌入式向量Embu、Embi以及辅助向量Vu、Vi,模型的输出为用户u对物品i的评分;

步骤b)包括如下步骤:

b‑1)将数据集D中所有的评论文本进行清洗操作,去除非英文字母内容、去除标点符合及特殊符号、将所有英文字母同意转变为小写形式、去除停止词、去除出现次数小于3次级出现次数大于3000次的词语;

b‑2)读取预训练好的Word2Vector文件,将步骤a)中将数据集D中的用户id和物品id进行序号化操作;

b‑3)按获取的序号化顺序,依次读取每个用户的评论文本,将读取的每个用户发表的所有评论内容整合成一整段文字,该整段文字处理成由N个英文单词组成,N=2×K;

b‑4)按获取的序号化顺序,依次读取每个物品的评论文本,将读取的每个物品作出的所有评论内容整合成一整段文字,该整段文字处理成由N个英文单词组成,N=2×K;

b‑5)利用预训练好的Word2Vector文件将b‑3)中得到的每个用户的N个英文单词组成的文本片段中每一个英文单词转化为对应的特征文本向量,得到一个维度为(N,K)的特征矩阵,将该矩阵记为WU;

b‑6)利用预训练好的Word2Vector文件将b‑4)中得到的每个物品的N个英文单词组成的文本片段中每一个英文单词转化为对应的特征文本向量,得到一个维度为(N,K)的特征矩阵,将该矩阵记为WI;

b‑7)利用公式ZU,i=(WU[i‑c/2];…;WU[i];…;WU[i+c/2]),计算用户评论文本中第i个单词的上下文窗口ZU,i,式中c为滑动窗口的宽度;

b‑8)利用公式ZI,i=(WI[i‑c/2];…;WI[i];…;WI[i+c/2]),计算物品评论文本中第i个单词的上下文窗口ZI,i,式中c为滑动窗口的宽度。

2.根据权利要求1所述的基于文本处理的方面级可解释深度网络评分预测推荐方法,其特征在于:步骤a)中用户‑物品‑评分数据集D为Amazon Instant Video公开数据集或Home and Kitchen公开数据集或Tools and Home Improvement公开数据集。

3.根据权利要求1所述的基于文本处理的方面级可解释深度网络评分预测推荐方法,其特征在于:步骤a)中通过pytorch深度学习框架中的nn.Embedding()功能将每一个用户u和每一个物品i转变为代表其自身的嵌入式向量Embu及Embi。

4.根据权利要求1所述的基于文本处理的方面级可解释深度网络评分预测推荐方法,其特征在于:步骤b‑3)及步骤b‑4)中若整段文字长度大于N则从第一个单词开始计算保留整段文字前N个单词,若整段文字长度小于N,则复制整段文字并在原整段文字的末尾进行粘贴,重复复制粘贴操作,直至整段文字的长度大于等于N后取整段文字的前N个单词。

5.根据权利要求1所述的基于文本处理的方面级可解释深度网络评分预测推荐方法,其特征在于,步骤c)包括如下步骤:c‑1)使用卷积神经网络对特征矩阵WU、特征矩阵WI、上下文窗口ZU,i及上下文窗口ZI,i进行特征提取,得到由文本信息辅助表征的每一个用户u的辅助向量Vu和每一个物品i的辅助向量Vi,Vu和Vi的长度为K;

c‑2)通过公式 计算得

到注意力融合特征向量Attweiahts,式中 为向量逐元素对应相加,W为线性映射函数的权重矩阵,b为偏差向量,RELU为线性整流单元激活函数,softmax为用户实现注意力机制的归一化函数Attweiahts的长度为K;

c‑3)通过公式

计算融合了

用户和物品特征信息的融合向量Eui,式中⊙为逐元素相乘。

6.根据权利要求5所述的基于文本处理的方面级可解释深度网络评分预测推荐方法,其特征在于,步骤d)包括如下步骤:d‑1)通过公式Input=Attweiahts⊙Eui计算可解释深度网络评分预测模型的输入向量Input;

d‑2)通过公式 计算得到网络预测出的评分

d‑3)通过公式 计算损失函数L,式中,R为数据集中真实的评分,m为网络预测出的评分 的个数;

d‑4)利用损失函数L对模型进行训练。

说明书 :

基于文本处理的方面级可解释深度网络评分预测推荐方法

技术领域

[0001] 本发明涉及深度学习及推荐系统中评分预测技术领域,具体涉及一种基于文本处理的方面级可解释深度网络评分预测推荐方法。

背景技术

[0002] 在推荐系统领域中,最为经典且被广泛应用的,就是协同过滤思想。但是,传统的协同过滤技术存在诸多问题,例如泛化性一般、冷启动问题、可解释性差等,其中又以可解释性差这一缺点最为人所诟病——由于传统的协同过滤思想旨在分析所谓的“隐式反馈”,将用户信息与物品信息抽象成向量或者其他形式进行处理,试图用这些抽象信息来刻画用户/物品,而这些抽象出的向量无法被人们直观的理解,进而导致了较差的可解释性。

发明内容

[0003] 本发明为了克服以上技术的不足,提供了一种深入挖掘用户与物品之间在“方面”层面上的关联,可以有效刻画该用户的关注习惯,提高了推荐系统的可解释性的推荐方法。
[0004] 本发明克服其技术问题所采用的技术方案是:
[0005] 一种基于文本处理的方面级可解释深度网络评分预测推荐方法,包括如下步骤:
[0006] a)在含评论文本的用户‑物品‑评分数据集D中,将每一个用户u和每一个物品i转变为代表其自身的嵌入式向量Embu及Embi,Embu及Embi的长度为K,K为超参数,K=128;
[0007] b)将数据集D中评论文本信息进行清洗与格式处理,构建评论文本中每一个单词的上下文窗口,每一个构建所得的窗口作为一个方面级;
[0008] c)在经步骤b)处理后的数据集D中抽取由文本信息辅助表征每个用户u的辅助向量Vu和每一个物品i的辅助向量Vi,结合注意力机制,将辅助向量Vu和辅助向量Vi与嵌入式向量Embu及Embi相融合,得到融合特征向量Attweiahts;
[0009] d)建立并训练基于文本信息处理的可解释深度网络评分预测模型,模型的输入为嵌入式向量Embu、Embi以及辅助向量Vu、Vi,模型的输出为用户u对物品i的评分。
[0010] 进一步的,步骤a)中用户‑物品‑评分数据集D为Amazon Instant Video公开数据集或Home and Kitchen公开数据集或Tools and Home Improvement公开数据集。
[0011] 进一步的,步骤a)中通过pytorch深度学习框架中的nn.Embedding()功能将每一个用户u和每一个物品i转变为代表其自身的嵌入式向量Embu及Embi。
[0012] 进一步的,步骤b)包括如下步骤:
[0013] b‑1)将数据集D中所有的评论文本进行清洗操作,去除非英文字母内容、去除标点符合及特殊符号、将所有英文字母同意转变为小写形式、去除停止词、去除出现次数小于3次级出现次数大于3000次的词语;
[0014] b‑2)读取预训练好的Word2Vector文件,将步骤a)中将数据集D中的用户id和物品id进行序号化操作;
[0015] b‑3)按获取的序号化顺序,依次读取每个用户的评论文本,将读取的每个用户发表的所有评论内容整合成一整段文字,该整段文字处理成由N个英文单词组成,N=2×K;
[0016] b‑4)按获取的序号化顺序,依次读取每个物品的评论文本,将读取的每个物品作出的所有评论内容整合成一整段文字,该整段文字处理成由N个英文单词组成,N=2×K;
[0017] b‑5)利用预训练好的Word2Vector文件将b‑3)中得到的每个用户的N个英文单词组成的文本片段中每一个英文单词转化为对应的特征文本向量,得到一个维度为(N,K)的特征矩阵,将该矩阵记为WU;
[0018] b‑6)利用预训练好的Word2Vector文件将b‑4)中得到的每个物品的N个英文单词组成的文本片段中每一个英文单词转化为对应的特征文本向量,得到一个维度为(N,K)的特征矩阵,将该矩阵记为WI;
[0019] b‑7)利用公式ZU,i=(WU[i‑c/2];…;WU[i];…;WU[i+c/2]),计算用户评论文本中第i个单词的上下文窗口ZU,i,式中c为滑动窗口的宽度;
[0020] b‑8)利用公式ZI,i=(WI[i‑c/2];…;WI[i];…;WI[i+c/2]),计算物品评论文本中第i个单词的上下文窗口ZI,i,式中c为滑动窗口的宽度。
[0021] 进一步的,步骤b‑3)及步骤b‑4)中若整段文字长度大于N则从第一个单词开始计算保留整段文字前N个单词,若整段文字长度小于N,则复制整段文字并在原整段文字的末尾进行粘贴,重复复制粘贴操作,直至整段文字的长度大于等于N后取整段文字的前N个单词。
[0022] 进一步的,步骤c)包括如下步骤:
[0023] c‑1)使用卷积神经网络对特征矩阵WU、特征矩阵WI、上下文窗口ZU,i及上下文窗口ZI,i进行特征提取,得到由文本信息辅助表征的每一个用户u的辅助向量Vu和每一个物品i的辅助向量Vi,Vu和Vi的长度为K;
[0024] c‑2)通过公式 计算得到注意力融合特征向量Attweiahts,式中 为向量逐元素对应相加,W为线性映射函数的权重矩阵,b为偏差向量,RELU为线性整流单元激活函数,softmax为用户实现注意力机制的归一化函数Attweiahts的长度为K;
[0025] c‑3)通过公式计算融合了
用户和物品特征信息的融合向量Eui,式中⊙为逐元素相乘。
[0026] 进一步的,步骤d)包括如下步骤:
[0027] d‑1)通过公式Input=Attweiahts⊙Eui计算可解释深度网络评分预测模型的输入向量Input;
[0028] d‑2)通过公式 计算得到网络预测出的评分
[0029] d‑3)通过公式 计算损失函数L,式中,R为数据集中真实的评分,m为网络预测出的评分 的个数;
[0030] d‑4)利用损失函数L对模型进行训练。
[0031] 本发明的有益效果是:通过深入挖掘用户与物品之间在方面级层面上的关联,从而进行精准的、可解释强的评分预测工作,方面级指的就是用户对物品作出评价时所关注的角度。通过深入挖掘用户与物品之间在方面级层面上的关联,可以有效刻画该用户的关注习惯,亦可以从多种角度描述该物品,这些最终都可以体现到评论的文本内容中,被人们直观的理解。在传统的协同过滤推荐思想之上,利用卷积神经网络抽取评论文本中的特征向量作为辅助信息参与评分预测推荐,提升了评分预测推荐效果,从而提高了推荐系统的可解释性。

具体实施方式

[0032] 下面对本发明做进一步说明。
[0033] 一种基于文本处理的方面级可解释深度网络评分预测推荐方法,包括如下步骤:
[0034] a)在含评论文本的用户‑物品‑评分数据集D中,将每一个用户u和每一个物品i转变为代表其自身的嵌入式向量Embu及Embi,Embu及Embi的长度为K,这里我们用字母K表示特征向量的长度,在算法实际运行过程中,K作为一个超参数,可以随着我们的需要而进行调整,例如K可取128、64、32……等。在本文所叙述的实现中,我们设定K=128。
[0035] b)将数据集D中评论文本信息进行清洗与格式处理,构建评论文本中每一个单词的上下文窗口,每一个构建所得的窗口作为一个方面级。
[0036] c)在经步骤b)处理后的数据集D中抽取由文本信息辅助表征每个用户u的辅助向量Vu和每一个物品i的辅助向量Vi,结合注意力机制,将辅助向量Vu和辅助向量Vi与嵌入式向量Embu及Embi相融合,得到融合特征向量Attweiahts。在这个过程中,步骤a)中所得嵌入向量Embu、Embi,步骤b)中所得上下文窗口数量、步骤c)中所得辅助向量Vu、Vi,步骤c)中所得融合特征向量Attweiahts四者间维度保持成比例关系,因此,注意力融合特征向量Attweiahts中每个节点都可与评论文本中的每一个单词上下文窗口相对应,即与每一个方面级相对应。当网络训练完毕后,可以通过读取的各个节点数值,找出其中最大节点的位置,根据比例关系反推出最有价值的上下文窗口位置,也即某一个对当前用户评价当前物品影响最大的方面级。
[0037] d)建立并训练基于文本信息处理的可解释深度网络评分预测模型,模型的输入为嵌入式向量Embu、Embi以及辅助向量Vu、Vi,模型的输出为用户u对物品i的评分。至此也就实现了基于文本信息处理的“方面”偏好可解释深度网络评分预测推荐方法。至此也就实现了基于文本信息处理的“方面”偏好可解释深度网络评分预测推荐方法。
[0038] 通过深入挖掘用户与物品之间在方面级层面上的关联,从而进行精准的、可解释强的评分预测工作,方面级指的就是用户对物品作出评价时所关注的角度,例如对于冰箱这个电器,评论文本中可关注的“方面”可以为外观、制冷效果、性价比等。通过深入挖掘用户与物品之间在方面级层面上的关联,可以有效刻画该用户的关注习惯,亦可以从多种角度描述该物品,这些最终都可以体现到评论的文本内容中,被人们直观的理解。在传统的协同过滤推荐思想之上,利用卷积神经网络(CNN)抽取评论文本中的特征向量作为辅助信息参与评分预测推荐,提升了评分预测推荐效果,从而提高了推荐系统的可解释性。
[0039] 进一步的,步骤a)中采用Amazon(亚马逊)提供的用户‑物品‑评分数据集D,如Amazon Instant Video公开数据集或Home and Kitchen公开数据集或Tools and Home Improvement公开数据集。
[0040] 步骤a)中通过pytorch深度学习框架中的nn.Embedding()功能将每一个用户u和每一个物品i转变为代表其自身的嵌入式向量Embu及Embi。
[0041] 步骤b)包括如下步骤:
[0042] b‑1)将数据集D中所有的评论文本进行清洗操作,去除非英文字母内容、去除标点符合及特殊符号、将所有英文字母同意转变为小写形式、去除停止词、去除出现次数小于3次级出现次数大于3000次的词语。
[0043] b‑2)读取预训练好的Word2Vector文件,Word2Vector文件由Google公司预训练并提供下载,可以实现将任意英文单词转变为对应特征向量的功能。将步骤a)中将数据集D中的用户id和物品id进行序号化操作。具体而言,原版数据集中,用户id按原格式可能表示为“A11N155CW1UV02”等,物品id按原格式可能表示为“B000H00VBQ”等,这种表示方式过于繁琐,不利于查看及后续的数据清洗,故要将它们转化为“0”“1”“2”这种自然标号,称为序号化操作。
[0044] b‑3)按获取的序号化顺序,依次读取每个用户的评论文本,将读取的每个用户发表的所有评论内容整合成一整段文字,该整段文字处理成由N个英文单词组成,N=2×K。
[0045] b‑4)按获取的序号化顺序,依次读取每个物品的评论文本,将读取的每个物品作出的所有评论内容整合成一整段文字,该整段文字处理成由N个英文单词组成,N=2×K。
[0046] b‑5)利用预训练好的Word2Vector文件将b‑3)中得到的每个用户的N个英文单词组成的文本片段中每一个英文单词转化为对应的特征文本向量,得到一个维度为(N,K)的特征矩阵,将该矩阵记为WU。
[0047] b‑6)利用预训练好的Word2Vector文件将b‑4)中得到的每个物品的N个英文单词组成的文本片段中每一个英文单词转化为对应的特征文本向量,得到一个维度为(N,K)的特征矩阵,将该矩阵记为WI。
[0048] b‑7)利用公式ZU,i=(WU[i‑c/2];…;WU[i];…;WU[i+c/2]),计算用户评论文本中第i个单词的上下文窗口ZU,i,式中c为滑动窗口的宽度。
[0049] b‑8)利用公式ZI,i=(WI[i‑c/2];…;WI[i];…;WI[i+c/2]),计算物品评论文本中第i个单词的上下文窗口ZI,i,式中c为滑动窗口的宽度。
[0050] 进一步的,步骤b‑3)及步骤b‑4)中若整段文字长度大于N则从第一个单词开始计算保留整段文字前N个单词,若整段文字长度小于N,则复制整段文字并在原整段文字的末尾进行粘贴,重复复制粘贴操作,直至整段文字的长度大于等于N后取整段文字的前N个单词。
[0051] 进一步的,步骤c)包括如下步骤:
[0052] c‑1)使用卷积神经网络(CNN)对特征矩阵WU、特征矩阵WI、上下文窗口ZU,i及上下文窗口ZI,i进行特征提取,得到由文本信息辅助表征的每一个用户u的辅助向量Vu和每一个物品i的辅助向量Vi,Vu和Vi的长度为K;
[0053] c‑2)通过公式 计算得到注意力融合特征向量Attweiahts,式中 为向量逐元素对应相加,W为线性映射函数的权重矩阵,b为偏差向量,RELU为线性整流单元激活函数,softmax为用户实现注意力机制的归一化函数Attweiahts的长度为K;
[0054] c‑3)通过公式计算融合了
用户和物品特征信息的融合向量Eui,式中⊙为逐元素相乘。
[0055] 进一步的,步骤d)包括如下步骤:
[0056] d‑1)通过公式Input=Attweiahts⊙Eui计算可解释深度网络评分预测模型的输入向量Input;
[0057] d‑2)通过公式 计算得到网络预测出的评分
[0058] d‑3)通过公式 计算损失函数L,式中,R为数据集中真实的评分,m为网络预测出的评分 的个数;
[0059] d‑4)利用损失函数L对模型进行训练。完成基于文本信息处理的“方面”偏好可解释深度网络评分预测推荐方法。