基于相似度计算的垃圾评论检测方法与流程

文档序号:12063814阅读:406来源:国知局
基于相似度计算的垃圾评论检测方法与流程
本发明属于自然语言处理的用户评论领域,尤其涉及一种基于相似度计算的垃圾评论检测方法。
背景技术
::随着移动互联网时代的到来和物联网的构建日趋完善,网络购物渐渐成为一种新型重要消费方式,越来越多用户生成的内容(user-generatedcontent)出现在网络应用中,大多数消费者会在购物后在电商平台发表自己的购物体会和使用心得以及对产品的看法。一方面,据美国Cone公司2011年的调查报告,64%的用户在购买行为之前会参考已有的用户评论,用户发表的评论会对潜在消费者的消费行为产生一定影响而具有商业价值;另一方面,用户的评论包含了消费者对产品各方面的评价及喜好程度等大量的信息,这些信息可以帮助企业更便捷的了解消费者喜好和消费需求、发现产品质量等问题,了解自身商品性能的优势与不足。对于电商服务平台而言,通过商品评论信息了解消费者最关注的商品特性,在商品评论系统中引导消费者更全面的评价商品,进而提高评论信息质量和网站口碑。因为同种商品消费者更倾向于光顾销量多、评论人数多、好评多的店铺,出于利益目的,商家常会雇佣水军进行虚假交易然后刷评论数量或进行满N字好评返现等活动加之评论的开放性与网民个人素质的差异性,使得电商的用户评论文本质量参差不齐。用户评论文本质量的良莠不齐对浏览评论的消费者和通过研究评论来获取产品相关信息的企业带来困扰甚至误导,同时加大了信息挖掘的成本,降低了自动挖掘工具的准确率。为了减少上述不利影响,本文针对消费者评论文本里参杂了大量无效或虚假的信息,站在产品制造设计者的角度,以发掘消费者潜在需求促进产品创新为目的,提出了一种基于相似度计算提取高质量有用评论的方法。以京东上某款手机的用户评论为例,本文构建产品特征集、运用相似度算法,将一系列无用评论、重复评论进行剔除。并运用决策树方法处理的结果与本文方法进行对比,结果显示本文所讲的方法对用户评论有更优越的筛选能力,在识别精度和准确度上比决策树方法有显著提高。技术实现要素::本发明的主要目的在于提供一种基于相似度计算的垃圾评论检测方法,是获取高质量电商平台用户评论文本的一种有效方法。一种基于相似度计算的垃圾评论检测方法,包括下述步骤:步骤1,数据获取:利用网络爬虫,抓取与指定产品相关的论坛、电商网页,然后抽取网页中的评论数据,并将评论数据保存到数据库中;步骤2,虚假评论检测:计算评论时间与购买时间的时间的差T,若T<货物运送时间则该条评论为虚假评论。步骤3,重复评论检测:对每条评论进行分词,然后计算评论间的相似度,当评论间的相似度高于阈值,则该评论和其相似的评论即为重复评论;步骤4,数据处理:对评论进行句法分析、情感标注、特征词提取处理,并根据产品说明书,构建产品特征词典。步骤5,无关评论检测:计算每条评论的评论目标是否为目标产品及其特征,检测出与目标产品无关的评论。在上述的基于相似度计算的垃圾评论检测方法中,在所述的步骤1中,抓取与指定产品相关的论坛、电商等网页时,计算产品名与网页标题相似度的公式为:在上述的基于相似度计算的垃圾评论检测方法中,在所述的步骤2中,将每条评论进行分词及词性分析。在上述的基于相似度计算的垃圾评论检测方法中,在所述的步骤2中,计算每条评论的评论时间和客户购买商品的时间之差T,并将差值T与货物运送时间进行比较,若T<货物运送时间,则该条评论为用户还没有收到产品并使用就已发表的虚假评论。在上述的基于相似度计算的垃圾评论检测方法中,在所述的步骤3中,计算每条评论与其他评论间的词形词序相似度,其计算公式为:词形相似度:其中句子A的长度为len(A),句子B的长度为len(B),SameWC(A,B)表示句子A,B中相同单词的个数。词序相似度:其中OnceWS(A,B)表示A、B中都出现且只出现一次的单词集合。Pfirst(A,B)表示OnceWS(A,B)的单词在A中的位置序号构成的向量,Psecond(A,B)表示Pfirst(A,B)中的分量按对应单词在B中的词序排列生成的向量,RevOrd(A,B)表示Psecond(A,B)各相邻分量的逆序数。句子相似度:Sim(A,B)=λ1×WordSim(A,B)+λ2×OrdSim(A,B)其中λ1,λ2是常数,并且满足λ1+λ2=1。在上述的基于相似度计算的垃圾评论检测方法中,在所述的步骤4中,对已经重复检测过评论进行依存句法分析,标注词语的句法成分和其支配词。在上述的基于相似度计算的垃圾评论检测方法中,在所述的步骤4中,使用情感词词典进行情感词标注。在情感词词典中,词语的情感倾向包括三类:褒义、贬义、中性,分别用P、N、M表示,对于褒义情感词和贬义情感词,情感强度分为1,3,5,7,9五档,9表示强度最大,1为强度最小,对于中性情感词,情感强度均为0。在上述的基于相似度计算的垃圾评论检测方法中,在所述的步骤4中,情感标注的实现利用了情感词词典和程度副词词典。在程度副词词典中,词语按照情感强度分为四类,分别为:“极其”、“很”、“较”、“稍”,对应的情感强度值为4,3,2,1。在上述的基于相似度计算的垃圾评论检测方法中,在所述的步骤4中,利用CRF模型对产品特征词进行标注,得到产品特征集,其计算公式如下:式中tk和sk是特征函数,λk和μk分别表示两个特征函数的权重,Z(x)是规范化因子。在上述的基于相似度计算的垃圾评论检测方法中,在所述的步骤4中,对CRF模型标记的产品特征词和产品说明书里的产品特征进行对比,对特征集进行筛选与修正,构建完整准确的产品特征集。在上述的基于相似度计算的垃圾评论检测方法中,在所述的步骤5中,计算每条评论的评论目标与产品特征的距离,若一条评论与所有的产品特征的距离都大于给定阈值,则该条评论为无关评论。在上述的基于相似度计算的垃圾评论检测方法中,在所述的步骤5中,计算每条评论的评论目标词与产品特征词两个词语之间的词林相似度。词语W的语义编码为E,即为E(W)=e1,e2,e3,e4,e5,e6,ei代表词林扩展版词语编码中的类别级别。Weight(ei)表示第i级别的类别ei的权重大小。共有类别C(Ei,Ej)定义为编码Ei和Ej所拥有的共同部分的类别编码集合,其共同部分在判定时由大类开始,依次向小类判断,遇到第一个不同的子类别之前为止,其计算公式如下:附图说明:图1是本发明的流程图。图2是本发明的数据获取流程图。图3是本发明的产品特征词提取流程图。图4是本发明的依存关系分析示例图。图5是本发明的特征词提取的训练文本示例。具体实施方式:下面结合具体附图对本发明作进一步的说明。本发明以论坛、电商等网络平台上的用户评论为研究对象,目的是从网络评论中检测出垃圾评论,提高评论文本的质量,降低自动挖掘工具的成本。基于相似度计算的垃圾评论检测方法,包括数据获取、虚假评论检测、重复评论检测、产品特征词典构建和无关评论检测五个步骤,如图1所示。下面分别对这五个步骤进行详细的说明。1,数据获取:利用网络爬虫,抓取与指定产品相关的论坛、电商网页,然后抽取网页中的评论数据,并将评论数据保存到数据库中。数据获取的流程如图2所示。首先,调用百度搜索接口搜索指定产品,得到指定页数的搜索结果页,且每个搜索结果页包含13个搜索结果;然后按照如下步骤处理每个搜索结果页:步骤S101:提取第i搜索结果页中第j个搜索结果的标题。步骤S102:计算标题相似度:利用公式(1)计算标题和产品名的相似度,相似度用Sim(标题,产品名)表示,并且0≤Sim(标题,产品名)≤1。如果相似度大于等于0.8,则继续下一步,否则,j加1,返回步骤S101。其中,Z是归一化因子,αk是位置系数,Pk是单次相似度,在公式(1)、(2)、(3)和(4)中,m是“产品名”中包含的文字个数,n是“标题”中包含的文字个数,“标题(k+l-1)”表示标题中的第k+l-1个字,“产品名(l)”表示产品名中的第l个字。步骤S103:提取第i搜索结果页中第j个搜索结果的URL。步骤S104:匹配URL:根据第j个搜索结果的URL,判断该搜索结果是否为论坛或电商网站,若是,则继续下一步,否则,j加1,返回步骤S101。步骤S105:网页抓取与信息抽取:不同类型的网页对应的抓取与抽取策略是不同的,所以需要对不同的网站制定不同的抓取与抽取模板,图2中给出了中关村、太平洋、天极网、京东、苏宁、1号店等模板,模板的个数不限,可以进行扩展。步骤S106:结束判断:当第i搜索结果页的全部搜索结果都处理完后,如果在第i页中的13个搜索结果中,满足标题相似度的搜索结果个数大于10,则i+1,j=1,转到S101,继续处理下一个搜索结果页,否则,数据获取工作结束。2,虚假评论检测:此步主要是根据评论页面提供的用户购买时间和评论时间的信息进行计算得到差值T,与运送货物快递时间进行比较。若T<货物运送时间,则说明用户还没有使用产品就已经发表了评论,则该条评论为虚假评论。经实际查询快递公司的货运时间表,本发明将T的阈值设为24h,小于24h则为虚假评论。3,对每条评论进行分词,然后计算评论间的相似度,当评论间的相似度高于阈值,则该评论和其相似的评论即为重复评论。步骤S301:由于汉语在书写时词与词之间不存在空格,计算机无法直接进行词语的识别,所以,要先进行分词处理。分词的作用是将连续的一段文本分成一个一个的词语,例如,给定一句话“手机的屏幕很模糊”,对其分词及词性标注以后的结果是:“手机/n的/u屏幕/n很/d模糊/a”,本方法调用了NLPIR系统作为分词工具。步骤S302:计算句子的词形相似度,也就是计算句子与另一句话中相同词语个数,词形相似度计算如下:设句子A的长度为len(A),句子B的长度为len(B),SameWC(A,B)表示句子A,B中相同单词的个数,当一个单词在A,B中出现的次数不同时,以出现次数少的计数,则句子A,B的词形相似度计算如下:易证0≤WordSim(A,B)≤1步骤S303:词序相似度计算如下:令OnceWS(A,B)表示A、B中都出现且只出现一次的单词集合。Pfirst(A,B)表示OnceWS(A,B)的单词在A中的位置序号构成的向量,Psecond(A,B)表示Pfirst(A,B)中的分量按对应单词在B中的词序排列生成的向量,RevOrd(A,B)表示Psecond(A,B)各相邻分量的逆序数,A、B的词序相似度如下:易证0≤OrdSim(A,B)≤1.步骤S304:句子相似度计算如下:Sim(A,B)=λ1×WordSim(A,B)+λ2×OrdSim(A,B)其中,λ1,λ2是常数,并且满足λ1+λ2=1,由于词形相似度起主要作用,所以λ1远大于λ2。步骤S305:将计算所得句子间相似度与阈值进行比较,若高于阈值则认为该条评论为重复评论。在本发明的实验数据上,经多次实验进行比较证明阈值取0.8。4:对评论进行句法分析、情感标注、特征词提取处理,并根据产品说明书,构建产品特征词典。本发明提供了从评论数据中提取产品特征词的方法,方法流程图如图3所示。首先进行分词及词性标注S301、句法分析S401、情感词标注S402等三步预处理,得到结构化文本401;然后采用均匀采样方法从文本401中取出500条评论的处理结果,人工将这500条评论中的所有特征词标注为“S”,得到训练集402;然后以训练集402和特征模板403作为输入,利用条件随机场算法训练出一个表征了特征词与词语、词性、依存关系、支配词及支配的情感方向之间统计关系的条件随机场模型404;然后利用模型404对文本401进行质量特征词的自动标注,得到结果集405;最后从结果集中提取标注为S的词语,得到质量特征词集406。下面对S401~S404进行详细说明:步骤S401:依存关系分析:依存关系分析的理论基础是依存语法,该语法认为句子中的述语动词是支配其他成分的中心,而它本身却不受其他任何成分的支配,所有的受支配成分都以某种依存关系从属于其支配者,依存语法直接描述词与词之间的关系。给定例子“手机/n的/u屏幕/n很/d模糊/a”,依存关系分析的结果如图4所示。在依存关系分析的结果中,词与词之间直接发生依存关系,构成一个依存对,其中一个是支配词,另一个叫从属词,依存关系用一个有向弧表示,叫做依存弧,依存弧的方向为由支配词指向从属词,每个依存弧上有一个标记,叫做关系类型,表示该依存对中的两个词之间存在什么样的依存关系。在本例中,屏幕是质量特征词,从图4中可以看出,“屏幕”的支配词为“模糊”,“屏幕”与“模糊”之间的依存关系为“SBV”,即主谓关系。步骤S402:情感词标注:经过步骤S201、S202,得到了词语、词性、依存关系、支配词等4项内容,对于“手机的屏幕很模糊”这个例子,得到的结果为图5中表格的前5列,其中每一行为一条记录,每条记录包括词语、词性、依存关系、支配词等四个字段。情感词标注的基础是情感词典,在情感词典中,包含常用的情感词,如“模糊”、“高”、“好”等。情感标注的对象为支配词,利用情感词典,标注出支配词是不是情感词,是情感词则标记为“Y”,不是情感词则标记为“N”。情感标注后得到了如图5所示的结果。步骤S403:基于条件随机场模型的质量特征词提取:基于条件随机场的质量特征词提取由两部分构成:训练和处理。在训练阶段,首先采用均匀采样方法从文本401中取出500条评论的处理结果,人工将这500条评论中的所有质量特征词标注为“S”,得到训练集402;然后考虑词语、词性、依存关系、支配词及支配的情感方向等五种因素,制定出特征模板;然后以训练集402和特征模板403作为输入,利用条件随机场算法训练出一个表征了质量特征词与词语、词性、依存关系、支配词及支配的情感方向之间统计关系的条件随机场模型404;在处理阶段,利用已训练好的模型404对文本401进行质量特征词的自动标注,得到结果集405,然后从结果集中提取标注为S的词语,得到质量特征词集406。其特征词标记计算公式为:式中tk和sk是特征函数,λk和μk分别表示两个特征函数的权重,Z(x)是规范化因子。5,计算每条评论的评论目标是否为目标产品及其特征,检测出与目标产品无关的评论。无关评论是为了检测评论与目标产品及其特征属性是否相关,是识别无关评论的关键。评论目标与特征词距离的计算本质上是词语相似度的计算。步骤S501:基于词林的词语相似度计算。词语相似度的计算方法多种多样,本文语义相似度算法选择基于词林改进版的词语相似度计算。词林扩展版共有五级编码并带有一位符号位,在符号位中,用“=”代表常见的“同义”关系,“#”代表词语之间的相关关系,“@”则代表词语自我封闭的独立性质。在基于词林进行相似度计算时,每个参与运算的词语都具有等长的编码,因此,我们可以直接计算两个词语在词林树中的分支位置深度,以该深度与整个词林编码层级数量之比作为两个词语之间的相似度度量标准。另外,考虑到编码的不同类别级别对词语的概括强度并不等同,例如,仅第五级类别编码不同的词语之间仍然具有较强的相似性,因此我们又对每一级类别编码在进行运算时设置不同的权重,通过权重的变化来调整相似度计算结果的合理取值。表1词林编码分类权重设置类别级别123456(符号位)权重1.21.21.01.00.80.4对应编号e1e2e3e4e5e6我们定义两个词语之间的相似度计算方式如下:设词语W的语义编码为E,即为E(W)=e1,e2,e3,e4,e5,e6,ei代表词林扩展版词语编码中的类别级别。Weight(ei)表示第i级别的类别ei的权重大小。共有类别C(Ei,Ej)定义为编码Ei和Ej所拥有的共同部分的类别编码集合,其共同部分在判定时由大类开始,依次向小类判断,遇到第一个不同的子类别之前为止。两个词语之间的相似度计算公式定义为:步骤S502:将计算所得相似度与阈值相比较,大于阈值则为与目标评论相关的评论,小于阈值为无关评论。在本发明所研究的数据中,经多次试验进行比较证明阈值取0.8。本发明能够从评论文本中剔除重复评论、虚假评论、无关评论从而得到一个高质量评论文本,降低了文本挖掘过程中的噪声,提高了挖掘准确率,降低了自动挖掘工具的成本。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1