Cemotion情感分析
文本情感分析,可以自定义词典、训练模型来进行,但花费时间长。如果采用现有的模型,直接用几行代码就可以得出文本的情感倾向,现有的模型主要有SnowNLP和Cemotion。
SnowNLP用的是经典机器学习的贝叶斯算法;
Cemotion使用的是深度学习RNN模型,目前Cemotion使用的模型为rnn_emotion_x86_1.0.h5。
完整代码(Cemotion,需要pip 安装):
#导包
import pandas as pd
from cemotion import Cemotiondef get_reviews(file_path):predict = []data = pd.read_csv(file_path,sep="\t")review = data.iloc[:,1]review = [str(a) for a in list(review)]c = Cemotion()predict = c.predict(review)return predictfile_path = 'd:/datasets/reviews.txt'
emotions = get_reviews(file_path)
for emotion in emotions:print('"', emotion[0] , '"\n' , '情感倾向:{:6f}'.format(emotion[1]) , '\n')
输出结果: 1/1 [==============================] - 0s 477ms/step " 看到朋友的姐姐用这个说效果很好,我也买来给姐姐和妈妈用,都说效果不错,皮肤好多了,又白又嫩~点个赞! "情感倾向:1.000000 " 质量很好,绝对的正品,包装也很好,没有任何损坏,非常满意。 "情感倾向:0.999834 " 口罩收到了质量很好,包装严实,透气性很好 "情感倾向:0.998665 " 质量很好疫情期间必不可少的便宜有活动多囤点 "情感倾向:0.999965 " 是正品,干净卫生,做过好独立包装,赞 "情感倾向:1.000000 " 太差了,用了一次就坏了 "情感倾向:0.000001 " 不好用,下次不会买了 "情感倾向:0.000385 " 不会回购了 "情感倾向:0.031789
测试集reviews.txt(注:id与review之间tab键分隔)
id review
1 看到朋友的姐姐用这个说效果很好,我也买来给姐姐和妈妈用,都说效果不错,皮肤好多了,又白又嫩~点个赞!
2 质量很好,绝对的正品,包装也很好,没有任何损坏,非常满意。
3 口罩收到了质量很好,包装严实,透气性很好
4 质量很好疫情期间必不可少的便宜有活动多囤点
5 是正品,干净卫生,做过好独立包装,赞
6 太差了,用了一次就坏了
7 不好用,下次不会买了
8 不会回购了
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!