傳統(tǒng)客服知識(shí)庫,如何進(jìn)行圖譜化改制以及具體的應(yīng)用?

22 評(píng)論 21526 瀏覽 167 收藏 16 分鐘

基于結(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)致了:

  1. 難以完全覆蓋線上用戶的問法;
  2. 句式之間的沖突問題。

因此我們可以通過將知識(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ū)分:

  1. 知識(shí)庫圖譜化更多是的基于語義的抽取,而非答案的抽?。?/li>
  2. 知識(shí)庫圖譜化是一個(gè)有邊際的圖譜,層級(jí)會(huì)限制在一定范圍內(nèi);
  3. 知識(shí)庫圖譜化的實(shí)體不一定只是一個(gè)詞,也可能是一個(gè)短語,例如:提示綁卡失敗。

在我們圖譜化的工作中以下幾個(gè)具體的問題就是我們要解決的:

  1. schema構(gòu)建問題:在開始做之前,我們先要明確我們需要構(gòu)建的schema框架、邊的類型及定義,schema的構(gòu)建直接決定了圖譜的交互邏輯及遍歷邏輯。
  2. 實(shí)體抽取問題:如何定義實(shí)體、實(shí)體?如何從大量的標(biāo)準(zhǔn)句中抽取出來?
  3. 遍歷邏輯:當(dāng)我們命中到了實(shí)體后,如何進(jìn)行遍歷——即遍歷后的交互如何設(shè)計(jì)?也是需要考慮的。
  4. 實(shí)體不同階段名稱不同:同樣的事、物在整個(gè)業(yè)務(wù)的不同階段的稱呼會(huì)存在差別,而用戶不會(huì)進(jìn)行這么細(xì)致的區(qū)分,例如:銀行卡在綁定后進(jìn)行理財(cái)時(shí)叫理財(cái)卡,進(jìn)行支付操作是叫支付卡。
  5. 業(yè)務(wù)復(fù)雜導(dǎo)致的實(shí)體歧義性:當(dāng)app業(yè)務(wù)交叉較多時(shí),會(huì)出現(xiàn)這種情況,例如:卡可能對(duì)應(yīng)的話費(fèi)卡,也可能是銀行卡。
  6. 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)正確率的提升。

  1. 當(dāng)兩個(gè)解析結(jié)果一致時(shí),我們給出一個(gè)結(jié)果;
  2. 當(dāng)其中一個(gè)有結(jié)果,一個(gè)無結(jié)果時(shí),我們給出一個(gè)預(yù)測(cè)結(jié)果;
  3. 當(dāng)他們給出了不一樣的結(jié)果時(shí),我們通過評(píng)估得出的閾值,給出預(yù)測(cè)的結(jié)果;
  4. 如果兩個(gè)模型都沒有結(jié)果時(shí),我們認(rèn)為解析失敗,機(jī)器人進(jìn)行兜底。

 

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

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

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 你好,想要咨詢一下有關(guān)知識(shí)圖譜構(gòu)建的問題,可以加微信交流一下嗎

    來自四川 回復(fù)
  2. 求微信交流

    回復(fù)
  3. 感謝分享,可以交流嗎?我的微信是NDLZYZ

    來自浙江 回復(fù)
  4. 大佬,想請(qǐng)教問題

    來自浙江 回復(fù)
  5. 您好,可以加個(gè)微信 咨詢一下嗎

    來自北京 回復(fù)
    1. 你微信是多少啊,我加你

      來自上海 回復(fù)
  6. 樓主你好,方便加個(gè)微信,咨詢下相關(guān)的問題么 ??

    來自江蘇 回復(fù)
  7. AI產(chǎn)品經(jīng)理,需要如此透徹的了解技術(shù)相關(guān)語言嗎?
    如果是,那研發(fā)轉(zhuǎn)AI產(chǎn)品經(jīng)理的優(yōu)勢(shì)就極大體現(xiàn)了

    來自北京 回復(fù)
  8. 你好,看了你的文章很有啟發(fā),能詳細(xì)溝通一下嗎?(ebele_)

    來自重慶 回復(fù)
  9. 我們正在做這塊,在簡(jiǎn)書上也看到你的文章,苦于聯(lián)系不到你,能加微信交流下嗎,laoqi-hengqiu

    來自北京 回復(fù)
  10. 可以加微信交流一下嗎

    來自北京 回復(fù)
    1. 可以啊,你微信號(hào)多少

      來自廣東 回復(fù)
    2. 可以加微信嗎?

      回復(fù)
    3. 可以加個(gè)微信嗎?

      回復(fù)
  11. 請(qǐng)教一個(gè)問題,解析之后得到置信度高的結(jié)果之后,如何吐出答案呢?還是會(huì)像傳統(tǒng)的結(jié)構(gòu)化客服知識(shí)庫那樣,匹配qid返回答案嗎

    來自北京 回復(fù)
    1. 知識(shí)圖譜中的標(biāo)準(zhǔn)問句是實(shí)體的組合,識(shí)別到實(shí)體后就可以映射到標(biāo)準(zhǔn)句上

      來自廣東 回復(fù)
  12. 感謝科普

    來自浙江 回復(fù)
    1. 感謝支持~

      來自浙江 回復(fù)
  13. 來自北京 回復(fù)
    1. 謝謝支持~

      來自浙江 回復(fù)
    2. 很好

      回復(fù)
    3. 不錯(cuò)

      回復(fù)