python 利用百度API進(jìn)行淘寶評(píng)論關(guān)鍵詞提取
利用百度API自然語(yǔ)言處理技術(shù)中的評(píng)論觀點(diǎn)抽取方面,對(duì)淘寶購(gòu)物的評(píng)論進(jìn)行分析,把關(guān)鍵詞進(jìn)行提取,方便買家快速了解該商品的相關(guān)特點(diǎn),具體實(shí)現(xiàn)過(guò)程如下:
1、創(chuàng)建相關(guān)新應(yīng)用
首先,需要登錄百度AI平臺(tái),創(chuàng)建一個(gè)關(guān)于自然語(yǔ)言處理技術(shù)的應(yīng)用(領(lǐng)取免費(fèi)額度),獲得AppID、API Key和Secret Key如下:
然后下載Python的SDK,然后可以通過(guò)閱讀API的使用手冊(cè)和自然語(yǔ)言處理技術(shù)的觀點(diǎn)抽取相關(guān)案例:
2、獲取Access Token
使用百度API時(shí)需要先獲取Access Token,并且需要用到上一步獲取的參數(shù)API Key和Secret Key,在百度給出的使用說(shuō)明中,建議用POST的方式對(duì)URL進(jìn)行請(qǐng)求來(lái)獲取access_token,同時(shí)可以加入Header,該方式支持UTF-8編碼,具體實(shí)現(xiàn)代碼如下:
import json import time import requests from urllib.request import urlopen #定義獲取token函數(shù) 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、分析評(píng)論并進(jìn)行觀點(diǎn)抽取
在獲取Access Token后就可以使用百度API對(duì)評(píng)論進(jìn)行分析并抽取關(guān)鍵詞。在使用說(shuō)明中,調(diào)用API時(shí)需要輸入?yún)?shù)text和type,其中text為需要分析的文本,而type分成了13各類別,具體取值說(shuō)明如下:
因?yàn)楸疚姆治龅氖翘詫氋?gòu)物評(píng)論文本數(shù)據(jù),所以該參數(shù)取值選擇了12。其次,返回格式需要指定輸入為UTF-8編碼,對(duì)于調(diào)用后返回的參數(shù),本文用到了prop、adj和sentiment三個(gè)參數(shù),解釋如下:
具體實(shí)現(xiàn)代碼如下:
def analysis_comment(host,comment): #定義分析類別(購(gòu)物) 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("評(píng)論:") print(" " + comment) print("\n評(píng)論關(guān)鍵字:") #把積極、中性、消極關(guān)鍵詞分類出來(lái)并打印 for item in rdata['items']: if item['sentiment'] == 2: print(u" 積極的評(píng)論關(guān)鍵詞:" + item['prop'] + item['adj']) if item['sentiment'] == 1: print(u" 中性的評(píng)論關(guān)鍵詞:" + item['prop'] + item['adj']) if item['sentiment'] == 0: print(u" 消極的評(píng)論關(guān)鍵詞:" + item['prop'] + item['adj'])
4、運(yùn)行結(jié)果
在對(duì)上述函數(shù)進(jìn)行定義后,運(yùn)行改代碼,調(diào)用函數(shù):
if __name__ == '__main__': #定義訪問(wèn)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":"版型不錯(cuò),顏色很好看,面料非常舒服而且厚度適中"} comment2 = {"text":"上身效果一般,做工也一般,會(huì)有點(diǎn)起球,沒(méi)有想象中好"} comment3 = {"text":"設(shè)計(jì)做工一點(diǎn)都不好,袖子特別長(zhǎng),衣服比例設(shè)計(jì)非常差,性價(jià)比不高"} comment1 = comment1["text"] comment2 = comment2["text"] comment3 = comment3["text"] analysis_comment(host,comment1) analysis_comment(host,comment2) analysis_comment(host,comment3)
運(yùn)行結(jié)果如下:
然而,從結(jié)果中可以看出,在第二句評(píng)論中,“一般”這個(gè)詞應(yīng)該定義為中性,而該模型將其定義為消極,說(shuō)明該模型在一定程度上仍存在一些瑕疵,這也是后期需要改進(jìn)的地方。
以上就是python 利用百度API進(jìn)行淘寶評(píng)論關(guān)鍵詞提取的詳細(xì)內(nèi)容,更多關(guān)于python 淘寶評(píng)論關(guān)鍵詞提取的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python3 使用pip安裝git并獲取Yahoo金融數(shù)據(jù)的操作
這篇文章主要介紹了Python3 使用pip安裝git并獲取Yahoo金融數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04pytorch實(shí)現(xiàn)多項(xiàng)式回歸
這篇文章主要為大家詳細(xì)介紹了pytorch實(shí)現(xiàn)多項(xiàng)式回歸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04pycharm打包python項(xiàng)目為exe執(zhí)行文件的實(shí)例代碼
這篇文章主要介紹了pycharm打包python項(xiàng)目為exe執(zhí)行文件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07Python中列表(List) 的三種遍歷(序號(hào)和值)方法小結(jié)
這篇文章主要介紹了Python中列表(List) 的三種遍歷(序號(hào)和值)方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05Python使用pptx實(shí)現(xiàn)復(fù)制頁(yè)面到其他PPT中
這篇文章主要為大家詳細(xì)介紹了python如何使用pptx庫(kù)實(shí)現(xiàn)從一個(gè)ppt復(fù)制頁(yè)面到另一個(gè)ppt里面,文中的示例代碼講解詳細(xì),感興趣的可以嘗試一下2023-02-02Python3中編碼與解碼之Unicode與bytes的講解
今天小編就為大家分享一篇關(guān)于Python3中編碼與解碼之Unicode與bytes的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02python?pyaudio音頻錄制的實(shí)現(xiàn)
這篇文章主要介紹了python?pyaudio音頻錄制的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05Python中工作日類庫(kù)Busines Holiday的介紹與使用
Python語(yǔ)言是通過(guò)區(qū)分類庫(kù)的方式來(lái)劃分功能。用戶根據(jù)自身的需要加載合適的類庫(kù),來(lái)完成需要的功能。下面這篇文章主要給大家介紹了關(guān)于Python中工作日類庫(kù)Busines Holiday使用的相關(guān)資料,需要的朋友可以參考借鑒。2017-07-07