01 前言
情感分析是NLP的重要部分躺率,之前我們使用過Python第三方庫SnowNLP進行情感分析,也訓練過樸素貝葉斯模型來更好的符合我們的數(shù)據(jù)悠砚,進行更精確的情感分析士嚎,具體可以參考這篇文章凹嘲。
https://mp.weixin.qq.com/s/wfa1PMIKH_wwN8uL7m4rdg
今天师倔,我們使用百度的API,來進行情感分析周蹭。
02 百度API調(diào)用
百度情感分析的地址見下趋艘,我們點擊立即使用就可以了(登陸賬號)。
http://ai.baidu.com/tech/nlp/sentiment_classify
接著我們創(chuàng)建應(yīng)用凶朗。
通過下面的網(wǎng)址瓷胧,查看文檔,跟著文檔來做就好了棚愤。
https://ai.baidu.com/docs#/NLP-Apply-API/955c17f6
① 獲取token
通過下面代碼獲取token搓萧,用于調(diào)用情感分析API的參數(shù)。
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)
需要注意的是耍休,token是之前代碼生成的刃永,這里的data用了json.dumps方法,是為了將字典轉(zhuǎn)為字符串(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
})
最悲傷的歌:
等到煙火清涼 0.004273
奇談 0.008890
星座書上 0.012526
白馬非馬 0.014861
獨坐 0.016436
大家有熟悉的歌么~