歡迎大家來到第二章的第五節(jié),UNIT的整體介紹。
上一節(jié)課我們介紹了需要搭建一個(gè)對(duì)話系統(tǒng)的五個(gè)步驟,這節(jié)課我們先來復(fù)習(xí)一下:
1. 我們需要定義對(duì)話系統(tǒng);
2. 我們需要富集數(shù)據(jù)資源;
3. 我們需要搭建系統(tǒng)、訓(xùn)練、評(píng)價(jià)和調(diào)優(yōu);
4. 我們需要系統(tǒng)接入;
5. 我們需要進(jìn)行運(yùn)營迭代;
在第五步我們需要將結(jié)果反饋到第二步以及第三步上,通過運(yùn)營數(shù)據(jù),更好的收集數(shù)據(jù)資源進(jìn)而更好的搭建系統(tǒng)。
給大家舉一個(gè)例子:百度的地圖語音交互項(xiàng)目,經(jīng)過了數(shù)個(gè)深度學(xué)習(xí)對(duì)話系統(tǒng),NLP數(shù)據(jù)挖掘資深工程師,他們花了一年多的時(shí)間,寫了超過10萬行的NLP和DNN代碼,經(jīng)過了十余個(gè)大版本的版本迭代,通過了上億對(duì)的對(duì)話數(shù)據(jù)和上億個(gè)地址數(shù)據(jù),才完成了我們現(xiàn)在看到的百度的地圖語音交互項(xiàng)目。
我們會(huì)發(fā)現(xiàn),從頭搭建一個(gè)好用的對(duì)話系統(tǒng),是需要非常高的成本和代價(jià)的。對(duì)于小公司來,如果不善用工具,擁有一個(gè)智能的對(duì)話系統(tǒng)是一件非常困難的事情。
這節(jié)課我給大家介紹一個(gè)特別好用的搭建對(duì)話系統(tǒng)的工具--****UNIT。有了UNIT之后,只要熟悉業(yè)務(wù)邏輯,就可以很輕松的成為對(duì)話系統(tǒng)訓(xùn)練專家。
同樣還是五個(gè)步驟,我們每一個(gè)步驟進(jìn)行一個(gè)一個(gè)的說一下:
定義對(duì)話系統(tǒng):UNIT會(huì)為你提供高質(zhì)量高可干預(yù)的預(yù)置技能,助力你定義對(duì)話系統(tǒng);
富集數(shù)據(jù)資源:直接擁有通過百度大數(shù)據(jù),智能引擎,智能推薦引擎的超過40個(gè)的預(yù)置詞槽;
搭建系統(tǒng)、訓(xùn)練、評(píng)估和調(diào)優(yōu):UNIT是一個(gè)真實(shí)應(yīng)用打磨的對(duì)話系統(tǒng),擁有最懂中文的自然語言理解(NLU)技術(shù)??梢钥焖俚膸椭鷺I(yè)務(wù)人員搭建系統(tǒng),甚至一行代碼都不用寫,就可以直接搭建我們的對(duì)話系統(tǒng);
系統(tǒng)接入:UNIT集成了微信公眾號(hào)的一鍵接入,并且有完善的iOS、安卓的sdk;
運(yùn)營迭代:UNIT增加了AI加持的反饋分析和學(xué)習(xí)機(jī)制,通過反饋的內(nèi)容,持續(xù)優(yōu)化數(shù)據(jù);
簡單的說,有了UNIT后,搭建對(duì)話系統(tǒng)就不一定需要專業(yè)的編程人員,對(duì)話系統(tǒng)開發(fā)工程師和算法工程師,只需要讓熟悉業(yè)務(wù)的人維護(hù)語言模型就可以了。懂業(yè)務(wù)的人定義好它的業(yè)務(wù)邏輯,并根據(jù)UNIT進(jìn)行一步一步的操作,只需要簡單的幾行開發(fā)和部署對(duì)接到消息系統(tǒng)中,這樣可以免費(fèi)享用百度NLP多年的研究成果。
換句話說,我們是站在巨人的肩膀上,開發(fā)我們自己的對(duì)話系統(tǒng)。
- UNIT概述
UNIT是一個(gè)建立在百度多年的自然語言處理和對(duì)話技術(shù)積累和大數(shù)據(jù)的基礎(chǔ)上的對(duì)話系統(tǒng)的平臺(tái),她是一個(gè)面向第三方提供的對(duì)話系統(tǒng)生成器,對(duì)話系統(tǒng)的搭建工具。
- UNIT技術(shù)特色
它的技術(shù)特色有四塊:
- 平臺(tái)非常的簡單,易學(xué)易用,不需要具備算法的基礎(chǔ),五步就可以訓(xùn)練一個(gè)對(duì)話機(jī)器人;
新建bot;
添加技能;
標(biāo)注數(shù)據(jù);
訓(xùn)練優(yōu)化;
發(fā)布上線;
對(duì)話管理更加貼近真人,領(lǐng)先的NLP技術(shù)、海量的大數(shù)據(jù)、多輪交互、自動(dòng)澄清、主動(dòng)引導(dǎo),對(duì)話更貼近真人;
門檻非常的低,只需要少量的語料,就可以實(shí)現(xiàn)強(qiáng)大的泛化效果,輕松對(duì)接微信、手機(jī)App、網(wǎng)站和硬件等等;
UNIT的機(jī)制非常靈活,并且持續(xù)進(jìn)行優(yōu)化。同時(shí)擁有高可干預(yù)的預(yù)置技能、勾選調(diào)用、靈活調(diào)整、對(duì)話系統(tǒng)持續(xù)優(yōu)化,你的機(jī)器人越來越聰明;
- UNIT概覽
搭建對(duì)話機(jī)器人需要開發(fā)者先進(jìn)行數(shù)據(jù)標(biāo)注、搭建領(lǐng)域知識(shí)和交互邏輯,開發(fā)你自己的領(lǐng)域?qū)υ挳a(chǎn)品。對(duì)應(yīng)的UNIT 有以下的能力:
一、理解技術(shù):
多知識(shí)融合的意圖理解;
基于大數(shù)據(jù)的聯(lián)合詞槽識(shí)別;
二、問答技術(shù):
- 依托海量優(yōu)質(zhì)數(shù)據(jù)的語義匹配
三、交互技術(shù):
面向任務(wù)的多輪交互技術(shù);
面向問答的多輪交互技術(shù);
四、大數(shù)據(jù)的助力:
知識(shí)推薦的加速模型迭代;
訓(xùn)練師模式助力零門檻標(biāo)注;
UNIT有NLP的基礎(chǔ)技術(shù),機(jī)器學(xué)習(xí)能力和百度大數(shù)據(jù),幫助不懂算法而懂業(yè)務(wù)的人搭建對(duì)話系統(tǒng),是一個(gè)非常好用的對(duì)話系統(tǒng)生成器。
- UNIT提供預(yù)置技能,最低成本創(chuàng)建對(duì)話系統(tǒng)
以上是UNIT提供的預(yù)置技能,幫助業(yè)務(wù)人員最低成本最快速度的搭建對(duì)話系統(tǒng),平均解析準(zhǔn)確率超過90%。應(yīng)用領(lǐng)域包括但不限于:家庭娛樂;智能車載;智能客服;服務(wù)機(jī)器人。
我們?cè)诘诙€(gè)小節(jié)介紹的對(duì)話系統(tǒng)的分類里有任務(wù)型的機(jī)器人和問答型的機(jī)器人,應(yīng)用場景包括智能助理、會(huì)議系統(tǒng),健身系統(tǒng)等等。這些都可以用UNIT進(jìn)行簡單的配置實(shí)現(xiàn)。
- UNIT平臺(tái)案例
這是一個(gè)UNIT平臺(tái)的案例,用戶說:“我要去北京南站,不走高速”。UNIT 可以識(shí)別到用戶的目的地是北京南站,偏好是不走高速。
因此進(jìn)一步可以實(shí)現(xiàn)這樣的對(duì)話對(duì):導(dǎo)航問:“請(qǐng)問您要去哪里?”,“已為您規(guī)劃到北京首都機(jī)場的路線,有避開高速”,“好的”。
再比如說:“限號(hào)策略”,那么回答:“限號(hào)策略是2008年10月1日在北京市發(fā)布的”。
UNIT平臺(tái)可以提供很好的任務(wù)型和問答型對(duì)話系統(tǒng)的解決方案。
- 全渠道接入
UNIT支持全渠道的接入,她包括了訓(xùn)練服務(wù)、數(shù)據(jù)模型,管理模塊和對(duì)話服務(wù)模塊。
對(duì)話服務(wù)模塊支持全渠道接入,包括HttpAPI、DuerOS、iOS、安卓,微信等等。只要你能想到的,基本上UNIT都能夠覆蓋到。
再一個(gè)是服務(wù)管理模塊,登陸unit.baidu.com,有非常好用的管理API幫助你去管理。
介紹了UNIT之后,我們?cè)俳榻B一下UNIT的一個(gè)非常強(qiáng)大的工具,叫做DMKit。
DMKit是一個(gè)開源的對(duì)話管理框架。
- UNIT系統(tǒng)構(gòu)成
我們先來看一下對(duì)話系統(tǒng)的構(gòu)成:
當(dāng)用戶說一句話的時(shí)候,需要通過對(duì)話理解技術(shù),比如說我要訂一張北京到上海的機(jī)票,識(shí)別出到訂票意圖和詞槽(北京和上海)。這些我們叫它對(duì)話理解,在云端的對(duì)話理解。
下一步是對(duì)話的管理,當(dāng)用戶說了北京到上海,我們拿到這些詞槽以及意圖后,下一步機(jī)器人應(yīng)該如何引導(dǎo)用戶給出更多重要的信息,包括機(jī)器人收集到所有的詞槽后,如何完成對(duì)話任務(wù)并給出搜索到的機(jī)票信息。這個(gè)過程叫做資源的檢索與任務(wù)的執(zhí)行。
第一步更多在云端的對(duì)話叫做云端的對(duì)話理解,將一句話分成意圖和實(shí)體,也就是用戶的目的地等參數(shù)對(duì)。
第二步是針對(duì)高級(jí)開發(fā)者的,根據(jù)拿到的意圖和參數(shù)對(duì),通過代碼進(jìn)行靈活的對(duì)話管理。接下來我詳細(xì)的給大家介紹DMKit,一個(gè)開源的對(duì)話管理解決方案。
- DMKit 開源對(duì)話管理方案
我們?cè)賮砘仡櫼幌逻@張圖,對(duì)話理解,對(duì)話管理,資源檢索和答復(fù)生成,靈活的和知識(shí)庫及外部的服務(wù)進(jìn)行交互,這是DMKit的一個(gè)優(yōu)勢。同時(shí),DMKit 還有很多獨(dú)特的優(yōu)勢,包括完整的離線框架、圖形化對(duì)話管理、搭建門檻更低、開發(fā)更簡單、無縫對(duì)接云端、輕松易用等。
開發(fā)的同學(xué)可以去github上看一下,這是github上的地址:https://github.com/baidu/unit-dmkit,通過代碼管理是更高級(jí)的搭建對(duì)話的玩法,處理更加靈活。
當(dāng)用戶說一句話的時(shí)候,通過語音識(shí)別講語音轉(zhuǎn)成文字,UNIT 分析后,放在DMKit 中拿到對(duì)話狀態(tài)。根據(jù)對(duì)話的狀態(tài)跳轉(zhuǎn)到不同的策略,再跳轉(zhuǎn)到不同的對(duì)話狀態(tài)。外面可以調(diào)用UNIT的解析服務(wù)以及知識(shí)庫,最后升到了不同的對(duì)話狀態(tài)之后,再通過ASR反饋到系統(tǒng),再去和用戶進(jìn)行應(yīng)答。
- DMKit 在百度支撐了工業(yè)級(jí)的真實(shí)流量
以上簡單的介紹了DMKit,我會(huì)在稍后的課程介紹更詳細(xì)的內(nèi)容,主要是面向開發(fā)者的。
在百度里,DMKit 支撐了工業(yè)級(jí)的真實(shí)的流量,比如說小度機(jī)器人,小度聊球和百度的車載語音系統(tǒng)都用到了DMKit,開發(fā)者可以放心使用。
- 如何優(yōu)化理解能力
第三塊是要介紹的是UNIT的持續(xù)學(xué)習(xí)能力,也就是如何優(yōu)化機(jī)器的理解能力。
舉個(gè)例子說,“我要去北京火車站,哎呀,那個(gè)啥,幫我導(dǎo)航去北京站,要快一點(diǎn)的路線。我要從西二旗出發(fā),先去西單,再去南鑼鼓巷,然后去后海,最后去北京站趕火車,幫我規(guī)劃一條紅綠燈少的不堵車的最快的路線吧”。
通過理解模型和大量的訓(xùn)練數(shù)據(jù),UNIT會(huì)自動(dòng)的一點(diǎn)一點(diǎn)的優(yōu)化它的理解能力。
- 可終身進(jìn)化的對(duì)話理解技術(shù)
UNIT是一個(gè)可終身進(jìn)化的對(duì)話理解技術(shù)。通過自定義技能和預(yù)置技能加上語料,模版,問答對(duì),知識(shí)圖譜和詞典可以優(yōu)化對(duì)話理解技術(shù)。在對(duì)話理解技術(shù)中,包括了內(nèi)系統(tǒng)內(nèi)置的對(duì)話管理技術(shù)和用戶定制的多引擎驅(qū)動(dòng)的SLU。多引擎渠道的SLU包括啟發(fā)式SLU,DNN-SLU和IR-SLU,它可以再的反饋回到整個(gè)外面的自定義技能和預(yù)置技能里。
我們會(huì)發(fā)現(xiàn),UNIT是在持續(xù)不停的迭代過程,通過和用戶的交互,用戶在后臺(tái)的配置,可以實(shí)現(xiàn)機(jī)器的自學(xué)習(xí)和自進(jìn)化,進(jìn)而機(jī)器人會(huì)更加聰明。
再舉一個(gè)例子,讓UNIT像人一樣在交流中學(xué)習(xí),比如說,我問機(jī)器人梅球王進(jìn)了幾個(gè)球,機(jī)器人不知道梅球王是誰,機(jī)器人就會(huì)問我,梅球王是誰?然后我告訴它梅球王是梅西,那機(jī)器人待會(huì)兒就會(huì)直接回答我梅西進(jìn)了一個(gè)球。
下一次,你再跟它說梅球王的時(shí)候,它就記住了。所以你只要不停的跟機(jī)器人去聊天,機(jī)器人就能夠?qū)W習(xí),然后優(yōu)化自己的對(duì)話系統(tǒng)。
- 主動(dòng)學(xué)習(xí)
我們看到這樣一個(gè)圖,研發(fā)人員通過數(shù)百條的數(shù)據(jù)搭建,搭建初始模型,訓(xùn)練師通過1到2天的對(duì)話實(shí)戰(zhàn)練習(xí),用戶通過大量的交互反饋持續(xù)學(xué)習(xí),系統(tǒng)可以在對(duì)話中向所有人去學(xué)習(xí)。那么你只需要做的事就是跟它聊一聊,聊了之后,機(jī)器人就會(huì)變得越來越聰明。
- UNIT完整的系統(tǒng)推動(dòng)效果優(yōu)化
我們看到這是UNIT完整的系統(tǒng)來持續(xù)推動(dòng)效果優(yōu)化,線上對(duì)話我們?nèi)ゲ杉玫搅耍琔NIT會(huì)自動(dòng)采集得到日志系統(tǒng),然后進(jìn)行對(duì)話反饋。正確的我們會(huì)有漏識(shí)別和誤識(shí)別的,正確的我們都會(huì)收集出來,然后只是提煉,得到一些訓(xùn)練的數(shù)據(jù),然后在反饋給服務(wù)上,然后進(jìn)行持續(xù)的學(xué)習(xí)和效果優(yōu)化。
整個(gè)UNIT系統(tǒng)是符合我們上面說的對(duì)話系統(tǒng)的生命周期。換句話說你只要在UNIT去搭建,就可以很好的去對(duì)話系統(tǒng)的生命周期。
從最開始的定義、搭建、接入,到后面的我們?nèi)タ磾?shù)據(jù)去反饋,再回過頭來更好的定義搭建。
- UNIT 日志分析系統(tǒng)
這是UNIT的日志對(duì)話分析系統(tǒng),一個(gè)新的bot模型,通過對(duì)話系統(tǒng)的日志分析,分析出已識(shí)別到的意圖、未識(shí)別到的意圖和識(shí)別錯(cuò)的意圖,再去拿用戶的需求,找到bot覆蓋到的高頻需求,bot覆蓋到的低頻需求,bot沒有覆蓋到的高頻需求和bot沒有覆蓋到的低頻需求,然后將這些再反饋到bot定義里邊,去優(yōu)化bot的定義。然后再進(jìn)一步的訓(xùn)練bot,再造一個(gè)新bot模型。
這樣我們會(huì)發(fā)現(xiàn),我們從0.1、0.2、0.3到1.1、1.2,隨著這個(gè)模型,我們一點(diǎn)一點(diǎn)地通過大量的真實(shí)場景去迭代,逐漸搭建一個(gè)越來越好用的機(jī)器人。
建議大家現(xiàn)在就立刻著手去搭建。搭建的越早,上線的越早,你的機(jī)器人就越早被你的用戶所訓(xùn)練,你的機(jī)器人就越早變得越聰明。
最后給介紹一下UNIT的應(yīng)用場景。
- 應(yīng)用場景
UNIT不止能應(yīng)用在我之前介紹的各種應(yīng)用場景,基本上已經(jīng)覆蓋了所有的行業(yè)。
不論是金融、制造業(yè)、汽車業(yè)、客服、銀行、媒體、旅游、教育、安防、餐飲等。UNIT提供的是一種對(duì)話式的智能系統(tǒng),所以我們可以發(fā)現(xiàn)UNIT可以應(yīng)用在各行各業(yè),有興趣的小伙伴快來試試吧!
謝謝大家。