天天看點

【Azure 機器人】微軟Azure Bot 編輯器系列(3) : 機器人對話流中加入幫助和取消按鈕功能 (The Bot Framework Composer tutorials)

歡迎來到微軟機器人編輯器使用教程,從這裡開始,建立一個簡單的機器人。

在該系列文章中,每一篇都将通過添加更多的功能來建構機器人。當完成教程中的全部内容後,你将成功的建立一個天氣機器人(Weather Bot)。在本系列中将學會以下内容:

1)建立一個簡單的對話天氣機器人

2)在機器人中提出問題,并擷取從HTTP API擷取響應

3)在機器人中增加幫助提示和取消功能

4)使用語言生成功能(LG: Language Generation)

5)把機器人的回複轉換為卡片

6)添加LUIS功能,了解自然語言

準備條件

  • 完成系列(1,2)中的簡單對話機器人建立(https://www.cnblogs.com/lulight/p/14891002.html)與 發送HTTP請求(https://www.cnblogs.com/lulight/p/14897260.html)

為機器人對話流加入“幫助”和“取消”按鈕功能,哪怕是一個簡單的機器人,提供幫助功能也是最佳體驗。同時,也需要在人機對話流程中随時“取消”功能。

安裝Help and Cancel包

第一步:啟動Bot Composer,從左邊的導覽列中進入“Package Manager”目錄

第二步:與VS 2019的Package界面一樣,在搜尋框中輸入“Help”,選中“Microsoft.Bot.Components.HelpAndCancel”包

【Azure 機器人】微軟Azure Bot 編輯器系列(3) : 機器人對話流中加入幫助和取消按鈕功能 (The Bot Framework Composer tutorials)

第三步:點選右邊的安裝按鈕,可根據需要選擇版本

第四步:安裝過程中,會彈出“安裝須知”。在底部點選OK,進入安裝等待。安裝完成後,回到機器人編輯主區域,編輯器會自動為機器人添加兩個對話元件“ Help ” 和“ Cancel ”。

設定“Cancel”和“Help”對話元件

第一步:在weather_bot的編輯區,點選“...”按鈕并選擇“+ Add new trigger”, 在建立視窗中輸入如下值:

  • What is the name of this trigger (RegEx): cancel
  • Please input regEx pattern: cancel|stop|quit|取消 , 正規表達式将比對所設定的這四個關鍵字,并觸發cancel操作。

第二步:點選“Submit”後,在建立的cancel的觸發器中,點選“+”按鈕添加一個開始對話( Dialog Management --> Begin a new dialog)

第三步:在“Dialog name”的下拉清單中選擇“CancelDialog”。即完成了Cancel功能的設定。

第四步:重複以上1,2,3步驟,為Help對話元件進行設定。在weather_bot的編輯區,點選“...”按鈕并選擇“+ Add new trigger”, 在建立視窗中輸入如下值:

  • What is the name of this trigger (RegEx): help
  • Please input regEx pattern: help|support|advice|幫助 , 正規表達式将比對所設定的這四個關鍵字,并觸發help操作。

第五步:點選“Submit”後,在建立的help的觸發器中,點選“+”按鈕添加一個開始對話( Dialog Management --> Begin a new dialog)

第六步:在“Dialog name”的下拉清單中選擇“HelpDialog”。即完成了Help功能的設定。

在機器人對話中啟用打斷功能

getWeather對話元件知道如何擷取天氣預報,但是它不知道如何在對話中響應幫助請求。是以為了讓機器人能在進行正常對話的過程中對發出的“Help”請求進行處理,需要對getWeather啟用允許打斷功能(Interruption)。當幫助流程處理完後,它會自動回到天氣預報對話中,無需再使用“天氣”或“weather”關鍵字來進行喚醒。

第一步:在getWeather對話元件中,選擇“BeginDialog”事件

第二步:選中第一個“Prompt for text”任務框,在它的右邊屬性視窗中,選中“Other”頁籤。

第三步:在“Prompt Configurations”中找到“Allow interruptions”并把值設定為 true

注:這一步的目的是告訴 Bot 咨詢父對話框的識别器,允許 Bot 也可以在使用者的提示下響應幫助。

請檢視啟用“Help and Cancel”的示範動畫: 

【Azure 機器人】微軟Azure Bot 編輯器系列(3) : 機器人對話流中加入幫助和取消按鈕功能 (The Bot Framework Composer tutorials)

測試機器人

第一步:在編輯器的右上角點選 “Start Bot”按鈕,啟動機器人

第二步:啟動後,會彈出一個“Local bot runtime manager”的視窗,選擇“Open Web Chat”,打開一個頁面聊天視窗

第三步:在對話框中輸入“weather” 或者“天氣”來觸發機器人的對話

第四步:輸入“help”,“support”,“advice” 或“幫助”,機器人将提供幫助響應

第五步:輸入“cancel”,“stop”,“quit” 或“取消”,機器人将發送一個取消的響應,然後等待使用者的Yes/No确認

【Azure 機器人】微軟Azure Bot 編輯器系列(3) : 機器人對話流中加入幫助和取消按鈕功能 (The Bot Framework Composer tutorials)

在下一篇中将示範:使用語言生成功能(LG: Language Generation)

(以上内容均是參考微軟官方的機器人文檔進行的中文操作步驟,原文連接配接見參考資料)

參考資料

Tutorial: Add Help and Cancel to your bot using interruptions:https://docs.microsoft.com/en-us/composer/tutorial/tutorial-add-help?tabs=v2x

[完]

當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!