一种面向点评数据的情感倾向性检测方法与流程

文档序号:11133966
一种面向点评数据的情感倾向性检测方法与制造工艺

本发明属于信息技术、数据挖掘技术领域,具体涉及一种面向点评数据的情感倾向性检测方法。



背景技术:

随着电子商务的迅猛发展,互联网上的点评从逐渐进入人们视野,到慢慢影响网友的选择,再到对品牌的影响正一步步加深。以酒店业为例,酒店希望借助技术手段获取用户的点评反馈,用于指导酒店的品牌管理和运营管理,提升品牌形象和服务质量。用户希望查看别人的点评,明确酒店的优点和缺点,以此作为预订的重要参考。Tripadvisor研究显示,超过85%的用户非常重视酒店的口碑质量,近90%的用户在做出预订决策前查看用户点评。

越来越多的用户乐于在互联网上分享自己的观点或体验,这类点评数据爆炸式增长,仅靠人工的方法难以应对在线海量点评的收集和处理。因此,迫切需要计算机帮助用户快速获取和整理这些点评信息,情感分析(Sentiment Analysis)技术应运而生。情感分析不仅是信息处理领域的研究热点,在产业界也引起了广泛关注。

要分析点评的情感,首先要识别出点评中的有价值的情感信息要素,这包括:1)评价对象,如“酒店”、“价格”等;2)评价成分,如“非常好”、“还算干净”等。其中,评价成分包括情感词(如“好”、“干净”等)、程度副词(如“非常”等)、普通副词(如“大都”等)以及否定词(如“不”等),评价成分不仅表达了情感,还通过其修饰成分加强、减弱或置反了情感表达句的情感极性,从而使情感表达的更加丰富。

情感词在情感分析中的重要性是不言而喻的。然而很多情况下,单独的情感词的极性是有歧义的,如“餐厅的价格很高”的“高”描述“餐厅价格”时表示贬义,而“餐厅员工工作效率很高”的“高”的描述“工作效率”时表示褒义。因此,在文本的情感分析中仅考虑情感词是远远不够的,还需要考虑评价对象与情感词的搭配,如<价格,高>,<工作效率,高>这样的二元搭配。

上述各种情感信息要素以及搭配对于文本情感分析具有重要作用。如何从文本中分析出上述情感信息要素呢?分析的基础是要整理、积累一个较为完备的情感要素词典,包括各类情感要素的实例词及其属性(如极性)。有了情感要素词典作为基础,如何综合利用这些情感 要素识别情感句呢?毕竟不是出现了情感要素就是情感句。

由此可见,如何从点评文本中检测出情感句尚未得到很好的解决。具体而言,其所面临的问题集中在以下两个方面:

一是点评文本的分析和理解如何克服语言的多变性。目前自然语言处理的很多技术还不能很好的处理语言的多变性问题,因此实现应对这种复杂变化是需要我们进一步解决的问题。

二是词典的收集、整理。评价对象词(Obj)、评价属性词(Attr)、情感词(Sent)、程度副词(Dgr)、普通副词(Adv)、否定词(Neg)、插入词(Inter)等情感要素在不同领域中使用不同的词汇,相同词汇所具有的极性也许会不同,这些都是实际应用中急待解决的问题。



技术实现要素:

本发明针对上述问题,提供一种面向点评数据的情感倾向性检测方法,用于挖掘点评数据中的用户观点。

本发明采用的技术方案如下:

一种面向点评数据的情感倾向性检测方法,包括如下步骤:

1)获取点评数据,对其进行规范化处理;

2)对规范化处理后的点评数据的句子进行分词处理;

3)对分词后的句子进行要素分析,识别出影响文本情感倾向性检测的各类词语;

4)根据句式模版库对进行要素分析后的点评数据进行句式模版匹配;

5)确定点评数据的句子中指代语对应的先行语,并恢复省略的主语;

6)将出现评价对象词、评价属性词或情感词的句子作为候选情感句,采用最大熵模型对候选情感句的句子极性进行判别,得到句子的情感倾向性。

进一步地,步骤1)所述规范化处理,是采用基于规则的方法处理点评文本中的拼写错误,所述规则是“包含错别字的字串或词串”到“相应正确字串或词串”的映射;所述规则通过两种方法获取:一是根据现有经验知识,即前人总结的常见拼写错误;二是根据每个字或词的上下文抽取相似字或词,通过人工校验确定正确的字串或词串。

进一步地,步骤2)首先采用基于词典的最大匹配分词方法进行分词,然后针对分词有歧义的部分采用序列标注的分词方法得到正确的分词结果;所述序列标注的分词方法将词的切分问题转换为字的分类问题,每个字根据其在词中的不同位置,赋予不同的位置类别标记,基于这样的标记序列确定句子的切分方式。

进一步地,步骤3)所述要素包括点评数据中的评价对象词、评价属性词、情感词、程度副词、普通副词、否定词、插入词,以及关于城市、景点的词语等,在将句子中的要素识 别出来后,标记上相应的类别标签。

进一步地,步骤4)通过基于点评的自举方法提取句式模版,从而建立句式模版库。

进一步地,步骤5)中,如果当前句中没有评价对象词或评价属性词,则选择上一句最后提及的评价对象或评价属性词引入到当前句;如果当前句中只有评价属性词,则当上一句出现评价对象时将其引入到当前句。

进一步地,步骤6)中,所述最大熵模型通过建立条件概率模型预测不同情感类别并估计其概率,所述情感类别包括-1、0、1三类,分别表示差评、无情感、好评。

与现有技术相比,本发明的有益效果如下:

1)本发明的规范化处理步骤可以灵活处理点评中的口语化问题;采用基于词典的方法,很好地对领域文本进行分词,歧义时引入序列标注方法的分词在很大程度上缓解了词典分词方法的歧义问题;要素分析时对于各个要素的识别,以及句式模版的匹配,这些对于情感倾向性检测至关重要的线索通过自举方法得到,极大提高了资源构建的效率;指代消解规则的应用简单有效地缓解了口语化点评中常见的主语省略问题;最大熵模型灵活融合上下文特征线索对点评片段情感倾向性最终判定。

2)针对点评文本的多变性和口语性,本发明既考虑了拼写错误等不规范的问题,还通过指代消解处理主语省略问题,并通过情感要素以及句式来捕获情感句的关键成分,最终通过统计模型融合多种线索对情感句进行检测。

3)情感要素的词典整理依赖纯人工的方法,规模是不够的,效率也非常低。更好的方法是基于语料库的统计方法或机器学习方法,这种方法虽然会带来一些噪音,但这时再介入人工成本是比较低的。本发明通过基于点评语料的自举方法实现,这种机器学习方法效率高,可以在较短时间内整理得到较大规模的词典。

附图说明

图1是本发明的面向点评数据的情感倾向性检测方法的步骤流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。

本发明是一种面向点评数据的情感倾向性检测方法(或称情感倾向性分析方法),用于挖掘点评中的用户观点。本发明首先通过聚焦爬虫从各大主流点评网站获取在线点评数据。然后针对大规模点评,通过半自动方式整理语义词典以及句式库。最后,针对点评中的每个句 子,进行分词等处理和分析,在此基础上提取关键词或关键句式作为特征,通过最大熵分类器实现情感倾向性检测和情感分类。图1是本发明方法的步骤流程图,主要包括如下步骤:

步骤1:文本规范化。

互联网点评文本常会出现拼写错误,对于这些问题,我们采用基于规则的方法处理。这些规则是“包含错别字的字串或词串”到“相应正确字串或词串”的映射。这种规则通过两种方法获取:一是根据现有经验知识,即前人总结的常见拼写错误;二是根据每个字或词的上下文抽取相似字或词,通过人工校验确定正确的字串或词串。这种方法简单,有效。系统这个模块的性能依赖于拼写错误纠正规则的数量,在系统运维的过程中可以不断总结,丰富规则库。

中文还存在标点符号全半角问题,根据符号全半角映射关系,将标点符号统一标示为全角符号。

步骤2:点评分词。

该步骤对点评数据进行分词。中文分词是中文自然语言处理的基础步骤,本发明分词采用词典分词和统计分词融合的方法。首先采用基于词典的最大匹配分词方法,针对分词有歧义的部分再采用序列标注的分词方法。

基于词典的最大匹配分词方法,给定词典,对于待分词的汉字序列,依次寻找匹配的最长词典词,无匹配者则作为单字词处理,直至该汉字序列处理完毕。按照对汉字序列扫描方向的不同,该方法又可以分为:正向最大匹配(从左向右匹配)和逆向最大匹配(从右向左匹配)。例如,对于序列“当原子结合成分子时”,正向最大匹配结果为“当|原子|结合|成|分子|时”,而逆向最大匹配结果为“当|原子|结合|成分|子时”。

显然,正向最大匹配和逆向最大匹配都不能很好地处理切分歧义问题。正向最大匹配和逆向最大匹配也可以结合形成双向最大匹配,双向匹配时正向和逆向匹配不一致的地方,往往是潜在歧义的地方。有歧义往往需要根据具体上下文确认分词结果。有监督的序列标注方法能够充分的挖掘上下文的丰富特征,因此有歧义的情况下本发明引入序列标注方法消除歧义。该方法将词的切分问题转换为字的分类问题,每个字根据其在词中的不同位置,赋予不同的位置类别标记,比如词首、词中、词尾和单字词。基于这样的标记序列,很容易确定句子的切分方式。其中,B(Begin)、M(Middle)、E(End)、S(Single)分别表示词首、词中、词尾、单字词。有了字的标记序列,符合正则表达式“S”或“B(M)*E”的字序列表示一个词,从而很容易地完成句子切分。为了实现序列标注任务,本发明采用条件随机场模型(Conditional Random Fields,CRF),该模型在自然语言处理中得到广泛应用,并取得了很大成功。具体特征包括:前一个字、当前字、后一个字、前一个字与当前字、当前字与后一个字,以及基于 这些一元特征的二元特征。条件随机场模型利用提取的这些特征,预测出的每个字的类别标记。

最大匹配方法的词典以及有监督的条件随机场模型的训练学习语料都来自本发明人工标注的10万条酒店点评。

步骤3:要素分析。

要素,指的是影响文本情感倾向性检测的重要因素,既包括上述的情感信息要素,如点评中的评价对象词、评价属性词、情感词、程度副词、普通副词、否定词、插入词等,又包括城市、景点等多个类别的词语。要素分析是将句子中的要素识别出来,并标记上其相应的类别标签。

步骤4:句式匹配。

对句子经过要素分析后得到句子语义类别化形式,即句式,句式反映的是其中的词或要素共同的上下文,所以具有一定的消歧能力。句式匹配过程中,已有的句式模版库起着关键作用。该步骤进行句式匹配的目的是约束句式中情感要素的语义和语用,经过该步骤后,得到的是各个情感要素相互约束的句式。

句式模版库是本发明的重要资源,反映了点评中情感要素的相互约束。本发明通过基于点评的自举(Bootstrapping)方法提取句式模版和各类情感要素。具体来说,建立句式模版库的方法包括如下步骤:

1)人工查看少量(如500条)点评,整理各个情感要素的词,形成种子词典,将该种子词典记为SemLex。

2)情感要素标签替换及句式模版生成。对点评数据的句子进行分词处理,对分词后的点评逐词判定其语义类并用语义类标签替换,如“餐厅|的|价格|很|高”,替换为“Obj|的|Attr|Dgr|Sent”,对于点评起始和结束位置分别添加“Start”和“End”标签,点评中除了“。”、“!”、“?”之外的标点符号也采用“Punc”标签替换。

然后对标签替换后的点评数据进行断句,根据各语义类的名称及各语义类包含的具体词语生成模版。比如可以根据“。”、“!”、“?”3个标点符号断句,限定模版最小长度3个词,最大长度7个词,扫描标签替换后的点评,生成句式模版。

3)语义词抽取。将生成的句式模版应用到语义类标签替换后的点评中。当某个点评片段对应的模版与生成的句式模版的差异只有一个词时,将该词作为相应语义类的实例词。例如,对于点评片段“价格|很|高”,其中“价格”属于评价属性词,“高”属于情感词,而“很”不属于任何语义类,这时其对应的模版为“Attr|很|Sent”。这与步骤2)生成的句式模版“Attr|Dgr|Sent”只有中间一个词不同,则将“很”抽取出来作为程度副词的实例词。

4)句式模版打分及挑选。本发明从两方面打分,一方面通过频次衡量模版的重要性和推广性,另一方面通过在语义词典中的命中率衡量模版的准确性。

pati重要性和推广性打分S(pati)的计算公式如下:

其中,|pati|是模版pati的长度,以词数计算,f(pati)表示模版pati的频次,C(pati)表示嵌套pati的模版集合,如点评片段“餐厅|的|价格|很|高”对应的模版“Obj|的|Attr|Dgr|Sent”嵌套点评片段“价格|很|高”对应的模版“Attr|Dgr|Sent”。

pati准确性打分P(pati)的计算公式如下:

其中,T(pati)表示模版pati抽取的语义词集合,f(t)表示语义词t的频次,SemLex为步骤1构建的种子语义词典。

我们采用Sigmoid函数将S(pati)归一化到(0,1),进而融合两方面的打分得到F(pati),计算公式如下:

其中α为重要性和推广性打分S(pati)的权重,取值范围为[0,1]。本发明更注重模版的准确性,故将α=0.4,还可以根据具体应用加以调整。

根据F(pati)选取得分最高的前5~10%的模版。

5)语义词打分及语义词典扩充。

根据挑选的模版patk及其打分,计算该模版抽取的语义词的得分,计算公式如下:

选取得分最高的前5~10%的词添加到语义词典SemLex中。

从2)到5)迭代进行。迭代终止条件。挑选出来的语义词明显不正确时终止,从而得到最终的语义词典,并由各模版构成模版库。

步骤5:指代消解。

指代和省略是常见的语言现象,在口语化点评中更普遍。指代常表示共指,即两种表述均指称相同对象。指代有多种类型,我们主要针对人称代词、指示代词作为指代语的情况。省略可以视为零指代语的情况,本发明将指代和省略都看成广义的“指代”,指代消解指的是发现指代语对应的先行语,或恢复省略的主语。如果当前句中没有评价对象词或评价属性词,选择上一句最后提及的评价对象或评价属性词引入到当前句。如果当前句中只有评价属性词,当上一句出现评价对象时将该评价对象引入到当前句。本发明的指代消解处理规则建立在要素分析的基础上,对于情感倾向性的判定又有着重要作用,所以在处理流程上位于要素分析和情感倾向性分析之间。

步骤6:情感倾向性分析。

将出现评价对象词、评价属性词或情感词的句子作为候选情感句。针对候选情感句,采用最大熵(Maximum Entropy)模型,融合丰富的上下文特征,对句子极性进行判别,得到句子的情感倾向性。

在分类任务中,判别式模型往往要优于产生式模型。产生式模型估计的是联合概率分布,在机器学习中用于对数据直接建模,或者借助贝叶斯规则作为得到条件概率的中间步骤。而判别式模型直接对条件概率建模,使得模型的训练和预测保持一致,从而更好地在类别之间进行区分。在判别式模型中,最大熵模型在自然处理领域得到广泛应用。对于给定上下文信息x∈X预测类别y∈Y这样的分类问题,其中x表示待判定的样本,在情感倾向性检测任务中对应由各种特征构成的候选情感句,X表示样本空间,y表示情感类别,在情感倾向性检测任务中对应情感类别,Y表示类别空间,最大熵模型建立条件概率模型P(y|x)预测不同情感类别y∈Y并估计其概率。类别包括-1(差评)、0(无情感)、1(好评)三类。特征包括评价对象词、评价属性词、情感词,以及它们的搭配,还有否定词、句式模版等特征。

下面通过具体实例,说明本发明的流程。

点评内容:“之前住过这家酒店,感觉特别好,附近有地铁站,狠方便。”

规范化处理后的点评内容:“之前住过这家酒店,感觉特别好,附近有地铁站,很方便。”

分词后的点评内容:“之前|住|过|这家|酒店|,|感觉|特别|好|,|附近|有|地铁站|,|很|方便|。”

要素分析后的点评内容:“之前|住|过|这家|Obj|Punc|Inter|Dgr|Sent|Punc|附近|有|Obj|Punc|Dgr|Sent|Punc”

匹配句式:“Inter|Dgr|Sent”,“附近|有|Obj”,“Dgr|Sent|Punc”

指代消解:“感觉|特别|好”补充缺省主语“酒店”,“很|方便”补充缺省主语“地铁 站”

候选情感句:“之前|住|过|这家|酒店”,“感觉|特别|好”,“附近|有|地铁站”,“很|方便”

情感句判定:针对每个候选情感句,提取特征,利用最大熵模型进行情感类别判定。以“感觉|特别|好”为例,提取出来的特征包括:评价对象词“酒店”,情感词“好”,评价对象词与情感词的搭配“<酒店,好>”,匹配句式模版“Inter|Dgr|Sent”,情感词极性“1”,评价对象词与情感词的搭配极性“1”。最终判定极性为“1”。

本发明从点评数据库中随机抽取了1000条点评,对性能进行评价。评价指标包括准确率、召回率和F1值。准确率表示正确检测的情感句在所有检测的情感句中的比例,召回率表示正确检测的情感句在应该检测的情感句中的比例,F1值表示正确率和召回率的调和平均数。本发明提出的方法在准确率和召回率上分别达到95.6%和91.8%,F1值上达到93.7%,说明性能已达到很好的效果,在实际应用中也得到了很好的市场和客户反馈。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

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