赞
踩
情感分析是NLP的重要部分,之前我们使用过Python第三方库SnowNLP进行情感分析,也训练过朴素贝叶斯模型来更好的符合我们的数据,进行更精确的情感分析,具体可以参考这篇文章。
今天,我们使用百度的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)
需要注意的是,token是之前代码生成的,这里的data用了json.dumps方法,是为了将字典转为字符串(API的要求)。
上次我们通过爬虫,获取了许嵩的歌词,我们这就用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
大家有熟悉的歌么~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。