python 利用百度API進行淘寶評論關鍵詞提取
利用百度API自然語言處理技術中的評論觀點抽取方面,對淘寶購物的評論進行分析,把關鍵詞進行提取,方便買家快速了解該商品的相關特點,具體實現過程如下:
1、創(chuàng)建相關新應用
首先,需要登錄百度AI平臺,創(chuàng)建一個關于自然語言處理技術的應用(領取免費額度),獲得AppID、API Key和Secret Key如下:
然后下載Python的SDK,然后可以通過閱讀API的使用手冊和自然語言處理技術的觀點抽取相關案例:
2、獲取Access Token
使用百度API時需要先獲取Access Token,并且需要用到上一步獲取的參數API Key和Secret Key,在百度給出的使用說明中,建議用POST的方式對URL進行請求來獲取access_token,同時可以加入Header,該方式支持UTF-8編碼,具體實現代碼如下:
import json import time import requests from urllib.request import urlopen #定義獲取token函數 def get_token(): req = Request(Token_url) req.add_header('Content-Type', 'application/json; charset=UTF-8') try: f = urlopen(req,timeout=5) result_str = f.read().decode('utf-8') except URLError as err: print(err) result = json.loads(result_str) #返回Access Token字符串 return result['access_token']
3、分析評論并進行觀點抽取
在獲取Access Token后就可以使用百度API對評論進行分析并抽取關鍵詞。在使用說明中,調用API時需要輸入參數text和type,其中text為需要分析的文本,而type分成了13各類別,具體取值說明如下:
因為本文分析的是淘寶購物評論文本數據,所以該參數取值選擇了12。其次,返回格式需要指定輸入為UTF-8編碼,對于調用后返回的參數,本文用到了prop、adj和sentiment三個參數,解釋如下:
具體實現代碼如下:
def analysis_comment(host,comment): #定義分析類別(購物) data = json.dumps( { "text":comment, "type":12 }) request = Request(url=host,data=data.encode('utf-8')) request.add_header('Content-Type', 'application/json; charset=UTF-8') response = urlopen(request) content = response.read().decode('utf-8') rdata = json.loads(content) print("--------------------------------------------------------------") print("評論:") print(" " + comment) print("\n評論關鍵字:") #把積極、中性、消極關鍵詞分類出來并打印 for item in rdata['items']: if item['sentiment'] == 2: print(u" 積極的評論關鍵詞:" + item['prop'] + item['adj']) if item['sentiment'] == 1: print(u" 中性的評論關鍵詞:" + item['prop'] + item['adj']) if item['sentiment'] == 0: print(u" 消極的評論關鍵詞:" + item['prop'] + item['adj'])
4、運行結果
在對上述函數進行定義后,運行改代碼,調用函數:
if __name__ == '__main__': #定義訪問url(API Key和Secret Key換成自己的) Comment_url = "https://aip.baidubce.com/rpc/2.0/nlp/v2/comment_tag" Token_url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=your_API_Key&client_secret=your_Secret_Key" A_t = get_token() host = Comment_url + "?charset=UTF-8&access_token="+A_t comment1 = {"text":"版型不錯,顏色很好看,面料非常舒服而且厚度適中"} comment2 = {"text":"上身效果一般,做工也一般,會有點起球,沒有想象中好"} comment3 = {"text":"設計做工一點都不好,袖子特別長,衣服比例設計非常差,性價比不高"} comment1 = comment1["text"] comment2 = comment2["text"] comment3 = comment3["text"] analysis_comment(host,comment1) analysis_comment(host,comment2) analysis_comment(host,comment3)
運行結果如下:
然而,從結果中可以看出,在第二句評論中,“一般”這個詞應該定義為中性,而該模型將其定義為消極,說明該模型在一定程度上仍存在一些瑕疵,這也是后期需要改進的地方。
以上就是python 利用百度API進行淘寶評論關鍵詞提取的詳細內容,更多關于python 淘寶評論關鍵詞提取的資料請關注腳本之家其它相關文章!
相關文章
Python3 使用pip安裝git并獲取Yahoo金融數據的操作
這篇文章主要介紹了Python3 使用pip安裝git并獲取Yahoo金融數據的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04pycharm打包python項目為exe執(zhí)行文件的實例代碼
這篇文章主要介紹了pycharm打包python項目為exe執(zhí)行文件,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07Python中列表(List) 的三種遍歷(序號和值)方法小結
這篇文章主要介紹了Python中列表(List) 的三種遍歷(序號和值)方法小結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05Python3中編碼與解碼之Unicode與bytes的講解
今天小編就為大家分享一篇關于Python3中編碼與解碼之Unicode與bytes的講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02Python中工作日類庫Busines Holiday的介紹與使用
Python語言是通過區(qū)分類庫的方式來劃分功能。用戶根據自身的需要加載合適的類庫,來完成需要的功能。下面這篇文章主要給大家介紹了關于Python中工作日類庫Busines Holiday使用的相關資料,需要的朋友可以參考借鑒。2017-07-07