分享 UNIT 核心技術(shù)的,是百度理解與交互技術(shù)平臺(tái)(Understanding and Interaction Technology, UNIT)的技術(shù)負(fù)責(zé)人孫珂,他著重講解了百度在理解與交互方面所做的工作,同時(shí)也介紹了背后的核心技術(shù)。
要明晰什么是 UNIT 技術(shù),先看對(duì)話系統(tǒng)簡(jiǎn)單的組成部分。
首先,當(dāng)用戶通過語音說出一條需求后,首先要經(jīng)過 ASR 進(jìn)行語音識(shí)別,轉(zhuǎn)成文字,之后會(huì)進(jìn)入語言理解(NLU)的部分,將文字中蘊(yùn)含的”意圖”和”詞槽”提煉出來,并通過對(duì)話狀態(tài)管理(DST)將其與歷史的對(duì)話狀態(tài)進(jìn)行整合;此后計(jì)算機(jī)需要根據(jù)當(dāng)前的對(duì)話狀態(tài),通過動(dòng)作候選排序(POLICY)從后臺(tái)用戶配置的多個(gè)系統(tǒng)動(dòng)作中,選擇一個(gè)符合當(dāng)前狀態(tài)的。得到應(yīng)該執(zhí)行的動(dòng)作后,對(duì)話系統(tǒng)會(huì)再通過語言生成(NLG)和語音合成(TTS),與用戶做出互動(dòng)。
而在語言理解地部分,孫珂進(jìn)一步解釋道,要精準(zhǔn)地讓機(jī)器理解,重點(diǎn)是把握“意圖”和其中的”詞槽”。
通俗的來講,要想理解一句話,光是看懂每個(gè)字是不夠的,需要理解它背后所蘊(yùn)含的需求和指令并將其轉(zhuǎn)換為計(jì)算機(jī)能夠識(shí)別的表達(dá)形式,這就是語言理解(NLU)。以“今晚六點(diǎn)幫我在全聚德預(yù)約一個(gè)包間,十個(gè)人”這句話為例,UNIT的NLU模型可以分析出來,其意圖是要預(yù)定餐館。同時(shí)其中還包含一些關(guān)鍵的條件信息,如餐廳是全聚德,時(shí)間是6點(diǎn),這些叫做詞槽。
除了語言理解之外,要想打造一個(gè)較為完善的對(duì)話系統(tǒng),交互能力也是不可獲取的。孫珂介紹了UNIT提供的兩種交互能力:澄清與推薦。所謂澄清指的是,當(dāng)用戶的需求中缺乏一些必要條件時(shí),需要對(duì)話系統(tǒng)主動(dòng)發(fā)問,把必要條件全部集齊之后再去做終的滿足執(zhí)行。而所謂推薦指的是,當(dāng)用戶訂了餐廳后,機(jī)器還應(yīng)幫他推薦打車的服務(wù),例如把“您還需要叫車嗎”這樣的需求,主動(dòng)引導(dǎo)出來,完成場(chǎng)景的關(guān)聯(lián)。
UNIT 除了面向精確意圖與詞槽解析的對(duì)話能力之外,還提供了面向問答匹配的對(duì)話能力,可以滿足對(duì)用戶提供的問答資源進(jìn)行直接匹配檢索的需求。當(dāng)然,對(duì)于一個(gè)完整的對(duì)話系統(tǒng)而言,問答匹配也不僅僅是理解,也需要有交互能力的配合。
例如,在智能客服的場(chǎng)景中,用戶提出的第一個(gè)問題可能并不精確。他可能一開始只會(huì)說想貸款,這個(gè)時(shí)候,對(duì)話系統(tǒng)是不可能將所有貸款相關(guān)的問題都反饋給用戶去做選擇的,而是應(yīng)該像電話客服一樣,一層一層深入地將用戶引導(dǎo)至他想要了解的部分。
兩種對(duì)話理解的能力,和與之配套的交互能力,構(gòu)成了整個(gè) UNIT 對(duì)話理解能力的全貌。
對(duì)開發(fā)者而言,更關(guān)心的可能是 UNIT 的整體框架。孫柯介紹道,UNIT 整體框架包括兩個(gè)主要模塊,一個(gè)是學(xué)習(xí)模塊,一個(gè)是在線服務(wù)模塊。
其中,學(xué)習(xí)模塊包括有快速生效、持續(xù)優(yōu)化、預(yù)置能力、對(duì)話邏輯四種能力。
從流程上來講,開發(fā)者從學(xué)習(xí)模塊開始,需要定義自己的場(chǎng)景、詞槽等,并提供一定量訓(xùn)練樣本等,并終通過這個(gè)模塊學(xué)習(xí)出自己的對(duì)話模型。對(duì)話模型學(xué)習(xí)好之后,可以推送到在線服務(wù)模塊中。在這里,在線服務(wù)模塊會(huì)整體理解用戶的當(dāng)前需求與歷史狀態(tài),完成意圖和詞槽的解析工作,并通過后繼的對(duì)話狀態(tài)管理和候選動(dòng)作選擇模塊完成對(duì)話動(dòng)作的選擇。終得出的動(dòng)作可以被開發(fā)者在本地用于完成函數(shù)的執(zhí)行和資源的整合,并終生產(chǎn)出對(duì)用戶的回應(yīng)。
具體到這背后的核心技術(shù),孫珂首先講解了多引擎驅(qū)動(dòng)的 QUERY 理解與匹配技術(shù),它能夠讓機(jī)器快速獲得理解與匹配能力,并且持續(xù)優(yōu)化。
孫珂解釋說,目前UNIT提供的系統(tǒng)詞槽識(shí)別能力有20多種,與之搭配的是詞槽靈活的組裝能力。舉例而言,系統(tǒng)提供了一個(gè)識(shí)別“明星”的詞槽,開發(fā)者有一個(gè)很喜歡的明星,但是機(jī)器不認(rèn)識(shí),這種情況下可以把名字作為詞典或規(guī)則,與系統(tǒng)詞槽進(jìn)行組合并整體完成識(shí)別輸出。此外,UNIT平臺(tái)還預(yù)置有十余個(gè)對(duì)話場(chǎng)景,如天氣、商超、地圖、外賣等,預(yù)計(jì)近期會(huì)開放給第三方使用。
此外,UNIT還提供了基于海量用戶數(shù)據(jù)的訓(xùn)練數(shù)據(jù)的擴(kuò)展能力,并在其中整合了主動(dòng)學(xué)習(xí)的能力,幫助開發(fā)者更加快速、精確的優(yōu)化自己的理解模型。
基于一個(gè)傳統(tǒng)的雙向 GRNN 和 CRF 的意圖識(shí)別網(wǎng)絡(luò),UNIT 進(jìn)一步增強(qiáng)了對(duì)知識(shí)的整合能力。比如對(duì)于“北京明天下雨嗎”這樣的一條 QUERY,UNIT 會(huì)在詞輸入的基礎(chǔ)上,將其進(jìn)一步轉(zhuǎn)化為知識(shí),并融入到系統(tǒng)之中。目前,融合了知識(shí)的理解模型可以幫助開發(fā)者用更少的語料得到更好的理解模型,減輕開發(fā)者的數(shù)據(jù)標(biāo)注成本。
什么是零門檻的訓(xùn)練師模式?
開發(fā)者定制一個(gè)任務(wù)機(jī)器人,用來與用戶進(jìn)行交流。但是UNIT在這其中,增加了響應(yīng)用戶反饋的邏輯,努力讓對(duì)話變得更加順暢,讓用戶更輕松的糾正任務(wù)機(jī)器人的錯(cuò)誤,完成所求。同時(shí)也完成了對(duì)錯(cuò)誤的學(xué)習(xí),糾正一次,再也不會(huì)犯同樣的錯(cuò)誤。
雷鋒網(wǎng)了解到,UNIT 在對(duì)話流管理方面,也提供了大量的定制化功能。例如,對(duì)話單元與對(duì)話單元之間,對(duì)話單元與問答單元之間,都可以通過定制規(guī)則進(jìn)行串聯(lián)與引導(dǎo)。同時(shí),UNIT 的對(duì)話管理也可以很輕松的完成意圖切換、意圖澄清、詞槽切換、詞槽澄清等對(duì)話功能。所有的對(duì)話流程管理,都被梳理為銜接規(guī)則,用戶可以針對(duì)當(dāng)前或歷史對(duì)話、意圖詞槽去完成存在、包含、等于等對(duì)話跳轉(zhuǎn)規(guī)則的定制。
孫后說:
如果期望對(duì)話系統(tǒng)的效果達(dá)到預(yù)想中的智能程度,我們需要耐心的使用 UNIT 平臺(tái)去一點(diǎn)點(diǎn)打磨自己對(duì)話系統(tǒng)的效果。通過 UNIT 提供的眾多優(yōu)化手段,開發(fā)者可以有選擇地組合使用,通過提供相應(yīng)的必要的數(shù)據(jù),來完成理解效果從快速生效到持續(xù)優(yōu)化并終實(shí)現(xiàn)質(zhì)變的突破。官方微博
官方微信公眾號(hào)
官方百家號(hào)