17行代码跑最新NLP模型?你也可以!
- 本次作者评测所需(防吓退)
- 一台可以上网的电脑
- 基本的python代码阅读能力,用于修改几个模型参数
- 对百度中文NLP最新成果的浓烈兴趣
- 训练模型:Senta情感分析模型基本简介
Senta是百度NLP开放的中文情感分析模型,可以用于进行中文句子的情感分析,输出结果为{正向/中性/负向}中的一个,关于模型的结构细节,请查看Senta----github.com/PaddlePaddle/Paddlehub/demo/senta
- 本示例代码选择的是Senta-BiLSTM模型。
- 模型来源:Paddlehub简介
PaddleHub是基于PaddlePaddle开发的预训练模型管理工具,可以借助预训练模型更便捷地开展迁移学习工作。
- 本次评测中只使用了预训练模型,没有进行fine-tune
- 代码运行环境:百度 AI studio
实验代码
- 来自paddlehub/senta_demo.py
github:https://github.com/PaddlePaddle/PaddleHub/blob/release/v0.5.0/demo/senta/senta_demo.py
from __future__ import print_function
import json
import os
import six
import paddlehub as hub
if __name__ == "__main__":
# 加载senta模型
senta = hub.Module(name="senta_bilstm")
# 把要测试的短文本以str格式放到这个列表里
test_text = [
"这家餐厅不是很好吃",
"这部电影差强人意",
]
# 指定模型输入
input_dict = {"text": test_text}
# 把数据喂给senta模型的文本分类函数
results = senta.sentiment_classify(data=input_dict)
# 遍历分析每个短文本
for index, text in enumerate(test_text):
results[index]["text"] = text
for index, result in enumerate(results):
if six.PY2:
print(
json.dumps(results[index], encoding="utf8", ensure_ascii=False))
else:
print('text: {}, predict: {}'.format(results[index]['text'],results[index]['sentiment_key']))
PYthon学习企鹅裙:88198-2657 领取python自动化编程资料教程
详细测评