聊天機器人結構的指南
前幾天寫了一篇《??如何更優雅地設計聊天機器人??》,有一些小伙伴留言問我:stone,有沒有一些關于聊天機器人架構說明的文章嗎?有需求就有動力,今天我們就來聊聊聊天機器人的架構。
在現今越來越多企業客服系統(當然還有其他業務系統)從傳統的語音通話轉向文字、圖形與智能語音。
通過聊天機器人進行交流越來越受歡迎,主要有兩個原因:簡單和實時。
在下面,我們一起聊聊聊天機器人的工作原理,如何定制機器人以及了解聊天機器人架構結構所需的一切。
但在開始之前,我們先了解一下基礎知識。
什么是聊天機器人?
聊天機器人是一種模擬人與計算機,人與人之間對話的程序。當被問到問題時,聊天機器人會使用知識數據庫進行響應。
人工智能 (AI) 用于模擬自然語言的對話或聊天。常見的方式是通過消息傳遞平臺、移動應用程序或電話進行的。
聊天機器人可以實現人機之間的交流,它獨立于人類協助工作,并使用自然語言處理 (NLP) 等技術來回答問題。自然語言處理 (NLP)是人工智能的一個分支,它使計算機能夠以人類幾乎相同的方式理解文本和口語。
聊天機器人如何工作?
聊天機器人使用戶可以通過文本、音頻、圖片等方式輕松找到問題和問題請求的答案,而無需人工干預。
聊天機器人是一種自動化解決方案,可讓業務同時處理多個客戶查詢。據一些數據統計,大多數客服業務絕對需要24*7 小時 全天候可用。
現在大多數企業的聊天機器人已經整合了更多規則和自然語言技術,并且最新的模型能夠在使用過程中不斷地進行學習。
今天的人工智能聊天機器人使用先進的人工智能工具來明確客戶的真實目的。
聊天機器人主要有兩類,如下所示。
基于規則的聊天機器人
這類機器人只能理解他們已經設定好的有限數量的選擇。有以下優勢:
- 易于構建:使用真假算法來理解客戶的查詢,并提出相關答案。
- 便于實施:不需要太高的學習成本,有可能只需要簡單的關鍵字或正則表達式就可以實現。
- 容易把控:規則是企業自己設置的,因此對于輸出答案,不會超過設置的范圍外。
當然有優勢,肯定也有缺點:
- 依賴性強:過于依賴規則,超出預定義的規則,無法理解其含義
- 基于菜單操作:在交互過程中,聊天機器人顯示了用戶需要從中選擇的一系列選項,這使得真正了解用戶的真實意圖變得非常困難,因為它可能不會在選項中表示出來。
基于人工智能的聊天機器人
這些聊天機器人相對比較復雜,在原來的基礎上加入了人工智能算法。使用自然語言處理 (NLP) 和語義來響應開放式查詢。人工智能聊天機器人可以識別語言、上下文和意圖并做出相應的響應。是一種更為復雜的聊天機器人。
在這個領域中,我們發現了兩種不同的方法:
概率聊天機器人
這種類型的機器人使用端到端機器學習來創建基于歷史對話日志的模型,而不是通過意圖檢測或者在知識庫中查找相關響應。盡管它們不是遵循固定的腳本并且可以很自然地與之交互,但概率也是有缺點的:
- 當他們從對話中的經驗和數據中學習時,可能會引入很多偏差。對輸出對話的控制有限,有可能機器人會出現一些具有爭議性的答案,會收到客戶的投訴。
- 實現概率聊天機器人需要大量的訓練數據,獲得的數據越多,它的準確性就越好,這對于收集數據的研發人員來說是一個痛苦而且漫長的工作。
- 聊天機器人做出的答案是在一個“黑匣子”(模型)中,這意味著聊天機器人如何做出答案。是沒有任何透明度,而且很難修改或調整推理結果。
確定性聊天機器人
這種聊天機器人利用自然語言處理來計算每個單詞的權重,分析它們背后的上下文和含義,以輸出結果或答案。
這些聊天機器人能夠根據含義將意圖與答案相匹配。
它們有其優點和缺點:
- 只輸出企業填充的內容,更容易控制回復語氣和企業形象。
- 這不是根據概率學習,可以提示要包含的新熱門話題。
- 遵循確定性決策樹來引導客戶達到預期的結果。決策樹可能非常復雜,由訓練師監督和控制,不會接受備受爭議的、不受歡迎的答案。
- 每當知識庫中沒有相關的內容可以響應用戶時,訓練師可以重新訓練模型或制定規則,從而實現平穩過渡并減少basecase。
在考慮引入聊天機器人的朋友,可以了解一下聊天機器人架構,能將所有內容組合在一起。當然,您還需要掌握自動化測試。
什么是聊天機器人架構?
一款聊天機器人的架構,取決于它的用途
無論您使用哪種聊天機器人,機器人通信流程基本相同的。
編程語言可以使用 Java、Python、PHP 和其他語音來創建響應查詢的機器人。大多數對話都以問候或問題開始,然后引導用戶通過一系列問題。從而獲得答案。
下面詳細介紹聊天機器人基本的架構。
自然語言理解引擎
這是最核心,最重要的的第一步。用戶輸入一條消息,NLU 讀取該消息以了解用戶的意圖。然后規則引擎開始計算最佳響應。
您需要花一些時間來思考您的QA收集庫,能有邏輯,有規律的收集QA庫,當然你還需要了解一下QA 測試策略。
知識庫
這是關于產品、服務或業務需要的信息庫。它可以包括常見問題解答、故障排除指南、有關服務的信息或如何辦理業務。
知識和數據庫都為聊天機器人提供了所需的信息,以便對用戶做出權威的響應。
數據存儲
這是存儲分析和對話日志的地方。隨著聊天機器人使用時間越長,需要開發更具體和更完善的分析方案,讓模型更多精準,覆蓋面更廣。
在每個階段,都必須將業務系統化,以保障聊天機器人與業務打通。
最基本的聊天機器人需要什么架構?
小型企業和營銷活動通常從一級聊天機器人開始。這些通常只能在一個平臺上構建。這類擅長處理構成 70-80% 常見問題的簡單問題。這類聊天機器人回答簡單的問題,例如“你幾點開門?”
當用戶需要更復雜的信息(例如問題診斷)時,需要擴大聊天機器人的規模。
例如,如果有人問:“我的快遞出了什么問題?”
這將需要更高級別的聊天機器人。
隨著聊天機器人的能力開始更多智慧化,可以處理的業務變得更加復雜,就需要更多流量曝光
HTTP 和聊天界面
2 級聊天機器人是半腳本化的,并具有實時聊天小部件。在這里,您可以從首頁直接與客戶支持團隊交談。
消息代理
這是發布者(例如聊天界面)將消息添加到隊列的地方。客戶通過 微信、釘釘、企業微信和 QQ等即時通訊平臺訪問聊天機器人。
直播代理平臺
如果機器人未能正確識別用戶的意圖,人工代理能夠無縫介入。在某些情況下,他們將解決問題并將對話結束交還給機器人。
該機器人還可以從客戶關系管理 (CRM) 中調用客戶的詳細信息,例如更改密碼或查找訂單。
企業級架構
如果將聊天機器人提升到一個新的水平,需要使用技術來實現復雜的對話。您還需要確定如何擴展軟件的功能。
當然,每個企業都是不一樣的。在這里總結一下構建具有企業級架構的機器人所需的一些常見技術、工作流程和模式。
除了核心功能之外,還有許多考慮因素。必須在選擇的任何聊天機器人中構建軟件測試計劃程序。
一個對話機器人可以分為“大腦”和一組需求或“模塊”。
聊天機器人如何工作
聊天機器人使用三種分類方法進行工作:
- 模式匹配
- 算法
- 神經網絡
模式匹配器
機器人使用模式匹配來分析文本并產生合適的響應。這些模式的標準結構是人工智能標記語言 (AIML),可以參考訊飛《abnf 文法規范<Version 3.0>》
例如:
<pattern>喬·拜登是誰?<模式>。
<template>喬·拜登是美國總統<template>。
聊天機器人知道答案,因為他或她的名字是相關模式的一部分。但是對于超出相關模式的更高級信息,聊天機器人可以使用算法。
算法
算法減少了分類器的數量并創建了更易于管理的結構。在以下示例中,為每個詞條分配了一個分數。
輸入:“你好,早上好。”
詞條:“你好”(不匹配)
術語:“好”(類別:問候)
術語:“早上”(類別:問候)
分類:問候(分數=2)
在分數的幫助下,可以找到給定句子的單詞匹配,從而識別出匹配度最高的類別。
自然語言處理引擎
該引擎使用加權連接計算輸入和輸出。訓練數據中使用的每個步驟都會修改權重以提高準確性。句子被分解成單獨的單詞,然后每個單詞用作輸入以匹配網絡數據庫的內容。然后不斷地測試這些詞。
企業級架構的其他注意事項
此外,聊天機器人架構還必須考慮以下要素。
安全
安全、治理和數據保護是要被高度重視。這對于存儲數百萬客戶信息的企業來說尤其重要。
如果用戶不希望他們的個人詳細信息被泄露,需要考慮如何保持匿名。如果想訪問個人信息,需要以安全的方式進行。
建立保密措施非常重要,這樣任何人都無法在未經授權的情況下訪問敏感系統。
任何小錯誤,例如拼寫錯誤或超鏈接損壞,每月都有可能被成千上萬的用戶看到。
一個微小的錯誤可能會對您的企業形象產生巨大影響。
總結
聊天機器人簡化了人員和服務之間的交互,從而增強了客戶體驗。它們還為企業提供了改善重參與過程的機會,同時降低了客戶服務成本。