單元10:聊天機器人2_第1頁
單元10:聊天機器人2_第2頁
單元10:聊天機器人2_第3頁
單元10:聊天機器人2_第4頁
單元10:聊天機器人2_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

10.3實戰案例-天氣查詢機器人10.3.1案例目標10.310.3.1案例目標本案例我們通過百度的unit平臺以request請求的方式來搭建一個天氣查詢機器人。10.3.2案例分析10.310.3.2案例分析百度的unit平臺提供融合組合語義推導、語義匹配的對話理解技術,預置涵蓋生活娛樂、設備控制等領域的可干預對話能力及50+場景的詞典和技能,包括聊天,新聞,天氣,音樂,寫詩,笑話,垃圾分類等等。本案例我們以天氣場景為例,來講述具體的使用方法。天氣場景意圖:查天氣實體(詞槽):哪里,什么時候整個流程如下:(1)根據api_key,secret_key獲取access_token;(2)構造請求體,請求接口,接收返回的數據;(3)解析數據。10.3.3案例實施10.3.3案例實施首先導入用到的庫。10.3importrequestsimportdatetimeimportuuidimportjson10.3.3案例實施獲取access_token。api_key,secret_key的獲取方式如下:10.3(1)注冊并登錄百度智能云平臺;(2)點開控制臺,在左側“>”箭頭處找到“人工智能”下的“智能對話”,點擊新建應用,填寫相關信息后即可看到api_key,secret_key。下面利用api_key,secret_key來生成唯一的token:defget_token(api_key,secret_key):URL='/oauth/2.0/token'params={'grant_type':'client_credentials','client_id':api_key,'client_secret':secret_key}

r=requests.get(URL,params=params)10.3.3案例實施10.3

try:r.raise_for_status()token=r.json()['access_token']returntokenexceptrequests.exceptions.HTTPError:return''10.3.3案例實施10.3請求接口,返回請求數據。query:用戶的指令字符串,service_id:UNIT的技能id,技能id的獲取方式:(1)打開網址/unit/home,進入UNIT;(2)點擊“我的技能”,在預置技能下點擊獲取技能,在彈出的對話框中選擇要獲取的技能,然后點擊獲取該技能,如圖10-1所示。圖10-1選擇預置技能10.3.3案例實施10.3(3)關閉對話框,即可看到該技能的id。api_key:UNITapi_key;secret_key:UNITsecret_key;returns:UNIT解析結果。如果解析失敗,返回None。session_id=''defgetUnit(query,service_id,api_key,secret_key,session_id):access_token=get_token(api_key,secret_key)

url='/rpc/2.0/unit/bot/chat?access_token='+

access_tokenrequest={"query":query,10.3.3案例實施10.3

"user_id":"888888",}body={"log_id":str(uuid.uuid1()),"bot_id":service_id,"bot_session":json.dumps({"session_id":session_id}),"request":request}try:headers={'Content-Type':'application/x-www-form-urlencoded'}response=requests.post(url,json=body,headers=headers)10.3.3案例實施10.3#print(response.text)returnjson.loads(response.text)exceptException:returnNone獲取session_id:當前請求中的bot_session.session_id與保留中的某個會話相同時,當前會話將繼承歷史會話的意圖和詞槽信息以及對話狀態,來實現多輪對話。defgetSession(parsed):ifparsedisnotNoneand'result'inparsed:returnjson.loads(parsed["result"]['bot_session'])["session_id"]else:return''10.3.3案例實施解析機器人回復的內容:10.3defgetSay(parsed,intent=''):

ifparsedisnotNone:returnparsed['result']['response']['action_list'][0]['say']else:return''10.3.3案例實施主函數:10.3if__name__=='__main__':whileTrue:text=input()parsed=getUnit(text,"1099336",'YezaxM7yKMqECGnlKbh9KhFr','4FWRffUmFkqdPxre2kiK5srSWGXYlqjF',session_id)session_id=getSession(parsed)say=getSay(parsed)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論