【Azure 機器人】微軟Azure Bot 編輯器系列(4) : 使用語言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)

路邊兩盞燈發表於2021-06-19

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

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

 

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

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

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

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

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

6)新增LUIS功能,理解自然語言

 

準備條件

 

開發機器人面臨的主要問題之一:就是如何讓機器人理解使用者在對話和整個上下文中的意思,然後用有效資訊進行回覆?為了能夠實現這些複雜任務,Bot Composer整合了Lanaguage Generation庫。它可以更好地控制機器人如何處理使用者輸入並提供有意義的響應。本文展示瞭如何在機器人中使用LG(語言生成)。

 

Language generation 語言生產

讓我們從修改單調的“Welcome Message”入手。

第一步:啟動Bot編輯器,開啟 weather_bot 專案

第二步:在“Geeting問候語”觸發器元件中,選中True分支下的“Send a response”任務

第三步:在任務的右邊屬性欄中,依次點選“Add alternative”,在新出現的文字框中依次加入下面的問候語(Welcome Message)

Hi! I'm a friendly bot that can help with the weather. Try saying WEATHER.

Hello! I am Weather Bot! Say WEATHER to get the current conditions.

Howdy! Weather bot is my name and weather is my game. Try saying WEATHER.

兄臺,請說“天氣”! 敬天愛人從知天始。

注:機器人在回覆使用者時,隨機選擇以上的語句進行問候。設定完成後,效果圖如下:

【Azure 機器人】微軟Azure Bot 編輯器系列(4) : 使用語言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)

 

 

新增LG: Language Generation

當前,機器人報告天氣的方式還是非常機械化的。我們可以通過利用LG功能改進機器人的回覆內容。

第一步:在Bot編輯器左邊導航目錄中選擇“機器人響應 Bot responses”。(你會注意到之前新增的所有訊息都將出現在這裡。同理,在這裡進行修改也會同步到機器人中)

第二步:選中“GetWeather”,然後點選右邊欄中的“顯示程式碼”按鈕,以檔案格式的方式來新增新的語言片段。並在文末中增加新的LG。

# DescribeWeather(weather)
- It is "${dialog.weather}" in ${user.postalcode} and the temperature is ${dialog.fahrenheit}°F or ${dialog.celsius}°C. Have a nice day.

注:新的LG模板名為DescribeWeather。這裡會根據weather這個物件的內容填充模板,生成有好的回覆。

第三步:回到Bot的編輯區域,選擇“getWeather”的BeginDialog元件,並選中“Send a response”任務塊。

第四步:把原來的回覆內容用LG模板替換掉

  • 刪除舊的回覆訊息
  • 輸入“ ${DescribeWeather(dialog.weather)} ”。這種語法允許將 DescribeWeather 模板巢狀在另一個模板中,可以通過這種組合 LG 模板方式以建立更復雜的模板。

 

好了,LG模板的建立以及使用步驟完成。請檢視演示動畫: 

【Azure 機器人】微軟Azure Bot 編輯器系列(4) : 使用語言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)

 

 

測試機器人

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

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

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

第四步:輸入“98052”觀察Bot的返回內容

【Azure 機器人】微軟Azure Bot 編輯器系列(4) : 使用語言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)

在下一篇中將演示:把機器人的回覆轉換為卡片

 

 

 

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

 

參考資料

Tutorial: Add language generation to your bot:https://docs.microsoft.com/en-us/composer/tutorial/tutorial-language-generation?tabs=v2x

Language generation: https://docs.microsoft.com/en-us/composer/concept-language-generation?tabs=v2x

 

[完]

 

相關文章