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


1、進入百度API自然語言處理文檔

  進入右上角的控制台,注冊登錄

  

 

 

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

  

 

 

   

  創建自己的應用

  

 

 

 

  輸入應用名稱以及應用描述,其他默認即可。

  在如下頁面記住自己的API Key以及SecretKey

  

2.文章標簽接口

2.1接口描述

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

2.2請求說明

請求示例

HTTP方法: POST

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

 

URL參數:

參數
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 放在台燈,射燈等輕微熱源下讓水分慢慢散去。"))

  運行結果  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM