基于浅层句法分析的情感评价单元抽取方法与流程

文档序号:15999255发布日期:2018-11-20 19:14阅读:126来源:国知局
本发明属于文本处理
技术领域
,具体涉及一种基于浅层句法分析的情感评价单元抽取方法。
背景技术
:随着web2.0的发展,越来越多的人愿意参与到互联网之中。据2016年1月22日,CNNIC发布的统计报告显示,截至2015年12月,中国网民规模达6.88亿,网购用户规模达到了4.13亿,同比增长14.3%。随着越来越多的人参与到互联网之中,互联网上产生了大量带有用户情感的产品评论。分析出产品评论中的情感倾向性,具有重要价值。生产厂商可以根据用户喜好,有针对性的改进产品,用户可以做出更加合理的购买决策。产品评论中的情感倾向性是由产品特征和评价词共同来决定的,抽取出情感评价单元,是进行细粒化情感分析的重要环节,吸引了众多研究者的关注。Bloom等人首先提出了情感评价单元这一概念。称搭配<产品特征;评价词>为情感评价单元。抽取情感评价单元实际上包含了两部任务:1,抽取产品特征和评价词;2,识别产品特征和评价词之间的修饰关系。现有技术中常用的方法有:第一类:首先提取出产品特征,然后把离产品特征最近的形容词作为评价词,进而提取出情感评价单元;第二类:选取以产品特征为中心,在长度为K的范围内选取评价词;第三类:依靠句法分析构建模板或者制定规则的方法。前两类方法的缺陷在于主观性太强,忽视了其他形容词作为评价词的可能性,第三类方法的缺陷在于需要大量人工参与,而且依存句法分析在分析复杂句式的时候有很大的局限性;另外,由于用户评论语言口语化、网络化严重,现有技术中采用完全句法分析方法抽取情感评价单元的效果不好,最近的一些机器学习的研究方法,注重对产品特征和评价词之间修饰关系的抽取,而忽视了对产品特征和评价词本身的识别。上述这些方法的缺陷导致现有技术的情感评价单元抽取效果不佳,正确率和召回率都不高。技术实现要素:针对上述现有技术中存在的问题,本发明的目的在于提供一种可避免出现上述技术缺陷的基于浅层句法分析的情感评价单元抽取方法。为了实现上述发明目的,本发明提供的技术方案如下:一种基于浅层句法分析的情感评价单元抽取方法,包括:步骤1)采用基于CRF的浅层句法分析对用户评论进行处理,识别出产品特征和评价词;步骤2)对用户评论中的产品特征和评价词进行组合,从而获得最终的情感评价单元。进一步地,步骤1)包括:采用CRF模型中的线性链状结构,在对情感标签的元素进行识别时,输入的观察序列,即经过分词的产品评论X={x1,x2,x3,……,xn},经过计算输出概率最大的标注序列y={y1,y2,….yn},计算公式为:Z(x)是归化因子,计算公式为:Z(X)=exp(∑∑λkfk(yi-1,yi,X,i));其中,X是观察序列,Y是与之对应的标注序列,λ是训练过程中产生的权值,fk(yi-1,yi,X,i)是从位置i到i-1的转移特征函数,每个特征函f表示为观察序列的实数值特征集合中的一个元素;采用字一级的标注,符号B、I、O分别代表组块的开始、内部、非组块,为了区别名词块、形容词块、动词块文本定义具体的标注集如下:进一步地,步骤1)包括:采用分词系统对用户评价进行分词和二级词性标注;采用Unigram类型的模板来筛选特征,每个模板由%x[row,col]来指定输入数据中的一个token;row代表当前token的行偏移,col代表列偏移。进一步地,模板窗口的长度为3。进一步地,产品特征由名词和名词块组成,评价词由形容词、动词、形容词块、动词块组成。进一步地,步骤2)包括:将搭配<产品特征;评价词>作为情感评价单元。进一步地,所述情感评价单元抽取方法具体为:对用户评论进行分句,根据比较明显的分句符号对用户评论进行分句,用分号、破折号、句号、感叹号对用户评论进行分句;对分句后的用户评论进行产品特征和评价词识别,过滤掉不含产品特征和评价词的评论语句;对产品特征和评价词进行组合,将搭配<产品特征;评价词>作为情感评价单元;抽取情感评价单元,用“酒店整体”作为评论中的产品特征。进一步地,情感评价单元用二元组表示为:Sentiment-label=<p;s>;p代表用户评论中的产品特征,s代表对评价词。进一步地,描述产品特征的产品特征映射表为:本发明提供的基于浅层句法分析的情感评价单元抽取方法,采用浅层句法分析的方法,充分考虑了名词以及名词块都有可能是产品特征的情况,建立了产品特征映射表,统一了某些公共特征的表述,并且在分词和词性标注的时候加入一些新词、网络用语到分词系统中,抽取效果好,抽取结果的正确率和召回率高,可以很好地满足实际应用的需要。附图说明图1为CRF模型中的线性链状结构图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。基于浅层句法分析的情感评价单元抽取方法,包括:首先,采用基于CRF的浅层句法分析对用户评论进行处理,准确地识别出产品特征和评价词;然后,对用户评论中的产品特征和评价词进行组合,从而获得最终的情感评价单元。浅层句法分析不需要像完全句法分析那样识别出句子中的全部句法成分及其关系,只需要识别出句子中结构较为简单的独立成分,例如名词块、动词块、形容词块等,浅层句法分析又叫组块分析或语块分析。当下用于浅层句法分析的机器学习算法主要有:支持向量机(SVM)、隐马尔科夫模型、最大熵等。条件随机场模型(ConditionalRandomField,CRF)是一种图模型,是一种用来标注和划分序列结构数据的概率化结构模型。用该模型对用户评价进行产品特征和评价词识别时,能考虑到产品特征和评价词的各个方面,不需要条件独立性假设,因此具有独特优势。本发明采用的是CRF模型中的线性链状结构来解决问题,如图1所示。在对情感标签的元素进行识别时,输入的观察序列,即经过分词的产品评论X={x1,x2,x3,……,xn},经过计算输出概率最大的标注序列y={y1,y2,….yn},计算公式如下:Z(x)是归化因子,是为了保证所有的概率P都小于1,计算公式如下:Z(X)=exp(∑∑λkfk(yi-1,yi,X,i))(2);在以上公式中,X就是观察序列,Y是与之对应的标注序列,λ是训练过程中产生的权值,fk(yi-1,yi,X,i)是从位置i到i-1的转移特征函数,每个特征函f表示为观察序列的实数值特征集合中的一个元素。条件随机场是一种有监督机器学习方法,为了将产品评论中语块的识别转化为序列化标注问题,就需要为各个类别的语块定义一个合适的语块类别标记,这样才能实现功能块的自动识别。本发明需要识别的语块主要有名词块、动词块、形容词块,本发明采用字一级的标注,符号B、I、O分别代表组块的开始、内部、非组块,为了区别名词块、形容词块、动词块文本定义了以下具体的标注集:表2语块类别描述集语块成分标记标记内容描述np名词块vp动词块ap形容词块例如,从互联网上抓取的一条酒店评论:位置不错,方便停车,周边美食好多,服务员态度也不错。首先,采用中科院计算所提供的分词系统ICTCLAS对用户评价进行分词和二级词性标注。处理后的结果为:位置/n不错/a,/w方便/v停车/v,/w周边/n美食/n好/a多/a,服务员/n态度/n也/d不错/a。/w。另外,本发明采用Unigram类型的模板来筛选特征,每个模板由%x[row,col]来指定输入数据中的一个token。row代表当前token的行偏移,col代表列偏移。同时需要指出的是特征选取的行是相对的,列是绝对的。另外,本发明设定的特征模板窗口的长度为3,因为当模板窗口长度为3时识别产品特征和评价词的效果最好。对上述例子进行基于CRF的浅层句法分析处理以后,结果如下:位置/n不错/a,/w[方便/v停车/v]vp,/w[周边/n美食/n]np[好/a多/a]ap,[服务员/n态度/n]np也/d不错/a。/w。从标注结果来看,“方便”和“停车”构成了动词快,“周边”和“美食”、“服务员”和“态度”构成了名词块,“好”和“多”构成了形容词块。通过以上分析我们可以很容易看出用户评论中的产品特征和评价词,比如,对酒店位置的评价,用户使用了“不错”和“方便停车”这两个修饰词。通过对用户评价进行序列标注之后,就可以从中抽取产品特征和评价词了。产品特征主要由名词和名词块组成,评价词主要由形容词、动词、形容词块、动词块组成。一条用户评论中最有价值的部分是用户评论的对象以及对该对象的评价,本发明称搭配<产品特征;评价词>为情感评价单元,抽取出用户评论中的情感评价单元能让我们在短时间内从大量的用户评论中获得最有价值的评论信息,还能为细粒化情感分析做了铺垫。本发明中,情感评价单元用如下二元组表示:Sentiment-label=<p;s>(3)上述二元组中p代表用户评论中的产品特征,s代表对评价词。从上述表达式中也可以看出,只有准确的识别产品特征和评价词,才能更加准确的抽取出情感评价单元。以酒店评论为例,网络上的用户评论有明显的口语化,网络化特征,一些网络用语或者新的词汇由于分词和词性标准的不准确,会影响到情感评价单元的识别。例如:性/g价/n比/p,WiFi/x,标/v间/f,超级/b赞/g,上/f档/n次/q,物/g超/v所/u值/v,Nice/x。本发明把类似的这些分词或者词性标注错误的词,加入到分词系统中的用户词典中,从而解决了用户评论中分词或者词性标注错误的问题。添加用户词典之后分词系统对上述网络新词的分词结果如下:性价比/n,WiFi/n,标间/n,超级赞/a,上档次/a,物超所值/a,Nice/a。同样以酒店评论为例,酒店类产品评论中产品特征类别很多,用户的描述也多种多样,如果能对产品特征进行显示语义合并,将大大提高产品特征提取的准确度。经过分析,可以把酒店类产品特征分为公有特征和私有特征。公有特征就是酒店类产品基本都有的特征,例如:服务态度,环境,位置,交通,拖鞋,卫生间,价钱,房间,被子,性价比,网络,早餐等。为了尽可能的规范产品特征描述,本发明建立了如下产品特征映射表。表2产品特征映射表通过映射表,就可以规范用户对一些公有产品特征的描述,从而可以在不丢失评论信息的情况下,提高识别产品特征的准确度。除了公有特征,酒店评论中还有不少私有特征,经过对名词性信息进行抽取、过滤,抽取的私有特征主要有:客厅,衣柜,空调,健身房,家庭房,数码房,书桌,落地窗,地毯,花园,停车场等。评价词的准确抽取同样很重要,本发明没有建立像上述产品特征抽取时的映射表,因为评价词不像产品特征那样同一个特征可以用不同描述,不同的评价词带有的情感倾向性程度不同。为了方便以后对用户情感倾向性进行研究,本发明不去统一评价词的描述,而是尽可能的保留用户原有的描述信息。本发明主要抽取动词、动词块、形容词、形容词块作为评价信息。对动词进行抽取的时,需要过滤一些无实际意义的动词,本发明主要采用哈工大中文停用词表扩展版来过滤无实际意义的动词,比如:“是”,“能”,“说”,“够”,“住”,“有”,“进”,“入”等。本发明抽取的评价词主要有:干净,方便,大,好,继续保持,不错,值得推荐,整洁,热情,差,满意等。有了对产品特征和评价词的准确识别,就可以对用户评论中的产品特征和评价词进行组合从而构成情感评价单元。综上所述,抽取的过程主要分为四步,具体步骤如下:(1)对用户评论进行分句。为了更好的抽取情感评价单元,本发明根据比较明显的分句符号对用户评论进行分句。本发明主要用:分号、破折号、句号、感叹号等符号对用户评论进行分句。(2)对分句后的用户评论进行产品特征和评价词识别。根据识别情况过滤掉不含产品特征和评价词的评论语句。(3)对产品特征和评价词进行组合。本发明称搭配<产品特征;评价词>为情感评价单元,因此在必要的时候需要对识别的产品特征和评价词调换顺序。(4)抽取情感评价单元。有一些用户评论中只有评价词没有产品特征,本发明通过观察分析,发现这部分用户评论基本上都是在对酒店整体进行评论,因此本发明用“酒店整体”作为这类评论中的产品特征。通过以上处理步骤,就可以最终得到情感评价单元。例如,经过序列化标注后一条酒店评论:[酒店/n位置/n]np[很/d好/a]ap,/w服务/n[也/d不错/a]ap。通过同时对产品特征和评价词的识别,进而组合形成的情感评价单元是:<酒店位置;很好>、<服务;也不错>。如果有必要我们也可以在情感评价单元中保存产品特征或者评价词的词性、语块标签等信息,方便做细粒化的情感分析等处理。对于只有评价词,没有产品特征的用户评论,例如“不错,非常满意。”,“请继续保持”,“适合入住选择。”通过对这部分评论进行分析,发现基本上都是在对酒店整体的进行评价,所以,对于这些缺少产品特征的评论,在抽取情感评价单元的时候,会用“酒店整体”这一产品特征作为该条评论的产品特征。例如“不错,非常满意。”这条评论,按照本发明的方法抽取的情感评价单元就是:<酒店整体;不错,非常满意>。为了验证本发明提出方法的有效性,本发明采用携程网(http://www.ctrip.com)所提供的酒店评论作为实验语料。该评论包括1000条正面评论、1000条中性评论、1000条负面评论。本发明从准确识别产品特征和评价词的角度出发,进而抽取情感评价单元,因此本发明分别做了产品特征、评价词识别的实验和情感评价单元抽取的实验。为了验证本发明提出的抽取产品特征和评价词方法的有效性,主要采用自然语言处理和数据挖掘领域普遍使用的评估指标:正确率(P),召回率(R)。计算公式如下:正确率:召回率:其中A代表识别出来的正确的产品特征的个数,B代表不正确产品特征个数,C代表本为识别出来的产品特征个数。为了验证本发明提出的识别产品特征和评价词方法的有效性,分别与现有技术中常用的现有方法一以及现有方法二中采用的方法进行对比(关于现有方法一的内容可参考《基于最大熵模型的评价搭配识别》[J],《计算机应用研究》,2011,28(10):3714-3716;关于现有方法二的内容可参考《基于Tri-training的评价单元识别》[J],《计算机应用》,2014,34(4):1099-1104),实验结果如下表所示。表3对比实验一通过实验结果,可以看出本发明提出的抽取产品特征的方法的正确率和召回率都比现有方法一和现有方法二要高。因为,本发明提出的方法采用了浅层句法分析的方法充分考虑了名词以及名词块都有可能是产品特征的情况,建立了产品特征映射表,统一了某些公共特征的表述,并且在分词和词性标注的时候加入一些新词、网络用语到分词系统中。现有方法一采用词法分析的方法识别产品特征,只考虑了名词,忽略了名词短语也可能是产品特征的可能性,而本发明方法能够较为准确的识别出这些产品特征:早餐品种、性价比、大床房、服务态度、消毒措施、房间面积、洗手间玻璃等。现有方法二采用人工定义规则的方法识别产品特征,比现有方法一采用的方法有所进步,这一点从实验结果的正确率上也可以看出来,但是采用人工定义规则的方法费时费力,容易出错且很难定义出覆盖面很广的规则,这一点中召回率也可以看出来。在识别评价词时,现有方法二没有考虑形容词块和动词块也可能是评价词的情况,现有方法二则是直接采用词典的方法来做评价词词库,没有考虑网络用语和新词,而本发明方法充分考虑的动词、形容词、动词块、形容词块可能是评价词的情况,在分词系统中加入了新词和网络用户,过滤掉了一下没有意义的动词,因此在正确率和召回率上的表现比现有方法一和现有方法二中的采用的方法要好。为了验证本发明抽取情感评价单元方法的有效性,将实验语料划随机分成大小相同的4份,进行4折交叉验证。因为相较于现有方法一,现有方法二采用协同训练机制抽取情感评价单元的方法较为新颖而且实验结果更好,所以只需要对本发明与现有方法二提出的方法进行对比实验。对比实验结果如下:表4对比实验二从上表中的实验数据可以看出,不管是在正确率或召回率上本发明采用的方法都比现有方法二更有优势。现有方法二采用Tti-training思想,把三种分类器组合成一个分类体系,然后抽取的情感评价单元。但是现有方法二识别产品特征时,采用人工定义规则的方法,费时费力而且覆盖范围有限,因而影响产品特征的识别。另外,现有方法二采用通用评价词典对评价词进行识别,由于网络用户评论口语化、网络化的特点,仅仅依靠通用评价词典很难识别一些新词和网络用语。现有方法二提出的方法在抽取过程中会遗漏这些情感评价单元:<性价比;很高>、<特价房;不错>、<卫生环境;超级赞>、<房间;上档次>、<酒店;物超所值>、<服务态度;Nice>、<洗手间玻璃;透明>、<wifi;差>等。由于对产品特征和评价词的识别不够准确,在抽取情感评价单元的时候会有很多限制,这也是现有方法二的实验结果不如本发明的原因。这也说明了只有在准确识别产品特征和评价词的基础上,才能更好的抽取出情感评价单元。本发明的方法在准确识别产品特征和评价词的基础上抽取情感评价单元,改善了现有技术的方法中产品特征和评价词识别不准确的缺陷。本发明提供的基于浅层句法分析的情感评价单元抽取方法,采用浅层句法分析的方法,充分考虑了名词以及名词块都有可能是产品特征的情况,建立了产品特征映射表,统一了某些公共特征的表述,并且在分词和词性标注的时候加入一些新词、网络用语到分词系统中,抽取效果好,抽取结果的正确率和召回率高,可以很好地满足实际应用的需要。以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1