赞
踩
近年来,随着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} |
初步想法是小组内两个人一起共同分析代码,一步一步慢慢来研究完这份代码。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。