據 Gartner 2018 年 2 月的報告,“到 2020 年,25% 的客戶服務和支持業務將在參與渠道中整合虛擬客戶助理(VCA)或聊天機器人技術,而 2017 年只有不到 2%。”鑒于此,讀者會發現本教程對理解開源的 Recast.AI 機器人創建平臺的工作原理很有幫助。
聊天機器人,包括基于語音的以及其他技術的,已經實際使用了有一陣子了。從讓用戶參與謀殺解密游戲,到幫助完成房地產交易和醫療診斷,聊天機器人已經跨越了多個領域。
有許多平臺可以讓用戶創建和部署機器人。Recast.AI(在被 SAP 收購之后現在是 SAP Conversational AI)是其中的先行者。
酷炫的界面、協作性以及它所提供的分析工具,讓它成為流行的選擇。
正如 Recast 官方網站說的,“它是一個創建、訓練、部署和監控智能機器人的終極協作平臺。”
創建一個基礎的機器人
讓我們來看看如何在 Recast 創建一個基礎的機器人。
在 https://cai.tools.sap 創建一個賬戶。注冊可以使用電子郵箱或者 Github 賬戶。 在你登錄之后,你會進入儀表板。點擊右上角 “+” 新建機器人圖標新建一個機器人。 在下一個界面,你會看到一系列可選的預定義技能。暫時選擇問候Greetings”(圖 1)。這個機器人已經經過訓練,能夠理解基本的問候。
給機器人提供一個名字。目前來說,你可以讓機器人講一些笑話,所以我們將它命名為 Joke Bot,選擇英語作為默認語言。 因為你不會處理任何敏感信息,所以在數據策略下選擇非個人數據。然后選擇公共機器人選項并點擊創建一個機器人。
所以這就是你在 Recast 平臺創建的機器人。
開發一個機器人的五個階段
用 Recast 官方博客的話說,在機器人的生命中有五個階段。
訓練——教授機器人需要理解的內容 構建——使用機器人構建工具創建你的對話流 編寫代碼——將機器人連接到外部 API 或數據庫 連接——將機器人發布到一個或多個消息平臺 監控——訓練機器人讓它更敏銳,并且了解其使用情況 通過意圖訓練機器人
你可以在儀表板上看到搜索、分叉或創建一個意圖intent的選項。“‘意圖’是一系列含義相同但構造不同的表達。‘意圖’是你的機器人理解能力的核心。每個‘意圖’代表了機器人可以理解的一種想法。”(摘自 Recast.AI 網站)
圖 2: 機器人面板
就像先前定的,你需要一個講笑話的機器人。所以底線是這個機器人可以理解用戶在要求它講笑話,它不應該在用戶僅僅說了“Hi”的情況下回復一個笑話——這可不妙。把用戶可能說的話進行分組,比如:
Tell me a joke.(給我講個笑話。)Tell me a funny fact.(告訴我一個有趣的事實。)Can you crack a joke?(你可以講個笑話嗎?)What’s funny today?(今天有什么有趣的?)
……
在繼續從頭開始創建意圖之前,讓我們來看看搜索/分叉選項。在搜索框輸入 “Joke”(圖 3)。系統給出了全球的 Recast 用戶創建的公開的意圖清單,這就是為什么說 Recast 天然就是協作性質的。所以其實沒有必要從頭開始創建所有的意圖,可以在已經創建的基礎上進行構建。這就降低了訓練具有常見意圖的機器人所需的投入。
圖 3: 搜索一個意圖
選擇列表中的第一個意圖并將其分叉到機器人上。 點擊分叉Fork按鈕。這個意圖就添加到了機器人中(圖 4)。
點擊意圖 @joke,會顯示出這個意圖中已經存在的表達expression列表(圖 5)。
向其添加更多的表達(圖 6)。
添加了一些表達之后,機器人會給出一些建議,像圖 7 展示的那樣。選擇幾個將它們添加到意圖中。你還可以根據機器人的上下文,標記你自己的自定義實體來檢測關鍵詞。
圖 7: 建議的表達
技能
技能skill是一塊有明確目的的對話,機器人可以據此運行并達到目標。它可以像打招呼那么簡單,也可以更復雜,比如基于用戶提供的信息提供電影建議。
技能需要的不能只是一對問答,它需要多次交互。比如考慮一個幫你學習匯率的機器人。它一開始會問原貨幣,然后是目標貨幣,最后給出準確回應。結合技能可以創建復雜的對話流。
下面是如何給笑話機器人創建技能:
去到 構建(Build) 頁。點擊 “+” 圖標創建技能。 給技能命名 “Joke”(圖 8)
創建之后,點擊這個技能。你會看到四個標簽。讀我Read me、觸發器Triggers、需求Requirements和 動作Actions。 切換到需求頁面。只有在笑話意圖存在的時候,你才應該存儲信息。所以,像圖 9 那樣添加一個需求。
由于這個簡單的使用范例,你不需要在需求選項卡中考慮任何特定的需求,但可以考慮只有當某些關鍵字或實體出現時才需要觸發響應的情況——在這種情況下你需要需求。
需求是某個技能執行動作之前需要檢索的意圖或實體。需求是對話中機器人可以使用的重要信息。例如用戶的姓名或位置。一旦一個需求完成,相關的值就會存儲在機器人的內存中,供整個對話使用。
現在讓我們轉到動作頁面設置回應response(參見圖 10)。
圖 10: 添加動作
點擊添加新消息組new message group。然后選擇發送消息Send message并添加一條文本消息,在這個例子中可以是任何笑話。當然,你肯定不想讓你的機器人每次都說一樣的笑話,你可以添加多條消息,每次從中隨機選擇一條。
圖 11: 添加文本消息
頻道集成
一個成功的機器人還依賴于它的易得性。Recast 有不少的內置消息頻道集成,如 Skype for Business、Kik Messenger、Telegram、Line、Facebook Messenger、Slack、Alexa 等等。除此之外,Recast 還提供了 SDK 用于開發自定義的頻道。
此外,Recast 還提供一個可立即使用的網頁聊天(在連接頁面中)。你可以自定義顏色主題、標題、機器人頭像等。它給你提供了一個可以添加到頁面的腳本標簽。你的界面現在就可以使用了(圖 12)。
圖 12: 設置網絡聊天
網頁聊天的代碼是開源的,開發者可以更方便地定制外觀、標準回應類型等等。面板提供了如何將機器人部署到各種頻道的逐步過程說明。這個笑話機器人部署在 Telegram 和網頁聊天上,就像圖 13 展示的那樣。
圖 13: 網頁聊天部署
圖 14: Telegram 中開發的機器人
還有更多
Recast 支持多語言,創建機器人的時候選擇一個語言作為基礎,但之后你有選項可以添加更多你想要的語言。
圖 15: 多語言機器人
這里的例子是一個簡單的靜態笑話機器人,實際使用中可能需要更多的和不同系統的交互。Recast 有 Web 鉤子功能,用戶可以連接到不同的系統來獲取回應。同時它還有詳細的 API 文檔來幫助使用平臺的每個獨立功能。
至于分析,Recast 有一個監控面板,幫助你了解機器人的準確度以及更加深入地訓練機器人。
責任編輯:PSY
-
機器人
+關注
關注
211文章
28419瀏覽量
207110 -
AI
+關注
關注
87文章
30896瀏覽量
269111 -
聊天機器人
+關注
關注
0文章
339瀏覽量
12312
發布評論請先 登錄
相關推薦
評論