2019,55(20)1引言随着Web 2.0网站的发展,用户生成的内容(如产品评论、博客、微博等)已经迅速增长。在大量用户生成的内容中挖掘情感信息可以帮助了解公众对各种主题的观点,如产品、品牌、灾害、事件、名人等,具有很大的实际应用价值。产品评论情感分析可以帮助企业改进产品和服务,并帮助客户做出更明智的决策[1]。分析用
户产生内容的情感也被证明是有用的用户兴趣挖掘,个性化推荐,社会广告,客户关系管理,以及危机管理[2]。因此,情感分类是工业界和学术界的一个热点研究课题。情感分类(sentiment classification )是对于一种态度、喜好和观点的分析。相比于基于主题的文本分类,Title 加TextRank 抽取关键句的情感分类研究
郑诚1,2,钱改林1,2,章金平1,2
1.计算智能与信号处理教育部重点实验室(安徽大学),合肥230601
2.安徽大学计算机科学与技术学院,合肥230601
摘要:考虑到不同句子对判断文档情感倾向的重要程度不同,因而区分文档的关键句和细节句将有助于提高情感分类的性能。同时,考虑到Title 和上下文信息,提出了一种基于Title 和加权TextRank 抽取关键句的情感分析方法SKTT ,实现了高效的情感分析。根据文档Title 的情感权重计算Title 贡献度,考虑
到标点和语义规则对情感倾向的影响;根据加权TextRank 算法思想,在文档正文中构建了一个情感句有向图来提取关键句;计算所有关键句的情感倾向进行情感分类。在4个领域上进行实验,实验结果表明,该SKTT 方法性能明显优于Baseline ,具有高效性。关键词:Title ;TextRank 算法;关键句;情感分类;语义规则
文献标志码:A 中图分类号:TP 391.1doi :10.3778/j.issn.1002-8331.1806-0372
郑诚,钱改林,章金平.Title 加TextRank 抽取关键句的情感分类研究.计算机工程与应用,2019,55(20):95-100.
ZHENG Cheng,QIAN Gailin,ZHANG Jinping.Research on sentiment classification of Title and TextRank extracting key sentences.Computer Engineering and Applications,2019,55(20):95-100.
Research on Sentiment Classification of Title and TextRank Extracting Key Sentences
ZHENG Cheng 1,2,QIAN Gailin 1,2,ZHANG Jinping 1,2
1.Key Laboratory of Intelligent Computing &Signal Processing (Anhui University ),Ministry of Education,Hefei 230601,China
2.School of Computer Science and Technology,Anhui University,Hefei 230601,China
Abstract :Considering that different sentences have different degrees of importance in judging the sentiment tendency of a document,thus,distinguishing a key sentence and a specific sentence will help improve the performance of the senti-ment classification.Meanwhile,taking into account Title and contextual information,a sentiment analysis method SKTT based on Title and weighted TextRank is proposed to achieve effective sentiment analysis.Firstly,the contribution of Title is calculated according to the sentiment weight of the document Title,considering the impact of punctuation and semantic rules on sentiment orientation.Then,according to the idea of weighted TextRank algorithm,an sentiment sentence directed graph is constructed in the document body to extract key sentences.Finally,the sentiment tendency of all key sentences is calculated to achieve sentiment classification.Experimental results across four domains show that the performance of the SKTT method is significantly better than the Baseline method and has high efficiency.
Key words :Title;TextRank algorithm;key sentence;sentiment classification;semantic rules
基金项目:安徽省高校自然科学研究重点项目(No.KJ2013A020)。
作者简介:郑诚(1964—),男,博士,副教授,研究邻域为数据挖掘,智能语义信息检索;钱改林(1993—),女,硕士研究生,研究领
域为数据挖掘,自然语言处理;章金平(1991—),女,硕士研究生,研究领域为数据挖掘,自然语言处理。
收稿日期:2018-07-02修回日期:2018-10-22文章编号:1002-8331(2019)20-0095-06
CNKI 网络出版:2018-11-12,knski/kcms/detail/11.2127.TP.20181108.1712.011.html
字符串函数title作用Computer Engineering and Applications 计算机工程与应用
95
Computer Engineering and Applications计算机工程与应用2019,55(20)
情感分类的正确率要低很多,主要是由情感文本中复杂的情感表达和大量的情感歧义造成的[3]。考虑到在判断文档的情感倾向时,不同句子的重要程度不同,关键句通常短小且情感倾向性强,而细节句通常复杂多样且情感倾向模糊。现有的方法都是基于一些特征属性权重抽取情感关键句[3-4],没有考虑到Title和上下文信息。针对该问题,本文提出了基于Title和加权TextRank抽取关键句的情感分类SKTT方法。
2相关工作
流行的情感分类方法一般分为两类:有监督学习方法和无监督学习方法。有监督学习是通过已有的训练样本(即已知数据及其对应的输出)去训练得到一个最优模型,再利用这个模型得到新数据的输出。Pang等人[5]第一次应用流行的机器学习算法(朴素贝叶斯、最大熵和支持向量机)来解决问题。此后,在这个方向上的研究大多围绕特征工程来获得更好的分类性能。Wu等人[6]定义了两种上下文知识:词-词关联和词-情感关联,在监督学习算法中,将上下文知识作为正则化项。Zahedi等人[7]提出了一个监督模型来分析大型未标记的观点数据集,该模型有两个阶段:第一阶段是预处理,第二阶段是有监督的情感和Aspect模型(SSAM)。Fu等人[8]提出了一种新的主题情感联合模型,称为弱监督主题情感联合模型,具有词嵌入(WS-TSWE),它同时结合了词嵌入和知网词库来改进主题识别和情感识别。
无监督学习的方法中,情感分类是在没有任何标注数据的情况下,根据样本数据本身的特性和数据间的特性进行分类。Turney[9]计算包含形容词或副词的短语的语义倾向,通过给定短语和“excellent”之间的互信息减去给定短语和“poor”之间的互信息,最后通过评论文本的所有短语的平均语义倾向来判定其情感倾向。Wang 等人[10]提出了一种新的面向社交媒体图像的无监督情感分析(USEA)框架,利用视觉内容和相关上下文信息之间的关系来弥合图像情感预测中的“语义鸿沟”。Zhang等人[11]研究了量子概率理论在twitter情感分析中的可行性,并提出了一种基于密度矩阵的无监督情感分析方法。梁军等人[12]将情感极性转移模型结合到LSTM-RNN神经网络中,并结合文本的语义信息、结构信息和情感信息进行情感分析工作。
TextRank算法是一种用于文本的基于图的排序算法。其基本思想来源于谷歌的PageRank算法,通过把文本分割成若干组成单元(单词、句子)并建立图模型,利用投票机制对文本中的重要成分进行排序,仅利用单篇文档本身的信息即可实现关键词提取、文摘。Mihalcea[13]介绍了一种基于图形的文本处理排名模型TextRank,并展示了该模型如何在自然语言应用程序中成功使用。夏天[14]把关键词抽取问题看作是构成文档词语的重要性排序问题,基于TextRank基本思想,构建候选关键词图。蒲梅等人[15]提出在单文档中基于加权TextRank算法提取主题句的方法,以得到新闻关键事件信息。
本文考虑到Title是客观评价内容或主观情感的总结,当表达说话人观点或情感倾向时,对文档总体情感倾向性有极大的影响。当Title的内容不具情感彩时,情感关键句全部需从文档正文中抽取,根据加权
TextRank算法思想,构建一个情感句有向图,引入位置关系、情感权重、情感核心词和句子规模4个影响因素,以此计算句子之间的影响权重,从而选出情感关键句。
3基于Title的关键句抽取方法
Title通常是客观评价内容或说话人主观情感的总结,对判断文档情感倾向有着不同的贡献度。当Title表达说话人观点或强烈情感倾向时,基本奠定文档的总体情感倾向性;当Title的内容不具情感彩时,不作为情感关键句。
3.1标点和语义规则
在判断Title贡献度之前,分析了评论文本语言表达特点和情感表达的复杂性。在传统的否定、转折、程度副词和固定情感表达等语义规则外,还考虑到标点符号和打星的影响。
规则1否定+情感词:情感词极性反转,如not happy。
规则2转折词:转折词前面情感极性改变,转折词后面情感极性不变,如good but about10years too late。
规则3程度副词:对情感词有强化或减弱的作用,进行系数标注,如too、very程度系数为2,slightly、little 程度系数为0.5。
规则4固定情感表达:一般为习惯用语或网络流行语,单个词计算会丢失原本情感倾向,进行词组计算,如save your money情感得分为-1.0,must read this情感得分为1.0。
规则5问号:问号通常有问答、疑问和反问等情况。问答情况计算答句的情感值,如can this be any more of a texas chainsaw copy?inferior。疑问通常表达一种不赞同的情感,定为负向情感倾向,如why did they have to make this movie?反问通常表达相反的情感倾向,进行情感倾向反转,如shirley maclaines best movie?
规则6侧重标点后面:Title有时由几小句组成,越靠后越接近说话人真正情感,对最终情感倾向影响越大,前面句子情感得分乘系数0.2,如another classic,ruined by disney。
规则7打星:标题中有时会有打星信息,基本奠定说话人的情感倾向,四星五星六星情感得分为1.0,零星一星二星情感得分为-1.0,如:4stars for art direction -1star for movie。
96
2019,55(20)3.2贡献度的判断
本文通过情感词典SentiWordNet 获得通用情感知识,不考虑情感倾向微弱和模糊的情感词,只考虑情感得分绝对值大于0.5的情感词。同时考虑到通用情感词典不能准确获得本文实验数据的特定领域情感词,因此本文在SentiWordNet 词典[16]基础上利用未标记的数据进行了扩展和调整,平均每个领域扩展和调整了190个词左右。利用上述得到的扩展情感词典和7条规则计算Title 的情感得分,从而来判断Title 的贡献度。计算公式如式(1)所示:T c =ìíîï
ï0,S T =01,0<||S T <0.75
2,||S T ≥0.75(1)其中,T c 表示Title 贡献度,S T 表示Title 的情感得分。贡献度为2表示Title 情感倾向明确且强烈,该Title 则作为两条情感关键句,如terrible movie ;贡献度为1表示Title 情感倾向较弱且需要进一步确认,该Title 则作为一条情感关键句,如i also was mislead by the title
now i have to ship back ;贡献度为0表示Title 没有表达任何情感倾向,一般为客观评价内容,该Title 则删除,如sex in quarantine 。4基于Title 和加权TextRank 的关键句抽取算法基于Title 的关键句抽取方法得到两条、一条或零条情感关键句,接下来要从文档正文中利用加权TextRank 算法抽取情感关键句,从而保证每篇文档得到相同条数
情感关键句。基于Title 得到的情感关键句情感倾向明确且强烈,但部分文档Title 表达的是非个人观点,不具有情感倾向。基于加权TextRank 抽取的情感关键句条数充足,同时考虑到了上下文信息,但情感倾向相对误差较大。本文提出的SKTT 方法充分利用了基于Title 和基于加权TextRank 抽取情感关键句的优势和互补性。与关键词抽取时构建一个无向无权图不同,情感关键句抽取认为所有情感句都是相连的,并且为每条边赋予相应的权重,将无向无权图变成加权的有向图来提取情感关键句[15]。
4.1情感句图模型构建(1)将每篇文档划分成多条子句,根据扩展情感词典过滤掉非情感句,剩下情感句构成集合T =[S 1,S 2,⋯,S n ]。(2)构建有向加权图G =(V,E ),由点集合V 和边集合E 组成,集合T 中的句子对应于节点集合V ,E 是有向边的集合。图中任两点v i ,v j 之间边的权重为w ij ,这里的权重主要与4个因素紧密相关,将在下文详细介绍。对于一个给定的点v i ,In (v i )为指向该点的点集合,Out (v i )为点v i 指向的点集合。点v i 的得分定义如下:W s (v i )=(1-d )+d ×
∑v j ∈In (v i )
w ji ∑v k ∈Out (v j )
w jk W s (v j )(2)
式(2)是TextRank 递推公式,其中d 为阻尼系数,通常取值为0.85,k 为图模型中的其他顶点。这是一个迭代的过程,本文迭代数调试后取300。
4.2情感句特征选取的影响因素
根据构建的图模型得到句子排名的关键在于句子
之间的权重,这里的权重加入了特征选取的4个影响因素,即位置关系、情感权重、情感核心词和句子规模。令θ1,θ2,θ3,θ4为4个影响因素占的比重,则有:
θ1+θ2+θ3+θ4=1(3)4.2.1位置关系
文档的情感倾向与其表达的情感顺序有很大关系,且越靠近首句尾句越倾向于表达总体情感,对整个文档
的情感分类影响越大。W θ1(v i ,v j )为位置关系影响因素,表示节点v i 的位置关系权重传递给节点v j 的权重,计算公式如下所示:
W θ1(v i ,v j )=L (v j )
∑v k ∈Out (v i )
L (v k )
(4)
其中,L (v j )表示节点v j 对应句子所在位置的重要性,重
要性取值可根据实际情况采取不同的策略,本文计算公
式如下所示:
L (v j )=1min(j,n -j +1)(5)其中,j 为v j 对应句子的位置,即首句j =1,第二句j =2,以此类推,n 为文档总句子数。
4.2.2情感权重
情感关键句主要表达说话人的整体情感或观点,句子情感权重越大说明对文档的情感倾向贡献度越大。W θ2(v i ,v j )为情感权重影响因素,表示节点v i 的情感权重传递给节点v j 的权重,计算公式如下所示:
W θ2(v i ,v j )=S (v j )
∑v k ∈Out (v i )
S (v
k )(6)
其中,S (v j )表示节点v j 对应句子所有词情感之和,计算公式如下所示:
S (v j )=|
|||
|
|||∑k =1n
score (w jk )n (7)
其中,score (w jk )为v i 对应句子第k 个词在扩展情感词典中的情感得分,n 为句子的总词数,除以分母n 是为了避免过长句子导致的情感得分过高。
4.2.3情感核心词
情感词典中通过情感得分描述一个词的情感强度,事实上同样情感得分的词表达的情感强度可能并不相
郑诚,等:Title 加TextRank 抽取关键句的情感分类研究
97
Computer Engineering and Applications 计算机工程与应用
2019,55(20)同,如hate (讨厌)情感得分为-0.75,insomnia (失眠)情感得分也为-0.75,可以看出前者情感倾向更强烈,所在句更可能是情感关键句,后者更多表达的是一种症状,所在句更可能是细节句。所以,本文把特定领域内高频出现且情感倾向强烈单一的简单词记为情感核心词,出现这些词的句子更倾向于表达总体情感,更可能是情感关键句,如good 、love 、best 、great 、worth 、recom-mend 、bad 、poor 、worst 、awful 、waste 等等。情感核心词的选取分为两部分,首先是通用情感核心词,选取在三个情感词典(Bing Liu's lexicon 、MPQA 、SentiWordNet )中情感极性一致[17]且情感得分绝对值大于0.5的情感词,然后是特定领域的情感核心词,通过领域内大量未标记数据,人工选取在该领域内具有特定情感倾向的情感词。W θ3(v i ,v j )为情感核心词影响因素,表示节点v i 的情感核心词权重传递给节点v j 的权重,计算公式如下所示:W θ3(v i ,v j )=C (v
j )
∑v k ∈Out (v i )C (v
k )(8)其中,C (v j )表示节点v j 对应句子是否含有情感核心词,v j 对应句中含有情感核心词,则根据经验设置C (v j )=0.8,反之,v j 对应句中不含情感核心词,则根据经验设置C (v j )=0.2。4.2.4句子规模本文通过标点符号将文档划分成多个子句,短小且情感极性单一的句子更可能成为情感关键句,如this one best movies ,而一些过长且句式复杂的句子更可能属于细节描述或情感表达混淆,如bad reviews confuse movie not like badly movie 。W θ4(v i ,v j )为句子规模影响因素,表示节点v i 的句子规模权重传递给节点v j 的权重,计算公式如下所示:W θ4(v i ,v j )=D (v j )
∑v k ∈Out (v i )D (v k )(9)
其中,D (v j )表示节点v j 对应句子的规模,v j 对应句子单词数大于等于m ,则根据经验设置D (v j )=0.2,反之,v j 对应句子单词数小于m ,则根据经验设置D (v j )=0.8。对m 的取值进行了一些对比实验,结果表明m 取5时效果最好。4.3关键句抽取算法上文TextRank 公式中,w ij 为任两点v i ,v j 之间边的权重,计算公式如下所示:W ij =∑k =14
θk ×W θk (v j ,v i )(10)
通过式(2)进行迭代计算每个节点的权重对情感句进行排名,结合上文Title 的贡献度,得到每篇文档
的情感关键句。根据经验每篇文档抽取3条情感关键句,还做了一些对比实验,发现条数取更多或者更少,实验效果都不好。如果一篇文档少于3句,则都默认为关键句,否则输出3条关键句。具体算法如算法1所示。算法1基于Title 和加权TextRank 的关键句抽取算法输入:待抽取文档d ;影响因素占的比重(指定的)θ1,θ2,θ3,θ4
输出:文档的情感关键句
1.分别提取文档d 的Title 和正文d 1;
2.利用领域未标记语料扩展通用情感词典,增加领域知识;
3.根据7条规则和扩展情感词典计算Title 贡献度c ;
4.Title 作为c 条情感关键句,输出c 次;
5.对正文d 1进行分句、转换大小写、词形还原和去停用词;
6.根据扩展情感词典过滤掉非情感句,剩下情感句构成集合T =[S 1,S 2,⋯,S n ];
7.For (int j =1;j <=n ;j ++)8.{
9.计算句子S j 的位置关系权重L (v j );
10.计算句子S j 的情感权重S (v j );
11.计算句子S j 的情感核心词权重C (v j );
12.计算句子S j 的句子规模权重D (v j );
13.}
14.End for
15.For (int i =1;i <=n ;i ++)
16.{17.For (int j =1;j <=n ;j ++)
18.{
19.利用公式(4)计算节点v i 的位置关系权重传递给节点v j 的权重W θ1(v i ,v j );
20.利用公式(6)计算节点v i 的情感权重传递给节点v j 的权重W θ2(v i ,v j );
21.利用公式(8)计算节点v i 的情感核心词权重传递给节点v j 的权重W θ3(v i ,v j );
22.利用公式(9)计算节点v i 的句子规模权重传递给节
点v j 的权重W θ4(v i ,v j );
23.利用公式(10)计算任两点v i ,v j 之间边的权重W ij ;24.}
25.End for
26.}
27.End for
28.For (i =1;i <=n ;i ++)
29.{30.利用公式(2)迭代计算句子得分W s (v i );
31.输出得分最高的(3-c )个句子;32.}
33.End for
34.最终得到每篇文档的3条情感关键句。
98
2019,55(20)5实验5.1实验设置本文在著名的Amazon 产品评论情感数据集(表示为Amazon-4)进行了多组实验,包括四个领域,即Book 、Dvd 、Electronics 和Kitchen 。在每一个领域,包括1000条正面和1000条负面有标注评论数据,以及大量无标注评论数据。5.2影响因素比重确定为了得到最好的实验效果,对4个影响因素占的比重进行了不同的组合。前4组分别测试单个特征对实验结果的影响,第5组测试4个特征占相同权重对实验结果的影响,后面5组根据前面组的实验结果和经验进行参数设置和调试,还做了一些对比实验,选出具有代表性的10组参数设置。针对给出的10种组合,分别计算其在dvd 领域上SKTT 方法得到的正确率。如表1所示。根据上文给出的影响因素10种组合及相应的SKTT 方法得到的正确率,可以看出4个特征进行组合比任一单个特征的效果都要好,证明虽然特征重要性不同,但缺一不可,同时可以看出情感核心词对句子起到了重要的作用,位置关系、情感权重和句子规模对句子有一定影响,所以参数θ1=0.05,θ2=0.05,θ3=0.75,θ4=0.15时取得最好效果。5.3实验结果及分析为了验证本文提出的SKTT 方法有高效性,进行了多组对比实验。Baseline 方法是基于3类属性:情感属性、位置属性和关键词属性抽取情感关键句的方法[3]。SKTT 是基于Title 和加权TextRank 抽取关键句的情感分析方法。根据7条规则和扩展情感词典计算每条情感关键句的情感倾向,在用投票法确定整篇文档的情感倾向性。SKT-qw 是基于Title 贡献度和全部正文的情感分类方法。xgboost 是将SKTT 方
法得到的情感倾向性作为一个特征,文档细节句得到的情感倾向性作为一个特征,再将SKT-qw 方法得到的情感倾向性作为一个特征,用xgboost 进行情感分类,使用五折交叉验证。对比实验结果如表2所示。实验结果表明,本文提出的基于Title 和加权TextRank
抽取关键句的情感分析方法SKTT 远远好于基于3类属
性抽取情感关键句的Baseline 方法,分类正确率在4个领域平均提高了4.70%,从而证明了本文提出的SKTT 方法的高效性,既强化了Title 中总体情感表达,又利用TextRank 算法有效去除了正文中的细节描述。从表2中还可以看到SKTT 方法较SKT-qw 方法有很大提升,充分证明了TextRank 算法抽取情感关键句的有效性。Xgboost 将关键句、细节句和全文句得到的情感分类结
果分别作为特征进行训练,进一步提升了分类正确率,
平均较SKTT 方法提升了1.50%。
下面举例说明本文提出SKTT 方法的高效性。从
book 领域负面评论数据中取出一条数据,标题为thin characterization ,Title 情感得分为-0.5,绝对值大于0小
于0.75,作为一条情感关键句;正文经过一系列处理并去除非情感句,得到11条情感句。根据TextRank 思想构建情感句图模型,利用TextRank 公式迭代计算句子得分,由于Title 已取得1条关键句,所以正文取得分最高的两条dying this book ;this mediocre bit waste time 作为补充关键句。SKTT 方法利用得到的三条关键句判
断文档情感倾向为负,SKT-qw 方法是根据Title 得到的
一条关键句和正文11条情感句判断文档情感倾向为
正。由此可见,去除一些细节描述和干扰句,更有利于准确判断评论文本的情感倾向,证明了本文提出的STKK 方法的高效性。6结束语本文认为抽取情感关键句可以提高情感分类的效果,同时考虑到Title 具有强烈情感倾向贡献度和加权
TextRank 算法提取情感关键句的有效性,提出了一种基
于Title 和加权TextRank 抽取关键句的情感分析方法SKTT 。在计算Title 贡献度时,考虑了标点和语义规则对情感倾向的影响。本文提出的SKTT 方法充分利用了基于Title 和基于加权TextRank 抽取情感关键句的优势和互补性。实验结果表明,本文提出的SKTT 方法比Baseline 方法平均提高了4.70%,最后xgboost 分类器将关键句、细节句和全文句得到的情感倾向性作为特征进行训练,进一步提高了分类效
果。下面的工作将进一步探索更有效的方法提取关键句,考虑LSTM+Attention 模型提取关键句,以及如何将抽取出关键句用到更复杂的模型中提高情感分类效果,同时在接下来工作中考虑如何自动扩充语义规则。组数12345678910θ11.000.000.000.000.250.130.130.050.050.05θ20.001.000.000.000.250.330.190.050.050.05θ30.000.001.000.000.250.370.510.650.750.85θ40.000.000.001.000.250.170.170.250.150.05正确率/%75.35
75.9076.0575.4076.4577.3577.3577.60
77.8077.45表14个影响因素所占比重的不同组合及相应SKTT 方法正确率Domain Book Dvd Electronic Kitchen Baseline 69.9072.7076.6077.80SKTT 74.3577.8081.3582.30SKT-qw 71.2575.8079.0581.40xgboost
75.7079.0582.4084.65表2基于关键句抽取的情感分类对比实验%
郑诚,等:Title 加TextRank 抽取关键句的情感分类研究
99
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论