基于词典与规则的文本情感分析

2018-12-18 10:16姚珂
电脑知识与技术 2018年26期
关键词:情感分析规则

姚珂

摘要:该文将基础词典和自定义词典相结合,采用基于词典和自定义规则的情感分类方法将文本分为正向、负向、中性三类。在此基础上通过K折交叉验证,对自定义规则的权重进行调整,并使得到的结果更具准确性。实验结果表明,基于词典和规则的方法可以对文本的情感倾向性进行有效分类。

关键词:自定义词典;规则;情感分析;K折交叉验证

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2018)26-0162-02

国务院在2017年7月8日发布并实施的《新一代人工智能发展规划》中自然语言处理技术被重点提及。它指出自然语言处理技术主要用于研究短文本的计算与分析技术,跨语言文本挖掘技术和面向机器认知智能的语义理解技术,多媒体信息理解的人机对话系统。

文本情感分析作为自然语言处理中的一个重点,是对带有感情色彩的主观性文本进行分析、处理、归纳和推理的过程[1]。在情感分析领域,文本可以划分为两类即积极的或消极的,也可以分为三类即积极的、消极的、中性(或不相关)。现在国内外主要使用的技术可以分为两大类:一类是基于情感词典的方法[2],根据分词后得到的情感词数量来计算总体的情感分值,然后根据情感分值判断情感走向;另一类是采用机器学习的方法[3],准备训练集和测试集,对数据进行向量化,使用逻辑回归、支持向量机、神经网络等分类器进行情感分类。

当前各类媒体高度发达,海量的信息被制造和传播,想要快速得到文本中的具体内容与评价,需要我们使用情感分析的方法去解决阅读和识别判断数据的难题。此次实验对2000条JSON格式的新闻类舆情数据,进行数据处理分析,首先对文本进行处理,得到我们要分析的文本主题段落,之后将段落分割成句子,并对句子进行分詞,分词过程中将文本中不需要的符号直接删除,只保留对结果有影响的词语,通过词典匹配的方法对句子级情感倾向性(正向、负向、中性)进行评估。所以本文将基础词典和自定词典进行结合,并定义规则对文本的情感倾向性进行分析,让用户可以从海量的数据中有效识别和判断数据情感倾向。

1 相关工作

1.1 构建词典

要进行基于情感词典和规则的情感倾向性分析,必须有情感词典做基础。其中情感词典应该包括基础词典和领域词典。本次实验中基础情感词典是将知网的“情感分析用词语集”中的正向情感字典、正向评价词典以及负向情感词典、负向评价词典中的这些被广泛认同的情感词,比如“错”,“坏”,“差”等进行结合、去重。领域词典是从文本中筛选出基础词典没有的领域专业词汇,并通过手工标注词的正负向得到的自定义词典,领域词典可以让正确率得到很大的提升。

1.2 定义规则

在文本情感倾向性分析领域,外国的处理技术明显更为成熟,但是许多外文的处理技术中文是不能直接使用的。这是由于中文的语言特殊性,在对中文文本进行情感倾向性分析之前,必须对文本进行分词。因此分词是中文文本处理的基础,目前国内应用比较广泛的分词工具有清华大学自然语言处理与社会人文计算实验室研制推出的THULAC、北京理工大学张华平博士研发的中文分词系统NLPIR以及结巴分词等。本次实验采用应用最为广泛并支持自定义词典的结巴分词,在结巴分词程序中加入自定义词典对文本进行分词。在完成分词之后将分词结果和情感词典表进行匹配,从而确定文本出现正、负向词的数量,根据出现的情感词数量通过定义的规则来确定文本的情感倾向。

文本的倾向性计算规则需要将新闻段落碾平为句子并将其标记为标记为W1,W2…Wn,将句子进行分词得到的情感词中的正向词标记为P1,P2…Pn,负向词标记为Q1,Q2…Qn,不是正负向的词直接设值为0,然后按照规则对文本的情感倾向进行计算,之后通过K折交叉验证的方法调整权重a,以达到最好的效果。

其中句子的情感倾向计算规则如下:

W =[i=1nPi]+a[j=1nQj]

段落的情感倾向计算规则为:

E =[i=1nWi]/n

1.3 K折交叉验证

在实验中由于权重的不同常常会导致预测结果无法稳定,调整权重之后最终的分数是否会有改善也未知,因为我们不知道调整权重后是更好的发掘潜在关系了,还是过度拟合了。为了解答这个难题,Stone[4]在1974年首次提出了交叉验证的方法,并通过验证得出保留一个样本数据集,其他的数据集用来训练模型,通过保留的样本数据集去验证模型会得到一个比较好的预测。现在比较常见的交叉验证类型有重复随机子抽样验证、K折交叉验证以及留一法交叉验证。其中Geisser[5]在1975年提出的K折交叉验证是将数据集平均分为K份,每次选一份做测试集,剩余的K-1份做训练集,最后将K次测试结果的平均值作为预测误差的估计。

K折交叉验证可以保证每一个样本数据都能被用作训练数据和测试数据,可以有效避免过度学习和欠学习状态的发生,得到的结果比较具有说服力。考虑到k值越大偏差会越小而计算复杂度会越大,本次实验采用十重交叉验证的方法。为保证训练集、测试集与原数据集之间的偏差不会太大,把数据按照总数据集中正向、负向、中性数据量的比例将数据分成10等份,训练集和测试集中数据的比例与原数据集大致相同让结果更具准确性。

2 实验过程与结果分析

2.1 实验过程

基于词典与规则对文本的情感倾向性进行分析的主要流程为:

首先将基础词典中的4558个正向词、4439个负向词和手工标注的自定义词典中的89个正向词和260个负向词相结合组成情感词典,然后对数据进行筛选处理。将新闻段落碾平为句子,形成我们所需要的14710条句子数据,其中正向数据共计5531条,中性数据共计1519条,负向数据共计6168条。采用十重交叉验证的方法,每次用13239条数据作为训练数据,剩余的1471条作为测试数据。将训练数据用于自定义规则中权重的调整,将测试数据用于对文本情感倾向性预测分析。

2.2 K折交叉验证确定权重

通过十重交叉验证的方法按照原数据集中正向、负向、中性数据的比例将数据平均分为10等份份,轮流将其中9份作为训练数据,剩下的一份作为测试集,在进行训练过程中不断调整权重,最后根据10次的训练得到最优的权重。

为了更清楚地表示出权重对训练结果的影响,将其中4次训练的结果通过图表的方式表示出来,其中不同颜色代表了每次训练时不同的权重,通过图表可以看出灰色的条形图在每次训练中都是最高的,因此可以得出结论当权重为7时正确率会达到峰值。

3 结果与分析

通过十折交叉验证在训练过程中对权重进行了选择,保证了情感倾向计算规则的稳定性,同时为保证测试结果的准确性将10次测试结果取平均值作为最终的正确率。

4 结束语

本文将基础词典和自定义词典相结合,基于词典和规则对文本的情感倾向进行了分类,并且取得了有效的成果。但是本次实验也存在较大的提升空间,之后的工作可以结合机器学习算法,并将语义分析应用到实验中,在情感分析过程中更好地结合上下文语境,以得到更好的预测效果。

参考文献:

[1] 杨立公,朱俭,湯世平.文本情感分析综述[J].计算机应用,2013,33(6):1574-1578.

[2] Lunwei Ku, Tungho Wu, Liying Lee, et al. Construction of an Evaluation Corpus for Opinion Extraction [C] / /NTCIR-5,Japan. 2005:513-520.

[3] Dasgupta S, Ng V. Mine the Easy. Classify the Hard:SSemiSupervisedApproach to Automatic Sentiment:Classification [C] / /ACL,2009:701-709.

[4] Stone M. Cross validatory choice and assessment of statistical predictions. J. Roy Statist. Soc. Ser. B, 1974, 36:111-147.

[5] Geisser S. The predictive sample reuse method with applications. J. Amer. Statist.Assoc, 1975, 70:320-328.

[通联编辑:唐一东]

猜你喜欢
情感分析规则
数独的规则和演变
规则的正确打开方式
让规则不规则
基于双向循环神经网络的评价对象抽取研究
TPP反腐败规则对我国的启示
在线评论情感属性的动态变化
搜索新规则