一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于评论整合挖掘的商品精细化推荐方法与流程

2021-10-24 09:13:00 来源:中国专利 TAG:商品 推荐 精细化 方法 挖掘


1.本发明涉及一种商品精细化推荐方法,特别涉及一种基于评论整合挖掘的商品精细化推荐方法,属于智能商品推荐技术领域。


背景技术:

2.随着移动互联网的飞速发展,人类已步入信息时代,电子商务融入到人们的日常生活中。网上购物成为越来越多消费者主要的购物方式,电子商务具有便捷快速、便宜实惠、不受地域限制的优势,但同时,电商平台也难以了解用户感兴趣的内容,面对电商平台庞大的商品数量,用户难以从海量商品中挑选出真正需要的商品。当前越来越多的在线购物平台,开始强调用户的参与,他们鼓励用户表达对已购商品的见解,用户通过评论的方式,将自己对商品性能、价格、质量等方面的见解与立场传达给其他消费者。而其他消费者也愿意在他们选购某项商品时,参考之前购买者的评论信息,来获得对这项商品更直观的认知。大部分网民会在购买商品前搜寻商品已有评论,评论信息会对他们的购买行为产生重大影响,但在有限的时间内,面对海量且无结构的评论内容,用户很难甄别出对自己最有价值的信息。迫切需要一种便捷的商品推荐系统,能够分析出客户偏好,满足他们对商品的需求,而对电商务企业来说,克服这种信息过载带来的不利影响,在用户浏览平台时向用户推荐合适的商品成为一个严峻的挑战。
3.现有技术应用最广泛、效果最好的是协同过滤推荐方法,但传统的协同过滤算法在推荐系统中仍然会受到数据稀疏性和冷启动问题的影响。基于用户的协同过滤和基于商品的协同过滤,都涉及到用户或者商品间的相近度计算,这些相近度计算方法都是基于用户之间相交的评分项来计算的,然而当共同评分数据稀疏时,用户间的共同评分就会特别少,甚至没有共同评分,这会很大程度影响到相近度计算结果。如当用户一对一本书写了评论,用户二对另一本书也写了评论,传统的协同过滤算法中会判定用户一与用户二之间相近度为0,但实际上,这两本书类型相同并且由同一人撰写,如果由人为来判断,实际上这两个用户是存在一定相近度的,再有另一种情况,用户一与用户二都对两件商品进行了评分,但实际上,这两件商品在两个用户的评分项集中只占据了很小一部分,在这种情况下,认为这两个用户完全相近也是不合理的。因此,传统协同过滤算法中计算用户或者商品相近度时,只以用户间的评分项集来计算有很大的局限性。
4.商品评论解析挖掘作为一种有效的文本挖掘技术,主要是用于基于文本的知识发现,数据挖掘的处理对象是存储在数据库中的结构化数据,寻找和发现这些数据属性之间的关系,文本挖掘的处理对象是非结构文本,目的是分析和发现这些文本内容之间存在的联系。文本挖掘的早期是信息检索,这些技术仍然广泛应用于网络文本的搜索。现在的搜索引擎已能搜索出用户需要的相关信息,但其内容整合的能力较差,能搜索出用户想要的相关内容,但无法进一步整理出用户需要的重点信息。对于电商平台的商品评论信息也是如此,如何结合评论挖掘技术,挖掘出评论中用户关注的商品特质及自身偏好,从而更好的契合用户的需求,为用户更准确的推荐合适的商品是本发明需要解决的问题。
5.互联网用户的身份逐渐从信息接收者转变成信息生产者,大量的用户针对某商品的评论涌现互联网中。这些评论信息中蕴含了用户大量的主观情感色彩,通过浏览这些评论可以大致了解到大众舆论对某一商品的看法。但这类评论信息迅速膨胀,数目庞大且无固定的文本结构,靠人工来对海量信息进行收集和处理几乎是不可能的,迫切需要一种能够帮助用户快速获取到关注重点的方法。
6.商品评论解析挖掘一般包括二项基本任务,一是挖掘出商品的特质层面,二是提取特质层面的用户评价情感词。在商品特质抽取方面,分为人工定义和自动抽取二类方法,人工定义虽然准确度高,但需要领域专家的参与,并且不同的领域都需要不同的领域专家,当领域术语出现更新,人工定义的方法效率低下。自动抽取的覆盖率不高。中文领域的特质提取准确率不高,在实际应用中有较大困难。
7.在情感词提取方面,通过提取特质词前后的一串字符串,从中提取形容词作为用户评价情感词,这种方法过于简单,没有考虑到特质词和情感词的对应关系,会出现较多的提取错误。通过监督的序列模式生成语言模式的方法来提取特质

情感词对,保存了特质词与情感词之间的对应关系,但只适用于句式简单且特质词与情感词距离较近的情况,并且只将情感词的词性限定在形容词,所以仍然存在一定的局限性。
8.现有技术的电商平台商品推荐方法存在缺陷和不足,本发明的难点和待解决的问题主要集中在以下方面:
9.第一,电商平台难以了解用户感兴趣的内容,面对电商平台庞大的商品数量,用户难以从海量商品中挑选出真正需要的商品,大部分网民会在购买商品前搜寻商品已有评论,评论信息会对他们的购买行为产生重大影响,但在有限的时间内,面对海量且无结构的评论内容,用户很难甄别出对自己最有价值的信息。迫切需要一种便捷的商品推荐系统,能够分析出客户偏好,满足他们对商品的需求,而对电商务企业来说,克服这种信息过载带来的不利影响,在用户浏览平台时向用户推荐合适的商品成为一个严峻的挑战;
10.第二,电子商务迅猛发展,购物网站中的商品种类与数目不断增加,用户很难在短时间内找到他们感兴趣的商品,商品推荐提供了有效的解决方案,现有技术的协同过滤算法在推荐系统中会受到数据稀疏性和冷启动问题的影响。基于用户的协同过滤和基于商品的协同过滤,都涉及到用户或者商品间的相近度计算,这些相近度计算方法都是基于用户之间相交的评分项来计算的,然而当共同评分数据稀疏时,用户间的共同评分就会特别少,甚至没有共同评分,这会很大程度影响到相近度计算结果,传统协同过滤算法中计算用户或者商品相近度时,只以用户间的评分项集来计算有很大的局限性,用户商品评分矩阵的稀疏导致用户或者商品间相近度计算不准确甚至无法计算,影响协同过滤算法的推荐准确度;
11.第三,现在的搜索引擎已能搜索出用户需要的相关信息,但其内容整合的能力较差,能搜索出用户想要的相关内容,但无法进一步整理出用户需要的重点信息,对于电商平台的商品评论信息也是如此,现有技术无法结合评论挖掘技术,挖掘出评论中用户关注的商品特质及自身偏好,无法契合用户需求,为用户准确推荐合适的商品;互联网上大量用户针对某商品的评论涌现,这些评论信息蕴含了用户大量的主观情感色彩,通过浏览这些评论可以大致了解到大众对某一商品的看法,但这类评论信息迅速膨胀,数目庞大且无固定的文本结构,靠人工来对海量信息进行收集和处理几乎是不可能的,迫切需要一种能够帮
助用户快速获取到关注重点的方法;
12.第四,在商品特质抽取方面,人工定义虽然准确度高,但需要领域专家的参与,并且不同的领域都需要不同的领域专家,当领域术语出现更新,人工定义的方法效率低下。自动抽取的覆盖率不高。中文领域的特质提取准确率不高,在实际应用中有较大困难;在情感词提取方面,通过提取特质词前后的一串字符串,从中提取形容词作为用户评价情感词的方法过于简单,没有考虑到特质词和情感词的对应关系,会出现较多的提取错误。通过监督的序列模式生成语言模式的方法来提取特质

情感词对的方法,只适用于句式简单且特质词与情感词距离较近的情况,并且只将情感词的词性限定在形容词,仍然存在一定的局限性;


技术实现要素:

13.针对现有技术的不足,本发明提出基于评论挖掘的商品推荐方法,将评论挖掘与传统的协同过滤的推荐方法相结合,从用户偏好和商品的特质层面上来解析用户和商品,缓解数据稀疏和推荐准确性问题。具体包括:一是通过对用户评论的挖掘和解析,获取用户偏好,然后根据获取的用户偏好计算用户之间的相近度,本发明对现有技术的协同过滤算法的改进包括在计算用户相近度时不再基于用户间共同评分项,而是基于用户的偏好,改进的基于用户的方法缓解数据稀疏为用户间相近度计算带来的不利影响;二是通过对商品评论的挖掘和解析,构建商品的特质模型,在计算商品相近度时不再基于商品间共同评分项,而是基于商品特质,通过改进商品间相近度计算方法提高商品相近度计算的准确性,进而提高推荐效果;三是为综合考虑用户主观因素和商品客观因素,将基于评论挖掘和用户的协同过滤与基于评论挖掘和商品的协同过滤结合,产生混合模型进行推荐。
14.为达到以上技术特征,本发明所采用的技术方案如下:
15.基于评论整合挖掘的商品精细化推荐方法,将评论文本中包含的用户对商品各方面的见解整合到推荐过程中,从商品的特质层面上解析用户和商品,首先采用评论挖掘方法从商品的评论文本中挖掘出用户对商品特质级的情感信息,然后采用这些挖掘出的情感信息分别构建用户偏好模型和商品特质模型,从而更准确的衡量用户和商品间的相近度,最后将基于邻近用户和基于邻近商品的预测评分通过全局权重法融合起来,更全面的从用户主观性和商品客观性来为用户推荐;
16.本发明包括:一是商品评论解析挖掘,二是基于评论挖掘和用户的协同推荐,三是基于评论挖掘和商品的协同推荐,四是基于评论挖掘的混合推荐方法,首先从用户的角度,通过对商品评论数据的解析和挖掘,构建用户的偏好模型,依据用户的偏好模型来计算用户间相近度,通过用户相近度寻找邻居用户集进行基于用户的协同过滤推荐,然后从商品的角度,通过对商品评论数据的解析和挖掘,抽取商品的特质

情感词对来构建商品的特质模型,并依据商品的特质模型来计算商品间相近度,通过商品相近度寻找邻居商品集进行基于商品的协同过滤推荐,最后,融合用户和商品的因素,将基于用户的协同过滤与基于商品的协同过滤结合起来,整合两者进行混合推荐;
17.商品评论解析挖掘包括:评论数据的前置处理、特质

情感词对的提取、商品特质过滤、情感倾向解析四个步骤;
18.基于评论挖掘和用户的协同过滤推荐:首先通过商品评论解析挖掘的方法提取出
用户的特质

情感词对集合,然后通过获取用户偏好计算用户间相近度,最后基于相近用户的评分预测目标用户评分进而产生推荐;
19.基于评论挖掘和用户的协同过滤推荐:首先通过商品评论解析挖掘方法提取出商品的特质

情感词对集合,然后通过量化商品特质计算商品间相近度,最后基于相近商品的评分预测目标用户评分进而产生推荐;
20.基于评论挖掘的混合推荐方法将用户的偏好信息和商品的特质信息结合起来进行混合模型推荐,包括:混合推荐方法流程和混合推荐的评分预测。
21.基于评论整合挖掘的商品精细化推荐方法,进一步的,通过挖掘整合用户评论,获取评论中隐含的语义信息,缓解传统协同过滤算法的数据稀疏性问题,首先通过评论挖掘的方法处理用户评论,针对用户对商品的评论来提取用户对商品特质层面的观点,构建用户的偏好模型和商品特质模型,然后基于用户偏好和商品特质分别提出两种不同的基于评论挖掘的推荐方法,一个是基于评论挖掘和用户的协同推荐方法,一个是基于评论挖掘和商品的协同推荐方法,最后采取全局权重法将两者融合在一起,基于用户偏好模型和商品特质模型来分别计算用户间和商品间相近度;
22.本发明将评论挖掘与传统的协同过滤的推荐方法相结合,从用户偏好和商品的特质层面上来解析用户和商品,缓解数据稀疏和推荐准确性问题,具体包括:一是通过对用户评论的挖掘和解析,获取用户偏好,然后根据获取的用户偏好计算用户之间的相近度,本发明对现有技术的协同过滤算法的改进包括在计算用户相近度时不再基于用户间共同评分项,而是基于用户的偏好,改进的基于用户的方法缓解数据稀疏为用户间相近度计算带来的不利影响;二是通过对商品评论的挖掘和解析,构建商品的特质模型,在计算商品相近度时不再基于商品间共同评分项,而是基于商品特质,通过改进商品间相近度计算方法提高商品相近度计算的准确性,进而提高推荐效果;三是为综合考虑用户主观因素和商品客观因素,将基于评论挖掘和用户的协同过滤与基于评论挖掘和商品的协同过滤结合,产生混合模型进行推荐。
23.基于评论整合挖掘的商品精细化推荐方法,进一步的,特质

情感词对的提取:商品特质反映用户对商品的关注点,特质

情感词对反映商品某一特质被用户喜好的程度,商品特质为名词、名词短语或者动词,将评论中对应这些词性的词提取出来,通过筛选得到,或在特质

情感词对提取的过程中进行提取,特质

情感词对形式化定义为:
24.定义一:一个特质

情感词对couple=(g,y),其中g表示用户在评论中关注的商品特质词,为细粒度特质,y表示用户在对对应特质评论时使用的描述词,带有情感极性;
25.定义二:用户评论数据的集合s={s1,s2,

,s
n
},每一条用户的评论s
i
看作是一组特质

情感词对的集合s
i
={couple1,couple2,

,couple
m
};
26.本发明采用同时抽取商品特质和对应情感词对的方法,采用半自动抽取的方式,无需人工注示任何数据,
27.将评论语句以标点或者空格拆分成短句进行特质

情感词对提取,通过人工抽取特质

情感词对实验发现,抽取出的商品特质词词性绝大部分为名词或者动词,而用户情感词词性绝大部分为形容词、名词或者动词,并且这两者也具有一定的搭配模式,提取出商品特质词和用户情感词间的常用搭配作为语言模式,将语言粒度泛化到词性层面,合并相近特质,分析商品特质词和用户情感词之间的词性模板,形成提取词性模板的算法;
28.提取词性模板的第一步是先从前置处理后的评论语料库中抽取出经过分词与词性注示后的短句,然后再从每一短句中抽取从商品特质词到用户情感词之间的完整词性路径,将语句进行词性注示以将其泛化到词性层面来提取这些路径,得到的这些路径就是候选词性模板,在算法的第三步和第四步中,提出两种过滤策略来对提取的候选词性模板进行筛选,通过设置长度临界值α和频率临界值β来对候选模板进行过滤,两种过滤策略为:一是在评论中出现的长句只陈述客观事实,这样的句子提取出来的词性模板较长,在提取特质

情感词对时的实用性差,因此通过设定长度临界值的方式对较长模板进行过滤;二是对于候选模板中出现很少的实用性差的模板,通过设定频率临界值的方式过滤出现很少的模板,通过这两种过滤策略提高模板的通用性和系统性能,通过词性模板算法提取出词性模板后,通过该词性模板来匹配评论语料,提取其中包含商品特质词和用户情感词对集合的短句,通过提取短句中的名词或者名词短语作为商品特质候选集合。
29.基于评论整合挖掘的商品精细化推荐方法,进一步的,商品特质过滤:对商品特质集合中的冗余和不准确项进行过滤,提取出更准确的商品特质集合,采用互信息的方法对提取出的候选商品特质进行过滤,首先从抽取出的候选特质集合中人工识别出频繁出现且具有代表性的特质词组成种子特质集合,通过计算词语间互信息的方法来对商品特质词进行过滤,计算式为:
[0030][0031]
其中,seeds表示抽取的种子特质集合,singh(k1&k)表示词k1和词k同时出现的次数,singh(k1)表示词k1单独出现的次数,singh(k)表示词k单独出现的次数,采用权威知网词典hownet进行词语的语义相近度的计算来合并商品特质词,减少冗余,经过特质词过滤和合并之后,得到一个较准确的特质集合;
[0032]
情感倾向解析:借助于知网词典hownet中的正负词汇集,情感词的倾向通过计算情感词y与正面词汇集和负面词汇集的相近程度进行判断,即词语的相近度计算,本发明采用基于统计的大规模语料库判断情感词的倾向,词语间的相近程度取决于词语间呈现的共性,采用互信息来衡量词语间的相近程度,计算式为:
[0033][0034]
其中,q(k1)为词k1出现的概率,q(k2)为词k2出现的概率,q(k1&k2)为词k1和词k2同时出现的概率,概率q(k1&k2)与词k1出现的概率q(k1)和k2出现的概率q(k2)之积的比值作为衡量词k1和词k2间的独立性,通过互信息qnj的值判断词k1和词k2的相近程度,若qnj>0则说明词k1和词k2同时出现概率较大,相近度较高,相反,如果qnj<0则说明两者相近度低,本发明采用百度搜索引擎作为支持的语料库,用singh(k)表示词k在这个大型语料库下出现的次数,则公式为:
[0035][0036]
进而通过比较情感词与正面词汇集pos

k和负面词汇集neg

k的相近程度来判断该情感词的情感倾向,表示为:
[0037]
cy

qnj(k)=∑
q∈pos

k qnj(k,q)


m∈neg

k qnj(k,m)
ꢀꢀ
式4
[0038]
当cy

qnj(k)大于0时,表明词语k与正面词集pos

k关联性更强,即词语k的情感更趋近正面,应属正面情感词,反之,cy

qnj(k)小于0时,表明词语k更趋近负面词集neg

k,即词语k应属负面情感词。
[0039]
基于评论整合挖掘的商品精细化推荐方法,进一步的,获取用户偏好:定义用户v的偏好模型:vid<g1,pre><g2,pre>,
……
,<g
n
,pre>,其中vid代表用户的id,g
n
代表用户偏好的第n个特质,pre代表用户对特质g的偏好程度,同时,定义用户v的偏好向量p
v
,特质集合{g1,g2,

,g
n
},是依据用户对特质偏好程度的高低产生的有序集合,商品特质的先后顺序同时也代表用户对对应特质的重视程度高低,从评论集中获取并构建用户的偏好向量;
[0040]
从商品评论解析挖掘中,能得到评论中商品的特质集,针对这些特质集合,不同用户的偏好程度不同,本发明抽取每个用户的所有评论信息,从这些评论信息中衡量用户对每个特质的偏好程度;
[0041]
针对用户对特质重视程度的衡量,rg为文档词频,表示某个特质词在某个用户所有评论中出现的频率,定义为:
[0042][0043]
其中,rg
vg0
表示商品特质词g0在用户v所有评论中出现的频率,m
v
,g0为特质g0在用户评论中出现的次数,g为商品的所有特质集合,∑
gi∈g
m
v,g0
为用户评论中所有特质出现的总次数,对特质出现的次数做归一化处理,通过rg即可反映出用户的偏好信息,即可得到用户对商品某一特质的偏好程度衡量值,式为:
[0044][0045]
其中,q
vg0
是用户v对商品特质g0的偏好程度,为特质g0的rg值,将用户的偏好量化,得到用户的偏好q
i
,q
i
表示为:
[0046]
q
i
={(g1,q1),(g2,q2)
……
(g
n
,q
m
)}
ꢀꢀ
式7
[0047]
用户的偏好以偏好值q进行排序,随着q值的降低,用户对对应特质的重视程度降低,得到所有用户的偏好集{q1,q2,
……
q
m
}。
[0048]
基于评论整合挖掘的商品精细化推荐方法,进一步的,计算用户相近度:通过计算用户对特定特质的偏好来计算用户间相近度,通过用户间相近度来选取t

k的邻居用户,在计算用户间相近度时,对现有技术基于用户的协同过滤算法中的用户

商品评分矩阵进行改变,变换为用户

商品特质偏好矩阵,构建出所有用户的偏好集,基于此偏好集来衡量用户间相近度,两个用户的相近度衡量时,定义两个用户的偏好向量为:v
i
=(g
i1
,q
i1
),(g
i2
,q
i2
),

,(g
im
,q
im
);v
j
=(g
j1
,q
j1
),(g
j2
,q
j2
),

,(g
jn
,q
jn
),其中用户v
i
、v
j
分别有m、n维偏好向量,g
ip
(1<p<m)与g
jp
(1<p<n)之间不一定是对应关系,即g
ip
与g
jp
可能是相同属性特质也可能不是,属性特质顺序依据用户偏好权值从大到小顺序排列,即用户的偏好向量简化为:v
i
=g
i1
,g
i2
,

,g
im
;v
j
=g
j1
,g
j2
,

,g
jn
,针对上述用户v
i
和v
j
的偏好向量计算两者之间的相近度,相近度计算式为:
[0049]
[0050]
其中,m的取值为min((amount(v
i
),amount(v
j
)),即用户v1与用户v2偏好中重视特质个数的最小值,cyc函数定义为用户偏好向量中top

w个特质中相同个数,假设pre
v1
={g1,g2,g3},pre
v2
={g2,g3,g4},则当w=1时,cyc返回0,w=1时cyc返回1,w=2时cyc返回2,能体现出用户在重视特质顺序上的相近度,用户相近度的计算更准确。
[0051]
基于评论整合挖掘的商品精细化推荐方法,进一步的,用户评分预测解析用户相近度,进而获取top

w个邻居用户,基于这些邻居用户对目标用户进行商品评分预测,商品的评分预测式为:
[0052][0053]
其中,pre
v,i
表示评分预测结果,v
*
为用户v所有评分的均值,mv
v
表示用户v的邻居用户集,则v
w
表示邻居用户集中的某个用户,t
vw,i
表示邻居用户v
w
对商品i的评分,sim(v,v
w
)表示用户v和邻居用户v
w
间的相近度,得到目标用户v对任意商品i的预测评分,在预测商品列表中选取top

m个评分最高的商品,形成对目标用户v的商品推荐列表。
[0054]
基于评论整合挖掘的商品精细化推荐方法,进一步的,计算商品相近度:基于从评论中挖掘出的商品特质来衡量商品间相近度,对于两个特质属性分量g(t1,t2,t3)、g(t1,t2,t3),用余弦相近度计算式来计算他们之间的相近度:
[0055][0056]
其中sim(g
x
,g
x

)表示两个特质属性分量之间的相近度,t
i
、t
i

表示特质属性分量的情感分布率,t1、t2、t3分别表示所有评论用户对该商品在特质属性分量g
x
的好评率、中评率、差评率,两个商品用式11计算他们之间的相近度:
[0057][0058]
其中sim(q
x
,q
y
)表示两个商品q
x
、q
y
之间的相近度,sim(g
x
,g
x

)表示商品q
x
、q
y
的特质属性分量g
i
、g
i

之间的相近度,b
i
为属性分量g
i
的置信权重,满足的条件,w为两个商品之间属性特质长度的最小值,在存在某个商品缺少某一特质属性的情况,对不同的情况都要做出对应处理以得到正确的结果;
[0059]
相近度计算过程为:首先对边界情况进行解析,当两个商品的特质属性集均为空或任何一方为空,规定两个商品的相近度为零,当两个商品特质属性集均不为空时,执行如下计算过程:
[0060]
过程一,选择其中一个商品作为当前商品q
x
,依次遍历当前商品的特质属性集,对每个属性执行过程二,遍历完毕执行过程四;
[0061]
过程二,以过程一的当前特质属性为参数,依次查找商品q
y
的属性集中对应的属性,计算两个特质属性之间的相近度,对于已经计算完相近度的特质属性节点予以删除,当查找失败没有找到对应的特质属性时,则放弃当前特质属性继续计算下一个属性之间的相近度;
[0062]
过程三,对过程二计算得到的相近度值进行加权统计,同时统计查找失败的次数;
[0063]
过程四,算法终止,输出最终的相近度值,以及失败次数。
[0064]
基于评论整合挖掘的商品精细化推荐方法,进一步的,商品评分预测:预测目标用户v对任意商品q的商品评分预测,商品评分预测式为:
[0065][0066]
其中,q
*
为该购买任意商品q的所有用户的平均评分,q(v)表示目标用户v购买的商品集合,则q
w
是目标用户已购买的商品,t
v,qw
表示目标用户v对已购买商品q
w
的评分,q
w*
表示购买商品q
w
的所有用户的平均评分,sim(q
w
,q)表示任意商品q与目标用户v已购买商品q
w
间的商品相近度,得到目标用户v对任意商品q的预测评分,在预测商品列表中选取top

m个评分最高的商品,形成对目标用户v的商品推荐列表。
[0067]
基于评论整合挖掘的商品精细化推荐方法,进一步的,混合推荐的评分预测:对于基于评论挖掘和用户的协同过滤计算式为:
[0068][0069]
其中d
v
表示基于评论挖掘和用户的协同过滤中邻居用户相近度的均值,v(v)为目标用户的邻居用户集合,|v(v)|为集合大小,sim(x,v)为目标用户v和用户x的相近度,同理对基于评论挖掘和商品的协同过滤用式16计算:
[0070][0071]
其中d
i
表示对于基于评论挖掘和商品的协同过滤中邻居商品相近度的均值,i(i)为当前商品的邻居商品集合,i(i)为集合大小,sim(x,i)为当前商品i和商品x的相近度,引入参数a(0≤a≤1)作为权重调节因子,首先得出基于评论挖掘和用户的协同过滤的置信权重定义:
[0072][0073]
其中d
v
表示基于评论挖掘和用户的协同过滤中邻居用户相近度的均值,d
i
表示基于评论挖掘和商品的协同过滤中邻居商品相近度的均值,a(0≤a≤1)为权重调节因子,对基于评论挖掘和商品协同过滤的置信权重的定义由式18得出:
[0074][0075]
二者的置信权重和为1,并且通过调整权重调节因子a的值改变对应的权重值,实施例a=0.5来平衡二者的权重,确定置信权重之后,得出最终预测值的定义式:
[0076]
finper
v,i
=b
v
*pre
v,i
b
i
*pre
v,q
ꢀꢀ
式19
[0077]
其中,finper
v,i
为混合模型计算后最终的用户对商品评分预测值,b
v
与b
i
分别为基于评论挖掘用户和商品两种协同过滤的混合权值,per
v,i
和per
v,p
分别为基于评论挖掘用户和商品两种协同过滤的用户对商品评分预测值。
[0078]
与现有技术相比,本发明的贡献和创新点在于:
[0079]
第一,现有技术的协同过滤算法受限于数据稀疏性问题的影响,用户商品评分矩阵的稀疏导致用户或者商品间相近度计算不准确甚至无法计算,严重影响协同过滤算法的推荐准确度,本发明提出基于评论整合挖掘的商品精细化推荐方法,将评论文本中包含的用户对商品各方面的见解整合到推荐过程中,从商品的特质层面上解析用户和商品,提高
为用户推荐商品的准确度,首先采用评论挖掘方法从商品的评论文本中挖掘出用户对商品特质级的情感信息,然后采用这些挖掘出的情感信息分别构建用户偏好模型和商品特质模型,更准确的衡量用户和商品间的相近度,最后将基于邻近用户和基于邻近商品的预测评分通过全局权重法融合起来,更全面的从用户主观性和商品客观性来为用户推荐;
[0080]
第二,本发明通过挖掘整合用户评论,获取评论中隐含的语义信息,缓解传统协同过滤算法的数据稀疏性问题,提高推荐准确性,首先通过评论挖掘的方法处理用户评论,针对用户对商品的评论来提取用户对商品特质层面的观点,构建用户的偏好模型和商品特质模型,然后基于用户偏好和商品特质分别提出两种不同的基于评论挖掘的推荐方法,一个是基于评论挖掘和用户的协同过滤推荐方法,一个是基于评论挖掘和商品的协同过滤推荐方法,最后采取全局权重法将两者融合,本发明提出的两种基于评论整合挖掘的方法与现有技术的协同过滤推荐方法相比,用户之间和商品之间相近度计算时,不再基于共同评分项,而是基于用户偏好模型和商品特质模型来分别计算用户间和商品间相近度,效率和准确度都有大幅提高;
[0081]
第三,本发明分别提出基于评论挖掘和用户的协同过滤和基于评论挖掘和商品的协同过滤方法,但这两种推荐方法都还存在弊端和不足,基于评论挖掘的用户协同过滤算法,从用户的评论中抽取出用户的个人偏好信息,虽然与基于评分的传统协同过滤方法相比,在用户个人偏好信息获取上更加精确,但未考虑商品的相关属性,商品的属性也是对推荐效果具有很大影响的因素;同样,基于评论挖掘的商品协同过滤算法,忽略了用户的个人偏好信息,所以,前面两种方法虽然比传统的协同过滤方法有较好的改进,但考虑影响推荐的因素并不全面,所以,本发明综合考虑融合以上两种方法,将用户的偏好信息和商品的特质信息结合起来进行混合模型推荐,两种方法经过相近度计算、邻居选择和评分值预测步骤得出对应的评分预测值,最后通过整合预测值来做最终预测,能够提高预测评分的准确度;
[0082]
第四,基于用户的方法和基于商品的方法各有优缺点,不同场景和数据对两种方法的适应程度不同,这主要与用户或商品的数据稀疏程度有关,若用户注示数据太过稀疏,则基于商品的方法精度相对较髙,相反,如果商品的注示数据过于稀疏,那么基于用户的方法的精度就相对较高。为综合两者实现互补,通过两种方法的有效融合提高推荐的精度,采用全局参数将两种方法的预测结果进行线性融合,进一步改进包括:一是混合模型中基于用户的协同过滤构建在用户的评论挖掘之上,更能反映出用户的个性化特质,在邻居用户的计算和选择上,更加准确;二是混合模型中基于商品的协同过滤是构建在用户对商品的普遍评价基础上,得到的商品特质更加客观有效,更能区分商品的相近度;三是两种协同过滤的方法的融合,相比其他融合方案而言,具有简单有效的特点。
附图说明
[0083]
图1是本发明评论数据的前置处理流程图。
[0084]
图2是基于评论挖掘和用户的协同过滤推荐的方法流程图。
[0085]
图3是基于评论挖掘和用户的协同过滤推荐的方法流程图。
[0086]
图4是本发明基于评论整合挖掘的混合精细化推荐框架图。
[0087]
具体实施方法
[0088]
下面结合附图,对本发明提供的基于评论整合挖掘的商品精细化推荐方法的技术方案进行进一步的描述,使本领域的技术人员能够更好的理解本发明并能予以实施。
[0089]
随着互联网特别是移动互联网的普及,电商业务得到了迅猛发展,购物网站中的商品种类与数目不断增加,用户很难在短时间内准确找到感兴趣的商品,商品推荐技术为解决该问题提供了解决方案。作为目前推荐系统中应用最广泛的推荐技术,现有技术的协同过滤算法利用用户对商品的评分来计算用户或者商品间相近度,通过相近用户或者相近商品的评分预测目标用户的评分,进而选取预测评分值高的商品进行推荐。但在实际运用中,协同过滤算法常受限于数据稀疏性问题的影响,用户商品评分矩阵的稀疏导致用户或者商品间相近度计算不准确甚至无法计算,严重影响协同过滤算法的推荐准确度。
[0090]
针对上述问题,本发明提出基于评论整合挖掘的商品精细化推荐方法,将评论文本中包含的用户对商品各方面的见解整合到推荐过程中,从商品的特质层面上解析用户和商品,提高为用户推荐商品的准确度。本发明首先采用评论挖掘方法从商品的评论文本中挖掘出用户对商品特质级的情感信息,然后采用这些挖掘出的情感信息分别构建用户偏好模型和商品特质模型,从而更准确的衡量用户和商品间的相近度,最后将基于邻近用户和基于邻近商品的预测评分通过全局权重法融合起来,更全面的从用户主观性和商品客观性来为用户推荐。
[0091]
通过在京东商城的真实数据集进行对比实验证明,本发明方法的效率和准确度都有大幅提高,实验结果显示,相较于现有技术的两种协同过滤方法,本发明能够提高预测评分的准确度。
[0092]
一、基于评论整合挖掘的商品精细化推荐
[0093]
本发明提出一种基于评论整合挖掘的商品精细化推荐方法,通过挖掘整合用户评论,获取评论中隐含的语义信息,缓解传统协同过滤算法的数据稀疏性问题,提高推荐准确性。
[0094]
本发明首先通过评论挖掘的方法处理用户评论,针对用户对商品的评论来提取用户对商品特质层面的观点,构建用户的偏好模型和商品特质模型,然后基于用户偏好和商品特质分别提出两种不同的基于评论挖掘的推荐方法,一个是基于评论挖掘和用户的协同过滤推荐方法,一个是基于评论挖掘和商品的协同过滤推荐方法,最后采取全局权重法将两者融合在一起,本发明提出的两种基于评论整合挖掘的协同过滤推荐方法与现有技术的协同过滤推荐方法相比,用户之间和商品之间相近度计算时,不再基于共同评分项,而是基于用户偏好模型和商品特质模型来分别计算用户间和商品间相近度。
[0095]
首先从用户的角度,通过对商品评论数据的解析和挖掘,构建用户的偏好模型,依据用户的偏好模型来计算用户间相近度,通过用户相近度寻找邻居用户集进行基于用户的协同过滤推荐,然后从商品的角度,通过对商品评论数据的解析和挖掘,抽取商品的特质

情感词对来构建商品的特质模型,并依据商品的特质模型来计算商品间相近度,通过商品相近度寻找邻居商品集进行基于商品的协同过滤推荐,最后,融合用户和商品的因素,将基于用户的协同过滤与基于商品的协同过滤结合起来,整合两者进行混合推荐。
[0096]
二、商品评论解析挖掘
[0097]
商品评论解析挖掘包括评论数据的前置处理、特质

情感词对的提取、商品特质过滤、情感倾向解析四个步骤。
[0098]
(一)评论数据的前置处理
[0099]
从电商平台爬取到的数据,是最原始的评论数据,并不能直接使用,需要前置处理转化成需要的特定数据,这是评论挖掘的基础。
[0100]
本发明定义评论数据的前置处理的流程如图1所示,首先过滤重复评论和垃圾评论,然后进行评论分词和词性注示,最后进行停用词过滤得到前置处理后的数据。
[0101]
1.过滤重复评论和垃圾评论
[0102]
原始评论数据存在一定量的脏数据和冗余数据,还有一些无意义的评论,这些数据都对评论数据的挖掘有严重干扰,所以在进行评论挖掘之前需要过滤这些无效评论和垃圾评论,无效评论和垃圾评论具有一些明显的关键词特质,评论中包含联系方式、qq、微信号等带有广告性质的信息,包含繁体字、或全是“呵呵”等字眼,所以不采用机器学习的方法,而是直接利用关键词的方法过滤无效评论和垃圾评论,同时,由于电商平台通常鼓励用户多发表评论,因此在评论数据集中过滤掉同一用户对同一商品的重复评论。
[0103]
2.评论分词和词性注示
[0104]
从评论中挖掘有用信息,涉及到分词和词性注示的自然语言处理,采用中国科学院计算机所研制的中文分词系统icrclas对商品评论数据进行分词和词性注示操作。
[0105]
3.停用词过滤
[0106]
通过icrclas工具对评论数据进行分词和词性注示,但分词结果中并不是每一个词都有用,在用户评论中常常出现一些使用广泛并且频繁出现的词语,实际上这些词语对后续解析商品特质及用户情感没有实际意义,反而会对评论中的有效信息造成噪音干扰,这些停用词主要有介词、副词、连词、语气助词、符号等,这些词本身没有明确的意义,只在句子中起一定的辅助作用,并不是句子中的关键部分,因此在前置处理阶段将这些词语过滤掉。
[0107]
(二)特质

情感词对的提取
[0108]
在商品评论解析挖掘中最主要的任务就是提取商品的特质和特质

情感词对,这些商品特质反映用户对商品的关注点,特质

情感词对反映商品某一特质被用户喜好的程度,商品特质为名词、名词短语或者动词,将评论中对应这些词性的词提取出来,通过筛选得到,或在特质

情感词对提取的过程中进行提取,特质

情感词对形式化定义为:
[0109]
定义一:一个特质

情感词对couple=(g,y),其中g表示用户在评论中关注的商品特质词,为细粒度特质,如分辨率、外观等,y表示用户在对对应特质评论时使用的描述词,带有一定的情感极性,如高、漂亮等;
[0110]
定义二:用户评论数据的集合s={s1,s2,

,s
n
},每一条用户的评论s
i
看作是一组特质

情感词对的集合s
i
={couple1,couple2,

,couple
m
};
[0111]
在商品评论信息中,用户语言一般具有简洁性和随意性,不符合常规的句子结构,而且其中多包含省略语与流行语,甚至是错别字,这就增加了特质和情感词抽取的难度。当前特质词和情感词的抽取多采用分开抽取的方式,抽取的结果并不理想,因为在用户的商品评论中,多将特质词和情感词放在一起表达个人的情感倾向,所以这里的特质和情感词具有对应关系,采用分开抽取的方式效果并不好,所以,本发明采用同时抽取商品特质和对应情感词对的方法。
[0112]
本发明采用半自动抽取的方式,设计并实现了特质情感词半自动抽取算法,无需
人工注示任何数据。
[0113]
通过统计评论数据集,在很大部分的评论中,用户通常会使用很简短的句子来表达自己的情感,这类短句很简明的表达了用户对商品细粒度特质的观点,并且在特质词前和感情词后没有冗余的词语,因此在处理评论时,本发明将评论语句以标点或者空格拆分成短句进行特质

情感词对提取,本发明通过人工抽取特质

情感词对实验发现,抽取出的商品特质词词性绝大部分为名词或者动词,而用户情感词词性绝大部分为形容词、名词或者动词,并且这两者也具有一定的搭配模式,如“名词 副词 形容词”、“动词 形容词”、“名词 形容词”,因此提取出这些商品特质词和用户情感词间的常用搭配作为语言模式,这些模式采用词语级的表示,但同时也存在问题,如“外形很漂亮”和“外观很漂亮”两者表达的是同一个意思,却是两种不同的匹配,所以将语言粒度泛化到词性层面,合并相近特质,分析商品特质词和用户情感词之间的词性模板,形成提取词性模板的算法,算法伪码为:
[0114]
输入:经过数据前置处理后的评论语料集合c={c1,c2,

,c
n
},其中c
i
代表一条评论短语;
[0115]
输出:商品特质词与用户情感词间的词性模板集合n;
[0116]
步骤一:gc
i
=c
i
;//提取经过前置处理后的评论语料集合c中的短句;
[0117]
步骤二:gcn
i
=removeword(gc
i
);//将评论短语中的中文词删除,只留下词性注示,形成一个候选词性模板;
[0118]
步骤三:if(length(gcn
i
)<α)and gcn
i in n)then greq
i
;//对于一个候选模板gcn
i
,如果其长度小于给定的长度临界值α,且已经存在在候选模板库m中,则将模板gcn
i
出现的频率greq
i
加1;
[0119]
步骤四:if(length(gcn
i
<α)and gcn
i not in n)then greq
i
=1;//对于一个候选模板gcn
i
,如果其长度小于给定的长度临界值α,且不存在在候选模板库n中,则将模板gcn
i
出现的频率greq
i
置为1,并将其加入到候选模板库n中;
[0120]
步骤五:if(greq
i
<β)delete gcn
i from n;//对于一个候选模板gcn
i
,如果其出现频率greq
i
小于频率临界值β,则将其从候选模板库n中删除;
[0121]
步骤六:return n;//输出词性模板库n;
[0122]
提取词性模板的第一步是先从前置处理后的评论语料库中抽取出经过分词与词性注示后的短句,然后再从每一短句中抽取从商品特质词到用户情感词之间的完整词性路径,如果从词语层面提取这些路径,那么如“外观很漂亮”和“外形很漂亮”就会是两种模板,这样的模板通用性差,所以将语句进行词性注示以将其泛化到词性层面来提取这些路径,得到的这些路径就是候选词性模板,在算法的第三步和第四步中,提出两种过滤策略来对提取的候选词性模板进行筛选,由于用户的表达形式不定,一些过长或者过少见的模板不具有普遍性和实用性,因此本发明通过设置长度临界值α和频率临界值β来对候选模板进行过滤,两种过滤策略为:一是在评论中出现的长句只陈述客观事实,这样的句子提取出来的词性模板较长,在提取特质

情感词对时的实用性差,因此通过设定长度临界值的方式对较长模板进行过滤;二是对于候选模板中出现很少的实用性差的模板,通过设定频率临界值的方式过滤出现很少的模板,通过这两种过滤策略提高模板的通用性和系统性能,通过词性模板算法提取出词性模板后,通过该词性模板来匹配评论语料,提取其中包含商品特质词和用户情感词对集合的短句,通过提取短句中的名词或者名词短语作为商品特质候选集
合。
[0123]
以上是评论中显式特质的提取方法,本发明在提取商品特质词时,通过构建一个隐式评价映射表,查找映射表找出评论中的隐式评价对应的特质词,提高效果。
[0124]
(三)商品特质过滤
[0125]
通过获取商品特质

情感词对,得到了商品的候选特质集合,但候选特质集合并不是每个特质都有效,因此需要对商品特质集合中的冗余和不准确项进行过滤,提取出更准确的商品特质集合。采用互信息的方法对提取出的候选商品特质进行过滤,得到更加准确的商品特质集合,首先从抽取出的候选特质集合中人工识别出频繁出现且具有代表性的特质词组成种子特质集合,通过计算词语间互信息的方法来对商品特质词进行过滤,计算式为:
[0126][0127]
其中,seeds表示抽取的种子特质集合,singh(k1&k)表示词k1和词k同时出现的次数,singh(k1)表示词k1单独出现的次数,singh(k)表示词k单独出现的次数,采用权威知网词典hownet进行词语的语义相近度的计算来合并商品特质词,减少冗余,经过特质词过滤和合并之后,得到一个较准确的特质集合。
[0128]
(四)情感倾向解析
[0129]
特质

情感词对描述用户对商品特质的情感表达,在挖掘用户情感倾向时不仅要考虑情感词,短句中是否包含否定词也必须考虑。
[0130]
本发明对于情感词倾向的解析,借助于知网词典hownet中的正负词汇集,正面词汇集pos

k有4566个,负面词汇neg

k为4370个,情感词的倾向通过计算情感词y与正面词汇集和负面词汇集的相近程度进行判断,即词语的相近度计算,本发明采用基于统计的大规模语料库判断情感词的倾向,词语间的相近程度取决于词语间呈现的共性,采用互信息来衡量词语间的相近程度,计算式为:
[0131][0132]
其中,q(k1)为词k1出现的概率,q(k2)为词k2出现的概率,q(k1&k2)为词k1和词k2同时出现的概率,概率q(k1&k2)与词k1出现的概率q(k1)和k2出现的概率q(k2)之积的比值作为衡量词k1和词k2间的独立性,通过互信息qnj的值判断词k1和词k2的相近程度,若qnj>0则说明词k1和词k2同时出现概率较大,相近度较高,相反,如果qnj<0则说明两者相近度低,本发明采用百度搜索引擎作为支持的语料库,用singh(k)表示词k在这个大型语料库下出现的次数,则公式为:
[0133][0134]
进而通过比较情感词与正面词汇集pos

k和负面词汇集neg

k的相近程度来判断该情感词的情感倾向,表示为:
[0135]
cy

qnj(k)=∑
q∈pos

k qnj(k,q)


m∈neg

k qnj(k,m)
ꢀꢀ
式4
[0136]
当cy

qnj(k)大于0时,表明词语k与正面词集pos

k关联性更强,即词语k的情感更趋近正面,应属正面情感词,反之,cy

qnj(k)小于0时,表明词语k更趋近负面词集neg

k,即
词语k应属负面情感词。
[0137]
针对评论短句中含有的否定词汇,由于否定词相对固定,数量相对较少,因此,本发明针对要处理的数据集,定义否定词集合n

k,具体为:set(n

k)b包括不、不会、不可、不可能、不是、不能、不足、无法、没法、难免、没有、否定、否认、无法、无能,如果短句中存在否定词,通过短句的词性解析匹配查找,即可定位否定词的位置q
n
,进而通过判断观点词位置q
y
与否定词的相对位置即可确定否定词对观点词的情感倾向影响,如果q
n
>q
y
,即否定词在观点词之后,否定词对用户特质的情感倾向不构成影响,相反,如果q
n
<q
y
,即否定词在观点词之前,否定词对用户特质的情感倾向产生影响,由于推荐过程中只考虑用户的情感倾向而不考虑情感程度,直接将用户情感词的cy

qnj值符号置反。
[0138]
三、基于评论挖掘和用户的协同推荐
[0139]
基于评论挖掘和用户的协同过滤推荐的具体方法如图2所示,首先通过商品评论解析挖掘的方法提取出用户的特质

情感词对集合,然后通过获取用户偏好计算用户间相近度,最后基于相近用户的评分预测目标用户评分进而产生推荐。
[0140]
(一)获取用户偏好
[0141]
本发明的用户偏好是当用户在购买一个商品时,用户最看重的该类商品的一组特质,不同用户看重的商品特质不同,因此用户之间的偏好也存在一定的差异性,每个用户对商品特质的重视程度也不相同,因此定义用户v的偏好模型:vid<g1,pre><g2,pre>,
……
,<g
n
,pre>,其中vid代表用户的id,g
n
代表用户偏好的第n个特质,pre代表用户对特质g的偏好程度,同时,定义用户v的偏好向量p
v
,特质集合{g1,g2,

,g
n
},是依据用户对特质偏好程度的高低产生的有序集合,商品特质的先后顺序同时也代表用户对对应特质的重视程度高低,从评论集中获取并构建用户的偏好向量。
[0142]
从商品评论解析挖掘中,能得到评论中商品的特质集,针对这些特质集合,不同用户的偏好程度不同,正是对商品特性偏好程度的不同,造成了用户间偏好的差异。因此,本发明抽取每个用户的所有评论信息,从这些评论信息中衡量用户对每个特质的偏好程度。
[0143]
针对用户对特质重视程度的衡量,rg为文档词频,表示某个特质词在某个用户所有评论中出现的频率,定义为:
[0144][0145]
其中,rg
vg0
表示商品特质词g0在用户v所有评论中出现的频率,m
v
,g0为特质g0在用户评论中出现的次数,g为商品的所有特质集合,∑
gi∈g
m
v,g0
为用户评论中所有特质出现的总次数,对特质出现的次数做归一化处理,通过rg即可反映出用户的偏好信息,即可得到用户对商品某一特质的偏好程度衡量值,式为:
[0146][0147]
其中,q
vg0
是用户v对商品特质g0的偏好程度,为特质g0的rg值,将用户的偏好量化,得到用户的偏好q
i
,q
i
表示为:
[0148]
q
i
={(g1,q1),(g2,q2)
……
(g
n
,q
m
)}
ꢀꢀ
式7
[0149]
用户的偏好以偏好值q进行排序,随着q值的降低,用户对对应特质的重视程度降低,得到所有用户的偏好集{q1,q2,
……
q
m
}。
[0150]
(二)计算用户相近度
[0151]
用户间相近度计算是商品推荐非常重要的一步,用户给一个商品某个评分一般是由用户对这个商品中他所关注的一组特质的好坏程度综合决定的,即用户在给出对商品的评分时并不是随意的,而是符合自身特点和偏好的。传统的协同过滤推荐方法基于用户

商品评分矩阵来判断用户的自身偏好存在着弊端,用户对于商品个别特质的偏爱会使得他对这个商品整体的评分不准确和客观,同时只从评分也看不出用户对某特定商品特质的偏好。本发明通过计算用户对特定特质的偏好来计算用户间相近度,通过用户间相近度来选取t

k的邻居用户,在计算用户间相近度时,对现有技术基于用户的协同过滤算法中的用户

商品评分矩阵进行改变,变换为用户

商品特质偏好矩阵,构建出所有用户的偏好集,基于此偏好集来衡量用户间相近度,两个用户的相近度衡量时,定义两个用户的偏好向量为:v
i
=(g
i1
,q
i1
),(g
i2
,q
i2
),

,(g
im
,q
im
);v
j
=(g
j1
,q
j1
),(g
j2
,q
j2
),

,(g
jn
,q
jn
),其中用户v
i
、v
j
分别有m、n维偏好向量,g
ip
(1<p<m)与g
jp
(1<p<n)之间不一定是对应关系,即g
ip
与g
jp
可能是相同属性特质也可能不是,属性特质顺序依据用户偏好权值从大到小顺序排列,即用户的偏好向量简化为:v
i
=g
i1
,g
i2
,

,g
im
;v
j
=g
j1
,g
j2
,

,g
jn
,针对上述用户v
i
和v
j
的偏好向量计算两者之间的相近度,相近度计算式为:
[0152][0153]
其中,m的取值为min((amount(v
i
),amount(v
j
)),即用户v1与用户v2偏好中重视特质个数的最小值,cyc函数定义为用户偏好向量中top

w个特质中相同个数,假设pre
v1
={g1,g2,g3},pre
v2
={g2,g3,g4},则当w=1时,cyc返回0,w=1时cyc返回1,w=2时cyc返回2,能体现出用户在重视特质顺序上的相近度,用户相近度的计算更准确。
[0154]
(三)用户评分预测
[0155]
解析用户相近度,进而获取top

w个邻居用户,基于这些邻居用户对目标用户进行商品评分预测,商品的评分预测式为:
[0156][0157]
其中,pre
v,i
表示评分预测结果,v
*
为用户v所有评分的均值,mv
v
表示用户v的邻居用户集,则v
w
表示邻居用户集中的某个用户,t
vw,i
表示邻居用户v
w
对商品i的评分,sim(v,v
w
)表示用户v和邻居用户v
w
间的相近度,得到目标用户v对任意商品i的预测评分,在预测商品列表中选取top

m个评分最高的商品,形成对目标用户v的商品推荐列表。
[0158]
四、基于评论挖掘和商品的协同推荐
[0159]
基于评论挖掘和用户的协同过滤推荐的具体方法如图3所示,首先通过商品评论解析挖掘方法提取出商品的特质

情感词对集合,然后通过量化商品特质计算商品间相近度,最后基于相近商品的评分预测目标用户评分进而产生推荐。
[0160]
(一)商品特质量化
[0161]
商品特质数据是从用户评论数据集中挖掘出来,商品与商品之间的特质表示不一定相同,经过评论挖掘处理后的用户评论数据模型为:qid

vid

rat

<key,valve>,

,<key,valve>,其中qid代表商品id,vid代表用户id,rat代表用户的综合评分,<key,valve>代表用户对商品在特质key上的主观情感值,包括正面、中立、负面,解析所有用户对此商品
的评论数据,得出所有用户对该商品的特质属性的情感分布数据,具体商品特质模型为:qid

g1‑
g2……
g
m
,其中qid表示商品id,g
i
表示商品的第i个特质属性,而每个特质属性又是一个结构数据,反映用户在该特质属性上的情感分布情况,其模型为:好评率

中评率

差评率,利用用户对该商品的评论数据得到具体商品的数据表示,为每个商品构建一个映射表,其中键是商品id,值是商品的特质列表,解析每个用户的评论得出对应的键值对,然后到对应的特质列表里查找外观特质,并将好评次数增1,如果没有找到对应的特质则将该特质插入到特质列表中,初始化好评次数为1,其他初始化为0,解析完所有用户评论后,分别计算该特质得到的好评率、中评论、差评率,最终得到该商品的一个特质模型,综合所有用户评论数据得出所有商品的特质模型。
[0162]
(二)计算商品相近度
[0163]
基于从评论中挖掘出的商品特质来衡量商品间相近度,对于两个特质属性分量g(t1,t2,t3)、g(t1,t2,t3),用余弦相近度计算式来计算他们之间的相近度:
[0164][0165]
其中sim(g
x
,g
x

)表示两个特质属性分量之间的相近度,t
i
、t
i

表示特质属性分量的情感分布率,t1、t2、t3分别表示所有评论用户对该商品在特质属性分量g
x
的好评率、中评率、差评率,两个商品用式11计算他们之间的相近度:
[0166][0167]
其中sim(q
x
,q
y
)表示两个商品q
x
、q
y
之间的相近度,sim(g
x
,g
x

)表示商品q
x
、q
y
的特质属性分量g
i
、g
i

之间的相近度,b
i
为属性分量g
i
的置信权重,满足的条件,w为两个商品之间属性特质长度的最小值,在存在某个商品缺少某一特质属性的情况,对不同的情况都要做出对应处理以得到正确的结果。
[0168]
相近度计算过程为:首先对边界情况进行解析,当两个商品的特质属性集均为空或任何一方为空,规定两个商品的相近度为零,当两个商品特质属性集均不为空时,执行如下计算过程:
[0169]
过程一,选择其中一个商品作为当前商品q
x
,依次遍历当前商品的特质属性集,对每个属性执行过程二,遍历完毕执行过程四;
[0170]
过程二,以过程一的当前特质属性为参数,依次查找商品q
y
的属性集中对应的属性,计算两个特质属性之间的相近度,对于已经计算完相近度的特质属性节点予以删除,当查找失败没有找到对应的特质属性时,则放弃当前特质属性继续计算下一个属性之间的相近度;
[0171]
过程三,对过程二计算得到的相近度值进行加权统计,同时统计查找失败的次数;
[0172]
过程四,算法终止,输出最终的相近度值,以及失败次数。
[0173]
(三)商品评分预测
[0174]
预测目标用户v对任意商品q的商品评分预测,商品评分预测式为:
[0175]
[0176]
其中,q
*
为该购买任意商品q的所有用户的平均评分,q(v)表示目标用户v购买的商品集合,则q
w
是目标用户已购买的商品,t
v,qw
表示目标用户v对已购买商品q
w
的评分,q
w*
表示购买商品q
w
的所有用户的平均评分,sim(q
w
,q)表示任意商品q与目标用户v已购买商品q
w
间的商品相近度,得到目标用户v对任意商品q的预测评分,在预测商品列表中选取top

m个评分最高的商品,形成对目标用户v的商品推荐列表。
[0177]
四、基于评论挖掘的混合推荐方法
[0178]
本发明分别提出基于评论挖掘和用户的协同过滤和基于评论挖掘和商品的协同过滤方法,但这两种推荐方法都还存在一定的弊端和不足。基于评论挖掘的用户协同过滤算法,从用户的评论中抽取出用户的个人偏好信息,虽然与基于评分的传统协同过滤方法相比,在用户个人偏好信息获取上更加精确,但未考虑商品的相关属性,商品的属性也是对推荐效果具有很大影响的因素。同样,基于评论挖掘的商品协同过滤算法,具有相近的缺点,即忽略了用户的个人偏好信息,所以,前面两种方法虽然比传统的协同过滤方法有较好的改进,但考虑影响推荐的因素并不全面。所以,本发明就综合考虑融合以上两种方法,将用户的偏好信息和商品的特质信息结合起来进行混合模型推荐。
[0179]
(一)混合推荐方法流程
[0180]
基于评论挖掘的混合推荐方法是将基于用户的协同过滤方法与基于商品的协同过滤方法相结合,两种方法经过相近度计算、邻居选择和评分值预测步骤得出对应的评分预测值,最后通过整合预测值来做最终预测,方法的工作原理如图4所示。
[0181]
基于用户的方法和基于商品的方法各有优缺点,不同场景和数据对两种方法的适应程度不同,这主要与用户或商品的数据稀疏程度有关,若用户注示数据太过稀疏,则基于商品的方法精度相对较髙,相反,如果商品的注示数据过于稀疏,那么基于用户的方法的精度就相对较高。为综合两者实现互补,通过两种方法的有效融合提高推荐的精度,采用全局参数将两种方法的预测结果进行线性融合,进一步改进包括:
[0182]
一是混合模型中基于用户的协同过滤构建在用户的评论挖掘之上,更能反映出用户的个性化特质,在邻居用户的计算和选择上,更加准确;二是混合模型中基于商品的协同过滤是构建在用户对商品的普遍评价基础上,得到的商品特质更加客观有效,更能区分商品的相近度;三是两种协同过滤的方法的融合,相比其他融合方案而言,具有简单有效的特点。
[0183]
(二)混合推荐的评分预测
[0184]
基于评论挖掘的用户和商品的协同过滤两种方法的用户的偏好预测分别为:
[0185][0186][0187]
式13和式14已近在基于评论挖掘和用户的协同推荐和基于评论挖掘和商品的协同推荐中分别定义,通过两个预测式分别预测到用户对商品的评分,利用置信权重整合两个预测值形成最终的结果,用相近度均值作为衡量,对于基于评论挖掘和用户的协同过滤计算式为:
[0188][0189]
其中d
v
表示基于评论挖掘和用户的协同过滤中邻居用户相近度的均值,v(v)为目标用户的邻居用户集合,|v(v)|为集合大小,sim(x,v)为目标用户v和用户x的相近度,同理对基于评论挖掘和商品的协同过滤用式16计算:
[0190][0191]
其中d
i
表示对于基于评论挖掘和商品的协同过滤中邻居商品相近度的均值,i(i)为当前商品的邻居商品集合,i(i)为集合大小,sim(x,i)为当前商品i和商品x的相近度,引入参数a(0≤a≤1)作为权重调节因子,首先得出基于评论挖掘和用户的协同过滤的置信权重定义:
[0192][0193]
其中d
v
表示基于评论挖掘和用户的协同过滤中邻居用户相近度的均值,d
i
表示基于评论挖掘和商品的协同过滤中邻居商品相近度的均值,a(0≤a≤1)为权重调节因子,对基于评论挖掘和商品协同过滤的置信权重的定义由式18得出:
[0194][0195]
二者的置信权重和为1,并且通过调整权重调节因子a的值改变对应的权重值,实施例a=0.5来平衡二者的权重,确定置信权重之后,得出最终预测值的定义式:
[0196]
finper
v,i
=b
v
*pre
v,i
b
i
*pre
v,q
ꢀꢀ
式19
[0197]
其中,finper
v,i
为混合模型计算后最终的用户对商品评分预测值,b
v
与b
i
分别为基于评论挖掘用户和商品两种协同过滤的混合权值,per
v,i
和per
v,p
分别为基于评论挖掘用户和商品两种协同过滤的用户对商品评分预测值。
[0198]
五、发明点总结
[0199]
电子商务迅猛发展,购物网站中的商品种类与数目不断增加,用户很难在短时间内找到他们感兴趣的商品。商品推荐提供了有效的解决方案。传统协同过滤方法利用用户对商品的评分来计算用户或者商品间相近度,通过相近用户或者相近商品的评分对目标用户的评分进行预测,进而选取预测评分值高的商品进行推荐,但在实际运用中,传统协同过滤算法常常受限于数据稀疏性问题的影响,其原因在于用户商品评分矩阵的稀疏导致用户或者商品间相近度计算不准确甚至无法计算,影响协同过滤算法的推荐准确度。
[0200]
针对上述问题,本发明提出基于评论挖掘的商品推荐方法,将评论挖掘与传统的协同过滤的推荐方法相结合,从用户偏好和商品的特质层面上来解析用户和商品,缓解数据稀疏和推荐准确性问题。具体包括:
[0201]
一是通过对用户评论的挖掘和解析,获取用户偏好,然后根据获取的用户偏好计算用户之间的相近度,本发明对现有技术的协同过滤算法的改进包括在计算用户相近度时不再基于用户间共同评分项,而是基于用户的偏好,改进的基于用户的方法缓解数据稀疏为用户间相近度计算带来的不利影响;二是通过对商品评论的挖掘和解析,构建商品的特质模型,在计算商品相近度时不再基于商品间共同评分项,而是基于商品特质,通过改进商品间相近度计算方法提高商品相近度计算的准确性,进而提高推荐效果;三是为综合考虑
用户主观因素和商品客观因素,将基于评论挖掘和用户的协同过滤与基于评论挖掘和商品的协同过滤结合,产生混合模型进行推荐。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜