CN112884551B - 一种基于近邻用户和评论信息的商品推荐方法 - Google Patents
一种基于近邻用户和评论信息的商品推荐方法 Download PDFInfo
- Publication number
- CN112884551B CN112884551B CN202110191591.5A CN202110191591A CN112884551B CN 112884551 B CN112884551 B CN 112884551B CN 202110191591 A CN202110191591 A CN 202110191591A CN 112884551 B CN112884551 B CN 112884551B
- Authority
- CN
- China
- Prior art keywords
- comment
- commodity
- data
- user
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012549 training Methods 0.000 claims abstract description 47
- 239000013598 vector Substances 0.000 claims description 335
- 239000010410 layer Substances 0.000 claims description 121
- 230000006870 function Effects 0.000 claims description 48
- 230000004927 fusion Effects 0.000 claims description 38
- 230000003993 interaction Effects 0.000 claims description 36
- 230000002159 abnormal effect Effects 0.000 claims description 32
- 238000007781 pre-processing Methods 0.000 claims description 31
- 239000011159 matrix material Substances 0.000 claims description 21
- 230000004913 activation Effects 0.000 claims description 18
- 210000004027 cell Anatomy 0.000 claims description 18
- 239000002356 single layer Substances 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 9
- 210000002569 neuron Anatomy 0.000 claims description 9
- 230000002441 reversible effect Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000005065 mining Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 241000282326 Felis catus Species 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 230000036651 mood Effects 0.000 claims description 6
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000006467 substitution reaction Methods 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 claims 1
- 238000013506 data mapping Methods 0.000 claims 1
- 238000004806 packaging method and process Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 6
- 230000007246 mechanism Effects 0.000 abstract description 4
- 238000004140 cleaning Methods 0.000 abstract description 3
- 238000011156 evaluation Methods 0.000 abstract description 3
- 239000000284 extract Substances 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Accounting & Taxation (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Finance (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Probability & Statistics with Applications (AREA)
- Development Economics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于近邻用户和评论信息的商品推荐方法,首先对购物平台中用户对于商品的评分评价数据进行数据清洗,得到预处理后商品的评分类和评论类数据,然后借助Doc2vec方法中的PV‑DM模型,根据余弦相似度获取近邻用户和近邻商品辅助建模用户偏好和商品属性,构建训练数据,输入到基于双向长短记忆网络、注意力机制和高阶特征交叉的推荐模型中进行训练和预测商品评分,最终根据预测评分高低进行商品推荐。本发明通过引入基于评论相似度的近邻用户和近邻商品来更准确地建模用户偏好和商品属性,推荐模型通过双向长短记忆网络、注意力机制和高阶特征交叉更加有效地提取用户和商品特征,具有更好的商品推荐效果。
Description
技术领域
本发明涉及商品推荐领域,具体涉及一种基于近邻用户和评论信息的商品推荐方法。
背景技术
商品推荐主要应用于电子购物平台,通过机器学习领域的方法分析用户与购物平台的点击、购买等历史交互行为,构建描述用户兴趣偏好的用户画像,并根据用户画像推荐可能满足用户购买意愿的商品,从而提高整个电子购物平台的商品购买转化率和销售总额。亚马逊(Amazon)是全球最大的电子购物平台之一,据统计,其2019年的商品目录包括1200万种商品,有超过3.53亿款商品出售,面对数量繁多的商品,需要主动推荐最合适的商品来满足用户需求。
近年来,研究者提出了很多根据用户历史交互行为进行商品推荐的方法,主要有三种:基于内容的方法,基于协同过滤的方法和基于深度学习的方法。
现有技术的方法,至少存在如下技术问题:
现有的商品推荐方法都有其不足之处,基于内容的方法要求商品信息具有良好的结构性,能直接获取商品的属性特征,否则无法保证准确的推荐,基于协同过滤的方法需要将历史交互行为数据转换为矩阵,使用矩阵分解技术实现商品推荐,但矩阵存在稀疏问题时,无法准确进行用户偏好预测和商品推荐。已有基于深度学习的方法(CNN、RNN)具有处理非线性复杂关系的能力,但只能处理短文本数据,面对长文本的用户评论数据,处理效果不佳。不准确的用户偏好学习和建模会导致选取不合要求的商品进行推荐,影响电子购物平台最终的商品推荐效果和销售能力。
由此可知,现有技术中的方法存在推荐效果不够准确的问题。
发明内容
有鉴于此,本发明提供了一种基于近邻用户和评论信息的商品推荐方法,用以解决或者部分解决现有技术中的方法存在的推荐效果不够准确的技术问题,包括:
步骤S1:将用户对商品的历史交互记录进行数据预处理,检测出缺失数据、异常数据和无效数据,采用基于数据的补全算法对检测出的缺失数据进行数据补全,并刨除异常数据和无效数据,得到预处理后商品的评分类和评论类数据;
步骤S1具体包括:
步骤1:通过商品的身份编码、商品的评分类数据、商品的评论类数据构建商品的评分评论类数据datak,将商品的评分类数据scorek进行数据预处理得到预处理后商品的评分类数据scorek′,将商品的评论类数据commentk进行数据预处理得到预处理后商品的评论类数据commentk′;
步骤1所述商品评分评论类数据为:
datak={pIDk,socrek,commentk}
k∈[1,K]
其中,datak为第k种商品的评分评论类数据,pIDk为第k种商品的身份编码,scorek为第k种商品的评分类数据,commentk为第k种商品的评论类数据,K为商品的数量;
socrek={(s_uIDk,1,sk,1),...,(s_uIDk,M,sk,M)}
k∈[1,K]
其中,s_uIDk,i为第k种商品的评分类数据中第i个用户的身份编码,sk,i为第k种商品的评分类数据中第i个用户的评分,i∈[1,M],M为用户的数量;
commentk={(c_uIDk,1,ck,1),...,(c_uIDk,M,ck,M)}
k∈[1,K]
其中,c_uIDk,j为第k种商品的评论类数据中第j个用户的身份编码,ck,j为第k种商品的评论类数据中第j个用户的评论,j∈[1,M],M为用户的数量;
对于第k中商品的评论类数据中第j个用户的评论ck,j,进行分词处理后得到评论数组,其表示为:
ck,j=[β1,β2,...βe...,βδ]
其中,βe为评论ck,j包含的第e个元素,具体形式为单词或标点符号,e∈[1,δ],δ为评论ck,j包含元素的数量;
步骤1所述将商品的评分类数据scorek进行数据预处理为:
检测每种商品的评分类数据scorek中的缺失值、每种商品的评分类数据中超出正常阈值范围的异常值,对每种商品的评分类数据中的缺失值按所有正常用户对于该商品的评分的平均值进行填补,对每种商品的评分类数据中的异常值则按所有正常用户对于该商品的评分的平均值进行替换,从而得到预处理后商品的评分类数据scorek′;
所述检测每种商品的评分类数据中的缺失值为:
若sk,i==NULL或者sk,i==”,则判定sk,i为第k种商品的评论类数据中的缺失值,将sk,i的数值置为0,使用Mc记录缺失值的数量,即对该商品存在非正常评分的用户数量,Mc初始值为0,每当检查到一个缺失值,Mc计数加1;
所述对每种商品的评分类数据中的缺失值按所有正常用户对于该商品的评分的平均值Savg进行填补为:
其中,Savg为正常用户对于该商品的评分的平均值,(M-Mc)表示减去非正常评分用户后对该商品进行评分的用户数量;
所述每种商品的评分类数据中超出正常阈值范围的异常值为:
若sk,i≥Tl或者sk,i≤Th,则判定sk,i为第k种商品的评论类数据中超出正常阈值范围的异常值,Tl表示评分所规定的正常阈值的最小值,Th表示评分所规定的正常阈值的最大值;
所述对每种商品的评分类数据中的异常值同样按所有正常用户对于该商品的评分的平均值Savg进行替换,从而得到预处理后的评分类数据scorek′;
对存在缺失值或异常值的评分采取以下公式进行填补或替换,并得到预处理后的评分类数据scorek′:
scorek′={(s_uIDk,1,s′k,1),...,(s_uIDk,M,s′k,M)}
k∈[1,K]
其中,scorek′为第k中商品的评分类数据,s′k,i为经过评分预处理后第k种商品的评分类数据中第i个用户的评分,s_uIDk,i为第k种商品的评分类数据中第i个用户的身份编码,K为商品的数量,M为用户的数量i∈[1,M],当sk,i取值为缺失值或超出正常阈值的异常值时,使用所有正常用户对于该商品的评分的平均值Savg进行填补或替换,其他情况下,取值和未进行评分预处理前第k种商品的评分类数据中第i个用户的评分相同;
步骤1所述将商品的评论类数据commentk进行数据预处理为:
对每种商品的评论类数据commentk中的每个评论数组,删除其中存在的标点符号和语气助词停用词,中文单词保持不变,将英文单词的字母转换为小写,对超出评论长度阈值的数组,在尾部进行截断处理,从而得到预处理后的评论类数据commentk′;
于每个评论数组ck,j=[β1,β2,...,βe,...,βδ],若其中的第e个元素βe为标点符号或语气助词,则从评论数组中删除该元素,若为英文单词且存在大写的字母,则将该字母转换为小写;对超出评论长度阈值的评论数组ck,j,在尾部进行截断处理时,将所有评论数组按评论长度从小到大排列,第85%位数评论数组的评论长度定义为为评论长度阈值θ,对每一个评论数组ck,j,若其超出评论长度阈值,则在尾部进行截断,将评论数组中超出评论长度阈值部分的单词删除,得到新的评论数组c′k,j=[β1,β2...,βe,...,βθ]。经过该处理得到的评论数组为预处理后的评论类数据commentk′;
commentk′={(c_uIDk,1,c′k,1),...,(c_uIDk,M,c′k,M)}
k∈[1,K]
其中,commentk′为第k中商品的评论类数据,s′k,i为经过评论预处理后第k种商品的评论类数据中第j个用户的评分,c_uIDk,j为第k种商品的评论类数据中第j个用户的身份编码;
步骤S2:使用预处理后的评论类数据commentk′训练Doc2Vec方法中的PV-DM模型,使用训练好的PV-DM模型将评论类数据中的评论数组转化为评论特征向量,根据评论特征向量的余弦相似度获取具有相似偏好的近邻用户和相似属性的商品,作为辅助用户a_uIDk,j和辅助商品a_pIDk,j,结合预处理后的评分类数据commentk′、预处理后的评论类数据scorek′重新封装为训练数据train_datak;
步骤S2具体包括:
步骤S2.1:使用预处理后的评论类数据commentk′训练Doc2Vec方法中PV-DM模型,其将评论数组中的每个单词作为目标单词βd,其中d是指评论中的第d个单词,使用其周围的2z个单词[βd-z,...,βd-1,βd+1,...,βd+z]来预测目标单词βd的词向量ωd,训练完成后,得到每个评论数组ck,j的评论特征向量αk,j和评论数组中每个单词的词向量ωd;
步骤S2.1具体包括:
步骤S2.1.1:将预处理后的评论类数据输入到PV-DM模型中;
步骤S2.1.2:对于步骤S2.1.1中预处理后的评论类数据,将其中的每个评论数组ck,j和评论数组中每个单词βd分别映射成唯一的评论特征向量αk,j和唯一的词向量ωd,将所有评论特征向量αk,j按列组成矩阵S,将所有词向量ωd按列组成矩阵M;
步骤S2.1.3:依次将输入的评论特征向量αk,j和该评论中目标单词周围2z个单词的词向量[ωd-z,...,ωd-1,ωd+1,...,ωd+z]进行累加,再输入到模型的Softmax层进行归一化输出,得到目标单词对应词向量ωd的预测概率;
步骤S2.1.4:构建目标函数L,保持评论特征向量αk,j不变,使用Adam优化器对目标函数进行迭代优化,使用随机梯度下降来更新词向量ωd,最终得到训练好的PV-DM模型,构建的目标函数为词向量的最大化平均概率:
其中,D表示词向量个数,ωd表示评论中的第d个单词的词向量,ωd-z,ωd+z表示评论中第d个单词附近的第d-z,d+z个单词的词向量,p(ωd|ωd-z,...,ωd+z)表示第d个单词对应其周围2z个单词的后验概率,预测任务通常是通过多分类完成的,因此有:
其中,表示第j个词向量未归一化的对数概率,yj的计算公式为:
y=a+Uq(ωd-k,...,ωd+k;M,S)
其中U,a表示的是softmax函数的参数,q是从M和S矩阵中提取的评论标识向量αk,j和词向量ωd平均或连接构成。
步骤S2.2:使用训练好的PV-DM模型对预处理后的评论类数据中的每个评论数组ck,j进行转换,得到评论特征向量αk,j;
其中评论特征向量αk,j的表达形式如下:
αk,j=(y1,y2,...,yθ)
其表示一个特征维度为θ的评论特征向量,是将步骤S1.3中由单词组成的评论数组转换成数学领域中的向量形式,yθ表示该向量第θ个维度的分量;
步骤S2.3:计算步骤S2.2中得到的不同评论特征向量αk,j之间的余弦相似度,获取与每一条评论特征向量αk,j的余弦相似度最高的评论特征向量取该评论特征向量在预处理后的评论类数据commentk′中对应的评论数组将评论对应的近邻用户和近邻商品作为辅助用户a_uIDk,j和辅助商品a_pIDk,j,其中近邻用户表示具有相似偏好的用户,近邻商品表示具有相似属性的商品,近似用户对应评论类数据中第种商品的评论类数据中第个用户的身份编码,近似商品对应第种商品;
给定两个评论特征向量B和C,其余弦相似度的计算公式如下:
其中Bj,Cj分别表示评论特征向量B和C的第j个维度分量,n表示向量的特征维度,评论特征向量的余弦相似度的取值范围从0到1,越趋近于0,表示两个评论特征向量的余弦相似度越低,越趋近于1,则表示两个评论特征向量的余弦相似度越高。
步骤S2.4:将预处理后的评分类数据scorek′、预处理后的评论类数据commentk′、获取的辅助用户a_uIDk,j和辅助商品a_pIDk,j数据重新拼接并封装成字典类型的数据,作为训练数据train_datak;
其中封装成字典类型的训练数据为:
train_datak={pIDk,s_uIDk,j,sk,j,ck,j,a_uIDk,j,a_pIDk,j}
k∈[1,K]
其中,train_datak为第k种商品的训练数据,pIDk为第k种商品的身份编码,s_uIDk,j为第k种商品的评分类数据中第j个用户的身份编码,sk,j为第k种商品的评分类数据中第j个用户的评分,ck,j为第k种商品的评论类数据中第j个用户的评论数组,a_uIDk,j和a_pIDk,j分别为第k种商品的评论类数据中第j个用户的评论对应的辅助用户和辅助商品,j∈[1,M],M为用户的数量;
步骤S3:构建损失函数,利用训练数据train_datak对预先构建的基于双向长短记忆网络的深度模型进行训练,获得训练好的商品评分预测模型;
步骤S3采用的损失函数为均方误差损失函数,预先构建的基于双向长短记忆网络的深度模型包含嵌入层、评论特征提取层、注意力层、融合层、高阶特征交互层和预测层,步骤S3具体包括:
步骤S3.1:将训练数据train_datak输入到预先构建的基于双向长短记忆网络的深度模型,由嵌入层将训练数据中的用户身份编码s_uIDk,j、商品身份编码pIDk、辅助用户a_uIDk,j、辅助商品a_pIDk,j和评论数组ck,j转换为用户稠密向量U、商品稠密向量P、辅助用户稠密向量Au、辅助商品稠密向量Ap和评论数组中所有单词组成的稠密向量矩阵X;
步骤S3.2:将评论的稠密向量矩阵X继续输入到由双向长短记忆网络构成的评论特征提取层,从而得到包含用户偏好和商品属性的评论特征向量G;
步骤S3.3:将评论特征向量G输入到注意力层,计算不同评论特征向量所包含的用户偏好和商品属性权重,根据计算出的权重对评论特征向量进行加权融合;
步骤S3.4:将用户与辅助用户、商品和辅助商品稠密向量分别输入到各自的注意力层,计算出辅助用户与用户、辅助商品与商品之间的相关性系数,根据相关性系数将辅助用户与用户、辅助商品与商品稠密向量进行加权融合,得到融合后的用户特征向量U′和商品特P′;
步骤S3.5:将融合后的用户特征向量U′和商品特征向量P′进行水平拼接,得到拼接后的融合特征向量F;
步骤S3.6:将拼接得到的融合特征向量F输入到高阶特征交互层,该层由深度交叉网络(DCN)构成,分为深度网络(Deep Network)和交叉网络(Cross Network)两个部分,深度网络挖掘融合特征向量中的简单组合特征,交叉网络挖掘融合特征向量中的复杂组合特征,将挖掘出的简单组合特征向量和复杂组合特征向量进行水平拼接,得到可用于后续预测的高阶交互特征向量F′;
步骤S3.7:将高阶交互特征向量F′输入到由全连接神经网络组成的预测层中,实现用户对商品的评分预测,迭代优化损失函数,更新模型参数,获得训练好的商品评分预测模型。
双向长短记忆网络包含正向和逆向两个长短记忆网络,每个长短记忆网络包含遗忘门、输入门和输出门,用于保护和控制细胞状态,步骤S3.2中双向长短记忆网络的计算过程如下:
步骤S3.2.1:通过遗忘门决定将要从细胞状态中丢弃的信息:
ft=σ(Wf·[ht-1,xt]+bf)
步骤S3.2.2:通过输入门决定细胞状态中存储的信息,以及创建候选向量:
it=σ(Wi·[ht-1,xt]+bi)
步骤S3.2.3:将细胞状态中存储的向量和候选向量结合来创建更新值:
步骤S3.2.4:通过输出门决定细胞状态中输出的信息,其中隐藏层状态会通过tanh函数进行归一化:
ot=σ(Wo·[ht-1,xt]+bo)
ht=ot·tanh(Ct)
步骤S3.2.5:将正向和逆向长短记忆网络的输出在同一维度上进行拼接,从而得到整个双向长短记忆网络的输出:
hbi=cat[hl,hr]
其中,σ表示sigmoid函数,tanh表示tanh激活函数,Wf、Wi、Wc、Wo为权重矩阵,bf、bi、bc、bo为偏置项,ft、it、ot表示t时刻遗忘门、输入门和输出门的输出,ht是t时刻的输出,xt是t时刻的输入,即评论的稠密向量矩阵X中的第t个词向量,Ct是t时刻的细胞状态,为t时刻的生成的候选向量,hl、hr分别为长短记忆网络正向和逆向训练输出的特征向量,cat表示在同一维度进行向量拼接,hbi为hl、hr拼接后的特征向量,即经过双向长短记忆网络进行特征提取后得到评论特征向量。
基于评论的注意力层用于计算不同评论的重要程度,实现评论特征向量的融合,步骤S3.3具体包括:
步骤S3.3.1:将用户特征向量与评论特征向量进行拼接,通过单层全连接层获得评论与用户偏好之间的相关性特征向量,全连接层含有128个神经元;
步骤S3.3.2:通过sigmoid激活函数,将单层全连接层得到的相关性特征向量映射到0-1区间,作为各评论的重要性权重;
步骤S3.3.3:将得到的评论权重与评论特征提取层得到评论特征向量相乘,获得更新注意力权重后的评论特征向量。
基于辅助用户和辅助商品的注意力层用于计算不同辅助用户和辅助商品的重要程度,并与用户特征以及商品特征进行融合,从而对用户偏好和商品属性的特征进行修正,步骤S3.4具体包括:
步骤S3.4.1:将用户特征向量与辅助用户特征向量进行拼接,通过单层全连接层获得辅助用户与用户偏好之间的相关性特征向量,全连接层含有128个神经元;
步骤S3.4.2:通过sigmoid激活函数,将单层全连接层得到的相关性特征向量映射到0-1区间,作为各辅助用户的重要性权重;
步骤S3.4.3:将得到的辅助用户权重与辅助用户特征向量相乘,获得更新注意力权重后的辅助用户特征向量;
步骤S3.4.4:将更新注意力权重后的辅助用户特征向量与用户向量相加,从而得到修正后的用户特征向量;
步骤S3.4.5:将商品特征向量与辅助商品特征向量进行拼接,通过单层全连接层获得辅助商品与商品属性之间的相关性特征向量,全连接层含有128个神经元;
步骤S3.4.6:通过sigmoid激活函数,将单层全连接层得到的相关性特征向量映射到0-1区间,作为各辅助商品的重要性权重;
步骤S3.4.7:将得到的辅助商品权重与辅助商品特征向量相乘,获得更新注意力权重后的辅助商品特征向量;
步骤S3.4.8:将更新注意力权重后的辅助商品特征向量与商品向量相加,从而得到修正后的商品特征向量;
由深度交叉网络构成的高阶特征交互层分为深度网络和交叉网络两个部分,步骤S3.6具体包括:
步骤S3.6.1:将步骤S3.5中得到融合特征向量F输入到深度网络中,挖掘简单组合特征,深度网络是一个多层的全连接神经网络(DNN),挖掘简单组合特征的计算公式如下:
Hl+1=f(Wn,lHl+bn,l)
其中Hl、Hl+1分别为l、l+1层的输出,Wn,l、bn,l分别为该层的参数和偏置项。第一层的输入H0为输入的融合特征向量F,f为ReLU激活函数。深度网络通过多次对不同特征进行加权融合得到简单组合特征。
步骤S3.6.2:将步骤S3.5中得到融合特征向量F输入到交叉网络中,挖掘复杂组合特征,深度网络是一个多层的特征交叉层,挖掘复杂组合特征的计算公式如下:
其中Fl、Fl+1分别表示的第l、l+1层的输出,Wc,l、bc,l分别为该层的参数和偏置项,第一层输入F0为输入的融合特征向量F,f为ReLU激活函数。深度网络通过多次对不同层的交叉特征进行加权融合得到复杂组合特征。
步骤S3.6.3:将深度网络中挖掘出的简单组合特征向量和交叉网络中挖掘出的复杂组合特征向量进行水平拼接,得到可用于后续预测的高阶交互特征向量F′。
步骤S4:利用训练好的商品评分预测模型对待预测的商品进行评分预测,取预测评分最高的N个商品推荐给用户。
步骤S4具体包括:
步骤S4.1:将用户未交互即浏览或购买的商品数据输入到训练好的商品评分预测模型,预测用户对商品的评分;
步骤S4.2:按预测评分对商品进行降序排列,取评分最高的N个商品推荐给用户;
本发明的有益效果为:
本发明提供了一种基于近邻用户和评论信息的商品推荐方法,首先对购物历史记录中的用户评分评论信息进行数据预处理,检测出缺失数据、异常数据和无效数据,采用基于数据的补全算法对检测出的缺失数据进行数据补全,并刨除异常数据和无效数据,得到完整有效的评分和评论两类数据;接着通过计算评论相似度获取具有相似偏好或属性的辅助用户和辅助商品,结合已有的评分和评论数据生成训练数据;再利用训练数据对预先构建的基于双向长短记忆网络的深度模型进行训练,获得训练好的商品评分预测模型;最后利用训练好的商品评分预测模型对待预测的商品进行评分预测,再根据预测评分选取分数最高的N个商品进行推荐。
通过本发明的方法,可以利用基于PV-DM模型的Doc2vec方法将评论信息转化为包含用户偏好和商品属性的评论特征向量,然后通过计算不同评论特征向量的余弦相似度获取与目标用户偏好相似的辅助用户以及与目标商品属性相似的辅助商品,借助辅助用户、辅助商品与目标用户、目标商品之间的共性关系,提高用户偏好和商品属性的构建能力。另外训练的基于双向长短记忆网络的深度模型可以同时从正序和逆序的方向提取评论中的关键信息,更有效地提取评论中包含的用户偏好和商品属性特征,最终提高整个模型预测用户对商品评分的准确性,因而具有很好的实用性。
进一步地,通过预测用户对商品的评分,选取出高评分的商品并推荐给用户,即可主动为用户找到符合兴趣偏好的商品,提高整个电子购物平台的商品购买转化率和销售总额。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明基于近邻用户和评论信息的商品推荐方法的流程图;
图2是本发明实施例中根据评论相似度获取近邻用户和近邻商品的流程图;
图3是本发明实施例中高阶特征交互层的结构示意图;
图4是本发明基于评论相似度和双向长短记忆网络的商品推荐方法所提出模型的总体框架示意图;
图5是本发明实施例中不同向量维度与预测结果之间的关系示意图;
具体实施方式
本申请发明人通过大量的研究与实践发现:
商品推荐主要应用于电子购物平台,通过机器学习领域的方法分析用户与购物平台的点击、购买等历史交互行为,构建描述用户兴趣偏好的用户画像,并根据用户画像推荐可能满足用户购买意愿的商品,从而提高整个电子购物平台的商品购买转化率和销售总额。因此,如何根据用户的历史交互行为数据去预测用户对未交互商品的喜好程度,并根据喜好程度有针对性地向用户展示和推荐商品,是商品推荐领域需要解决的关键问题之一。
基于以上考虑,本发明提供了一种基于近邻用户和评论信息的商品推荐方法,能够根据用户的历史交互记录中的评分和评论数据准确构建描述用户偏好的用户画像,为电子购物平台推荐满足用户偏好和需求的商品提供了依据,从而带来最优的用户购物体验和提高商品的购买转化率,具有很好的实用性。
为了解决上述技术问题,本发明的主要构思如下:
1)将用户对商品的历史交互记录进行数据清洗,检测出缺失数据、异常数据和无效数据,采用基于数据的补全算法对检测出的缺失数据进行数据补全,并刨除异常数据和无效数据,得到预处理后商品的评分类和评论类数据;2)通过计算评论相似度获取具有相似偏好的近邻用户和相似属性的近邻商品,作为辅助用户和辅助商品,结合已有的评分和评论数据生成训练数据,用于更好得构建用户画像和商品属性;3)引入双向长短记忆网络,用于更好地提取长评论中的特征信息;4)引入注意力机制,用于区分不同评论、辅助用户和辅助商品的重要程度;5)引入深度交叉网络(DCN),挖掘数据中的高阶交互特征,提高商品评分预测模型的预测能力;6)利用训练好的商品评分预测模型对待预测的商品进行评分预测,取预测评分最高的N个商品推荐给用户。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供了一种基于近邻用户和评论信息的商品推荐方法,请参见图1,该方法包括以下步骤:
步骤S1:将用户对商品的历史交互记录进行数据预处理,检测出缺失数据、异常数据和无效数据,采用基于数据的补全算法对检测出的缺失数据进行数据补全,并刨除异常数据和无效数据,得到预处理后商品的评分类和评论类数据;
在一种实施方式中,步骤S1具体包括:
步骤1:通过商品的身份编码、商品的评分类数据、商品的评论类数据构建商品的评分评论类数据datak,将商品的评分类数据scorek进行数据预处理得到预处理后商品的评分类数据scorek′,将商品的评论类数据commentk进行数据预处理得到预处理后商品的评论类数据commentk′;
步骤1所述商品评分评论类数据为:
datak={pIDk,socrek,commentk}
k∈[1,K]
其中,datak为第k种商品的评分评论类数据,pIDk为第k种商品的身份编码,scorek为第k种商品的评分类数据,commentk为第k种商品的评论类数据,K=3568为商品的数量;
socrek={(s_uIDk,1,sk,1),...,(s_uIDk,M,sk,M)}
k∈[1,K]
其中,s_uIDk,i为第k种商品的评分类数据中第i个用户的身份编码,sk,i为第k种商品的评分类数据中第i个用户的评分,i∈[1,M],M=5541为用户的数量;
commentk={(c_uIDk,1,ck,1),...,(c_uIDk,M,ck,M)}
k∈[1,K]
其中,c_uIDk,j为第k种商品的评论类数据中第j个用户的身份编码,ck,j为第k种商品的评论类数据中第j个用户的评论,j∈[1,M],M=5541为用户的数量;
对于第k中商品的评论类数据中第j个用户的评论ck,j,进行分词处理后得到评论数组,其表示为:
ck,j=[β1,β2,...βe...,βδ]
其中,βe为评论ck,j包含的第e个元素,具体形式为单词或标点符号,e∈[1,δ],δ为评论ck,j包含元素的数量;
步骤1所述将商品的评分类数据scorek进行数据预处理为:
检测每种商品的评分类数据scorek中的缺失值、每种商品的评分类数据中超出正常阈值范围的异常值,对每种商品的评分类数据中的缺失值按所有正常用户对于该商品的评分的平均值进行填补,对每种商品的评分类数据中的异常值则按所有正常用户对于该商品的评分的平均值进行替换,从而得到预处理后商品的评分类数据scorek′;
所述检测每种商品的评分类数据中的缺失值为:
若sk,i==NULL或者sk,i==”,则判定sk,i为第k种商品的评论类数据中的缺失值,将sk,i的数值置为0,使用Mc记录缺失值的数量,即对该商品存在非正常评分的用户数量,Mc初始值为0,每当检查到一个缺失值,Mc计数加1;
所述对每种商品的评分类数据中的缺失值按所有正常用户对于该商品的评分的平均值Savg进行填补为:
其中,Savg为正常用户对于该商品的评分的平均值,(M-Mc)表示减去非正常评分用户后对该商品进行评分的用户数量;
所述每种商品的评分类数据中超出正常阈值范围的异常值为:
若sk,i≥Tl或者sk,i≤Th,则判定sk,i为第k种商品的评论类数据中超出正常阈值范围的异常值,Tl=1表示评分所规定的正常阈值的最小值,Th=5表示评分所规定的正常阈值的最大值;
所述对每种商品的评分类数据中的异常值同样按所有正常用户对于该商品的评分的平均值Savg进行替换,从而得到预处理后的评分类数据scorek′;
对存在缺失值或异常值的评分采取以下公式进行填补或替换,并得到预处理后的评分类数据scorek′:
scorek′={(s_uIDk,1,s′k,1),...,(s_uIDk,M,s′k,M)}
k∈[1,K]
其中,scorek′为第k中商品的评分类数据,s′k,i为经过评分预处理后第k种商品的评分类数据中第i个用户的评分,s_uIDk,i为第k种商品的评分类数据中第i个用户的身份编码,K=3568为商品的数量,M=5541为用户的数量i∈[1,M],当sk,i取值为缺失值或超出正常阈值的异常值时,使用所有正常用户对于该商品的评分的平均值Savg进行填补或替换,其他情况下,取值和未进行评分预处理前第k种商品的评分类数据中第i个用户的评分相同;
步骤1所述将商品的评论类数据commentk进行数据预处理为:
对每种商品的评论类数据commentk中的每个评论数组,删除其中存在的标点符号和语气助词停用词,中文单词保持不变,将英文单词的字母转换为小写,对超出评论长度阈值的数组,在尾部进行截断处理,从而得到预处理后的评论类数据commentk′;
于每个评论数组ck,j=[β1,β2,...,βe,...,βδ],若其中的第e个元素βe为标点符号或语气助词,则从评论数组中删除该元素,若为英文单词且存在大写的字母,则将该字母转换为小写;对超出评论长度阈值的评论数组ck,j,在尾部进行截断处理时,将所有评论数组按评论长度从小到大排列,第85%位数评论数组的评论长度定义为为评论长度阈值θ=155,对每一个评论数组ck,j,若其超出评论长度阈值,则在尾部进行截断,将评论数组中超出评论长度阈值部分的单词删除,得到新的评论数组c′k,j=[β1,β2...,βe,...,βθ]。经过该处理得到的评论数组为预处理后的评论类数据commentk′;
commentk′={(c_uIDk,1,ck,1),...,(c_uIDk,M,ck,M)}
k∈[1,K]
其中,commentk′为第k中商品的评论类数据,s′k,i为经过评论预处理后第k种商品的评论类数据中第j个用户的评分,c_uIDk,j为第k种商品的评论类数据中第j个用户的身份编码,K=3568为商品的数量;
步骤S2:使用预处理后的评论类数据commentk′训练Doc2Vec方法中的PV-DM模型,使用训练好的PV-DM模型将评论类数据中的评论数组转化为评论特征向量,根据评论特征向量的余弦相似度获取具有相似偏好的近邻用户和相似属性的商品,作为辅助用户a_uIDk,j和辅助商品a_pIDk,j,结合预处理后的评分类数据commentk′、预处理后的评论类数据scorek′重新封装为训练数据train_datak图2展示了根据评论相似度获取近邻用户和近邻商品的流程图;
步骤S2具体包括:
步骤S2.1:使用预处理后的评论类数据commentk′训练Doc2Vec方法中PV-DM模型,其将评论数组中的每个单词作为目标单词βd,其中d是指评论中的第d个单词,使用其周围的2z个单词[βd-z,...,βd-1,βd+1,...,βd+z]来预测目标单词βd的词向量ωd,训练完成后,得到每个评论数组ck,j的评论特征向量αk,j和评论数组中每个单词的词向量ωd;
步骤S2.1具体包括:
步骤S2.1.1:将预处理后的评论类数据输入到PV-DM模型中;
步骤S2.1.2:对于步骤S2.1.1中预处理后的评论类数据,将其中的每个评论数组ck,j和评论数组中每个单词βd分别映射成唯一的评论特征向量αk,j和唯一的词向量ωd,将所有评论特征向量αk,j按列组成矩阵S,将所有词向量ωd按列组成矩阵M;
步骤S2.1.3:依次将输入的评论特征向量αk,j和该评论中目标单词周围2z个单词的词向量[ωd-z,...,ωd-1,ωd+1,...,ωd+z]进行累加,再输入到模型的Softmax层进行归一化输出,得到目标单词对应词向量ωd的预测概率;
步骤S2.1.4:构建目标函数L,保持评论特征向量αk,j不变,使用Adam优化器对目标函数进行迭代优化,使用随机梯度下降来更新词向量ωd,最终得到训练好的PV-DM模型,构建的目标函数为词向量的最大化平均概率:
其中,D表示词向量个数,ωd表示评论中的第d个单词的词向量,ωd-z,ωd+z表示评论中第d个单词附近的第d-z,d+z个单词的词向量,p(ωd|ωd-z,...,ωd+z)表示第d个单词对应其周围2z个单词的后验概率,预测任务通常是通过多分类完成的,因此有:
其中,表示第j个词向量未归一化的对数概率,yj的计算公式为:
y=a+Uq(ωd-k,...,ωd+k;M,S)
其中U,a表示的是softmax函数的参数,q是从M和S矩阵中提取的评论标识向量αk,j和词向量ωd平均或连接构成。
步骤S2.2:使用训练好的PV-DM模型对预处理后的评论类数据中的每个评论数组ck,j进行转换,得到评论特征向量αk,j;
其中评论特征向量αk,j的表达形式如下:
αk,j=(y1,y2,...,yθ)
其表示一个特征维度为θ=100的评论特征向量,是将步骤S1.3中由单词组成的评论数组转换成数学领域中的向量形式,yθ表示该向量第θ个维度的分量;
步骤S2.3:计算步骤S2.2中得到的不同评论特征向量αk,j之间的余弦相似度,获取与每一条评论特征向量αk,j的余弦相似度最高的评论特征向量取该评论特征向量在预处理后的评论类数据commentk′中对应的评论数组将评论对应的近邻用户和近邻商品作为辅助用户a_uIDk,j和辅助商品a_pIDk,j,其中近邻用户表示具有相似偏好的用户,近邻商品表示具有相似属性的商品,在具体实施过程中,近似用户对应评论类数据中第种商品的评论类数据中第个用户的身份编码,近似商品对应第种商品;
在具体的实施过程中,给定两个评论特征向量B和C,其余弦相似度的计算公式如下:
其中Bj,Cj分别表示评论特征向量B和C的第j个维度分量,n表示向量的特征维度,评论特征向量的余弦相似度的取值范围从0到1,越趋近于0,表示两个评论特征向量的余弦相似度越低,越趋近于1,则表示两个评论特征向量的余弦相似度越高。
步骤S2.4:将预处理后的评分类数据scorek′、预处理后的评论类数据commentk′、获取的辅助用户a_uIDk,j和辅助商品a_pIDk,j数据重新拼接并封装成字典类型的数据,作为训练数据train_datak;
其中封装成字典类型的训练数据为:
train_datak={pIDk,s_uIDk,j,sk,j,ck,j,a_uIDk,j,a_piDk,j}
k∈[1,K]
其中,train_datak为第k种商品的训练数据,pIDk为第k种商品的身份编码,s_uIDk,j为第k种商品的评分类数据中第j个用户的身份编码,sk,j为第k种商品的评分类数据中第j个用户的评分,ck,j为第k种商品的评论类数据中第j个用户的评论数组,a_uIDk,j和a_pIDk,j分别为第k种商品的评论类数据中第j个用户的评论对应的辅助用户和辅助商品,j∈[1,M],M=5541为用户的数量;
步骤S3:构建损失函数,利用训练数据train_datak对预先构建的基于双向长短记忆网络的深度模型进行训练,获得训练好的商品评分预测模型;
在一种实施方式中,步骤S3采用的损失函数为均方误差损失函数,预先构建的基于双向长短记忆网络的深度模型包含嵌入层、评论特征提取层、注意力层、融合层、高阶特征交互层和预测层,步骤S3具体包括:
步骤S3.1:将训练数据train_datak输入到预先构建的基于双向长短记忆网络的深度模型,由嵌入层将训练数据中的用户身份编码s_uIDk,j、商品身份编码pIDk、辅助用户a_uIDk,j、辅助商品a_pIDk,j和评论数组ck,j转换为用户稠密向量U、商品稠密向量P、辅助用户稠密向量Au、辅助商品稠密向量Ap和评论数组中所有单词组成的稠密向量矩阵X;
步骤S3.2:将评论的稠密向量矩阵X继续输入到由双向长短记忆网络构成的评论特征提取层,从而得到包含用户偏好和商品属性的评论特征向量G;
步骤S3.3:将评论特征向量G输入到注意力层,计算不同评论特征向量所包含的用户偏好和商品属性权重,根据计算出的权重对评论特征向量进行加权融合;
步骤S3.4:将用户与辅助用户、商品和辅助商品稠密向量分别输入到各自的注意力层,计算出辅助用户与用户、辅助商品与商品之间的相关性系数,根据相关性系数将辅助用户与用户、辅助商品与商品稠密向量进行加权融合,得到融合后的用户特征向量U′和商品特P′;
步骤S3.5:将融合后的用户特征向量U′和商品特征向量P′进行水平拼接,得到拼接后的融合特征向量F;
步骤S3.6:将拼接得到的融合特征向量F输入到高阶特征交互层,该层由深度交叉网络(DCN)构成,分为深度网络(Deep Network)和交叉网络(Cross Network)两个部分,深度网络挖掘融合特征向量中的简单组合特征,交叉网络挖掘融合特征向量中的复杂组合特征,将挖掘出的简单组合特征向量和复杂组合特征向量进行水平拼接,得到可用于后续预测的高阶交互特征向量F′;
步骤S3.7:将高阶交互特征向量F′输入到由全连接神经网络组成的预测层中,实现用户对商品的评分预测,迭代优化损失函数,更新模型参数,获得训练好的商品评分预测模型。
在一种实施方式中,双向长短记忆网络包含正向和逆向两个长短记忆网络,每个长短记忆网络包含遗忘门、输入门和输出门,用于保护和控制细胞状态,步骤S3.2中双向长短记忆网络的计算过程如下:
步骤S3.2.1:通过遗忘门决定将要从细胞状态中丢弃的信息:
ft=σ(Wf·[ht-1,xt]+bf)
步骤S3.2.2:通过输入门决定细胞状态中存储的信息,以及创建候选向量:
it=σ(Wi·[ht-1,xt]+bi)
步骤S3.2.3:将细胞状态中存储的向量和候选向量结合来创建更新值:
步骤S3.2.4:通过输出门决定细胞状态中输出的信息,其中隐藏层状态会通过tanh函数进行归一化:
ot=σ(Wo·[ht-1,xt]+bo)
ht=ot·tanh(Ct)
步骤S3.2.5:将正向和逆向长短记忆网络的输出在同一维度上进行拼接,从而得到整个双向长短记忆网络的输出:
hbi=cat[hl,hr]
其中,σ表示sigmoid函数,tanh表示tanh激活函数,Wf、Wi、Wc、Wo为权重矩阵,bf、bi、bc、bo为偏置项,ft、it、ot表示t时刻遗忘门、输入门和输出门的输出,ht是t时刻的输出,xt是t时刻的输入,即评论的稠密向量矩阵X中的第t个词向量,Ct是t时刻的细胞状态,为t时刻的生成的候选向量,hl、hr分别为长短记忆网络正向和逆向训练输出的特征向量,cat表示在同一维度进行向量拼接,hbi为hl、hr拼接后的特征向量,即经过双向长短记忆网络进行特征提取后得到评论特征向量。
在一种实施方式中,基于评论的注意力层用于计算不同评论的重要程度,实现评论特征向量的融合,步骤S3.3具体包括:
步骤S3.3.1:将用户特征向量与评论特征向量进行拼接,通过单层全连接层获得评论与用户偏好之间的相关性特征向量,全连接层含有128个神经元;
步骤S3.3.2:通过sigmoid激活函数,将单层全连接层得到的相关性特征向量映射到0-1区间,作为各评论的重要性权重;
步骤S3.3.3:将得到的评论权重与评论特征提取层得到评论特征向量相乘,获得更新注意力权重后的评论特征向量。
在一种实施方式中,基于辅助用户和辅助商品的注意力层用于计算不同辅助用户和辅助商品的重要程度,并与用户特征以及商品特征进行融合,从而对用户偏好和商品属性的特征进行修正,步骤S3.4具体包括:
步骤S3.4.1:将用户特征向量与辅助用户特征向量进行拼接,通过单层全连接层获得辅助用户与用户偏好之间的相关性特征向量,全连接层含有128个神经元;
步骤S3.4.2:通过sigmoid激活函数,将单层全连接层得到的相关性特征向量映射到0-1区间,作为各辅助用户的重要性权重;
步骤S3.4.3:将得到的辅助用户权重与辅助用户特征向量相乘,获得更新注意力权重后的辅助用户特征向量;
步骤S3.4.4:将更新注意力权重后的辅助用户特征向量与用户向量相加,从而得到修正后的用户特征向量;
步骤S3.4.5:将商品特征向量与辅助商品特征向量进行拼接,通过单层全连接层获得辅助商品与商品属性之间的相关性特征向量,全连接层含有128个神经元;
步骤S3.4.6:通过sigmoid激活函数,将单层全连接层得到的相关性特征向量映射到0-1区间,作为各辅助商品的重要性权重;
步骤S3.4.7:将得到的辅助商品权重与辅助商品特征向量相乘,获得更新注意力权重后的辅助商品特征向量;
步骤S3.4.8:将更新注意力权重后的辅助商品特征向量与商品向量相加,从而得到修正后的商品特征向量;
在一种实施方式中,由深度交叉网络构成的高阶特征交互层分为深度网络和交叉网络两个部分,图3展示了高阶特征交互层的结构示意图,步骤S3.6具体包括:
步骤S3.6.1:将步骤S3.5中得到融合特征向量F输入到深度网络中,挖掘简单组合特征,深度网络是一个多层的全连接神经网络(DNN),挖掘简单组合特征的计算公式如下:
Hl+1=f(Wn,lHl+bn,l)
其中Hl、Hl+1分别为l、l+1层的输出,Wn,l、bn,l分别为该层的参数和偏置项。第一层的输入H0为输入的融合特征向量F,f为ReLU激活函数。深度网络通过多次对不同特征进行加权融合得到简单组合特征。
步骤S3.6.2:将步骤S3.5中得到融合特征向量F输入到交叉网络中,挖掘复杂组合特征,深度网络是一个多层的特征交叉层,挖掘复杂组合特征的计算公式如下:
其中Fl、Fl+1分别表示的第l、l+1层的输出,Wc,l、bc,l分别为该层的参数和偏置项,第一层输入F0为输入的融合特征向量F,f为ReLU激活函数。深度网络通过多次对不同层的交叉特征进行加权融合得到复杂组合特征。
步骤S3.6.3:将深度网络中挖掘出的简单组合特征向量和交叉网络中挖掘出的复杂组合特征向量进行水平拼接,得到可用于后续预测的高阶交互特征向量F′。
步骤S4:利用训练好的商品评分预测模型对待预测的商品进行评分预测,取预测评分最高的N个商品推荐给用户。
在一种实施方式中,步骤S4具体包括:
步骤S4.1:将用户未交互(浏览、购买)的商品数据输入到训练好的商品评分预测模型,预测用户对商品的评分;
步骤S4.2:按预测评分对商品进行降序排列,取评分最高的N个商品推荐给用户;
下面是应用本发明的方法进行商品推荐的具体实施例,以亚马逊购物平台中的4个不同类别商品数据集进行基于近邻用户和评论信息的商品推荐为实施例,并结合附图,详细描述本发明的实施过程,其中,图4是本发明基于评论相似度和双向长短记忆网络的商品推荐方法所提出模型的总体框架示意图。
4个真实的亚马逊购物平台商品数据集来源于Julian McAuley收集的1996年到2014年的亚马逊购物平台上的购物记录,记录了1)用户编号,2)商品编号,3)商品类别,4)用户对已购买商品的评分,5)用户对已购买商品的评论。
模型的总体框架示意图分为3个模块:1)数据预处理模块,2)特征学习模块,3)特征交互和预测模块。
首先,数据预处理模块,对原始用户-商品数据进行清洗和补全,对仅有评论没有评分的商品交互记录按取该商品评分均值的方式进行补全,移除评分数值超出限定范围的异常数据,对评论数据进行大小写转换、停用词过滤和评论长度统一处理,通过计算评论相似度的方法获取与待预测用户和待预测商品特征相似的辅助用户和辅助商品。最后将用户、商品、辅助用户、辅助商品和评论数据整合为符合商品评分预测模型输入规范的训练数据,用于后续特征学习和模型训练。
然后,特征学习模块,用于从训练数据中学习出用户、商品、辅助用户、辅助商品和评论的特征信息,转化为特征向量,从而得到用户的兴趣偏好和商品的属性信息,便于后续预测用户对商品的评分,预测评分的高低可以说明用户对商品的喜好程度。用户、商品、辅助用户、辅助商品采用多层全连接层进行特征学习,评论采用双向长短记忆网络进行特征学习,采用注意力机制计算不同评论、辅助用户和辅助商品的重要程度,根据重要程度取值(权重)对评论向量进行融合,将辅助用户向量与用户向量、辅助商品向量与商品向量进行融合。融合后的特征向量即学习到的用户、商品、用户评论、商品评论特征。
最后,特征交互和预测模块,其分为融合层、特征交互层和预测层。融合层用于将不同特征进行拼接,本发明实施例采用的水平拼接方式,特征交互层采用的深度交叉网络,同时挖掘简单和复杂的组合特征向量,从而提高特征向量的信息表达能力,将简单和复杂的组合特征向量水平拼接后输入到由多层全连接层组成的预测层中,得到最终的预测评分,将商品按预测评分降序排列,取评分最高的N个商品推荐给用户。
为证明本发明的有效性,本发明实施例与目前八种常见的商品推荐方法在4个不同类别的亚马逊商品数据集上进行了商品评分预测的结果统计,对比结果如表1所示。从表1可以看出,本发明方法在均方根误差这项评估指标上效果更好(数值更小),且更稳定,说明该方法预测出的评分预测与用户对商品的实际评分更接近,更能体现用户的兴趣偏好。其中,均方误差的计算公式如下:
其中ru,i为实际评分,为预测评分,R表示训练集中的用户-物品对集合,|R|表示训练集中的样本总数。
表1本发明与基准方法在4个商品数据集上的预测性能对比
图5展示了本发明实施例中不同向量维度与预测结果之间的关系示意图。商品推荐模型设置的隐向量维度区间为[8,16,32,64,128],从图5中可以看出,在设置不同隐向量维度的情况下,模型的评测结果基本不变,说明隐向量维度对模型的影响不大。因为模型的时间复杂度与隐向量维度相关,所以选择较小的隐向量维度从而减少计算成本。
尽管已描述了本发明的较佳实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括较佳实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于近邻用户和评论信息的商品推荐方法,其特征在于,包括:
步骤S1:将用户对商品的历史交互记录进行数据预处理,检测出缺失数据、异常数据和无效数据,采用基于数据的补全算法对检测出的缺失数据进行数据补全,并刨除异常数据和无效数据,得到预处理后商品的评分类和评论类数据;
步骤S2:使用预处理后的评论类数据训练Doc2Vec方法中的PV-DM模型,使用训练好的PV-DM模型将评论类数据中的评论数组转化为评论特征向量,根据评论特征向量的余弦相似度获取具有相似偏好的近邻用户和相似属性的近邻商品,作为辅助用户和辅助商品,结合预处理后的评分类数据、预处理后的评论类数据重新封装为训练数据;
步骤S3:构建损失函数,利用训练数据对预先构建的基于双向长短记忆网络的深度模型进行训练,获得训练好的商品评分预测模型;
步骤S4:利用训练好的商品评分预测模型对待预测的商品进行评分预测,取预测评分最高的N个商品推荐给用户。
2.根据权利要求1所述的基于近邻用户和评论信息的商品推荐方法,其特征在于,步骤S1具体包括:
步骤1:通过商品的身份编码、商品的评分类数据、商品的评论类数据构建商品的评分评论类数据datak,将商品的评分类数据scorek进行数据预处理得到预处理后商品的评分类数据scorek′,将商品的评论类数据commentk进行数据预处理得到预处理后商品的评论类数据commentk′;
步骤1所述商品评分评论类数据为:
datak={pIDk,socrek,commentk}
k∈[1,K]
其中,datak为第k种商品的评分评论类数据,pIDk为第k种商品的身份编码,scorek为第k种商品的评分类数据,commentk为第k种商品的评论类数据,K为商品的数量;
socrek={(s_uIDk,1,sk,1),...,(s_uIDk,M,sk,M)}
k∈[1,K]
其中,s_uIDk,i为第k种商品的评分类数据中第i个用户的身份编码,sk,i为第k种商品的评分类数据中第i个用户的评分,i∈[1,M],M为用户的数量;
commentk={(c_uIDk,1,ck,1),...,(c_uIDk,M,ck,M)}
k∈[1,K]
其中,c_uIDk,j为第k种商品的评论类数据中第j个用户的身份编码,ck,j为第k种商品的评论类数据中第j个用户的评论,j∈[1,M],M为用户的数量;
对于第k中商品的评论类数据中第j个用户的评论ck,j,进行分词处理后得到评论数组,其表示为:
ck,j=[β1,β2,...βe...,βδ]
其中,βe为评论ck,j包含的第e个元素,具体形式为单词或标点符号,e∈[1,δ],δ为评论ck,j包含元素的数量;
步骤1所述将商品的评分类数据scorek进行数据预处理为:
检测每种商品的评分类数据scorek中的缺失值、每种商品的评分类数据中超出正常阈值范围的异常值,对每种商品的评分类数据中的缺失值按所有正常用户对于该商品的评分的平均值进行填补,对每种商品的评分类数据中的异常值则按所有正常用户对于该商品的评分的平均值进行替换,从而得到预处理后第k种商品的评分类数据scorek′;
所述检测每种商品的评分类数据中的缺失值为:
若sk,i==NULL或者sk,i==”,则判定sk,i为第k种商品的评论类数据中的缺失值,将sk,i的数值置为0,使用Mc记录缺失值的数量,即对该商品存在非正常评分的用户数量,Mc初始值为0,每当检查到一个缺失值,Mc计数加1;
所述对每种商品的评分类数据中的缺失值按所有正常用户对于该商品的评分的平均值Savg进行填补为:
其中,Savg为正常用户对于该商品的评分的平均值,(M-Mc)表示减去非正常评分用户后对该商品进行评分的用户数量;
所述每种商品的评分类数据中超出正常阈值范围的异常值为:
若sk,i≥Tl或者sk,i≤Th,则判定sk,i为第k种商品的评论类数据中超出正常阈值范围的异常值,Tl表示评分所规定的正常阈值的最小值,Th表示评分所规定的正常阈值的最大值;
所述对每种商品的评分类数据中的异常值同样按所有正常用户对于该商品的评分的平均值Savg进行替换,从而得到预处理后的评分类数据scorek′;
对存在缺失值或异常值的评分采取以下公式进行填补或替换,并得到预处理后第k种商品的评分类数据scorek′:
scorek′={(s_uIDk,1,s′k,1),...,(s_uIDk,M,s′k,M)}
k∈[1,K]
其中,s′k,i为经过评分预处理后第k种商品的评分类数据中第i个用户的评分,s_uIDk,i为第k种商品的评分类数据中第i个用户的身份编码,K为商品的数量,M为用户的数量i∈[1,M],当sk,i取值为缺失值或超出正常阈值的异常值时,使用所有正常用户对于该商品的评分的平均值Savg进行填补或替换,其他情况下,取值和未进行评分预处理前第k种商品的评分类数据中第i个用户的评分相同;
步骤1所述将商品的评论类数据commentk进行数据预处理为:
对每种商品的评论类数据commentk中的每个评论数组,删除其中存在的标点符号和语气助词停用词,中文单词保持不变,将英文单词的字母转换为小写,对超出评论长度阈值的数组,在尾部进行截断处理,从而得到预处理后第k种商品的评论类数据commentk′;
于每个评论数组ck,j=[β1,β2,...,βe,...,βδ],若其中的第e个元素βe为标点符号或语气助词,则从评论数组中删除该元素,若为英文单词且存在大写的字母,则将该字母转换为小写;对超出评论长度阈值的评论数组ck,j,在尾部进行截断处理时,将所有评论数组按评论长度从小到大排列,第85%位数评论数组的评论长度定义为为评论长度阈值对每一个评论数组ck,j,若其超出评论长度阈值,则在尾部进行截断,将评论数组中超出评论长度阈值部分的单词删除,得到新的评论数组经过该处理得到的评论数组为预处理后第k种商品的评论类数据commentk′;
commentk′={(c_uIDk,1,c′k,1),...,(c_uIDk,M,c′k,M)}
k∈[1,K]
其中,c′k,i为经过评论预处理后第k种商品的评论类数据中第j个用户的评论,c_uIDk,j为第k种商品的评论类数据中第j个用户的身份编码,K为商品的数量。
3.根据权利要求1所述的基于近邻用户和评论信息的商品推荐方法,其特征在于,步骤S2具体包括:
步骤S2.1:使用预处理后每种商品的评论类数据commentk′训练Doc2Vec方法中PV-DM模型,其将评论数组中的每个单词作为目标单词βd,其中d是指评论中的第d个单词,使用其周围的2z个单词[βd-z,...,βd-1,βd+1,...,βd+z]来预测目标单词βd的词向量ωd,训练完成后,得到每个评论数组ck,j的评论特征向量αk,j和评论数组中每个单词的词向量ωd;
步骤S2.2:使用训练好的PV-DM模型对预处理后的评论类数据中的每个评论数组c′k,j进行转换,得到评论特征向量αk,j;
其中评论特征向量αk,j的表达形式如下:
αk,j=(y1,y2,...,yθ)
其表示一个特征维度为θ的评论特征向量,是将步骤S1.3中由单词组成的评论数组转换成数学领域中的向量形式,yθ表示该向量第θ个维度的分量;
步骤S2.3:计算步骤S2.2中得到的不同评论特征向量αk,j之间的余弦相似度,获取与每一条评论特征向量αk,j的余弦相似度最高的评论特征向量取该评论特征向量在预处理后的评论类数据commentk′中对应的评论数组将评论对应的近邻用户和近邻商品作为辅助用户a_uIDk,j和辅助商品a_pIDk,j,其中近邻用户表示具有相似偏好的用户,近邻商品表示具有相似属性的商品,近似用户对应评论类数据中第种商品的评论类数据中第个用户的身份编码,近似商品对应第种商品;
给定两个评论特征向量B和C,其余弦相似度的计算公式如下:
其中Bj,Cj分别表示评论特征向量B和C的第j个维度分量,n表示向量的特征维度,评论特征向量的余弦相似度的取值范围从0到1,越趋近于0,表示两个评论特征向量的余弦相似度越低,越趋近于1,则表示两个评论特征向量的余弦相似度越高;
步骤S2.4:将预处理后的评分类数据scorek′、预处理后的评论类数据commentk′、获取的辅助用户a_uIDk,j和辅助商品a_pIDk,j数据重新拼接并封装成字典类型的数据,作为训练数据train_datak;
其中封装成字典类型的训练数据为:
train_datak={pIDk,s_uIDk,j,sk,j,ck,j,a_uIDk,j,a_pIDk,j}
k∈[1,K]
其中,train_datak为第k种商品的训练数据,pIDk为第k种商品的身份编码,s_uIDk,j为第k种商品的评分类数据中第j个用户的身份编码,sk,j为第k种商品的评分类数据中第j个用户的评分,ck,j为第k种商品的评论类数据中第j个用户的评论数组,a_uIDk,j和a_pIDk,j分别为第k种商品的评论类数据中第j个用户的评论对应的辅助用户和辅助商品,j∈[1,M],M为用户的数量。
4.根据权利要求3所述的基于近邻用户和评论信息的商品推荐方法,其特征在于,Doc2Vec方法中的PV-DM模型训练流程包括语料输入、数据映射、向量累加和词向量更新,步骤S2.1具体包括:
步骤S2.1.1:将预处理后的评论类数据输入到PV-DM模型中;
步骤S2.1.2:对于步骤S2.1.1中预处理后的评论类数据,将其中的每个评论数组ck,j和评论数组中每个单词βd分别映射成唯一的评论特征向量αk,j和唯一的词向量ωd,将所有评论特征向量αk,j按列组成矩阵S,将所有词向量ωd按列组成矩阵M;
步骤S2.1.3:依次将输入的评论特征向量αk,j和该评论中目标单词周围2z个单词的词向量[ωd-z,...,ωd-1,ωd+1,...,ωd+z]进行累加,再输入到模型的Softmax层进行归一化输出,得到目标单词对应词向量ωd的预测概率;
步骤S2.1.4:构建目标函数L,保持评论特征向量αk,j不变,使用Adam优化器对目标函数进行迭代优化,使用随机梯度下降来更新词向量ωd,最终得到训练好的PV-DM模型,构建的目标函数为词向量的最大化平均概率:
其中,D表示词向量个数,ωd表示评论中的第d个单词的词向量,ωd-z,ωd+z表示评论中第d个单词附近的第d-z,d+z个单词的词向量,p(ωd|ωd-z,...,ωd+z)表示第d个单词对应其周围2z个单词的后验概率,预测任务通常是通过多分类完成的,因此有:
其中,表示第j个词向量未归一化的对数概率,yj的计算公式为:
y=a+Uq(ωd-k,...,ωd+k;M,S)
其中U,a表示的是softmax函数的参数,q是从M和S矩阵中提取的评论标识向量αk,j和词向量ωd平均或连接构成。
5.根据权利要求1所述的基于近邻用户和评论信息的商品推荐方法,其特征在于,步骤S3采用的损失函数为均方误差损失函数,预先构建的基于双向长短记忆网络的深度模型包含嵌入层、评论特征提取层、注意力层、融合层、高阶特征交互层和预测层,步骤S3具体包括:
步骤S3.1:将训练数据train_datak输入到预先构建的基于双向长短记忆网络的深度模型,由嵌入层将训练数据中的用户身份编码s_uIDk,j、商品身份编码pIDk、辅助用户a_uIDk,j、辅助商品a_pIDk,j和评论数组ck,j转换为用户稠密向量U、商品稠密向量P、辅助用户稠密向量Au、辅助商品稠密向量Ap和评论数组中所有单词组成的稠密向量矩阵X;
步骤S3.2:将评论的稠密向量矩阵X继续输入到由双向长短记忆网络构成的评论特征提取层,从而得到包含用户偏好和商品属性的评论特征向量G;
步骤S3.3:将评论特征向量G输入到注意力层,计算不同评论特征向量所包含的用户偏好和商品属性权重,根据计算出的权重对评论特征向量进行加权融合;
步骤S3.4:将用户与辅助用户、商品和辅助商品稠密向量分别输入到各自的注意力层,计算出辅助用户与用户、辅助商品与商品之间的相关性系数,根据相关性系数将辅助用户与用户、辅助商品与商品稠密向量进行加权融合,得到融合后的用户特征向量U′和商品特P′;
步骤S3.5:将融合后的用户特征向量U′和商品特征向量P′进行水平拼接,得到拼接后的融合特征向量F;
步骤S3.6:将拼接得到的融合特征向量F输入到高阶特征交互层,该层由深度交叉网络(DCN)构成,分为深度网络(Deep Network)和交叉网络(Cross Network)两个部分,深度网络挖掘融合特征向量中的简单组合特征,交叉网络挖掘融合特征向量中的复杂组合特征,将挖掘出的简单组合特征向量和复杂组合特征向量进行水平拼接,得到可用于后续预测的高阶交互特征向量F′;
步骤S3.7:将高阶交互特征向量F′输入到由全连接神经网络组成的预测层中,实现用户对商品的评分预测,迭代优化损失函数,更新模型参数,获得训练好的商品评分预测模型。
6.根据权利要求5所述的基于近邻用户和评论信息的商品推荐方法,其特征在于,双向长短记忆网络包含正向和逆向两个长短记忆网络,每个长短记忆网络包含遗忘门、输入门和输出门,用于保护和控制细胞状态,步骤S3.2中双向长短记忆网络的计算过程如下:
步骤S3.2.1:通过遗忘门决定将要从细胞状态中丢弃的信息:
ft=σ(Wf·[ht-1,xt]+bf)
步骤S3.2.2:通过输入门决定细胞状态中存储的信息,以及创建候选向量:
it=σ(Wi·[ht-1,xt]+bi)
步骤S3.2.3:将细胞状态中存储的向量和候选向量结合来创建更新值:
步骤S3.2.4:通过输出门决定细胞状态中输出的信息,其中隐藏层状态会通过tanh函数进行归一化:
ot=σ(Wo·[ht-1,xt]+bo)
ht=ot·tanh(Ct)
步骤S3.2.5:将正向和逆向长短记忆网络的输出在同一维度上进行拼接,从而得到整个双向长短记忆网络的输出:
hbi=cat[hl,hr]
其中,σ表示sigmoid函数,tanh表示tanh激活函数,Wf、Wi、Wc、Wo为权重矩阵,bf、bi、bc、bo为偏置项,ft、it、ot表示t时刻遗忘门、输入门和输出门的输出,ht是t时刻的输出,xt是t时刻的输入,即评论的稠密向量矩阵X中的第t个词向量,Ct是t时刻的细胞状态,为t时刻的生成的候选向量,hl、hr分别为长短记忆网络正向和逆向训练输出的特征向量,cat表示在同一维度进行向量拼接,hbi为hl、hr拼接后的特征向量,即经过双向长短记忆网络进行特征提取后得到评论特征向量。
7.根据权利要求5所述的基于近邻用户和评论信息的商品推荐方法,其特征在于,基于评论的注意力层用于计算不同评论的重要程度,实现评论特征向量的融合,步骤S3.3具体包括:
步骤S3.3.1:将用户特征向量与评论特征向量进行拼接,通过单层全连接层获得评论与用户偏好之间的相关性特征向量,全连接层含有128个神经元;
步骤S3.3.2:通过sigmoid激活函数,将单层全连接层得到的相关性特征向量映射到0-1区间,作为各评论的重要性权重;
步骤S3.3.3:将得到的评论权重与评论特征提取层得到评论特征向量相乘,获得更新注意力权重后的评论特征向量。
8.根据权利要求5所述的基于近邻用户和评论信息的商品推荐方法,其特征在于,基于辅助用户和辅助商品的注意力层用于计算不同辅助用户和辅助商品的重要程度,并与用户特征以及商品特征进行融合,从而对用户偏好和商品属性的特征进行修正,步骤S3.4具体包括:
步骤S3.4.1:将用户特征向量与辅助用户特征向量进行拼接,通过单层全连接层获得辅助用户与用户偏好之间的相关性特征向量,全连接层含有128个神经元;
步骤S3.4.2:通过sigmoid激活函数,将单层全连接层得到的相关性特征向量映射到0-1区间,作为各辅助用户的重要性权重;
步骤S3.4.3:将得到的辅助用户权重与辅助用户特征向量相乘,获得更新注意力权重后的辅助用户特征向量;
步骤S3.4.4:将更新注意力权重后的辅助用户特征向量与用户向量相加,从而得到修正后的用户特征向量;
步骤S3.4.5:将商品特征向量与辅助商品特征向量进行拼接,通过单层全连接层获得辅助商品与商品属性之间的相关性特征向量,全连接层含有128个神经元;
步骤S3.4.6:通过sigmoid激活函数,将单层全连接层得到的相关性特征向量映射到0-1区间,作为各辅助商品的重要性权重;
步骤S3.4.7:将得到的辅助商品权重与辅助商品特征向量相乘,获得更新注意力权重后的辅助商品特征向量;
步骤S3.4.8:将更新注意力权重后的辅助商品特征向量与商品向量相加,从而得到修正后的商品特征向量。
9.根据权利要求5所述的基于近邻用户和评论信息的商品推荐方法,其特征在于,由深度交叉网络(DCN)构成的高阶特征交互层分为深度网络(Deep Network)和交叉网络(CrossNetwork)两个部分,步骤S3.6具体包括:
步骤S3.6.1:将步骤S3.5中得到融合特征向量F输入到深度网络中,挖掘简单组合特征,深度网络是一个多层的全连接神经网络(DNN),挖掘简单组合特征的计算公式如下:
Hl+1=f(Wn,lHl+bn,l)
其中Hl、Hl+1分别为l、l+1层的输出,Wn,l、bn,l分别为该层的参数和偏置项;第一层的输入H0为输入的融合特征向量F,f为ReLU激活函数;深度网络通过多次对不同特征进行加权融合得到简单组合特征;
步骤S3.6.2:将步骤S3.5中得到融合特征向量F输入到交叉网络中,挖掘复杂组合特征,深度网络是一个多层的特征交叉层,挖掘复杂组合特征的计算公式如下:
其中Fl、Fl+1分别表示的第l、l+1层的输出,Wc,l、bc,l分别为该层的参数和偏置项,第一层输入F0为输入的融合特征向量F,f为ReLU激活函数;深度网络通过多次对不同层的交叉特征进行加权融合得到复杂组合特征;
步骤S3.6.3:将深度网络中挖掘出的简单组合特征向量和交叉网络中挖掘出的复杂组合特征向量进行水平拼接,得到可用于后续预测的高阶交互特征向量F′。
10.根据权利要求1所述的基于近邻用户和评论信息的商品推荐方法,其特征在于,步骤S4具体包括:
步骤S4.1:将用户未交互即浏览或购买的商品数据输入到训练好的商品评分预测模型,预测用户对商品的评分;
步骤S4.2:按预测评分对商品进行降序排列,取评分最高的N个商品推荐给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110191591.5A CN112884551B (zh) | 2021-02-19 | 2021-02-19 | 一种基于近邻用户和评论信息的商品推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110191591.5A CN112884551B (zh) | 2021-02-19 | 2021-02-19 | 一种基于近邻用户和评论信息的商品推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112884551A CN112884551A (zh) | 2021-06-01 |
CN112884551B true CN112884551B (zh) | 2023-08-18 |
Family
ID=76056598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110191591.5A Active CN112884551B (zh) | 2021-02-19 | 2021-02-19 | 一种基于近邻用户和评论信息的商品推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112884551B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761378B (zh) * | 2021-09-14 | 2022-04-08 | 上海任意门科技有限公司 | 内容排序方法、计算设备和计算机可读存储介质 |
CN113763134B (zh) * | 2021-09-22 | 2024-07-12 | 携程旅游信息技术(上海)有限公司 | 信息推荐方法、系统、设备及存储介质 |
CN114021020B (zh) * | 2021-11-17 | 2022-08-12 | 南京工业大学 | 一种基于用户偏好修正的智能推荐方法及系统 |
CN114611751A (zh) * | 2022-01-20 | 2022-06-10 | 广西工业职业技术学院 | 一种预测模型生成方法、存储介质及预测方法 |
CN116308684B (zh) * | 2023-05-18 | 2023-08-11 | 和元达信息科技有限公司 | 一种网购平台店铺信息推送方法及系统 |
CN117312542B (zh) * | 2023-11-29 | 2024-02-13 | 泰山学院 | 基于人工智能的阅读推荐方法及系统 |
CN117436997A (zh) * | 2023-12-21 | 2024-01-23 | 深圳须弥云图空间科技有限公司 | 一种基于检索能力的推荐理由生成方法及装置 |
CN118411233B (zh) * | 2024-07-02 | 2024-09-13 | 浙江加乐网络科技有限公司 | 基于虚拟购物的交易管理智能分析方法及系统 |
CN118656685A (zh) * | 2024-08-20 | 2024-09-17 | 湖南数据产业集团有限公司 | 一种衍生特征提取方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110648163A (zh) * | 2019-08-08 | 2020-01-03 | 中山大学 | 一种基于用户评论的推荐算法 |
CN111222332A (zh) * | 2020-01-06 | 2020-06-02 | 华南理工大学 | 一种结合注意力网络和用户情感的商品推荐方法 |
CN111275521A (zh) * | 2020-01-16 | 2020-06-12 | 华南理工大学 | 一种基于用户评论与满意层面嵌入的商品推荐方法 |
CN111563787A (zh) * | 2020-03-19 | 2020-08-21 | 天津大学 | 一种基于用户评论和评分的推荐系统及方法 |
CN111709812A (zh) * | 2020-06-19 | 2020-09-25 | 山东财经大学 | 基于用户动态分类的电商平台商品推荐方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11176330B2 (en) * | 2019-07-22 | 2021-11-16 | Advanced New Technologies Co., Ltd. | Generating recommendation information |
-
2021
- 2021-02-19 CN CN202110191591.5A patent/CN112884551B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110648163A (zh) * | 2019-08-08 | 2020-01-03 | 中山大学 | 一种基于用户评论的推荐算法 |
CN111222332A (zh) * | 2020-01-06 | 2020-06-02 | 华南理工大学 | 一种结合注意力网络和用户情感的商品推荐方法 |
CN111275521A (zh) * | 2020-01-16 | 2020-06-12 | 华南理工大学 | 一种基于用户评论与满意层面嵌入的商品推荐方法 |
CN111563787A (zh) * | 2020-03-19 | 2020-08-21 | 天津大学 | 一种基于用户评论和评分的推荐系统及方法 |
CN111709812A (zh) * | 2020-06-19 | 2020-09-25 | 山东财经大学 | 基于用户动态分类的电商平台商品推荐方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于评论分析的评分预测与推荐;高祎璠;余文喆;晁平复;郑芷凌;张蓉;华东师范大学学报. 自然科学版(第3期);80-90 * |
Also Published As
Publication number | Publication date |
---|---|
CN112884551A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112884551B (zh) | 一种基于近邻用户和评论信息的商品推荐方法 | |
CN109299396B (zh) | 融合注意力模型的卷积神经网络协同过滤推荐方法及系统 | |
CN112598462B (zh) | 基于协同过滤和深度学习的个性化推荐方法及系统 | |
US20220405480A1 (en) | Text sentiment analysis method based on multi-level graph pooling | |
CN111222332B (zh) | 一种结合注意力网络和用户情感的商品推荐方法 | |
CN111209738B (zh) | 一种联合文本分类的多任务命名实体识别方法 | |
CN110188272B (zh) | 一种基于用户背景的社区问答网站标签推荐方法 | |
CN112015863B (zh) | 一种基于图神经网络的多元特征融合中文文本分类方法 | |
CN112328900A (zh) | 一种融合评分矩阵和评论文本的深度学习推荐方法 | |
CN110929034A (zh) | 一种基于改进lstm的商品评论细粒度情感分类方法 | |
CN107516110A (zh) | 一种基于集成卷积编码的医疗问答语义聚类方法 | |
CN112364638B (zh) | 一种基于社交文本的人格识别方法 | |
CN112579778A (zh) | 基于多层次的特征注意力的方面级情感分类方法 | |
CN113553440B (zh) | 一种基于层次推理的医学实体关系抽取方法 | |
CN109214006A (zh) | 图像增强的层次化语义表示的自然语言推理方法 | |
CN110580287A (zh) | 基于迁移学习和on-lstm的情感分类方法 | |
CN116610778A (zh) | 基于跨模态全局与局部注意力机制的双向图文匹配方法 | |
CN114648031B (zh) | 基于双向lstm和多头注意力机制的文本方面级情感识别方法 | |
CN114911945A (zh) | 基于知识图谱的多价值链数据管理辅助决策模型构建方法 | |
CN112883714A (zh) | 基于依赖图卷积和迁移学习的absc任务句法约束方法 | |
CN112256866A (zh) | 一种基于深度学习的文本细粒度情感分析方法 | |
CN115098675A (zh) | 一种基于多类别表格填充的情感三元组生成方法 | |
CN113326384A (zh) | 一种基于知识图谱的可解释推荐模型的构建方法 | |
CN111582506A (zh) | 基于全局和局部标记关系的偏多标记学习方法 | |
CN114942974A (zh) | 电商平台商品用户评价情感倾向分类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |