调用百度API 对文本进行情感倾向分析(上)

1,276 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动

1.准备工作

1.注册百度账号,登录百度智能云,点击总览选择自然语言处理,创建应用(创建选项认真阅读,填写)

image.png 创建好应用会生成相应的AppID API Key  Secret Key

image.png 2.要调用百度API,就要获得权限,利用获取到的API Key  Secret Key去获取Access Token 获取的地址

image.png 访问这个地址,获得Access Token(但是Access Token 有一个有效期 超过有效期则调用api将会不成功)

expires_in: Access Token的有效期(秒为单位,一般为1个月)

image.png 总结:要调用API 需要a登录--b创建应用--c获得API Key 和Secret Key--d访问授权地址获得Access Token

# 2.调用API测试(简单的例子测试)

利用python调用百度api测试(pyhon直接官网下载,编辑器使用的是其自带的编辑器:IDLE)

做最简单的调用:保存Access Token调用百度API

情感倾向分析:

HTTP方法: POST 请求URL: aip.baidubce.com/rpc/2.0/nlp…

参数:access_token(通过API Key和Secret Key获取的access_token)

最简单的例子:可以直接使用(编辑器:IDLE):

import re
import requests
import json
def get_emotion( data):
    # 定义百度API情感分析的token值和URL值
    token = '24.bcc989b57db903cc1189346275b7a372.2592000.1604971755.282335-22803254' 
    url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify?charset=UTF-8&access_token={}'.format(token)
    new_each = {'text': data  } # 将文本数据保存在变量new_each中,data的数据类型为string
    new_each = json.dumps(new_each)
    res=requests.post(url,data=new_each) # 利用URL请求百度情感分析API
    res_text = res.text  # 保存分析得到的结果,以string格式保存
    print("content: ", res_text)
    result = res_text.find('items')  # 查找得到的结果中是否有items这一项
    positive = 1
    if (result != -1):  # 如果结果不等于-1,则说明存在items这一项
        json_data = json.loads(res.text)
        negative = (json_data['items'][0]['negative_prob'])  # 得到消极指数值
        positive = (json_data['items'][0]['positive_prob'])  # 得到积极指数值
        print("positive:",positive)
        print("negative:",negative)
        if (positive > negative):  # 如果积极大于消极,则返回2
            return 2
        elif (positive == negative):  # 如果消极等于积极,则返回1
            return 1
        else:
            return 0  # 否则,返回0
    else:
        return 1
    
def main():
    txt1="有些时候,宇宙似乎是有意使一些事情变得如此有趣。科学家们发现了一个“π行星”,它的大小与我们的地球相仿,距离我们大约185光年"
    print("txt1测试结果:",get_emotion(txt1))
 
if __name__  == "__main__":
    main()

运行的结果:

image.png 下一篇文章将进行更近一步的测试