智能問答系統(tǒng)產(chǎn)品設(shè)計(jì)詳解

21 評(píng)論 25098 瀏覽 150 收藏 19 分鐘

本文通過基于問答對(duì)的問答型機(jī)器人作為引入,逐步分解其設(shè)計(jì)流程,用通俗易懂的語言描述問答型機(jī)器人的產(chǎn)品設(shè)計(jì)思路。

問答系統(tǒng)的概述

我想大家肯定看過很多關(guān)于自然語言處理(簡(jiǎn)稱:NLP)技術(shù)方面的書籍或者論文,但在這里我不會(huì)詳細(xì)敘述NLP技術(shù)方面的知識(shí),而是想通過產(chǎn)品化思路結(jié)合NLP相關(guān)技術(shù)來搭建一個(gè)基礎(chǔ)版的問答系統(tǒng)。本文通過基于問答對(duì)的問答型機(jī)器人作為引入,逐步分解其設(shè)計(jì)流程,用通俗易懂的語言描述問答型機(jī)器人的產(chǎn)品設(shè)計(jì)思路。

好了,現(xiàn)在進(jìn)入正題,讓我先介紹一下問答系統(tǒng)對(duì)企業(yè)來說它能滿足企業(yè)哪些業(yè)務(wù)需求,以及產(chǎn)生的價(jià)值有哪些?

問答系統(tǒng)是基于滿足B端企業(yè)降低人力成本、提高工作效率的智能化產(chǎn)品,為客服人員賦能。其最大的隱性價(jià)值是在實(shí)際場(chǎng)景中得到標(biāo)準(zhǔn)化后的數(shù)據(jù)積累,可以在挖掘客服價(jià)值信息中起到降本增效的作用,后續(xù)還可以作精準(zhǔn)營銷和產(chǎn)品升級(jí)。一套問答系統(tǒng)最困難的是如何提升客服系統(tǒng)的使用效率。

就問答系統(tǒng)的使用效率,其根本原因是在于是否能夠?yàn)槠髽I(yè)降低人工服務(wù)次數(shù)和服務(wù)時(shí)間占比,甚至是提升公司的營業(yè)業(yè)績。

什么是問答系統(tǒng)

問答系統(tǒng)是信息檢索系統(tǒng)的一種高級(jí)形式,它可以通過鏈接知識(shí)庫方式檢索到用戶問題的答案。問答系統(tǒng)與信息檢索中的語義搜索有點(diǎn)類似,把用戶輸入的問題轉(zhuǎn)換為一個(gè)有結(jié)構(gòu)的語義表達(dá)式,然后從知識(shí)庫中尋找答案,并直接反饋給用戶。

問答系統(tǒng)的答案可以從結(jié)構(gòu)化知識(shí)庫獲取,用于規(guī)章制度、規(guī)則條款等問答形式,也可以通過結(jié)合一些已有的知識(shí)庫和數(shù)據(jù)庫資源,利用百度百科、維基百科等非結(jié)構(gòu)化文本信息,用信息抽取的方法提取關(guān)鍵信息,并構(gòu)建知識(shí)圖譜作為問答系統(tǒng)的后臺(tái)支撐,再結(jié)合知識(shí)推理等方法為用戶提供更深層次語義理解的答案。

在這里主要講解的是針對(duì)特定領(lǐng)域的知識(shí)進(jìn)行一問一答,也稱之為單輪對(duì)話、問答對(duì)或FAQ,即直接根據(jù)用戶的問題給出精準(zhǔn)的答案。

問答系統(tǒng)的業(yè)務(wù)場(chǎng)景應(yīng)用

適用于特殊環(huán)境下所限定的信息需求,在日常生活中,用戶會(huì)經(jīng)常碰到很多復(fù)雜的規(guī)章制度、規(guī)則條款。比如:乘坐火車時(shí),能不能帶寵物上火車;3歲小朋友是否需要買票等。

在工作中,也會(huì)面對(duì)公司多樣的政策。比如:商業(yè)保險(xiǎn)理賠需要什么材料,工作幾年可以辦理暫住證?這些情況下,經(jīng)常需要各種查詢或者檢索才能回復(fù)并解決用戶的疑問?;谶@類常見的業(yè)務(wù)場(chǎng)景就能更快速的搭建一套智能問答系統(tǒng)。

問答系統(tǒng)的價(jià)值

現(xiàn)階段智能問答系統(tǒng)最大價(jià)值就是為客服人員賦能,而非獨(dú)立于讓機(jī)器自行解決眾多目前還有很多錯(cuò)誤率和不確定性的問題。

問答系統(tǒng)的產(chǎn)品策略

現(xiàn)階段下的智能問答系統(tǒng)是有局限性的,這也是為什么需要落地到行業(yè)中某個(gè)垂直業(yè)務(wù)領(lǐng)域的主要原因。所以需要通過問答系統(tǒng)做出一個(gè)符合業(yè)務(wù)實(shí)際需求的產(chǎn)品策略,這樣能夠最大程度的提升用戶體驗(yàn)和增加用戶對(duì)系統(tǒng)的信心。

比如系統(tǒng)遇到不知道的問題,可以通過產(chǎn)品的兜底策略及時(shí)轉(zhuǎn)換其他服務(wù)(如:轉(zhuǎn)人工客服)或給出用戶可能想問的問題,為用戶提供一個(gè)便捷的方式,讓用戶有繼續(xù)操作的意愿。這樣大大提升了系統(tǒng)的可用性,而不需要完全依賴于算法。這樣成本也會(huì)低很多,效果也會(huì)好很多。這就是用產(chǎn)品策略來彌補(bǔ)算法本身的不足。然而在不同業(yè)務(wù)場(chǎng)景下所采用的兜底策略也是不同的,最重要的還是如何將兜底策略做的更加智能化。

上述介紹了一下問答系統(tǒng)的基本概念和產(chǎn)品的價(jià)值以及產(chǎn)品策略,后面為讀者分享的是如何搭建一套基于結(jié)構(gòu)化知識(shí)庫的問答型機(jī)器人。

問答型機(jī)器人搭建

問答型機(jī)器人(簡(jiǎn)稱FAQ問答系統(tǒng))目前被大量使用在電商、金融、銀行、旅游等行業(yè)中。本文就以旅游行業(yè)為例,詳細(xì)介紹如何設(shè)計(jì)并實(shí)現(xiàn)一個(gè)基于結(jié)構(gòu)化知識(shí)庫的問答系統(tǒng),數(shù)據(jù)來源:東方航空官網(wǎng)http://www.ceair.com(會(huì)員常見問題為例)。

系統(tǒng)介紹

用戶訴求

通過最短的對(duì)話輪次(一問一答),獲得精準(zhǔn)、直接的答案以及更好的完成任務(wù),來滿足用戶的需求。

實(shí)現(xiàn)目標(biāo)

系統(tǒng)根據(jù)用戶輸入問題,理解用戶的問題后,通過標(biāo)簽分類里的問題中匹配相似問句,并將答案反饋給用戶,以此來為用戶提供服務(wù)。

系統(tǒng)功能

在特定的垂直業(yè)務(wù)領(lǐng)域下,問答系統(tǒng)可以回答用戶所提出的一系列問題,其主要功能包括問句預(yù)處理、問句理解、問句相識(shí)度匹配和標(biāo)簽分類。

1)問句預(yù)處理:將用戶問句進(jìn)行分詞和詞性標(biāo)注

2)問句理解:提取問句中的關(guān)鍵詞

3)問句相似度匹配:將問句與每個(gè)標(biāo)簽分類下的問題進(jìn)行相似度計(jì)算后召回

4)標(biāo)簽分類:為問句添加標(biāo)簽,在標(biāo)簽分類下的問題匹配相似問題,以此來提升機(jī)器理解能力和匹配精度,同時(shí)也可以對(duì)問答對(duì)進(jìn)行分類化管理,可以按業(yè)務(wù)分類、問題所屬業(yè)務(wù)部門等自己需要的維度來管理問答對(duì),提高問答對(duì)的管理效率。標(biāo)簽分類根據(jù)實(shí)際業(yè)務(wù)場(chǎng)景需求進(jìn)行分類,切記標(biāo)注標(biāo)簽分類的時(shí)候需要保持?jǐn)?shù)據(jù)的一致性

產(chǎn)品結(jié)構(gòu)

用戶問題分類:

首先我們需要對(duì)問答系統(tǒng)需要支撐的業(yè)務(wù)進(jìn)行分析,然后把用戶將會(huì)問到的問題進(jìn)行歸類整理,并設(shè)計(jì)符合實(shí)際業(yè)務(wù)場(chǎng)景需求的分類。

問答型機(jī)器人適用場(chǎng)景:

適用于回答非用戶個(gè)性化的問題(即一問一答),返回的是靜態(tài)知識(shí),無需調(diào)用外部數(shù)據(jù)接口或調(diào)用知識(shí)圖譜返回答案。

問答型機(jī)器人處理流程:

圖1:?jiǎn)柎鹣到y(tǒng)處理流程圖

問答系統(tǒng)流程如下:

1)用戶提問:怎么樣才能注冊(cè)東方萬里行會(huì)員

2)問句預(yù)處理:將問句進(jìn)行分詞和詞性標(biāo)注(詞法分析)

分詞:?怎么樣 / 才能 / 注冊(cè) / 東方萬里行 / 會(huì)員

詞性標(biāo)注:代詞 名詞 動(dòng)詞 名詞 名詞

注:在對(duì)問句進(jìn)行分詞處理時(shí),可以加入領(lǐng)域詞庫進(jìn)行同義詞擴(kuò)展,如“上?!睌U(kuò)展為“滬”、“申城”;“東方航空”擴(kuò)展為“東航”,需要結(jié)合關(guān)鍵詞詞庫進(jìn)行識(shí)別

3)問句理解:提取問句中的關(guān)鍵詞

關(guān)鍵詞提?。?怎么樣 注冊(cè) 東方萬里行 會(huì)員

注:關(guān)鍵詞可以是名詞、動(dòng)詞、助詞、代詞,是描述某一類特征的詞,關(guān)鍵詞的顆粒度可以很粗(例如“我要申請(qǐng)”、“幫我申請(qǐng)”、“申請(qǐng)”),也可以有一定限度的泛化能力(例如:如何辦理東方萬里行會(huì)員中的“如何”就可以與“怎樣”、“怎么樣”)的代詞一起作為關(guān)鍵詞,并在計(jì)算句子相似度方面只考慮這些關(guān)鍵詞。

對(duì)于特定句某個(gè)名詞、代詞、動(dòng)詞、形容詞或副詞不一定是該句中的主語、賓語或謂語成分,但相對(duì)于句中所有的詞構(gòu)成的詞序列而言,關(guān)鍵詞序列卻具有一定的句法結(jié)構(gòu)信息表達(dá)能力,至少可以了解句子中的哪些詞在組成句子框架結(jié)構(gòu)方面是比較重要的。在此基礎(chǔ)上進(jìn)行相似度計(jì)算,比一般基于詞的方法更準(zhǔn)確。

4)問句相似度計(jì)算:將用戶問句與每個(gè)標(biāo)簽分類下的問題進(jìn)行相似度計(jì)算后召回,同時(shí)返回相似度最高的標(biāo)準(zhǔn)問題和所屬標(biāo)簽分類。

注:在這里主要講解的是產(chǎn)品設(shè)計(jì)思路,告知讀者在設(shè)計(jì)問答型機(jī)器人過程中會(huì)用到哪些NLP相關(guān)技術(shù),而不會(huì)詳解技術(shù)實(shí)現(xiàn)過程。

問句相似度計(jì)算方法1:基于多重信息的方法(關(guān)鍵詞加權(quán)的語句相似度計(jì)算),結(jié)合了語法和語義信息的改進(jìn)句子相似度計(jì)算方法。首先計(jì)算兩個(gè)句子的語法相似度(詞形、句長),借鑒基于詞信息和句法分析的方法,綜合考慮詞的相似度和句子結(jié)構(gòu)(長度)信息,結(jié)合同義詞詞林進(jìn)行句子語義的相似度計(jì)算。最后,考慮關(guān)鍵詞、句長、語義多重信息的一種融合算法,值得注意的一點(diǎn)是該方法需結(jié)合詞庫一起使用,其目的是提升分詞、關(guān)鍵詞提取、詞性權(quán)重標(biāo)注準(zhǔn)確率。

注:在計(jì)算語法相似度的時(shí)候需要注意的是關(guān)鍵詞出現(xiàn)的頻次應(yīng)該采用大規(guī)模語料進(jìn)行統(tǒng)計(jì),而在限定領(lǐng)域問答系統(tǒng)中,可以用簡(jiǎn)化的方法。根據(jù)經(jīng)驗(yàn),在實(shí)踐過程中發(fā)現(xiàn)名詞和動(dòng)詞在句子中起著非常重要的作用,并且名詞比動(dòng)詞承載著更多的信息量,一個(gè)句子的中心信息基本上都是圍繞著名詞和動(dòng)詞來展開的。

所以在進(jìn)行計(jì)算時(shí)也特意加大了名詞和動(dòng)詞的重要程度,將句子的重心落在名詞和動(dòng)詞上面,經(jīng)查閱論文資料根據(jù)實(shí)際經(jīng)驗(yàn),將句子相似度計(jì)算中權(quán)值分別是名詞類權(quán)重(W)為0.3;動(dòng)詞類權(quán)重(W)為 0.3;形容詞、代詞、副詞類權(quán)重(W)為 0.2。

問句相似度計(jì)算方法2:基于向量空間模型的方法。該方法把問句用向量來表示,計(jì)算2個(gè)句子的相似度就是計(jì)算2個(gè)向量的距離。

本文使用word2vec對(duì)句子進(jìn)行向量化表示,以作為 LSTM (即長短記憶神經(jīng)網(wǎng)絡(luò))神經(jīng)網(wǎng)絡(luò)的輸入實(shí)現(xiàn)問句相似度計(jì)算。而基于神經(jīng)網(wǎng)絡(luò)的詞向量模型,可以從大規(guī)模的文本數(shù)據(jù)中自動(dòng)學(xué)習(xí)數(shù)據(jù)的本質(zhì)信息,得到低維實(shí)數(shù)向量,很好地解決了傳統(tǒng)的詞向量模型。因?yàn)樵~語獨(dú)立性假設(shè)帶來的語義建模困難和維度爆炸問題。

用戶問句:

Q:怎么樣注冊(cè)東方萬里行會(huì)員

FAQ庫中的句子:

R1:如何辦理萬里行會(huì)員(標(biāo)簽分類:會(huì)員辦理)

R2:如何獲得會(huì)員卡(標(biāo)簽分類:領(lǐng)取會(huì)員卡)

R3:東方萬里行會(huì)員申請(qǐng)電話是多少(標(biāo)簽分類:咨詢電話)

R4:東方萬里行會(huì)員應(yīng)該怎樣申請(qǐng)(標(biāo)簽分類:會(huì)員辦理)

返回結(jié)果:(使用word2vec計(jì)算得出)

R1:如何辦理萬里行會(huì)員

0.8045011574330355

R2:如何獲得會(huì)員卡

0.6247308971541259

R3:東方萬里行會(huì)員申請(qǐng)電話是多少

0.7638216222999513

R4:東方萬里行會(huì)員應(yīng)該怎樣申請(qǐng)

0.9042637469903886

以上案例從人的主觀判斷可以看出問句Q實(shí)際上和R1,R4是同一個(gè)問題,與人的主觀判斷完全一致,同時(shí)也返回R4的標(biāo)簽分類“會(huì)員辦理”。

5)答案:精準(zhǔn)匹配,則將R1問題的答案返回給用戶

整體產(chǎn)品結(jié)構(gòu)圖

以下是問答系統(tǒng)整體產(chǎn)品結(jié)構(gòu)圖,主要圍繞核心模塊有問答管理、模型訓(xùn)練、關(guān)鍵詞管理、未知問題管理。則其余模塊不會(huì)做詳細(xì)講解。

圖3:?jiǎn)柎鹣到y(tǒng)產(chǎn)品結(jié)構(gòu)圖

問答管理模塊

問答型知識(shí)構(gòu)建是基于問答對(duì)中的問題匹配算法來設(shè)計(jì)的,所以首先需要搭建問答對(duì),而問答對(duì)是由標(biāo)準(zhǔn)問題和相似問題以及答案組成,通過新增相似問題來提升問答機(jī)器人的準(zhǔn)確率。

而標(biāo)簽分類能有效的對(duì)問答對(duì)進(jìn)行分類化管理,可以按業(yè)務(wù)分類、問題所屬業(yè)務(wù)部門等自己需要的維度來管理問答對(duì),提高問答對(duì)的管理效率。標(biāo)簽分類的用途是在特定標(biāo)簽分類里的問題中匹配相似問題,其目的是找到用戶問題的所屬標(biāo)簽分類。

圖4:?jiǎn)柎鸸芾?新建標(biāo)簽分類

問答對(duì)是由標(biāo)準(zhǔn)問題、相似問題、答案組成,而標(biāo)準(zhǔn)問題與答案的組合稱之為問答對(duì)。問答對(duì)支持一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多;當(dāng)問題中包含多個(gè)答案時(shí),答案隨機(jī)呈現(xiàn)。相似問題是標(biāo)準(zhǔn)問題的泛化,其表達(dá)的意思與標(biāo)準(zhǔn)問題是一樣的,其目的是匹配用戶問題最相似的問題,并反饋給用戶答案,問題樣本越多匹配的準(zhǔn)確率也就越高。

圖5:添加問答對(duì)產(chǎn)品原型

模型訓(xùn)練模塊

是將編輯好的問答對(duì)或新增相似問題加入到算法中進(jìn)行訓(xùn)練并生成模型,模型需要生效后才可使用。

關(guān)鍵詞管理模塊

關(guān)鍵詞在問答管理模塊中已經(jīng)有詳細(xì)的描述關(guān)鍵詞對(duì)整個(gè)問答管理模塊來說其重要性,以及關(guān)鍵詞的使用和發(fā)揮的作用。

圖6:關(guān)鍵詞管理產(chǎn)品原型

圖7:添加詞典值產(chǎn)品原型

未知問題管理模塊

未知問題是用戶與機(jī)器人在對(duì)話過程中未識(shí)別的問題,用戶可以對(duì)未知問題進(jìn)行標(biāo)注并添加至問題樣本中通過模型進(jìn)行訓(xùn)練。

圖8:未知問題管理產(chǎn)品原型

圖9:轉(zhuǎn)問題樣本產(chǎn)品原型

結(jié)束語

問答型機(jī)器人能否實(shí)現(xiàn)智能化,最直接的體現(xiàn)就是能否回答人類自然語言的問題,本文通過詳細(xì)介紹問答型機(jī)器人產(chǎn)品設(shè)計(jì)思路,以及深入研究問答型機(jī)器人處理流程。問答型機(jī)器人最核心的就是問句相似度計(jì)算,以及用戶自定義詞庫拓展同義詞來提高匹配準(zhǔn)確率,還有就是未知問題的處理并加入模型進(jìn)行訓(xùn)練。

本文還介紹了問句相似度計(jì)算的2種方法,一個(gè)方法是關(guān)鍵詞加權(quán)的語句相似度計(jì)算;另一個(gè)方法是word2vec結(jié)合LSTM神經(jīng)網(wǎng)絡(luò)的問句相似度計(jì)算。試驗(yàn)證明,word2vec來計(jì)算問句匹配的準(zhǔn)確率明顯要好。

至此,因本人一直從事NLP領(lǐng)域的智能問答系統(tǒng)產(chǎn)品設(shè)計(jì)工作。所以想把一些經(jīng)驗(yàn)分享給大家,相互學(xué)習(xí)和交流,后續(xù)還會(huì)持續(xù)更新基于知識(shí)圖譜的問答系統(tǒng)和多輪對(duì)話的產(chǎn)品設(shè)計(jì)。

 

本文@johnny113原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,不得轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 想問一個(gè)很傻的問題:FAQ庫是不是應(yīng)該由產(chǎn)品來維護(hù)?產(chǎn)品是不是需要exactly了解這個(gè)產(chǎn)品能回答什么問題這樣子

    來自中國 回復(fù)
    1. FAQ是由產(chǎn)品部門來維護(hù),有專門一個(gè)人會(huì)來維護(hù)這些數(shù)據(jù)

      來自上海 回復(fù)
  2. 怎樣加樓主微信,有一些問題想請(qǐng)教

    來自北京 回復(fù)
  3. 期待樓主出多輪對(duì)話的產(chǎn)品設(shè)計(jì)

    來自廣東 回復(fù)
  4. 和UNIT很像

    來自北京 回復(fù)
    1. 是的,我們當(dāng)時(shí)做的時(shí)候是參考unit的,百度的出unit 1.0版本的時(shí)候我們就研究過了,各方面體驗(yàn)還是不錯(cuò)的

      來自上海 回復(fù)
  5. 這寫的也太棒了??!請(qǐng)問圖中那個(gè)帶有問題管理,閾值設(shè)置等模塊的平臺(tái)是自己搭建的嗎?還是網(wǎng)上有?有沒有實(shí)現(xiàn)問答系統(tǒng)的源碼可以分享學(xué)習(xí)一下呢?不勝感激!

    回復(fù)
    1. 沒有源碼的喲!

      來自上海 回復(fù)
  6. 原型圖看的不是很清楚

    來自江西 回復(fù)
    1. 后續(xù)會(huì)把圖片給換掉,上傳后被壓縮了,要看圖片可以加微信發(fā)給你

      來自上海 回復(fù)
  7. 你好,可以推薦一下自然語言處理相關(guān)的書籍嗎

    來自廣東 回復(fù)
    1. 自然語言處理相關(guān)書籍其實(shí)都差不多,可以上京東看看,基礎(chǔ)知識(shí)都一樣,有一本書你可以看看就是吳軍寫的數(shù)學(xué)之美

      回復(fù)
  8. 寫的很好,坐等下一篇文章

    來自福建 回復(fù)
  9. 求把公眾號(hào)也留下來呀,可以經(jīng)常關(guān)注

    來自廣東 回復(fù)
    1. 我還沒開通自己的公眾號(hào),只是把自己在工作中的一些經(jīng)驗(yàn)寫下來

      來自江蘇 回復(fù)
    2. johnny_gxf

      回復(fù)
    3. 您好,在做傳統(tǒng)客服這塊,希望向智能客服轉(zhuǎn)下,加您下微信

      來自北京 回復(fù)
  10. 說得比較基礎(chǔ),但是說得很細(xì)致~??

    回復(fù)
    1. 是的,我的想法就是一步步來,先從最基礎(chǔ)的,很細(xì)致的來講解問答系統(tǒng)產(chǎn)品設(shè)計(jì)

      回復(fù)
    2. 現(xiàn)在很多智能客服都很寬泛,我想把每一步的步驟都詳細(xì)的寫出來,這樣對(duì)我們產(chǎn)品設(shè)計(jì)人來說也是一種學(xué)習(xí)或者說是參考資料

      回復(fù)
    3. 你好 有沒有詳細(xì)的產(chǎn)品資料可以參考呀,正在做一對(duì)一在線問答系統(tǒng)

      來自廣東 回復(fù)