17行代码跑最新NLP模型?你也可以!
- 一台可以上网的电脑
- 基本的python代码阅读能力,用于修改几个模型参数
- 对百度中文NLP最新成果的浓烈兴趣
- 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']))
详细测评
成语情感分析
input
- test_text = [
- '沧海桑田', # 中型,世事变化很大
- '下里巴人', # 褒义,通俗的文学艺术
- '有口皆碑', # 褒义,对突出的好人好事一致颂扬
- '危言危行', # 褒义,说正直的话,做正直的事
- '鬼斧神工', # 褒义,指大自然美景
- '不赞一词', # 褒义,不能再添一句话,表示写的很好
- '文不加点', # 褒义,指写作技巧高超
- '差强人意', # 褒义,大体还能使人满意
- '无微不至', # 褒义,指细心周到
- '事倍功半', # 褒义,指不费力就有好的效果
- '事半功倍', # 贬义,指浪费了力气却没有好效果
- '蠢蠢欲动', # 贬义,指要干坏事
- '面目全非', # 贬义,指大破坏
- '江河日下', # 贬义,指事物日渐衰落
- '评头论足', # 贬义,指小节过分挑剔
- '生灵涂炭', # 贬义,指人民极端困苦
- '始作俑者', # 贬义,第一个做坏事的人
- '无所不为', # 贬义,什么坏事都干
- '无所不至', # 贬义,什么坏事都干
- '阳春白雪', # 贬义,高深不容易理解的艺术
- ]
output
- 运行耗时: 4秒480毫秒
- text: 沧海桑田, positive_prob: 0.3838, predict: negative # 错误
- text: 下里巴人, positive_prob: 0.7957, predict: positive
- text: 有口皆碑, positive_prob: 0.906, predict: positive
- text: 危言危行, positive_prob: 0.588, predict: positive
- text: 鬼斧神工, positive_prob: 0.657, predict: positive
- text: 不赞一词, positive_prob: 0.9698, predict: positive
- text: 文不加点, positive_prob: 0.1284, predict: negative # 错误
- text: 差强人意, positive_prob: 0.0429, predict: negative # 错误
- text: 无微不至, positive_prob: 0.8997, predict: positive
- text: 事倍功半, positive_prob: 0.6181, predict: positive
- text: 事半功倍, positive_prob: 0.8558, predict: positive # 错误
- text: 蠢蠢欲动, positive_prob: 0.7353, predict: positive # 错误
- text: 面目全非, positive_prob: 0.2186, predict: negative
- text: 江河日下, positive_prob: 0.2753, predict: negative
- text: 评头论足, positive_prob: 0.6737, predict: positive # 错误
- text: 生灵涂炭, positive_prob: 0.4661, predict: neutral # 错误
- text: 始作俑者, positive_prob: 0.247, predict: negative
- text: 无所不为, positive_prob: 0.5948, predict: positive # 错误
- text: 无所不至, positive_prob: 0.553, predict: positive # 错误
- text: 阳春白雪, positive_prob: 0.7552, predict: positive # 错误
正确率:10/20 = 50%
转折复句情绪分析
(编辑:ASP站长网)
|