上次获取了top10集中式公寓品牌约1600条 微博内容,每条微博内容都代表了发博者的情感,其中不乏赞美之词,也不乏抱怨的,还有只做个路人甲的,如何从这些内容提炼发博者的观点态度呢?这有点像英语阅读理解里面的 What`s the author’s opinion or attitude? 我们知道一篇微博里面,往往会出现表露情感的词语比如“大爱“,”怎么还不倒闭“等等,人类总是有7情6欲,其中7情是指 “喜、怒、哀、惧、爱、恶、欲”,这7种情感中 喜和爱 可以表示正性的,而 怒,哀,惧和恶 则表示负性的,唯独 欲 既可为正性又可以为负性,暂定为中性。于是乎,情感又可分为3大类——正性,负性和中性。 问题及思路
如果规定一条微博只表达一种情感的话,那么抽象来看,这个情感判别这就是一个多分类问题,对于文本情感挖掘一般会有下面3个解决办法
-
jieba模块+LSTM神经网络训练
首先可以利用jieba模块可以将微博内容分词,并标注词的情感,关键是若干个表达情感的词语组合起来综合态度,到底是正性的,负性的还是中性的?这需要一个好的算法。在给每一条微博打上情感标签后,然后利用神经网络LSTM进行有监督学习分类。 -
调用百度AI开放平台情感倾向分析
在百度AI开发平台的情感倾向分析返回结果里面,0表示负性,1表示中性,2表示正性,可以调用百度AI开放平台的情感分析接口向服务器发出请求,然后获取返回结果,利用返回结果给每条微博内容打上标签。 -
PaddleHub Senta模块
这是一个简单的API接口,直接pip install paddlepaddle,然后像sklearn那样调用便是,返回的是某条微博情感方面的参数。
本文以探讨第二种方法,并在此基础上人工验证分类的准确率,共1596条微博内容,人工验证发现有175条分类错误,准确率为89.1%。下面是调用百度AI开放平台的情感倾向分析完整代码
完整代码 代码解析由于微博内容存在mysql数据库里面,先要链接数据库把数据取出来,然后不断向百度AI开放平台发出请求,第一个函数 get_access_token 是用来获取您的access_token以便在第二个函数的时候构造请求url,而第二个函数 sentiment_classify是以微博内容作为请求实体向百度AI开放平台发起请求,返回微博内容一些情感方面的参数,返回结构是json格式如下,其中sentiment是我们主要关心的情感列别表情。
接着提取返回结果存入数据库里面,注意程序挂起时间,因为百度服务器每秒查询率QPS不能超过2,然后在提取由字典构成的列表items的时候可以像下面这样样提取一个个value值
整个过程流畅并无赘余,有很好的参考价值,下一次准备试一下PaddleHub Senta模块,并打算自己写一个深度神经网络训练情感分类。
以上就是本篇文章【百度AI开放平台情感分类】的全部内容了,欢迎阅览 ! 文章地址:http://lianchengexpo.xrbh.cn/news/10253.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 迅博思语资讯移动站 http://lianchengexpo.xrbh.cn/mobile/ , 查看更多