APP下载

基于情感词典与机器学习的文本情感极性分析

2018-10-20王思凡

数码设计 2018年12期
关键词:文本挖掘程度

王思凡

摘要:“情感极性分析”是对带有感情色彩的主观性文本进行分析、处理、归纳和推理的过程,是文本情感分析的一个分类。目前广泛用于产品评估、舆情预控与信息分析。本文将分别采用两种目前常见的情感极性分析方法,即情感词典的方法和基于机器学习的方法进行情感分析实验。

关键词:文本挖掘;情感字典;程度;极性分析

中图分类号:TP391.1;TP181

文献标识码:A

文章编号:1672 - 9129(2018)12 - 0113 - 01

1 情感极性分析法

1.1 原理。

基于情感词典的情感分析应该是最简单最基本的情感极性分析方法。其主要判断思路是:对文档分词,找出文档中的情感词、否定词以及程度副词。其中,找出否定词是因为其会将评价的情感转向相反的方向。

因此,在找出情感词之后,要判断情感词之前是否有否定词及程度副词,将它之前的否定词或程度副词划分为一个组,如果有否定词将情感词的情感权值乘以-1,如果有程度副词就乘以程度副词的程度值,最后所有组的得分加起来,大于O的归于正向,小于0的归于负向。在实验中,我们使用的是BosonNLP的情感词典。BosonNLP是基于微博、新闻、论坛等数据来源构建的情感词典,其在处理以上来源的评价时比较准确。对否定词的判断我们使用了传统模型中提供的情感极性词典下载包,对于程度副词我们使用了《知网》情感分析用词语集(heta版)。词典内数据格式可参考如下格式,即共两列,第一列为程度副词,第二列是程度数值,>1表示强化情感,<1表示弱化情感。

1.2 实现过程。

1)文本预处理,我们使用“结巴中文分词”作为分词工具,分词并去除停用词;

2)将分词结果转为字典,key为单词,value为单词在分词结果中的索引,如果把单词作为key的话假如一个情感词在文中出现了多次,只记录这个词最后一次出现的位置;

3)对分词结果分类,找出情感词、否定词和程度副词;

4)计算得分。设置初始权重W为l,从第一个情感词开始,用权重W*该情感词的情感值作为得分(用score记录),然后判断与下一个情感词之间是否有程度副词及否定词,如果有程度副词,此时的W作为遍历下一个情感词的权重值,循环直到遍历完所有的情感詞,每次遍历过程中的得分sCore加起来的总和就是这篇文档的情感得分。

5)返回结果。

1.2 运行结果

1.3 存在问题。

简单使用情感词典将常用词打上了唯一分数的办法存在许多不足之处:

1)不带情感色彩的停用词会影响文本情感打分。

2)文本中一些词性的多变成为了影响模型准确度的重要原因。

一种情况是同一个词在不同的语境下可以是代表完全相反的情感意义; 3)另外,同一个词可作多种词性,那么情感分数也不应相同,例如:“这部电影真垃圾”与“垃圾分类”,在第一句中垃圾表现强烈的贬义,而在第二句中表示中性,单一评分对于这类问题的分类难免有失偏颇。

2 改进——机器学习方法

2.1 原理。

主要通过输入大量句子以及这些句子的情感标签,训练一个句子情感分类器,进而预测新的句子的情感。

机器学习方法的优点包括:机器学习对情感分析会更为精准,深度神经网络可以很好的分辨出一些反讽语气的句子。机器学习的前馈过程接受固定大小的输入,比如二进制数;递归网络可以接受序列数据,比如文本。

2.2 实现方法。

1)导入库:tflearn是一个深度学习库,他基于TensorFlow,并且提供了更高级的API。

2)数据导入:选择pkl形式的数据进行导人(pkl:字节流形式数据,更容易转换为其他python对象),取10000单词,10%的的数据作为验证集。将数据划分为评论集和标签集。

3)数据处理:由于不能直接将文本数据中的字符串输入神经网络,必须先进行向量化。将数据转为向量表示。

4)利用pad_sequences把输入转换为矩阵的形式,并且对矩阵进行扩充。矩阵的扩充是为了保持输入维数的一致性。

5)修改参数标明输入的数列扩充到100的长度,扩充的部分数值为0。把评论集转为二进制向量(表示评价是积极或消极)

2.3 构造网络。

1)定义输入层,输人数据长度为100

2)定义嵌入层,第一个参数是这一层接受的向量,即上一层输出的向量,共导入10000个单词,输出维度定义为128

3)定义LSTM( Long short term memory)层,使我们的网络能够记住序列一开始的数据,将把dropout设置为0.08,这是一种防止过拟合的技术。

4)定义全连接网络层,激活函数使用softmax。

5)对于输入做回归操作,定义优化方法,与学习率,还有损失值计算方法

2.4 训练网络。

(1)初始化神经网络

(2)训练神经网络,输入训练集与验证集,show_metric= True可以输出训练日志

2.2 运行结果。在本次实验中,我们详细研究了在文本挖掘中基于情感词典与机器学习的情感分析技术与主流算法,并对这些算法的实现进行了实验和总结。我们使用机器学习的方法将文本中输入的大量句子添加句子的情感标签,使用gpu建立出了一个句子情感分类器,进而预测新的句子的情感。在这个过程中,我们明白了,在对文本挖掘的研究的道路上绝对不能单纯只学习理论和借鉴别人的成果,还要自己思考,从多方面分析当下模型,并对当下的已有模型进行创新。

猜你喜欢

文本挖掘程度
男女身高受欢迎程度表
汉泰程度副词对比研究
数据挖掘技术在电站设备故障分析中的应用
基于LDA模型的95598热点业务工单挖掘分析
文本数据挖掘在电子商务网站个性化推荐中的应用
从《远程教育》35年载文看远程教育研究趋势
慧眼识璞玉,妙手炼浑金
文本观点挖掘和情感分析的研究
缝补Boro items
Panda Priorities