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