AI產(chǎn)品經(jīng)理必知的兩類ChatBot詳解
編輯導(dǎo)語(yǔ):對(duì)話機(jī)器人(ChatBot)目前已應(yīng)用在眾多領(lǐng)域,但還有一些AI產(chǎn)品經(jīng)理對(duì)其概念沒有一個(gè)系統(tǒng)化的認(rèn)知。作者在文中對(duì)兩類ChatBot進(jìn)行了詳解,與你分享。
對(duì)話機(jī)器人(ChatBot),以自然語(yǔ)言的方式和用戶進(jìn)行交互,從而完成咨詢、客服、助理、娛樂等用戶訴求,目前已經(jīng)應(yīng)用在很多領(lǐng)域。
本文主要介紹兩類應(yīng)用最廣的ChatBot:FAQChatBot和多輪對(duì)話ChatBot,包括這兩類ChatBot的適用場(chǎng)景和構(gòu)造模塊。
第一類:FAQChatBot
FAQ(Frequently Asked Questions) ChatBot,從英文全稱可以看出來(lái),是將一些頻繁用到的問題和答案對(duì)整理好,形成知識(shí)庫(kù)。
當(dāng)用戶提問時(shí),將用戶的問題和知識(shí)庫(kù)的眾多問題進(jìn)行匹配,匹配完成后,將匹配到的知識(shí)庫(kù)問題對(duì)應(yīng)的答案,返回給用戶,如下圖所示:
為了匹配更精準(zhǔn),在構(gòu)建知識(shí)庫(kù)時(shí),可以多設(shè)置幾個(gè)擴(kuò)展問題,如下表所示,在疫情期間,為了快速構(gòu)建一個(gè)FAQ ChatBot,提高問題匹配精準(zhǔn)度,可以這樣構(gòu)建知識(shí)庫(kù):
當(dāng)我們的目標(biāo)是快速構(gòu)建一個(gè)基于常用知識(shí)的咨詢時(shí),就可以用FAQ ChatBot,例如打造一個(gè)公司內(nèi)部的入職咨詢、報(bào)銷指南。
總結(jié)一下,F(xiàn)AQ ChatBot 的目的是:將企業(yè)的各種知識(shí)有效管理起來(lái),采取一問一答的單輪對(duì)話方式,為用戶提供咨詢服務(wù)。
該方法的優(yōu)點(diǎn)是建設(shè)快,質(zhì)量可控、準(zhǔn)確率高,其缺點(diǎn)是泛化能力比較弱。隨著不斷迭代,知識(shí)庫(kù)的更新很大程度依賴于人工,不能自主提升自己的泛化能力。
第二類:多輪對(duì)話ChatBot
當(dāng)面臨更加復(fù)雜的問題時(shí),例如用戶想要完成訂餐、訂票等任務(wù),需要進(jìn)行多輪陳述,才能完成用戶的訴求。
一方面,用戶在對(duì)話過程中可以不斷修改或完善自己的需求;另一方面,當(dāng)用戶的陳述的需求不夠具體或明確的時(shí)候,機(jī)器也可以通過詢問、澄清或確認(rèn)來(lái)幫助用戶找到滿意的結(jié)果。
對(duì)于這樣的多輪對(duì)話,ChatBot架構(gòu)如下:
下面,我們配合下面這個(gè)預(yù)訂會(huì)議室的例子,來(lái)理解多輪對(duì)話ChatBot架構(gòu)的各個(gè)模塊:
1. NLU(Natural Language Understanding)
NLU的目的是,完成對(duì)用戶指令的理解。
所以NLU模塊的輸入是用戶指令,輸出主要采用DIS的表示結(jié)構(gòu),D代表Domain(領(lǐng)域), I代表Intent(意圖),S代表Slot(槽位)。
(有些情況下沒有Domain,直接輸出為Intent)
Domain、Intent和Slot都是產(chǎn)品經(jīng)理根據(jù)需求預(yù)先定義好的。不同的業(yè)務(wù)場(chǎng)景會(huì)定義不同的DIS。
對(duì)于這個(gè)預(yù)訂會(huì)議室的例子,可以定義DIS如下:
2. DM(Dialog Management)
對(duì)話管理DM控制著人機(jī)對(duì)話的過程,是ChatBot的核心。
在對(duì)話過程中,對(duì)話機(jī)器人系統(tǒng)會(huì)不斷根據(jù)當(dāng)前的對(duì)話狀態(tài)和用戶行為,決定下一步應(yīng)該采取的最優(yōu)動(dòng)作,從而完成整個(gè)對(duì)話任務(wù)。
因此,在這個(gè)過程中,DM主要完成以下兩個(gè)任務(wù):
(1)維護(hù)&更新對(duì)話狀態(tài)(dialog state tracking, DST)
根據(jù)之前的狀態(tài)和用戶的輸入,維護(hù)一份最新的對(duì)話狀態(tài)。
(2)產(chǎn)生系統(tǒng)決策(dialog strategy)
根據(jù)DST中的對(duì)話狀態(tài)做出系統(tǒng)決策,決定下一步做什么。
如上圖,對(duì)于當(dāng)前的會(huì)議室預(yù)訂實(shí)例,當(dāng)用戶表達(dá)了想預(yù)訂906會(huì)議室,當(dāng)前的最新對(duì)話狀態(tài)為:
此時(shí),系統(tǒng)做出決策:對(duì)話補(bǔ)全。因此,系統(tǒng)繼續(xù)追問用戶:您想預(yù)約什么時(shí)間段?
用戶對(duì)此反饋:明天上午9點(diǎn)到11點(diǎn)。
系統(tǒng)根據(jù)此時(shí)最新的反饋和剛才的對(duì)話狀態(tài)狀態(tài),產(chǎn)生新的系統(tǒng)決策,并更新狀態(tài)。
更新后的狀態(tài)為:
在這個(gè)案例里,DM的輸入輸出如下圖:
在產(chǎn)生系統(tǒng)決策時(shí),DM一般會(huì)利用以下兩種策略:
(1)意圖重入:當(dāng)從當(dāng)前的用戶行為中分析不出意圖時(shí),會(huì)將上一輪的意圖重入。
例如“我還想定一個(gè)下午兩點(diǎn)到四點(diǎn)的”,單憑這一句話,無(wú)法得出用戶的意圖,則將上一輪查詢的“會(huì)議室預(yù)訂”意圖進(jìn)行重入。
(2)領(lǐng)域重入:當(dāng)意圖重入匹配度較低,則會(huì)采用領(lǐng)域重入。
3. NLG(Natural LanguageGeneration)
當(dāng)DM做出和用戶交互相關(guān)的系統(tǒng)決策時(shí),需要NLG模塊配合,生成自然語(yǔ)言,和用戶完成交互。
當(dāng)用戶預(yù)訂會(huì)議室成功后,DM模塊將預(yù)訂成功的信息傳給NLG模塊:
NLG模塊則根據(jù)預(yù)設(shè)的模版或其他生成算法,以自然語(yǔ)言方式反饋給用戶結(jié)果:
總結(jié)一下,多輪對(duì)話與單輪對(duì)話的不同在于,攜帶前幾輪對(duì)話的上下文信息,可以完成更復(fù)雜的任務(wù),也使得對(duì)話過程更加智能。
本文由 @躺平看星星 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議
大佬方便加個(gè)v嘛。我是ai領(lǐng)域的小渣渣,v:lele150661