基于PaddleHub预训练模型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
BOWhub.Module(name='senta_bow')
CNNhub.Module(name='senta_cnn')
GRUhub.Module(name='senta_gru')
LSTMhub.Module(name='senta_lstm')
Bi-LSTMhub.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:消极概率

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啥都鼓捣的小yao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值