赞
踩
我这里就到控制台了
https://cloud.baidu.com/?from=console
https://console.bce.baidu.com/ai/#/ai/nlp/overview/index
1进入nlp相关
2创建自己的应用
3得到AK和SK
AK是api key,SK是secret key。
def getToken():
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + App_Key + '&client_secret=' + Secret_Key
response = requests.get(host)
if response.status_code == 200: #响应成功
info = json.loads(response.text) # 将字符串转成字典
access_token = info['access_token'] # 解析数据到access_token
return access_token
return ''
首先看接口返回信息
{
"text":"苹果是一家伟大的公司",
"items":[
{
"sentiment":2, //表示情感极性分类结果
"confidence":0.40, //表示分类的置信度
"positive_prob":0.73, //表示属于积极类别的概率
"negative_prob":0.27 //表示属于消极类别的概率
}
]
}
def getEmotion(inputText, access_token): url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify?access_token=' + access_token header = {'Content-Type ': 'application/json'} body = {'text': inputText} requests.packages.urllib3.disable_warnings() res = requests.post(url=url, data=json.dumps(body), headers=header, verify=False) if res.status_code == 200: info = json.loads(res.text) print(info) if 'items' in info and len(info['items']) > 0: sentiment = info['items'][0]['sentiment'] if sentiment == 2: print(inputText + ' 情感分析结果是:正向') elif sentiment == 1: print(inputText + ' 情感分析结果是:中性') else: print(inputText + ' 情感分析结果是:负向')
import requests import json App_Key = '自己申请的AK' Secret_Key = '自己申请的SK' # 情感分析 def getEmotion(inputText, access_token): url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify?access_token=' + access_token header = {'Content-Type ': 'application/json'} body = {'text': inputText} requests.packages.urllib3.disable_warnings() res = requests.post(url=url, data=json.dumps(body), headers=header, verify=False) if res.status_code == 200: info = json.loads(res.text) print(info) #打印接口返回信息,如果报错方便查看,也可以忽略报错继续执行 if 'items' in info and len(info['items']) > 0: sentiment = info['items'][0]['sentiment'] if sentiment == 2: print(inputText + ' 情感分析结果是:正向') elif sentiment == 1: print(inputText + ' 情感分析结果是:中性') else: print(inputText + ' 情感分析结果是:负向') # 获取token def getToken(): # client_id 为官网获取的AK, client_secret 为官网获取的SK host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + App_Key + '&client_secret=' + Secret_Key response = requests.get(host) if response.status_code == 200: info = json.loads(response.text) # 将字符串转成字典 access_token = info['access_token'] # 解析数据到access_token return access_token return '' # 主函数 def main(): inputText ="今天天气真好" #进行识别的语句,根据需求可以改成读取文件或者输入 accessToken = getToken() getEmotion(inputText, accessToken) if __name__ == '__main__': main()
输出结果:
{'log_id': 2064186719012084925, 'text': '今天天气真好', 'items': [{'positive_prob': 0.997986, 'confidence': 0.995524, 'negative_prob': 0.00201416, 'sentiment': 2}]}
今天天气真好 情感分析结果是:正向
1个人账户的情感识别的QPS是2,所以多条文本报错一般是因为数据太多
2文本不能过长,不要超过2048
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。