構建人機對話(huà)系統過(guò)程主要包括分析定義、知識編纂、系統搭建、構造應用及積累迭代幾個(gè)階段。
其中,知識編纂和系統搭建之間是交替進(jìn)行的,基于已編纂的知識先搭建模型查看其效果,再反過(guò)來(lái)補充知識。另外,當模型搭建好之后,會(huì )進(jìn)入積累迭代的過(guò)程,該過(guò)程可長(cháng)時(shí)間持續收集用戶(hù)數據,根據數據進(jìn)行某種動(dòng)畫(huà)的或人工輔助的標注,從而產(chǎn)生數據回流到知識編纂階段,進(jìn)一步豐富語(yǔ)料、模板、詞典等,這是對話(huà)系統構建流程中規模較大的產(chǎn)品持續迭代階段,如下圖所示:

圖:人機對話(huà)系統的構建過(guò)程
為有效支持產(chǎn)品的持續迭代,需要人機對話(huà)系統滿(mǎn)足兩個(gè)要求:
- 知識庫的構建維護,方便管理員內部進(jìn)行知識庫的創(chuàng )建;
- 流程的可配置,可采?組件化的思路,只需要拖拽出相應的功能節點(diǎn),完善節點(diǎn)配置項,即可實(shí)現?個(gè)復雜的完整對話(huà)流程。
一、對話(huà)數據采集
垂直領(lǐng)域或者被稱(chēng)為封閉領(lǐng)域的機器人,是指對話(huà)系統的輸入和輸出的空間可能是有限的。這些機器人系統都試圖實(shí)現一個(gè)非常特定的目標。機器人通過(guò)分發(fā)功能模塊(在人機對話(huà)過(guò)程中初步獲取用戶(hù)意圖)對當前會(huì )話(huà)做判斷與分發(fā),分配到相應的服務(wù)組件中,機器人的對話(huà)流如下圖所示:

圖:用戶(hù)對話(huà)流
由上圖易見(jiàn),一通熱線(xiàn)電話(huà)是由多個(gè)主節點(diǎn)及子節點(diǎn)構成。本文中主節點(diǎn)具有分發(fā)功能,可分為開(kāi)場(chǎng)白分發(fā)主節點(diǎn)、非開(kāi)場(chǎng)白分發(fā)主節點(diǎn)以及通話(huà)結束主節點(diǎn),能夠將當前對話(huà)流分配到相應的服務(wù)組件中執行任務(wù)流程;任務(wù)流程是由多個(gè)子節點(diǎn)構成,通過(guò)多個(gè)輪次的對話(huà)來(lái)獲取必要的信息以最終得到明確的用戶(hù)指令方式。以快遞領(lǐng)域機器人為例,熱線(xiàn)通話(huà)標志如下圖所示:

圖:熱線(xiàn)通話(huà)標志
在上述分析中可知,對話(huà)系統主要實(shí)現分發(fā)和執行任務(wù),因此采集對話(huà)數據需要在相應的節點(diǎn)上進(jìn)行埋點(diǎn)對會(huì )話(huà)交互數據進(jìn)行標志,如下圖所示:

圖:對話(huà)歷史采集埋點(diǎn)示意圖
二、對話(huà)數據分析
把特定的對話(huà)節點(diǎn)看作一個(gè)問(wèn)題域,可較好的捕獲用戶(hù)說(shuō)話(huà)的習慣和領(lǐng)域用語(yǔ),某一節點(diǎn)場(chǎng)景下機器人與客戶(hù)的對話(huà)可限定在某個(gè)問(wèn)題域內進(jìn)行。利用日志數據,學(xué)習用戶(hù)的語(yǔ)言使用習慣,從日志中自動(dòng)抽取文本信息并進(jìn)行結構化存儲,如下圖所示。

圖:節點(diǎn)數據分析示意圖
ASR識別后文本是由一個(gè)個(gè)詞構成的詞序列,其中某些詞對于理解整個(gè)句子有著(zhù)非常重要的作用,這就是所說(shuō)的關(guān)鍵詞。在這一步要做的就是提取出這些關(guān)鍵詞,形成子串,作為下一步“問(wèn)題理解”的輸入,這種處理同時(shí)也是為了降低“問(wèn)題理解”時(shí)的難度,如下圖所示。

圖:子串的問(wèn)題理解示意圖
對句子進(jìn)行準確的理解,并不需要考慮句子中的每個(gè)詞,只需對幾個(gè)蘊含關(guān)鍵概念的子串進(jìn)行理解就能把握句子的意義。詞串識別技術(shù)從語(yǔ)句中抽取用戶(hù)關(guān)心的關(guān)鍵信息,能夠降低對識別系統和環(huán)境噪聲的要求。
三、分發(fā)主節點(diǎn)數據分析
分發(fā)主節點(diǎn)主要實(shí)現分發(fā)功能,將對話(huà)分配到問(wèn)答類(lèi)數據服務(wù)、任務(wù)類(lèi)數據服務(wù)、拒識類(lèi)數據服務(wù)及其他服務(wù),如下圖所示:

圖:分發(fā)主節點(diǎn)數據服務(wù)類(lèi)型
以快遞物流領(lǐng)域的對話(huà)語(yǔ)料為基礎。對話(huà)過(guò)程是兩個(gè)人通過(guò)電話(huà)以一問(wèn)一答的形式進(jìn)行的,電話(huà)一端代表客戶(hù),另一端是智能語(yǔ)音客服機器人,客戶(hù)端說(shuō)話(huà)方式完全是自由的和隨意的。
為了表述方便,我們首先給出如下定義:
1、定義1
對話(huà)語(yǔ)句(Utterance)從對話(huà)者一方開(kāi)始講話(huà)到講完停下或被對方強行打斷為止,所說(shuō)的全部?jì)热莘Q(chēng)作一個(gè)對話(huà)語(yǔ)句。
2、定義2
對話(huà)子句(Dialog sentence)一個(gè)對話(huà)語(yǔ)句中所包含的關(guān)鍵子句,稱(chēng)作對話(huà)子句。
3、定義3
N-Gram元組(N-Gramtuple)一個(gè)對話(huà)子句中所包含的N-Gram關(guān)鍵字符串,稱(chēng)作N-Gram元組。
對Utterance進(jìn)行子句抽取,如下圖所示:

圖:子句抽取流程圖
對Sentence依據數據服務(wù)類(lèi)型進(jìn)行標注,索引化存儲,如下圖所示:

圖:分發(fā)主節點(diǎn)數據結構化示意圖
對一條Utterance抽取Sentence的情況如下圖所示:

圖:Utterance抽取Sentence的分類(lèi)
對于Sentence=[]的Utterance在在線(xiàn)處理時(shí)需先通過(guò)前置精確匹配模塊將穩定識別錯誤類(lèi)、語(yǔ)氣詞類(lèi)的Utterance精確指向到相對應的服務(wù)去,因此,在線(xiàn)數據處理流程如下圖所示:

圖:分發(fā)主節點(diǎn)數據在線(xiàn)處理流程
關(guān)于垂直應用場(chǎng)景下歷史對話(huà)數據的采集及分析的介紹就到這了,壹鴿科技后續將會(huì )為大家帶來(lái)更多相關(guān)的技術(shù)講解,敬請期待吧!