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