基于语料的情感词典构建方法

文档序号:6634358阅读:3705来源:国知局
基于语料的情感词典构建方法
【专利摘要】本发明公开了一种基于语料的情感词典构建方法,通过预先获得一部分已知情感倾向的形容词,包括积极的和消极的两种,再利用转折词和否定词,提取并分析未知情感倾向的形容词,不断扩展种子词库,最后做出判断。该方法不需要人工干预,且属于无监督的学习方法,能大大提高工作效率。该方法构造的情感词典,可以用于评论分析,能快速地得到其情感倾向,达到快速分析的目的。
【专利说明】基于语料的情感词典构建方法

【技术领域】
[0001]本发明属于人工智能发明技术,具体涉及一种基于语料的情感词典构建方法。

【背景技术】
[0002]现存的部分中文情感词典,都是通过人为总结一些常用的形容词来构建,效率低下,又不具有领域性。而中文没有类似于英文wordnet的词典,无法通过现有词典来构建情感词词典。基于语料的情感词典构建方法,将人们的语言习惯运用到文本的分析中,构造出积极和消极两类词典。即节省了劳动力成本,又具有领域性和对新词情感的判断力。
[0003]较早根据语言规则来分析语料、构建情感词典的是Hazivassiloglou和McKeown,他们利用一个语料库和形容词情感词种子集,根据语言规则,找出其他形容词的情感指向。比如利用“AND”,“BUT”等连词。他们还使用聚类算法来确定两个连词连接起来的词具有相同还是相反的极性,从而产生两个单词集。Kanayama和Nasukawa使用句内和句间情感一致性的概念来生成情感词典,句间一致性是因为通常相同情感的句子是连着的。情感改变通常是由转折词造成,比如“but”。但是他们对算法执行过程中得到的情感词的利用率较差。


【发明内容】

[0004]本发明的目的在于提供一种基于大规模语料的情感词典生成方法,该方法具有准确率高,节省时间等优点,可为评论分析提供重要的参考资料。
[0005]实现本发明目的的技术方案为:一种基于语料的情感词典构建方法,包括以下步骤:
第一步,利用中文分词工具,对语料进行预处理,将语料中连续的中文句子划分成一个个词或者字,用空格隔开,并标记词或者字的词性;
第二步,统计出语料中所有形容词的词频并按从高到低进行排序,取前5%-10%有确定情感极性的形容词作为种子词构成情感词库,并分析种子词的情感极性,将正面评价的词的极性称为积极的,将负面评价的词的极性称为消极的,分别构成两个种子词列表,这两个种子词列表作为情感词库的初始列表,初始词频为I ;
第三步,取经过预处理的语料中的文本,若有需要分析的语料,按照标点对文本进行断句,得到多个分句,分句中不含标点,继续执行第四步;若没有需要分析的语料,则转至第六
I K
少;
第四步,搜索得到的每一个分句中的形容词,设定一个阈值K,在形容词所在位置的前K个词或字范围内遍历,根据汉语词典中指出的具有否定意义的词,判断是否有否定词,若有,则根据极性转移规则添加到相应列表中,否则停止寻找否定词;再根据汉语词典中指出的具有转折意义的词,判断该分句是不是以转折词开头,若是,则根据极性转移规则改变当前极性,否则极性不变;然后分别按极性转移规则将分句中的形容词添加到两个列表S和a中;
第五步,分析第四步得到的两个列表s和a的极性,即用情感词库中的种子词检验列表S和a的极性,若其中一个列表中含有积极种子词的数目不少于消极种子词的,则该列表中所有的词归为积极的,另一列表中的词则归为消极的;若两个列表中均分别含有相同数量的消极种子词和积极种子词,则返回第三步;否则,把两个列表s和a中判断出极性的形容词添加到情感词库的初始列表中作为种子词,若初始列表中已有该形容词,则把其词频加1,否则设置该形容词的词频为1,返回第三步;
第六步,对得到的最终的情感词库进行遍历,对同时被判断为积极和消极的词,取其词频,若属于积极的词频高,则该词为积极的,否则为消极的。
[0006]本发明和现有情感词构建方法相比,其显著优点为:(I)节省了时间和劳动力成本。该方法能根据语料自动抽取形容词作为情感词,并判别其情感极性,生成积极和消极两个情感词典。比人工标注大大节省时间和精力。(2)可靠性强。该情感词典构建方法多次遵循多数原则,针对可能出现的一些干扰情况做了处理,以保证算法的精确度。(3)通用性强。该算法能根据各个领域的语料,生成领域情感词。(4)生成的情感词典能为评论分析,自然语言处理提供重要的参考依据。

【专利附图】

【附图说明】
[0007]图1是情感词列表归属判别流程图。
[0008]图2是情感词典生成流程图。

【具体实施方式】
[0009]本发明方法包括以下步骤:
第一步:利用已进行分词处理的语料,这些语料一般是主观的评论,将出现的形容词按词频从高到低排序,提取前59TlO%有确定情感极性的形容词,根据知网(Hownet)标注其情感极性作为种子词,构成情感词库;
第二步:按标点符号断句,生成一个个短句;
第三步:逐个短句扫描,提取形容词。构建两个临时列表,用于存储两个情感极性的形容词。针对形容词,判断其是否有否定词修饰,如果有则极性取反,存入相应临时列表;再判断短句是否以转折词开头,如果是,极性再取反,存入相应临时列表;
第四步:针对得到的临时列表,用已有的种子词库去判断。含有积极情感词多的列表则为积极情感词列表,否则为消极情感词列表。这里利用已有的情感词去判断未知的情感词,根据多数原则,因为列表中的词都具有相同情感,若一个未知情感极性的单词列表含有较多的积极情感的种子词,那么就认为列表中的情感词都是积极的,反之如果含有较多的消极情感的种子词,则列表中的所有词认为都是消极的,这能间接适当减少因语料不规范而造成的误差;
第五步:把第四步得到的新的情感词添加到种子词中,作为下次判断的依据。这样不断扩大原有的情感词库,使得随着读取语料的增多,判断的准确率不断提高。
[0010]第六步:读取完所有语料之后,得到最后的两个情感词词典。其中可能有一些词,即在积极情感的词典中,又在消极情感的词典中。由于语料可能存在不规范性,可能导致单词判断错误,此时根据多数原则,按照该单词多数情况下所属类别判断。
[0011]下面结合附图对本发明作进一步详细描述。
[0012]本发明基于语料的情感词典构造方法,首先利用现有的分词工具,对原始语料进行分词和词性标注处理。然后提取词频最高的59TlO%,并根据知网(Hownet)提供的情感分析用词语集,标注情感极性,作为种子词。接着给语料按照标点断句,再扫描语料库,针对每一条评论,把形容词划分为极性相反的两类,再用已有种子词进行判断。得到其情感极性,将他们作为种子词继续判断后面的评论。最后消除同时属于两类的情况,得到最终的情感词典。该方法任何领域下都适用,只需给出相应语料即可。
[0013]图1是形容词列表的生成过程,可以看出,针对一个形容词,需要根据有无否定词,有无转折词,整体极性是否发生变化三个条件进行判断。结合图2,本发明基于语料的情感词典构造算法,步骤如下:
第一步:对原始语料进行分词、词性标注处理,语料一般是具有主观色彩的评论语句。这里可以使用一些开源工具,例如:结吧,ICTCLAS等,得到一个个分开的单词或字以及其词性,标点也被当作一个字处理。
[0014]第二步:扫描所有评论,获得所有形容词词频,取词频最高的前59TlO%,,利用知网(Hownet)提供的‘情感分析用词语集’中的《正面评价词语(中文)》和《负面评价词语(中文)》,标注其情感极性,作为种子词,构成初始情感词库。
[0015]第三步:取经过预处理的语料中的文本,若有,按照标点对文本进行断句,得到多个分句,分句中不含标点;若没有,则转至第七步;
第四步:对含有多句话的评论,逐句扫描,找到形容词,即后缀为/a或者/an的词,这就是的候选情感词。
[0016]第五步:针对语料中的一个完整的句子,设置三个变量。当前极性plor,初始为I ;存放情感词的两个列表s和a,分别存放两个极性的情感词(但未知其具体情感),s中存放与初始极性相同的词,a中存放与初始情感相反的词。查找并定位一个形容词,设置窗口值大小,根据需要可取不同值,一般为3,判断在左边窗口范围内是否有否定词,若有,则根据极性转移规则添加到相应列表中,否则停止寻找否定词;再根据汉语词典中指出的具有转折意义的词,判断该分句是不是以转折词开头,若是则根据极性转移规则改变当前极性,即Plor取负,否则极性不变,然后分别按极性转移规则将分句中的形容词添加到两个列表s和a中。情感词放入列表规则如下:
A.有转折词没有否定词,如果plor=l,说明极性未发生翻转或者经过偶数次翻转和原始极性相同,则把形容词放到列表a中,Plor取负;否则,若plor=-l,说明极性发生奇数次翻转,则放入s中,Plor取负。
[0017]B.有转折词有否定词,如果plor=l,把形容词放到s中,Plor取负;否则放入a中,Plor取负。
[0018]C.没有转折词有否定词,如果plor=l,把形容词放到列表a中,Plor取负;否则放入s中,Plor取负。
[0019]D.没有转折词没有否定词,如果plor=l,把形容词放到列表s中,Plor取负;否则放入a中,Plor取负。
[0020]举个例子:“总体/n不错/a。/wp就是/d有点/d贵/a,物流/n不/d是/v很/d快/a。不过/d还是/d很/d满意/a的/u —次/q网购/n ,/wp赞/v ! /wp”初始plor = I。断句后找到形容词,首先找到“不错”,plor = I,按照窗口大小找否定词,没找到,句首不是转折词,把“不错”放入S列表;再找到“贵”,前面没有否定,有“就是”转折词,所以“贵”和之前的形容词极性反转了,因为plor=l,所以放入a列表,同时plor变为-1 ;第三个形容词“快”,有否定词,没有转折词,因为Plor=-1,所以根据上述规则,放入s列表;最后一个形容词“满意”,没有否定,有转折,此时因为plor=-l,放入s列表,同时plor变为1.最后结果:s中为“不错”,“快”,“满意” ;a中为“贵”。
[0021]第六步:将一句评论中的所有形容词按规则分入两个列表中,用种子词去判断这两个列表中单词的极性。若一个列表中含有积极情感的种子词数多于消极情感的种子词数,则该列表中所有的形容词都放入积极情感的种子词列表中,另一个则放入消极情感的种子词列表中。
[0022]第七步:最后得到两个情感词典以及情感词在语料中的词频。因为语料的不规范性,可能会存在某个词在两个词典中同时出现,这是不被允许的。所以,若该词属于积极的词频大于加权后的消极的词频,则该词的情感是积极的,否则视为消极的。
[0023]本发明方法充分利用算法过程中得到的情感词,不断扩大种子词。最后通过数据比对,根据多数原则,判别情感,能排除部分干扰数据,准确率相对较高。
【权利要求】
1.一种基于语料的情感词典构建方法,其特征在于包括以下步骤: 第一步,利用中文分词工具,对语料进行预处理,将语料中连续的中文句子划分成一个个词或者字,用空格隔开,并标记词或者字的词性; 第二步,统计出语料中所有形容词的词频并按从高到低进行排序,取前5%-10%有确定情感极性的形容词作为种子词构成情感词库,并分析种子词的情感极性,将正面评价的词的极性称为积极的,将负面评价的词的极性称为消极的,分别构成两个种子词列表,这两个种子词列表作为情感词库的初始列表,初始词频为I ; 第三步,取经过预处理的语料中的文本,若有需要分析的语料,按照标点对文本进行断句,得到多个分句,分句中不含标点,继续执行第四步;若没有需要分析的语料,则转至第六I K少; 第四步,搜索得到的每一个分句中的形容词,设定一个阈值K,在形容词所在位置的前K个词或字范围内遍历,根据汉语词典中指出的具有否定意义的词,判断是否有否定词,若有,则根据极性转移规则添加到相应列表中,否则停止寻找否定词;再根据汉语词典中指出的具有转折意义的词,判断该分句是不是以转折词开头,若是,则根据极性转移规则改变当前极性,否则极性不变;然后分别按极性转移规则将分句中的形容词添加到两个列表S和a中; 第五步,分析第四步得到的两个列表s和a的极性,即用情感词库中的种子词检验列表s和a的极性,若其中一个列表中含有积极种子词的数目不少于消极种子词的,则该列表中所有的词归为积极的,另一列表中的词则归为消极的;若两个列表中均分别含有相同数量的消极种子词和积极种子词,则返回第三步;否则,把两个列表s和a中判断出极性的形容词添加到情感词库的初始列表中作为种子词,若初始列表中已有该形容词,则把其词频加1,否则设置该形容词的词频为1,返回第三步; 第六步,对得到的最终的情感词库进行遍历,对同时被判断为积极和消极的词,取其词频,若属于积极的词频高,则该词为积极的,否则为消极的。
2.根据权利要求1所述的基于语料的情感词典构建方法,其特征在于所述第四步中的极性转移规则具体如下: 设置Plor变量,用于表示分句间的极性是否发生转移,初始为1,I表示出现偶数次转折词,使得标点连接的分句是和初始极性相同,-1表示出现奇数次转折,使得标点连接的分句和初始极性相反;默认放到与初始极性相同的列表s中,列表a中放与初始极性相反的词,分为四种情况: 分句开头有转折词,形容词前K个词或者字中没有否定词,如果plor=l,把形容词放到列表a中,否则放入列表s中,Plor变-1 ; 分句开头有转折词,形容词前K个词或者字中有否定词,如果plor=l,把形容词放到s中,否则放入列表a中,Plor变-1 ; 分句开头没有转折词,形容词前K个词或者字中有否定词,如果plor=l,把形容词放到列表a中,否则放入列表s中; 分句开头没有转折词,形容词前K个词或者字中没有否定词,如果pl0r=l,把形容词放到列表s中,否则放入列表a中。
【文档编号】G06F17/30GK104317965SQ201410649358
【公开日】2015年1月28日 申请日期:2014年11月14日 优先权日:2014年11月14日
【发明者】夏睿, 王科, 周清清, 刘超 申请人:南京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1