
智能客服系統(tǒng)的技術架構:
1、基于知識庫回答的智能客服系統(tǒng)
基于知識庫回答的智能客服系統(tǒng),使用的檢索或者分類模型來實現(xiàn)的。
檢索式回答的流程是:
首先對用戶的輸入問題做處理,如分詞、抽取關鍵詞、同義詞擴展、計算句子向量等;
然后基于處理結果在知識庫中做檢索匹配,例如利用BM25、TF-IDF或者向量相似度等匹配出一個問題集合,這類似推薦系統(tǒng)中的召回過程;
由于我們是一個問答系統(tǒng),最終是直接返回給用戶一個答案,因此需要從問題集合中挑出最相似的那個問題,這里會對問題集合做重排序,例如利用規(guī)則、機器學習或者深度學習模型做排序,每個問題會被打上一個分值,最終挑選出top1,將這個問題對應的答案返回給用戶,這就完成了一次對話流程。
在實際應用中,我們還會設置閾值來保證回答的準確性,若最終每個問題的得分低于閾值,會將頭部的幾個問題以列表的形式返回給用戶,最終用戶可以選擇他想問的問題,進而得到具體的答案。
2、基于槽位填充的多輪對話系統(tǒng)
任務型技能:在問答型技能的基礎上,增加槽位、API(接口)調(diào)用等高級功能,可以通過配置,來實現(xiàn)用戶查詢信息、問題搜索或者其他功能。
了解該系統(tǒng)我們先熟悉一下幾個名詞的釋義:
(1)意圖
機器人與人的聊天,大體上可以分為“閑聊”和“有具體意圖的聊天”二種類型。
“閑聊型”機器人根據(jù)“聽”到的語句做出對應的反應,因為話題天南海北沒有限制,所有設計者需要處理各種各樣可能的對話。閑聊型機器目前主要應用在娛樂、陪伴、接待等領域。
在實際生產(chǎn)環(huán)境中,用的更多的是“意圖型”機器人。這類機器人首先會通過引導語來引導客戶說出想要辦理的事務。由于客戶的說法五花八門,這時,設計者就需要為“意圖”羅列各種“說法”。只要用戶的“說法”滿足了預先定義的規(guī)則,就認為客戶的說法命中這個“意圖”。
舉個例子,機器人會先說出歡迎詞,然后提示客戶:“您可以查詢天氣或者查詢航班”。這時客戶可能會說“我想查一下長沙的天氣”,也可能會說“看一下明天的天氣怎么樣?”,機器人都認為客戶的意圖是“查天氣”。
知道了客戶的意圖后,就需要用“填槽”技術來收集處理這個“意圖”所需要的信息項(稱之為“槽位”)。
還是以“查天氣”這個意圖為例,通常情況下,我們至少需要知道時間和城市,所以就有了“時間”、“城市”二個槽位需要填充。如果用戶問話是“我想查一下長沙的天氣”,這時“城市”槽位已經(jīng)填充,但是缺少“時間”信息。這時我們就可以用到填槽中的“反問”技術,詢問“您想查詢哪一天的天氣?”,從而引導客戶提供時間信息。
使用“意圖”和“填槽”技術,就能夠有針對性地收集所需要的信息,以便完成下一步的操作,最終實現(xiàn)查詢、咨詢、下單等類型的機器人服務任務。
當然,一個完整的電話機器人,需要用到電話交換、語音識別、語音合成、話術交互等多方面的技術。如果不想專注那么多細節(jié),集成商也可以直接使用中間層產(chǎn)品,例如朗深電話AI中間件等,這些產(chǎn)品都提供了豐富的接口,可以幫助集成商快速將電話機器人集成到自己的業(yè)務應用。
。2)技能
技能是滿足用戶特定需求的一個應用。例如用戶說“查詢我的洗發(fā)水快遞到哪里了”時,會進入快遞查詢的技能。
。3)問答型技能
通過Q(用戶問法)和A(機器人回答)的配置,可以實現(xiàn)簡單的用戶與機器人的對話。
任務型技能:在問答型技能的基礎上,增加槽位、API(接口)調(diào)用等高級功能,可以通過配置,來實現(xiàn)用戶查詢信息、問題搜索或者其他功能。
。4)追問
當用戶問法中沒有提供該語義槽值時,機器人要對其自動發(fā)起追問。
例如用戶問:天氣怎么樣?我們無法獲取到查詢天氣的地點的語義槽值,就需要機器人追問,您想獲取哪里的天氣信息?,追問話術一般設置多條,隨機追問。
在國內(nèi)開放的bot系統(tǒng)中,百度UNIT和微信的對話開放平臺就是應用的該技術框架。
一個自然語言對話系統(tǒng),理解的核心任務是對意圖的解析和對詞槽的識別。
例如:訂明天早上8點北京到石家莊的火車,在這個例子中,對于用戶表達的一句話,它的意圖是要訂火車票,其中涉及的詞槽包括出發(fā)地、目的地、時間。當這個時間有多趟車次的時候,就需要進行追問用戶,是要訂哪一個。
以百度UNIT平臺為例,搭建一個買票智能回復的流程。
需求分析:訂火車票需要知道時間、出發(fā)地、目的地
新建一個BOT,命名為:火車票
新建對話意圖:命名訂票
添加詞槽:出發(fā)時間、選擇系統(tǒng)詞槽詞典,選擇然后選擇系統(tǒng)詞典sys_time(時間),出發(fā)地詞槽、目的地詞槽,這兩個都可以選擇系統(tǒng)詞典,這些都是必填項。
設置詞槽與意圖關聯(lián)屬性,這里火車票的出發(fā)時間是訂票里必須的關鍵信息,所以選擇必填。澄清話術就是當用戶表達訂票需求的語句里缺少出發(fā)時間時bot主動讓用戶澄清的話術。還可以設置讓用戶澄清多少輪后放棄要求澄清,默認是3次。
設置BOT回應,BOT回應就是當BOT識別出用戶的意圖和所有必填詞槽值時給用戶的反饋。對于訂票回復一般對接API接口,實現(xiàn)自動生成方式。
當然,這只是火車票中的一個場景,在火車票這個場景中還有退票、改簽、查詢等功能。這些都是需要我們在需求梳理中要確定的。