淺談Chatbot的架構模型和響應機制
譯文【51CTO.com快譯】不知您是否已注意到:人工智能已經不再是少數科技公司的初級原型產品了。在許多服務類行業中,帶有人工智能的聊天機器人(Chatbot)正在逐步取代人工客服,提供及時、周到、互動的服務。通過機器學習的相關技術,各類企業已將聊天機器人視為,最受歡迎的客戶服務和業務流程的自動化工具之一。本文將向您簡單介紹聊天機器人的基本架構模型和響應機制。
聊天機器人的不同架構類型
聊天機器人的架構模型通常是根據開發的核心目標所決定的。在普遍應用中,我們可以采用兩種類型的響應方式,它們分別是:
- 按照機器學習模型從頭開始生成響應。
- 使用啟發式方法從預定義的響應庫中選擇適當的響應。
生成模型(Generative Models)
如下圖所示(下文中出現的圖像均源自pavel.surmenok),此類模型可用于通過原生的方式,開發出相當的高級智能化機器人。不過,由于它在實現中需要復雜的算法,因此這種聊天機器人在實際高并發量的場景中很少被使用到。
同時,其生成的模型比較難以構建和開發。為了培訓此類機器人,開發人員需要花費大量的時間和精力,包括提供數百萬種示例。雖然我們可以讓深度學習的相關模型參與到對話的應用場景中,但是仍然無法確保此類模型能夠生成正確的響應結果。
基于檢索的模型(Retrieval-Based Models)
如下圖所示,此類聊天機器人架構模型相對于上述生成模型更易于構建,也更加可靠。雖然無法實現100%的準確響應,但是您可以通過它來獲悉可能的響應類型,并確保聊天機器人不會傳遞出不適當、或不正確的響應。
目前,基于檢索的模型正在被廣泛地使用在各種場景中。開發人員可以很容易地使用多種算法和API,在此類架構模型的基礎上構建出自動化的聊天應用。通過充分地考慮消息和會話的上下文,此類模型能夠從預定義的消息列表中提供最佳的響應結果。
聊天機器人的響應生成機制
下面讓我們一起討論聊天機器人是如何通過兩種不同的方式,來理解用戶的消息,以及獲取消息的意圖。
基于模型的啟發式(Pattern-Based Heuristics)
通常,我們可以通過兩種不同的方式來生成一個響應:
- 使用if-else的條件邏輯
- 使用機器學習分類器
其中,最簡單的方法是:使用預定義的模型來定義一組規則。這些規則可以充當框架規則(framed rules)的條件。
如下面的代碼段所示,為了編寫出不同的模型和響應,人工智能標記語言(Artificial Intelligence Markup Language,AIML)被普遍地運用在聊天機器人的開發過程中。
借助自然語言的處理管道和預定義的豐富模型,AIML可以被用來構建出智能的聊天機器人。它們不但可以解析用戶消息,還能夠查找同義詞和概念,標記出語音部分,并找出與用戶查詢相匹配的各種規則。當然,除非提前進行了特殊編程,否則這些機器人是無法自動調用機器學習算法、或任何其他API的。
使用機器學習進行意圖分類
盡管基于模型的啟發式方法可以提供良好的結果,但問題在于:它需要開發人員手動對所有的模型進行事先編程。而這恰好是一項非常繁瑣的任務,尤其是在要求聊天機器人能夠區分數百種針對不同場景的請求意圖時。
通常情況下,我們可以通過為聊天機器人準備數千個可能面對的案例集合,來培訓它們,進而挑選出合適的數據模型,以供應用反復進行學習。可以說,只有通過持續訓練聊天機器人的應變能力,我們才能實現對不同請求意圖的分類。
值得一提的是,scikit-learn是一個非常流行的機器學習庫,它可以協助執行各種機器學習的相關算法。開發人員甚至可以選擇使用諸如:api.ai、wit.ai和Microsoft LUIS等任何一種云端API。其中,作為第一個用于聊天機器人的機器學習類API,wit.ai最近已被Facebook收購了。
響應生成
一旦聊天機器人理解了用戶的消息意圖,下一步就需要生成響應了。通常有兩種響應方法:
- 生成簡單的靜態響應。
- 獲取基于意圖的模板,并放入各種對應的變量。
開發人員可以根據實際需求和目的,選擇生成響應的方法。例如:天氣預報類聊天機器人可以使用API獲取給定地理位置的天氣信息,然后回復查詢請求:“今天很可能下雨”,“今天是雨天”或者“下雨的概率為80%,請帶好雨傘。”
當然,響應的類型(請參見:https://www.hiddenbrains.com/blog/4-ux-elements-for-engaging-and-interactive-chatbots.html)也可以根據具體用戶的特征而有所不同。也就是說,聊天機器人可以研究和分析過往的聊天記錄、及其相關參數,為用戶量身定制響應語言。下圖展示了單獨的簡單響應生成,與響應選擇模塊的不同:
在實際項目中,您既可以從零開始開發構建聊天機器人,以全面滿足用戶的專業化場景需求;也可以從值得信賴的大公司那里購買現成的聊天機器人服務,畢竟他們能夠提供更加豐富的場景和運營經驗。
原文標題:Understanding Architecture Models of Chatbot and Response Generation Mechanisms,作者:Albert Smith
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】