一、背景
Hi,大家!我是 @马哥python说 ,一名10年程序猿。
今天我来演示一下:通过百度AI开放平台,利用python调用百度接口进行中文情感倾向分析,并得出情感极性分为积极、消极还是中性以及置信度结果。
二、操作步骤
首先,打开百度AI首页:百度AI开放平台-全球领先的人工智能服务平台
在顶部菜单,依次选择:开放能力->语言与知识->语言理解->情感倾向分析,如图所示:
情感倾向分析菜单
在服务列表中,选择"情感倾向分析",点击开通(我的已经开通了):
开通情感倾向分析服务
通过查看技术文档(https://ai.baidu.com/ai-doc/NLP/zk6z52hds)得知,请求服务需要用access_token,而想到得到access_token,又得需要API Key和Secret Key,想到得到Key就得创建应用,因此,梳理思路如下:
- 创建应用,得到API Key和Secret Key
- 利用Key,得到access_token
- 有了access_token,向情感分析接口发送请求,得到返回结果
2.1 创建应用
打开应用列表(百度智能云-登录),点击创建应用:
创建应用
选择"自然语言处理",点击创建:
立即创建
创建成功之后,会得到 AppID、API Key、Secret Key三个关键信息:
创建成功
2.2 获取token
打开鉴权认证页面,我们直接用python代码获取token:
获取token方法
client_id代入API Key,client_secret代入Secret Key,代码运行结果:
获取token代码
返回结果中的access_token就是了。
2.3 情感倾向分析
获取到token之后,调用情感倾向分析接口,代码如下:
测试1
输入文本:我今天太伤心了,因为我摔了一跤,呜呜呜
输出结果:置信度0.831307,消极概率0.924088,积极概率0.0759116,因此判定结果为消极。
再测试一个:
测试2
输入文本:我可太喜欢看《狂飙》这部电视剧了,演技全员在线!!
输出结果:置信度0.999714,消极概率0.00012881,积极概率0.999871,因此判定结果为积极。
下面,咱们测试一个较长的输入文本:
测试3
输入文本:很多人是不能理解那些上有老下有小的人的,特别是家里有严重基础疾病的至亲。我不怕我自己面对新冠,但是我妈妈去年确诊肺癌,切了大半个肺,现在正在治疗中,一点感冒就让她无比痛苦,我怎么敢让她去面对新冠病毒?那些自己得了新冠又不戴口罩在公共场合潇洒快乐的人,请多去为那些弱势群体想想吧,因为总有一天你也极有可能成为他们中的一员,你才能明白那种生命不能承受之重。
输出结果:置信度0.814589,消极概率0.916565,积极概率0.0834351,因此判定结果为消极。
三、其他情感分析
其他python中文情感分析库,比如snownlp应用我之前写的比较多,准确率有待考证。
如果你觉得准确率低,百度还提供了自训练模型的EasyDL平台供使用,无代码开发经验也可训练模型,很方便。
另外,阿里、腾讯、华为等AI开放平台也有对标的接口服务,大家可以试试看。
四、讲解视频
同步讲解视频:
【NLP教程】python调用百度API接口实现情感倾向分析
好了今天的分享就到这里,我是 @马哥python说 ,一名10年程序猿,持续分享python干货中!
首发公号:【NLP教程】用python调用百度AI开放平台进行情感倾向分析