百度智能云API——实现语言理解功能(python

文章目录

    • 1.登录账号
    • 2.领取免费次数
    • 3.创建应用
    • 4.调用服务
    • 5.运行结果分析

1.登录账号

官网: 百度智能云
登录百度账号(扫码或验证码

2.领取免费次数

  1. 找到语言理解技术
    百度智能云API——实现语言理解功能(python_第1张图片
  2. 领取免费机会,领取自然语言处理的所有内容
    百度智能云API——实现语言理解功能(python_第2张图片
    百度智能云API——实现语言理解功能(python_第3张图片

3.创建应用

点击 创建应用
百度智能云API——实现语言理解功能(python_第4张图片
该填的都填上,自然语言处理上全选
百度智能云API——实现语言理解功能(python_第5张图片
百度智能云API——实现语言理解功能(python_第6张图片

4.调用服务

这里使用的python

# coding=utf-8

import sys
import json
import base64
import time

# make it work in both python2 both python3
IS_PY3 = sys.version_info.major == 3
from urllib.request import urlopen
from urllib.request import Request
from urllib.error import URLError
from urllib.parse import urlencode
from urllib.parse import quote_plus

# skip https auth
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

# 更改 API_KEY SECRET_KEY
API_KEY = '...'  # 替换为自己的API_KEY
SECRET_KEY = '...'  # 替换为自己的SECRET_KEY

# 根据需求更改
COMMENT_TAG_URL = "..."

"""  TOKEN start """
TOKEN_URL = 'https://aip.baidubce.com/oauth/2.0/token'

"""
    获取token
"""
def fetch_token():
    params = {'grant_type': 'client_credentials',
              'client_id': API_KEY,
              'client_secret': SECRET_KEY}
    post_data = urlencode(params)
    if (IS_PY3):
        post_data = post_data.encode('utf-8')
    req = Request(TOKEN_URL, post_data)
    try:
        f = urlopen(req, timeout=5)
        result_str = f.read()
    except URLError as err:
        print(err)
    if (IS_PY3):
        result_str = result_str.decode()

    result = json.loads(result_str)

    if ('access_token' in result.keys() and 'scope' in result.keys()):
        if not 'brain_all_scope' in result['scope'].split(' '):
            print('请确保已经勾选了正确的能力')
            exit()
        return result['access_token']
    else:
        print('请检查API_KEY和SECRET_KEY是否正确')
        exit()

"""
    调用远程http服务器
"""
def make_request(url, comment):
    print("---------------------------------------------------")
    print("文本:")
    print("    " + comment)
    print("返回结果:")

    response = request(url, json.dumps(
    {
        "text": comment,
    }))

    data = json.loads(response)
    print(data)

    # 防止qps超限
    time.sleep(1)

"""
    调用远程http服务器
"""
def request(url, data):
    req = Request(url, data.encode('utf-8'))
    has_error = False
    try:
        f = urlopen(req)
        result_str = f.read()
        if (IS_PY3):
            result_str = result_str.decode()
        return result_str
    except  URLError as err:
        print(err)

if __name__ == '__main__':

    comment = "手机已经收到,非常完美超出自己的想象,外观惊艳 黑色高端加外形时尚融为一体比较喜欢的类型。系统流畅优化的很好,操作界面简洁大方好上手。电池用量很满意,快充很不错。相机拍人拍物都美。总而言之一句话很喜欢的宝贝。"

    # 获取access token
    token = fetch_token()

    # 拼接url
    url = COMMENT_TAG_URL + "?charset=UTF-8&access_token=" + token

    make_request(url, comment)

上面代码中有三部分需要填写:

# 更改 API_KEY SECRET_KEY
API_KEY = '...'  # 替换为自己的API_KEY
SECRET_KEY = '...'  # 替换为自己的SECRET_KEY

# 根据需求更改
COMMENT_TAG_URL = "..."

分别对应创建好的应用中的:API_KEY 和 SECRET_KEY
在这里插入图片描述
以及 COMMENT_TAG_URL :需要你去选择想用的API,整理的如下url列表供使用:

接口 url
地址识别 https://aip.baidubce.com/rpc/2.0/nlp/v1/address
情感倾向分析 https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify
评论观点抽取 https://aip.baidubce.com/rpc/2.0/nlp/v2/comment_tag
…(其余详细见下文链接)

其余见文档中心(有些需要增加 请求体 的内容,详细看文档)
链接: 文档中心
百度智能云API——实现语言理解功能(python_第7张图片

5.运行结果分析

直接运行后可以看到json格式的运行结果,在结果中寻找自己想要的信息即可
百度智能云API——实现语言理解功能(python_第8张图片

其余详细见上述文档中心解析

你可能感兴趣的:(python,百度,python,自然语言处理)