百度API情感分析

百度API情感分析_第1张图片

01 前言

情感分析是NLP的重要部分,之前我们使用过Python第三方库SnowNLP进行情感分析,也训练过朴素贝叶斯模型来更好的符合我们的数据,进行更精确的情感分析,具体可以参考这篇文章。

用Python分析许嵩的歌

今天,我们使用百度的API,来进行情感分析。

02 百度API调用

百度情感分析的地址见下,我们点击立即使用就可以了(登陆账号)。

http://ai.baidu.com/tech/nlp/sentiment_classify

接着我们创建应用。

通过下面的网址,查看文档,跟着文档来做就好了。

https://ai.baidu.com/docs#/NLP-Apply-API/955c17f6

① 获取token 通过下面代码获取token,用于调用情感分析API的参数。

import requests	
ak = ''	
sk = ''	
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}'.format(ak,sk)	
res = requests.post(host)	
print(res.text)

② 小案例 通过下面的代码,就能对文本进行情感分析了。

import json	
url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify?charset=UTF-8&access_token={}'.format(token)	
data = {	
    'text':'这个手机不好用'	
}	
data = json.dumps(data)	
res = requests.post(url,data=data)	
print(res.text)

640?wx_fmt=png

需要注意的是,token是之前代码生成的,这里的data用了json.dumps方法,是为了将字典转为字符串(API的要求)。

03 许嵩歌词情感分析

上次我们通过爬虫,获取了许嵩的歌词,我们这就用API来看看许嵩歌词的情感。

import os	
import pandas as pd	
name = []	
positive = []	
path = 'song/'	
all_paths = os.listdir(path)	
for all_path in all_paths:	
    try:	
        content = open(path+all_path,'r',encoding='utf-8').read()	
        data = {	
            'text':content	
        }	
        data = json.dumps(data)	
        res = requests.post(url,data=data)	
        json_data = json.loads(res.text)	
        positive.append(json_data['items'][0]['positive_prob'])	
        name.append(all_path.strip('.txt'))	
    except:	
        pass	
df = pd.DataFrame({	
    'name':name,	
    'positive':positive	
})

百度API情感分析_第2张图片

最悲伤的歌:

等到烟火清凉    0.004273	
奇谈    0.008890	
星座书上    0.012526	
白马非马    0.014861	
独坐    0.016436

大家有熟悉的歌么~


你可能感兴趣的:(百度API情感分析)