這個「生活常識解答」機器人采用的是:阿里達摩院發(fā)布的語言模型PLUG(最近剛發(fā)布的,目前是測試階段),地址鏈接如下:
https://nlp.aliyun.com/portal#/BigText_chinese
該模型參數(shù)規(guī)模達270億,采用1TB以上高質(zhì)量中文文本訓(xùn)練數(shù)據(jù),包括了新聞、小說、詩歌、常識問答等類型。
先來看一下原頁面效果
這里是需要登錄阿里云賬號,登錄之后可以在網(wǎng)頁進行測試問答!
因此我們下面將通過抓包方式獲取這個問答的請求鏈接,然后在python代碼中requests發(fā)送post請求去進行提問,然后返回結(jié)果(答案)。
在瀏覽器里面F12,點擊network,然后點擊一下提問,獲取鏈接。
首先是發(fā)送的參數(shù)(提問)
然后是返回的json數(shù)據(jù)
請求鏈接
https://nlp.aliyun.com/otherApi/yymx/cdgmwbsc
因此這個數(shù)據(jù)包的相關(guān)信息(請求鏈接,參數(shù),返回結(jié)果)我們已經(jīng)知道了,下面開始編寫python代碼
首先是導(dǎo)入python庫和請求頭
import requests import json header={ 'content-type':'application/json', 'cookie':'上面頁面中你自己的cookie', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36', }
經(jīng)過測試,有用的請求頭參數(shù)是上面三個(content-type、cookie、User-Agent),缺一不可。
參數(shù)(其中q是問題,length是返回答案長度,type是對應(yīng)常識問題)
q = "程序員脫發(fā)用什么洗發(fā)水好?" data = { 'length':'128', 'type':'2', 'passage':q, }
發(fā)送請求
url = "https://nlp.aliyun.com/otherApi/yymx/cdgmwbsc" text = requests.post(url,data = json.dumps(data),headers=header).json() print(text['res'])
返回結(jié)果
下面為了能夠多輪提問,將請求部分代碼放到循環(huán)中(如果輸入是exit則退出循環(huán))
今天阿辰主要就教大家用Python爬蟲去搭建一個「生活常識解答」機器人。
這個機器人主要是依托于“阿里達摩院發(fā)布的語言模型PLUG”,通過爬蟲的方式,發(fā)送post請求(提問),然后返回json數(shù)據(jù)(回答)。輕松實現(xiàn)多輪提問。
到此這篇關(guān)于Python實現(xiàn)生活常識解答機器人的文章就介紹到這了,更多相關(guān)Python機器人內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:潮州 佳木斯 西寧 盤錦 湖北 珠海 宜昌 上饒
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python實現(xiàn)生活常識解答機器人》,本文關(guān)鍵詞 Python,實現(xiàn),生活常識,解答,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。