傳統(tǒng)客服知識(shí)庫,如何進(jìn)行圖譜化改制以及具體的應(yīng)用?
基于結(jié)構(gòu)化數(shù)據(jù)的知識(shí)圖譜問答系統(tǒng)已經(jīng)非常成熟,并被廣泛應(yīng)用于搜索引擎及智能客服中。本文對(duì)這里面的內(nèi)容不在進(jìn)行贅述,主要為大家介紹傳統(tǒng)客服知識(shí)庫,如何進(jìn)行圖譜化改制及具體的應(yīng)用。
知識(shí)圖譜簡(jiǎn)述
知識(shí)圖譜,其實(shí)是知識(shí)工程這門學(xué)科的延伸,它將知識(shí)通過三元組的形式相互勾連起來。通過實(shí)體之間的相連的邊,定義出實(shí)體之間的關(guān)系。機(jī)器人通過實(shí)體識(shí)別解析出用戶問句中的實(shí)體,以識(shí)別到的實(shí)體作為父節(jié)點(diǎn),通過遍歷邏輯找出圖譜中對(duì)應(yīng)的實(shí)體和關(guān)系,進(jìn)而推理出用戶所需的答案。
接下來我們通過構(gòu)建一個(gè)簡(jiǎn)單的知識(shí)圖譜,來簡(jiǎn)單表示圖譜的知識(shí)推理流程。
如圖,我們構(gòu)建了“姚明”和“葉莉”兩個(gè)person entity,他們之間有一對(duì)相互的邊,這對(duì)邊的關(guān)系為“夫妻”。那么我們就可以能夠根據(jù)知識(shí)圖譜的結(jié)構(gòu)化數(shù)據(jù),進(jìn)行一個(gè)簡(jiǎn)單的知識(shí)推理。
Q:“姚明的老婆是誰”
A:“葉莉”
當(dāng)然,這樣基礎(chǔ)的問答已經(jīng)被搜索引擎廣泛應(yīng)用
如果說深度學(xué)習(xí)讓機(jī)器人有了更好的理解能力,那么知識(shí)圖譜就是給了機(jī)器人推理的能力。人們可以通過定義實(shí)體與實(shí)體之間的關(guān)系,從而讓機(jī)器進(jìn)行知識(shí)的推理。
但是圖譜在應(yīng)用中也存在著一定的劣勢(shì):
- 首先就是對(duì)結(jié)構(gòu)化數(shù)據(jù)的依賴性,由于構(gòu)建圖譜是一件成本很高的工作,因此目前更多的是依賴現(xiàn)有的結(jié)構(gòu)化數(shù)據(jù)進(jìn)行機(jī)器自動(dòng)構(gòu)建,自動(dòng)構(gòu)建對(duì)于非結(jié)構(gòu)化數(shù)據(jù)的處理,目前應(yīng)用仍然存在準(zhǔn)確率的問題。
- 其次便是實(shí)體識(shí)別的準(zhǔn)確性,只有實(shí)體識(shí)別準(zhǔn)確,圖譜的推理才能是有效且有用的,而當(dāng)實(shí)體的粒度及圖譜構(gòu)建的廣度到了一定時(shí),如何在大量的實(shí)體中精確命中就成了問題。
- 還有就是遍歷的邏輯,知識(shí)圖譜的推理依賴的就是遍歷邏輯,合適的遍歷邏輯才能使得圖譜的推理合理準(zhǔn)確。
- 最后一點(diǎn)就是實(shí)體歧義性問題,在客服會(huì)話場(chǎng)景中,用戶描述會(huì)隱含部分信息,例如:綁卡,這個(gè)“卡”可以是電話卡,也可以是銀行卡。
非結(jié)構(gòu)化知識(shí)庫圖譜化的好處
很多人會(huì)有一只疑問,既然目前智能客服準(zhǔn)確率已經(jīng)能夠達(dá)到了八九十的水平(目前各大公司宣傳),那么為什么還要花功夫去構(gòu)建知識(shí)圖譜呢?
用戶意圖不清、上下文
相似度模型計(jì)算的是用戶問句與知識(shí)庫中問句的相似度,這是一種單輪的問答對(duì)匹配,然而實(shí)際的場(chǎng)景中用戶,經(jīng)常會(huì)表述不清或者的表述會(huì)帶有上下文的關(guān)系。
例如:
很多人認(rèn)為這可以通過上下文的技術(shù)去解決,然后目前的上下文技術(shù)更多的是通過配置的詞類與句式實(shí)現(xiàn)的。
這就導(dǎo)致了:
- 難以完全覆蓋線上用戶的問法;
- 句式之間的沖突問題。
因此我們可以通過將知識(shí)庫進(jìn)行圖譜化,解決用戶意圖表述不清的問題。當(dāng)用戶表述不清無法獲取答案時(shí),我們將識(shí)別到的實(shí)體組合成交互話術(shù),向用戶進(jìn)行反問。
知識(shí)庫補(bǔ)全過濾
除了解決用戶表述不清、上下文問題,圖譜還能通過實(shí)體的組合,遍歷出所有可能的知識(shí)點(diǎn),補(bǔ)全庫中缺的知識(shí)點(diǎn),還可以通過實(shí)體組合找出知識(shí)庫中重復(fù)問句。
一般客服知識(shí)庫積累,是來源于坐席客服日常工作的積累,是一個(gè)多人參與維護(hù)的知識(shí)庫,不同人對(duì)同樣問句的表達(dá)會(huì)有偏差,這就導(dǎo)致了庫中存在一定比例的重復(fù)標(biāo)準(zhǔn)句。例如:有的標(biāo)準(zhǔn)句叫:XXX是什么,YYY是什么意思?
提高解析正確率
熟悉短文本相似度模型的人都知道,用于訓(xùn)練的樣本量是會(huì)影響特征在問句中的權(quán)重的。例如:“無法轉(zhuǎn)賬”這個(gè)問句的訓(xùn)練預(yù)料可能有上千句,但是“無法轉(zhuǎn)賬提示銀行卡余額不足”這個(gè)問句的訓(xùn)練預(yù)料可能就只有20多句。
那么模型訓(xùn)練后,就會(huì)存在用戶說:“轉(zhuǎn)不了錢,說是銀行卡里沒錢”,由于“無法轉(zhuǎn)賬”的特征權(quán)重過高,而預(yù)測(cè)出“無法轉(zhuǎn)賬”。然后知識(shí)圖譜的實(shí)體識(shí)別,就能夠通過識(shí)別用戶問句中的實(shí)體,遍歷出正確的結(jié)果。
知識(shí)圖譜在非結(jié)構(gòu)化知識(shí)庫中的應(yīng)用難點(diǎn)
功能很美好,但是如何將傳統(tǒng)的客服知識(shí)庫進(jìn)行圖譜化改造確實(shí)一個(gè)難題。智能客服一般都是在原有的客服知識(shí)庫基礎(chǔ)上,通過深度學(xué)習(xí)的方式,訓(xùn)練短文本相似度模型,實(shí)現(xiàn)準(zhǔn)確問答的。
客服知識(shí)庫一般是一個(gè)被維護(hù)到穩(wěn)定狀態(tài)的知識(shí)庫,雖然有的知識(shí)庫會(huì)有知識(shí)點(diǎn)分類,將標(biāo)準(zhǔn)問句根據(jù)知識(shí)點(diǎn)的層級(jí)關(guān)系進(jìn)行分類,但是這也是一種非結(jié)構(gòu)化數(shù)據(jù)。
客服知識(shí)庫的圖譜化與常見的知識(shí)圖譜,還是會(huì)有一定的區(qū)分:
- 知識(shí)庫圖譜化更多是的基于語義的抽取,而非答案的抽?。?/li>
- 知識(shí)庫圖譜化是一個(gè)有邊際的圖譜,層級(jí)會(huì)限制在一定范圍內(nèi);
- 知識(shí)庫圖譜化的實(shí)體不一定只是一個(gè)詞,也可能是一個(gè)短語,例如:提示綁卡失敗。
在我們圖譜化的工作中以下幾個(gè)具體的問題就是我們要解決的:
- schema構(gòu)建問題:在開始做之前,我們先要明確我們需要構(gòu)建的schema框架、邊的類型及定義,schema的構(gòu)建直接決定了圖譜的交互邏輯及遍歷邏輯。
- 實(shí)體抽取問題:如何定義實(shí)體、實(shí)體?如何從大量的標(biāo)準(zhǔn)句中抽取出來?
- 遍歷邏輯:當(dāng)我們命中到了實(shí)體后,如何進(jìn)行遍歷——即遍歷后的交互如何設(shè)計(jì)?也是需要考慮的。
- 實(shí)體不同階段名稱不同:同樣的事、物在整個(gè)業(yè)務(wù)的不同階段的稱呼會(huì)存在差別,而用戶不會(huì)進(jìn)行這么細(xì)致的區(qū)分,例如:銀行卡在綁定后進(jìn)行理財(cái)時(shí)叫理財(cái)卡,進(jìn)行支付操作是叫支付卡。
- 業(yè)務(wù)復(fù)雜導(dǎo)致的實(shí)體歧義性:當(dāng)app業(yè)務(wù)交叉較多時(shí),會(huì)出現(xiàn)這種情況,例如:卡可能對(duì)應(yīng)的話費(fèi)卡,也可能是銀行卡。
- schema的時(shí)效性問題:由于客服知識(shí)庫是持續(xù)維護(hù)更新的,維護(hù)包括了新增、刪除、合并、挑戰(zhàn),那么圖譜也需要同步更新。如果圖譜未進(jìn)行對(duì)應(yīng)的更新,那么就會(huì)存在新知識(shí)無法圖譜不認(rèn)識(shí),刪除了的識(shí)別出來無法獲取答案。
圖譜化流程
schema構(gòu)建
構(gòu)建圖譜的第一步就是先確定圖譜的結(jié)構(gòu),定義結(jié)構(gòu)我們可以先根據(jù)知識(shí)庫中現(xiàn)有的標(biāo)準(zhǔn)句,確定圖譜構(gòu)建的層級(jí)。一般我們會(huì)將圖譜構(gòu)建成三層的主框架,分別為業(yè)務(wù)、框架、類型。
例如:花唄還款失敗,我們會(huì)拆解為:花唄-還款-失敗。
當(dāng)我們有了基本的基本的主框架結(jié)構(gòu)后,基本上就能夠覆蓋線上大部分常見問題,但是這并不是我們解決問題的主要方式,因?yàn)檫€有很多句子并不是這樣的簡(jiǎn)單句。
例如:賬戶余額還花唄失敗怎么辦,這時(shí)我們相對(duì)于上面的標(biāo)準(zhǔn)句,增加了一個(gè)條件,即:賬戶余額。那么我們可以在主框架的基礎(chǔ)上增加一層的子實(shí)體,這個(gè)子實(shí)體可以是業(yè)務(wù),也可以是框架的下位。
實(shí)體抽取與定義
當(dāng)我們定義好了schema的框架和邊之后,那么我們剩下的工作就是把標(biāo)準(zhǔn)問進(jìn)行拆拆拆了。當(dāng)我們拆分時(shí),我們需要做好拆分的定義文檔,避免實(shí)體的重復(fù)。例如:當(dāng)我們定義好了一個(gè)動(dòng)詞,為開通,通過如下的文檔備注,就可以避免其他抽取實(shí)體的將開展也作為一個(gè)實(shí)體進(jìn)行標(biāo)注。
這里給大家介紹兩個(gè)實(shí)體抽取工具(應(yīng)用前應(yīng)先明確實(shí)體的定義,避免抽取時(shí)混亂)
(1)詞共現(xiàn)
我們可以通過詞共現(xiàn)算法對(duì)所有的問句進(jìn)行處理,這樣我們就可以很快得篩選出業(yè)務(wù)下面的框架、子業(yè)務(wù)實(shí)體,框架下的類型及子框架。
(2)句式結(jié)構(gòu)拆分
句式結(jié)構(gòu)拆分,即我們通過句式的結(jié)構(gòu)將標(biāo)準(zhǔn)問進(jìn)行拆分,當(dāng)標(biāo)準(zhǔn)句句式比較規(guī)范時(shí),我們可以采用,適合有知識(shí)庫維護(hù)標(biāo)準(zhǔn)的業(yè)務(wù)方。
實(shí)體識(shí)別
知識(shí)圖譜的實(shí)體識(shí)別目前業(yè)界已經(jīng)有成熟的方案,這里不再作贅述。但是在智能客服的場(chǎng)景中的應(yīng)用,考慮到上下文的情況,上一輪識(shí)別的實(shí)體結(jié)果也是下一路實(shí)體識(shí)別的輸入之一。
遍歷、交互邏輯
遍歷的邏輯設(shè)計(jì),是根據(jù)實(shí)體識(shí)別的結(jié)果進(jìn)行設(shè)計(jì)的,由于采用的是三層的結(jié)構(gòu),因此一共會(huì)有三類識(shí)別結(jié)果:只解析到一層實(shí)體;解析到兩層實(shí)體;三層實(shí)體都解析到。
這里我們進(jìn)行分開講述:
(1)一層實(shí)體
解析到一層實(shí)體時(shí),我們不用考慮解析到的具體情況,我們可以直接將識(shí)別到的結(jié)果解析反問,例如:您是遇到了花唄的什么問題。
(2)兩層實(shí)體
當(dāng)解析到兩層實(shí)體時(shí)就會(huì)存在兩種情況:
- 一種是兩個(gè)實(shí)體之間存在邊連接;
- 另一種是兩個(gè)實(shí)體之間不存在邊進(jìn)行連接。
當(dāng)它們之間存在邊連接時(shí),那么我們可以將同樣具有著兩個(gè)實(shí)體的路徑實(shí)體拿出來進(jìn)行交互。
如果兩個(gè)實(shí)體之間沒有邊連接,那么我們就只能拿置信度高的實(shí)體作為遍歷的起始節(jié)點(diǎn),交互邏輯和只解析到一層實(shí)體一致。
(3)三層實(shí)體
當(dāng)解析到三層實(shí)體時(shí),那么存在的情況就會(huì)有三種:
- 一種是三個(gè)可以組成一個(gè)標(biāo)準(zhǔn)問;
- 一種是其中兩個(gè)有變進(jìn)行聯(lián)系;
- 還有一種則是三層實(shí)體均無邊進(jìn)行連接。
第一種情況時(shí),那么我們可以直接給用戶一個(gè)答案作為回應(yīng);第二種情況則交互邏輯同解析到兩層實(shí)體一致;第三種情況則交互邏輯與解析到一層實(shí)體一致。
解析方案設(shè)計(jì)
圖譜的解析和短文本相似度解析是并發(fā)的結(jié)構(gòu),這就類似于融合模型一樣,通過多套解析方案的融合,使得解析的效果達(dá)到一個(gè)理想的狀態(tài)。
圖譜和相似度模型的解析效果是一個(gè)交叉的,所以我們通過對(duì)兩個(gè)解析結(jié)果的組合,就可以實(shí)現(xiàn)正確率的提升。
- 當(dāng)兩個(gè)解析結(jié)果一致時(shí),我們給出一個(gè)結(jié)果;
- 當(dāng)其中一個(gè)有結(jié)果,一個(gè)無結(jié)果時(shí),我們給出一個(gè)預(yù)測(cè)結(jié)果;
- 當(dāng)他們給出了不一樣的結(jié)果時(shí),我們通過評(píng)估得出的閾值,給出預(yù)測(cè)的結(jié)果;
- 如果兩個(gè)模型都沒有結(jié)果時(shí),我們認(rèn)為解析失敗,機(jī)器人進(jìn)行兜底。
本文由 @祝楠 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Pixabay,基于 CC0 協(xié)議
你好,想要咨詢一下有關(guān)知識(shí)圖譜構(gòu)建的問題,可以加微信交流一下嗎
求微信交流
感謝分享,可以交流嗎?我的微信是NDLZYZ
大佬,想請(qǐng)教問題
您好,可以加個(gè)微信 咨詢一下嗎
你微信是多少啊,我加你
樓主你好,方便加個(gè)微信,咨詢下相關(guān)的問題么 ??
AI產(chǎn)品經(jīng)理,需要如此透徹的了解技術(shù)相關(guān)語言嗎?
如果是,那研發(fā)轉(zhuǎn)AI產(chǎn)品經(jīng)理的優(yōu)勢(shì)就極大體現(xiàn)了
你好,看了你的文章很有啟發(fā),能詳細(xì)溝通一下嗎?(ebele_)
我們正在做這塊,在簡(jiǎn)書上也看到你的文章,苦于聯(lián)系不到你,能加微信交流下嗎,laoqi-hengqiu
可以加微信交流一下嗎
可以啊,你微信號(hào)多少
可以加微信嗎?
可以加個(gè)微信嗎?
請(qǐng)教一個(gè)問題,解析之后得到置信度高的結(jié)果之后,如何吐出答案呢?還是會(huì)像傳統(tǒng)的結(jié)構(gòu)化客服知識(shí)庫那樣,匹配qid返回答案嗎
知識(shí)圖譜中的標(biāo)準(zhǔn)問句是實(shí)體的組合,識(shí)別到實(shí)體后就可以映射到標(biāo)準(zhǔn)句上
感謝科普
感謝支持~
贊
謝謝支持~
很好
不錯(cuò)