[Python]調用百度API進行天然語言處理 標籤、關鍵字 以及 詞法分析

一、進入百度API天然語言處理文檔

  進入右上角的控制檯,註冊登陸python

  

 

 

   左側導航欄選擇天然語言處理json

  

 

 

   

  建立本身的應用數組

  

 

 

 

  輸入應用名稱以及應用描述,其餘默認便可。app

  在以下頁面記住本身的API Key以及SecretKeyiphone

  

2.文章標籤接口

2.1接口描述

文本標籤服務對文章的標題和內容進行深度分析,輸出可以反映文章關鍵信息的主題、話題、實體等多維度標籤以及對應的置信度,該技術在個性化推薦、文章聚合、內容檢索等場景具備普遍的應用價值。tornado

2.2請求說明

請求示例post

HTTP方法: POST編碼

 請求URL: https://aip.baidubce.com/rpc/2.0/nlp/v1/keyword url

 

URL參數:spa

參數
access_token 經過API Key和Secret Key獲取的access_token,參考「Access Token獲取

 

Header以下:

參數
Content-Type application/json

Body請求示例:

1 {
2     "title":"iphone手機出現「白蘋果」緣由及解決辦法,用蘋果手機的能夠看下",
3     "content": "若是下面的方法仍是沒有解決你的問題建議來咱們門店看下成都市錦江區紅星路三段99號銀石廣場24層01室。在通電的狀況下掉進清水,這種狀況一不須要拆機處理。儘快斷電。用力甩幹,但別把機器甩掉,主意要把屏幕內的水甩出來。若是屏幕殘留有水滴,幹後會有痕跡。^H3 放在臺燈,射燈等輕微熱源下讓水分慢慢散去。"
4 }

 

2.3請求格式

POST方式調用

注意:要求使用JSON格式的結構體來描述一個請求的具體內容。

body總體文本內容能夠支持GBK和UTF-8兩種格式的編碼。

  1. GBK支持:默認按GBK進行編碼,輸入內容爲GBK編碼,輸出內容爲GBK編碼,不然會接口報錯編碼錯誤
  2. UTF-8支持:若文本須要使用UTF-8編碼,請在url參數中添加charset=UTF-8 (大小寫敏感) 例如 https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?charset=UTF-8&access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074

請求參數

參數 類型 描述 是否必填
title string 文章標題,最大80字節 必填
content string 文章內容,最大65535字節 必填

返回格式

JSON格式

默認返回內容爲GBK編碼

若用戶指定輸入爲UTF-8編碼(經過指定charset參數),則返回內容爲UTF-8編碼

返回參數

參數 說明 描述
items array of objects 分析結果數組
+tag string 內容標籤
+score float 權重值,取值範圍[0,1]

返回示例

 1 {
 2     "log_id": 4457308639853058292,
 3     "items": [
 4         {
 5             "score": 0.997762,
 6             "tag": "iphone"
 7         },
 8         {
 9             "score": 0.861775,
10             "tag": "手機"
11         },
12         {
13             "score": 0.845657,
14             "tag": "蘋果"
15         },
16         {
17             "score": 0.83649,
18             "tag": "蘋果公司"
19         },
20         {
21             "score": 0.797243,
22             "tag": "數碼"
23         }
24     ]
25 }

  個人示例代碼:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File  : 文章標籤.py
# @Author: 趙路倉
# @Date  : 2020/3/12
# @Desc  :
# @Contact : 398333404@qq.com

import requests
import json

from tornado.escape import json_decode


def Tag(title,content):
    tag=''

    APIKey='你的APIKey'
    secret='你的Secret Key'

    host='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='+APIKey+'&client_secret='+secret
    response = requests.get(host)
    if response:
        print(response.json()['access_token'])
    kv={
        'accept-encoding': 'gzip, deflate',
        'x-bce-date': '2015-03-24T13:02:00Z',
        'connection': 'keep-alive',
        'accept': '*/*',
        'host': 'aip.baidubce.com',
        'x-bce-request-id': '73c4e74c-3101-4a00-bf44-fe246959c05e',
        'content-type': 'application/json',
        'authorization': 'bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2015-03-24T13:02:00Z/1800/host;x-bce-date/994014d96b0eb26578e039fa053a4f9003425da4bfedf33f4790882fb4c54903'
    }
    params = {
        "title":title,
        "content": content
    }
    text=json.dumps(params)
    # print(type(text))
    url='https://aip.baidubce.com/rpc/2.0/nlp/v1/keyword?charset=UTF-8&access_token='+response.json()['access_token']
    response1=requests.post(url,headers=kv,timeout=5,data=text)
    if response1:
        result=json.dumps(response1.json(), sort_keys=True, indent=4, ensure_ascii=False)
        print(result)
        result1=json_decode(result)
        for i in result1['items']:
            tag+=i['tag']+' '
    return tag

if __name__=="__main__":
    print(Tag("iphone手機出現「白蘋果」緣由及解決辦法,用蘋果手機的能夠看下","若是下面的方法仍是沒有解決你的問題建議來咱們門店看下成都市錦江區紅星路三段99號銀石廣場24層01室。在通電的狀況下掉進清水,這種狀況一不須要拆機處理。儘快斷電。用力甩幹,但別把機器甩掉,主意要把屏幕內的水甩出來。若是屏幕殘留有水滴,幹後會有痕跡。^H3 放在臺燈,射燈等輕微熱源下讓水分慢慢散去。"))

  運行結果  

  

相關文章
相關標籤/搜索