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

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

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

 

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

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

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

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

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

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

 

準備條件

 

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

 

安裝Help and Cancel包

第一步:啟動Bot Composer,從左邊的導航條中進入「Package Manager」目錄

第二步:與VS 2019的Package介面一樣,在搜索框中輸入「Help」,選中「Microsoft.Bot.Components.HelpAndCancel」包

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

第四步:安裝過程中,會彈出「安裝須知」。在底部點擊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」的演示動畫: 

 

 

 

測試機器人

第一步:在編輯器的右上角點擊 「Start Bot」按鈕,啟動機器人

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

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

第四步:輸入「help」,「support」,「advice」 或「幫助」,機器人將提供幫助響應

第五步:輸入「cancel」,「stop」,「quit」 或「取消」,機器人將發送一個取消的響應,然後等待用戶的Yes/No確認

 

 

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

 

 

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

 

參考資料

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

 

[完]