python 利用百度API進(jìn)行淘寶評論關(guān)鍵詞提取
利用百度API自然語言處理技術(shù)中的評論觀點(diǎn)抽取方面,對淘寶購物的評論進(jìn)行分析,把關(guān)鍵詞進(jìn)行提取,方便買家快速了解該商品的相關(guān)特點(diǎn),具體實(shí)現(xiàn)過程如下:
1、創(chuàng)建相關(guān)新應(yīng)用
首先,需要登錄百度AI平臺,創(chuàng)建一個關(guān)于自然語言處理技術(shù)的應(yīng)用(領(lǐng)取免費(fèi)額度),獲得AppID、API Key和Secret Key如下:

然后下載Python的SDK,然后可以通過閱讀API的使用手冊和自然語言處理技術(shù)的觀點(diǎn)抽取相關(guān)案例:

2、獲取Access Token
使用百度API時需要先獲取Access Token,并且需要用到上一步獲取的參數(shù)API Key和Secret Key,在百度給出的使用說明中,建議用POST的方式對URL進(jìn)行請求來獲取access_token,同時可以加入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、分析評論并進(jìn)行觀點(diǎn)抽取
在獲取Access Token后就可以使用百度API對評論進(jìn)行分析并抽取關(guān)鍵詞。在使用說明中,調(diào)用API時需要輸入?yún)?shù)text和type,其中text為需要分析的文本,而type分成了13各類別,具體取值說明如下:

因?yàn)楸疚姆治龅氖翘詫氋徫镌u論文本數(shù)據(jù),所以該參數(shù)取值選擇了12。其次,返回格式需要指定輸入為UTF-8編碼,對于調(diào)用后返回的參數(shù),本文用到了prop、adj和sentiment三個參數(shù),解釋如下:

具體實(shí)現(xiàn)代碼如下:
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評論關(guān)鍵字:")
#把積極、中性、消極關(guān)鍵詞分類出來并打印
for item in rdata['items']:
if item['sentiment'] == 2:
print(u" 積極的評論關(guān)鍵詞:" + item['prop'] + item['adj'])
if item['sentiment'] == 1:
print(u" 中性的評論關(guān)鍵詞:" + item['prop'] + item['adj'])
if item['sentiment'] == 0:
print(u" 消極的評論關(guān)鍵詞:" + item['prop'] + item['adj'])
4、運(yùn)行結(jié)果
在對上述函數(shù)進(jìn)行定義后,運(yùn)行改代碼,調(diào)用函數(shù):
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":"上身效果一般,做工也一般,會有點(diǎn)起球,沒有想象中好"}
comment3 = {"text":"設(shè)計(jì)做工一點(diǎn)都不好,袖子特別長,衣服比例設(shè)計(jì)非常差,性價比不高"}
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é)果中可以看出,在第二句評論中,“一般”這個詞應(yīng)該定義為中性,而該模型將其定義為消極,說明該模型在一定程度上仍存在一些瑕疵,這也是后期需要改進(jìn)的地方。
以上就是python 利用百度API進(jìn)行淘寶評論關(guān)鍵詞提取的詳細(xì)內(nèi)容,更多關(guān)于python 淘寶評論關(guān)鍵詞提取的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python數(shù)據(jù)庫編程 ODBC方式實(shí)現(xiàn)通訊錄
這篇文章主要為大家詳細(xì)介紹了python數(shù)據(jù)庫編程,ODBC方式實(shí)現(xiàn)通訊錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03
Python3之亂碼\xe6\x97\xa0\xe6\xb3\x95處理方式
這篇文章主要介紹了Python3之亂碼\xe6\x97\xa0\xe6\xb3\x95處理方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python實(shí)現(xiàn)破解猜數(shù)游戲算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)破解猜數(shù)游戲算法,簡單描述了猜數(shù)游戲的原理,并結(jié)合具體實(shí)例形式分析了Python破解猜數(shù)游戲的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09
PHP網(wǎng)頁抓取之抓取百度貼吧郵箱數(shù)據(jù)代碼分享
本文給大家介紹PHP網(wǎng)頁抓取之抓取百度貼吧郵箱數(shù)據(jù)代碼分享,程序?qū)崿F(xiàn)了一鍵抓取帖子全部郵箱和分頁抓取郵箱兩個功能,感興趣的朋友一起學(xué)習(xí)吧2016-04-04
python Django中models進(jìn)行模糊查詢的示例
今天小編就為大家分享一篇python Django中models進(jìn)行模糊查詢的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
python實(shí)現(xiàn)五子棋人機(jī)對戰(zhàn)游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)五子棋之人機(jī)對戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06
基于Django框架的權(quán)限組件rbac實(shí)例講解
今天小編就為大家分享一篇基于Django框架的權(quán)限組件rbac實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
關(guān)于數(shù)據(jù)分析之滾動窗口pandas.DataFrame.rolling方法
Pandas庫中的rolling方法是數(shù)據(jù)處理中常用的功能,它允許用戶對數(shù)據(jù)進(jìn)行滾動窗口(滑動窗口)操作,通過指定窗口大小,可以使用不同的聚合函數(shù)對窗口內(nèi)的數(shù)據(jù)進(jìn)行計(jì)算,例如最大值、最小值、平均值、中位數(shù)等,此外,rolling方法還可以計(jì)算方差、標(biāo)準(zhǔn)差、偏度、峰度2024-09-09

