基于PaddleHub预训练模型Senta完成的情感分析

基于PaddleHub预训练模型Senta完成的情感分析情感倾向分析 Sentiment Classificati 简称 Senta 针对带有主观描述的中文文本 可自动判断该文本的情感极性类别并给出相应的置信度 能够帮助企业理解用户消费习惯 分析热点话题和危机舆情监控 为企业提供有利的决策支持 此其实就是一个二分类问题 一

大家好,我是讯享网,很高兴认识大家。

情感倾向分析(Sentiment Classification,简称Senta)针对带有主观描述的中文文本,可自动判断该文本的情感极性类别并给出相应的置信度,能够帮助企业理解用户消费习惯、分析热点话题和危机舆情监控,为企业提供有利的决策支持。(此其实就是一个二分类问题)

一、定义待预测数据

以”这家餐厅很不错“,”这部电影真的很差“为例,展示如何如何使用Senta进行情感分析。

安装paddkehub:

pip install paddlehub==1.6.2 -i https://pypi.tuna.tsinghua.edu.cn/simple 

讯享网

建立预测要求形式:

讯享网test_text = ["这家餐厅很好", "这部电影真的很差"] 

预览形式:

cat test.txt 

若是文档,用此代码即可变成目标列表形式(将文件内容存成list,list中每个元素是待预测句子):


讯享网

讯享网with open("test.txt", 'r') as f: test_text = [] for line in f: test_text.append(line.strip()) print(test_text) 

二、加载预训练模型

Senta开源了一系列:
BOW模型
CNN模型
GRU模型
LSTM模型
Bi-LSTM模型

以Bi-LSTM为例:

import paddlehub as hub senta = hub.Module(name="senta_bilstm") 

如果想尝试其他模型,只需要更换Module中的name参数即可.

模型名 PaddleHub Module
BOW hub.Module(name='senta_bow')
CNN hub.Module(name='senta_cnn')
GRU hub.Module(name='senta_gru')
LSTM hub.Module(name='senta_lstm')
Bi-LSTM hub.Module(name='senta_bistm')

三、预测

讯享网input_dict = { 
   "text": test_text} results = senta.sentiment_classify(data=input_dict) for result in results: print(result) 

输出结果示例:

{‘text’: ‘这家餐厅很好吃’, ‘sentiment_label’: 1, ‘sentiment_key’: ‘positive’, ‘positive_probs’: 0.9407, ‘negative_probs’: 0.0593}
{‘text’: ‘这部电影真的很差劲’, ‘sentiment_label’: 0, ‘sentiment_key’: ‘negative’, ‘positive_probs’: 0.02, ‘negative_probs’: 0.98}
{‘text’: ‘我真的很喜欢你’, ‘sentiment_label’: 1, ‘sentiment_key’: ‘positive’, ‘positive_probs’: 0.9831, ‘negative_probs’: 0.0169}
{‘text’: ‘你讨厌我吗’, ‘sentiment_label’: 0, ‘sentiment_key’: ‘negative’, ‘positive_probs’: 0.0242, ‘negative_probs’: 0.9758}
{‘text’: ‘哈哈哈’, ‘sentiment_label’: 1, ‘sentiment_key’: ‘positive’, ‘positive_probs’: 0.9536, ‘negative_probs’: 0.0464}
{‘text’: ‘嘿嘿嘿’, ‘sentiment_label’: 1, ‘sentiment_key’: ‘positive’, ‘positive_probs’: 0.9273, ‘negative_probs’: 0.0727}
{‘text’: ‘您好,为啥我这个衣服刚到,扣子就掉了’, ‘sentiment_label’: 0, ‘sentiment_key’: ‘negative’, ‘positive_probs’: 0.1121, ‘negative_probs’: 0.8879}

其中输出参数表示:
sentiment_label:情绪标签
sentiment_key:情绪键
positive_probs:积极概率
negative_probs:消极概率

小讯
上一篇 2025-02-13 18:38
下一篇 2025-01-29 15:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/15840.html