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