歡迎來到微軟機器人編輯器使用教程,從這裡開始,建立一個簡單的機器人。
在該系列文章中,每一篇都將通過新增更多的功能來構建機器人。當完成教程中的全部內容後,你將成功的建立一個天氣機器人(Weather Bot)。在本系列中將學會以下內容:
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)
- LG: Language Generation (https://docs.microsoft.com/en-us/composer/concept-language-generation?tabs=v2x) 在Bot中定義多種形式的短語,根據機器人執行時的引數組合生成回覆內容。
開發機器人面臨的主要問題之一:就是如何讓機器人理解使用者在對話和整個上下文中的意思,然後用有效資訊進行回覆?為了能夠實現這些複雜任務,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. 兄臺,請說“天氣”! 敬天愛人從知天始。
注:機器人在回覆使用者時,隨機選擇以上的語句進行問候。設定完成後,效果圖如下:
新增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模板的建立以及使用步驟完成。請檢視演示動畫:
測試機器人
第一步:在編輯器的右上角點選 “Start Bot”按鈕,啟動機器人
第二步:啟動後,會彈出一個“Local bot runtime manager”的視窗,選擇“Open Web Chat”,開啟一個頁面聊天視窗
第三步:在對話方塊中輸入“weather” 或者“天氣”來觸發機器人的對話
第四步:輸入“98052”觀察Bot的返回內容
在下一篇中將演示:把機器人的回覆轉換為卡片
(以上內容均是參考微軟官方的機器人文件進行的中文操作步驟,原文連線見參考資料)
參考資料
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
[完]