情感分析是自然语言处理(NLP)中的一个常见应用,也是一个有趣的基础任务,特别是对于词的情感内容的分类。是对带有感情色彩的主观文字进行分析、加工、归纳、推理的过程。
添加微信好友, 获取更多信息
复制导师一对一
本文将介绍情感分析中的情感极性(倾向)分析。所谓情感极性分析,是指对词语的积极、消极和中性判断。在大多数应用场景下,只分为两类。比如“喜欢”和“不喜欢”这两个词,就属于不同的情感倾向。
本文将详细介绍如何利用深度学习模型中的LSTM模型实现对词语的情感分析。
我们以某电商网站某商品的评论为语料库(corpus.csv),这个数据集的下载地址是:https://github .
com/renjunxiang/text-classification/blob/master/text classification/data/data _ single . CSV,这个数据集有4310条评论,文字的感受可以分为两类。评估,标签
用了一段时间,感觉不错,还行,积极向上。
电视很好。已经是家里第二个了。第一天下单,第二天就到了,但是物流的人说车坏了,一直催。客服也帮忙催了,第三天下午5点才送到。等父母老了,买个画面清晰的大电视,趁着耳朵还能用,好好享受几年。,前面
电视比预想的大很多,画面也很清晰,系统很智能,更多的功能还在探索中。
不错,正面
用了这么多天,感觉还不错。夏普的品牌还是比较靠谱的。希望以后更耐用。现在是考虑质量的时候了。,前面
物流速度很快很棒。今天看了电视,非常清晰流畅。这是一个完美的购物体验,积极的。
很好,客服还特意打电话回访,正面。
后勤哥不错,努力,东西没用,积极
发货速度快,质量有保障,活动价格相当不错。我希望它能持续很长时间,没有任何问题。,前面
然后我们需要对语料库做一个简单的分析:
数据集中的情感分布;
数据集中评论句的长度分布。
使用下面的Python指令代码,我们可以统计数据集中的情感分布和评论句的长度分布。
输出结果如下:
如你所见,积极情绪和消极情绪的比例差不多。句子长度和出现频率的统计图如下:
用LSTM分析文本情感的自然语言处理导论(十)
句子长度的累积分布函数图如下:
用LSTM分析文本情感的自然语言处理导论(十)
可以看出,大部分样本的句子长度集中在1到200之间,句子长度的累计频率为0.91分位数,因此长度约为183。
然后我们使用深度学习中的LSTM模型对上述数据集做情感分析。作者实现的模型框架如下:
用LSTM分析文本情感的自然语言处理导论(十)
完整的Python代码如下:
对上述模型进行了5次训练,训练集与测试集之比为9:1。输出结果如下:
可以看出,该模型在训练集的准确率在95%以上,在测试集的准确率在90%以上,效果相当不错。
然后,我们使用新训练的模型来测试新数据。作者对上述样本的评论进行随机变换,然后预测其情感倾向。情绪预测的Python代码如下:
输出结果如下:
让我们试着测试一些其他的评论:
当然,模型不会对所有的商品评论都有很好的效果,还是要针对特定的语料库进行训练和预测。
本文主要介绍了LSTM模型在文本情感分析中的应用。该项目已经上传到Github的。
注:下面来了解一下作者的微信微信官方账号:Python爬虫与算法(微信号:easy _ web _ scrap),欢迎大家关注~
Python机器学习——NLP情感分析;
数据集来源:https://github .
com/renjunxiang/text-classification/blob/master/text classification/data/data _ single . CSV。
网友评论