python 利用百度API進行淘寶評論關鍵詞提取
利用百度API自然語言處理技術中的評論觀點抽取方面,對淘寶購物的評論進行分析,把關鍵詞進行提取,方便買傢快速瞭解該商品的相關特點,具體實現過程如下:
1、創建相關新應用
首先,需要登錄百度AI平臺,創建一個關於自然語言處理技術的應用(領取免費額度),獲得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 淘寶評論關鍵詞提取的資料請關註WalkonNet其它相關文章!