当前位置:   article > 正文

山东大学软件工程应用与实践----SENTA代码综述_senta 中性

senta 中性

2021SC@SDUSC


一:项目地址:

Senta: 百度开源的情感分析系统 (gitee.com)icon-default.png?t=L892https://gitee.com/baidu/Senta

二:项目背景:

近年来,随着AI技术的不断发展,NLP领域的一项重要应用技术——文本情感分析也被越来越多的商业场景运用,在消费决策、舆情分析、个性化推荐等领域均有出众表现!

百度在情感分析领域开展了深入的技术研发和应用实践。此前,在百度AI开放平台对外开放了评论观点抽取 和 情感倾向分析服务。近期,还通过Github开放了情感分类开源项目Senta。Senta项目包含了基于语义的情感分类模型,还包含了基于大数据训练好的模型。

三:项目概述

情感倾向分析针对带有主观描述的中文文本,可自动判断该文本的情感极性类别并给出相应的置信度。情感类型分为积极、消极、 中性。情感倾向分析能够帮助企业理解用户消费习惯、分析热点话题和危机舆情监控,为企业提供有力的决策支持。

Senta 是百度开源的情感分析 (Sentiment Analysis) 系统,Senta 也为百度 AI 开放平台    提供了情感倾向分析模块,供用户直接使用。

四:项目准备

安装和使用:是在Ubuntu16.04, Python3.x virtualenv环境下安装和测试。

安装直接通过pip install即可:

pip install paddlepaddle(这里用的是CPU版本)
pip install paddlehub

关于如何使用百度这个中文情感分析工具,最直接的方法还是follow官方demo脚本:

PaddleHub/demo/senta/senta_demo.py

在iPython中大致如下调用:

Python 3.5.2 (default, Nov 12 2018, 13:43:14) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.5.0 -- An enhanced Interactive Python. Type '?' for help.
 
In [1]: import paddlehub as hub                                                                 
 
In [2]: senta = hub.Module(name="senta_bilstm")                                                 
2019-07-06 22:33:01,181-INFO: Installing senta_bilstm module
2019-07-06 22:33:01,182-INFO: Module senta_bilstm already installed in /home/textminer/.paddlehub/modules/senta_bilstm
 
In [3]: test_text = ["这家餐厅很好吃", "这部电影真的很差劲","我爱自然语言处理"]                
 
In [4]: input_dict = {"text": test_text}                                                        
 
In [5]: results = senta.sentiment_classify(data=input_dict)                                     
2019-07-06 22:33:53,835-INFO: 13 pretrained paramaters loaded by PaddleHub
2019-07-06 22:33:53,839-INFO: 20 pretrained paramaters loaded by PaddleHub
 
In [6]: for result in results: 
   ...:     print(result) 
   ...:                                                                                         
{'positive_probs': 0.9363, 'text': '这家餐厅很好吃', 'sentiment_key': 'positive', 'negative_probs': 0.0637, 'sentiment_label': 2}
{'positive_probs': 0.0213, 'text': '这部电影真的很差劲', 'sentiment_key': 'negative', 'negative_probs': 0.9787, 'sentiment_label': 0}
{'positive_probs': 0.9501, 'text': '我爱自然语言处理', 'sentiment_key': 'positive', 'negative_probs': 0.0499, 'sentiment_label': 2}

目前百度Senta提供3个情感分析分类标签,分别是正向(Positive/积极),负向(Negative/消极),中性(Neutral/中立),中性的Case也会给出正向及负向概率,例如测试"我恨自然语言处理",得到了一个中性分类标签,不过负向概率还是大一点:

In [27]: text = ['我恨自然语言处理']                                                            
 
In [28]: input_dict = {"text": text}                                                            
 
In [29]: result = senta.sentiment_classify(data=input_dict)                                     
 
In [30]: print(result[0])                                                                       
{'positive_probs': 0.4598, 'text': '我恨自然语言处理', 'sentiment_key': 'neutral', 'negative_probs': 0.5402, 'sentiment_label': 1}

五:组内分工

初步想法是小组内两个人一起共同分析代码,一步一步慢慢来研究完这份代码。

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号