歡迎大家跟我學習第二章的第六節(jié),UNIT的專業(yè)術(shù)語科普。
這一節(jié)我會介紹所有和UNIT相關(guān)的專業(yè)術(shù)語,方便接下的UNIT實操課程。
第一個:BOT和技能。
- BOT & 技能
一個Bot對應的是在一個特定的場景下獨立完成的對話系統(tǒng)。用來滿足特定場景下的對話理解與交互需求,通常按行業(yè)垂直劃分。
例如:銀行信用卡辦理的Bot,電視遙控的Bot。
Bot在這里和我們手機里App是類似的。
例如:一個銀行卡辦理的Bot,一個電視遙控的Bot,甚至說一個差旅的Bot。它就是在一個特定場景下獨立完成的對話系統(tǒng)。
技能是某一個方向的對話能力,分為兩個:一個是自定義技能;一個是系統(tǒng)的技能。自定義的技能完全由用戶配置,系統(tǒng)技能由UNIT平臺預置。但是開發(fā)者可以在后期進行干預,技能同時包含了對話意圖和問答意圖.Bot擁有的技能,既可以用于用戶對話的對話意圖,也可以實現(xiàn)簡單的FAQ問答。
- 意圖 & 詞槽
意圖的意思是在一個對話任務中,Bot要理解用戶的目的。
例如:用戶說幫我換到中央臺,對應的就是電視控制Bot技能下的對話的意圖就是換臺;
例如:我說北京天氣,這個對應的意圖就是查天氣,它是代表著一種下一步其實要做的一種操作的方向;
定義Bot技能下的對話意圖時,需要設置對話意圖關(guān)聯(lián)的詞槽。關(guān)聯(lián)的詞槽是實現(xiàn)對話意圖的必須條件,以及Bot理解對話意圖后給Bot用戶的一個回應。
用戶意圖分為對話意圖和問答意圖,問答意圖主要用來圈定某一個范圍內(nèi)的主題問答對,這就是意圖。意圖很多時候可以理解成一個方法,是一個開始,然后把它做成一個分類,通過知道了他的意圖是什么,然后下一步,我們就知道你這句話的意思。
簡單的說意思是什么,然后接著去引導用戶給出更多的信息。
詞槽是滿足用戶對話意圖時的關(guān)鍵信息或限定條件。可以理解為,用戶需要提供的篩選條件。簡單的來說,就是為了完成這件事所需要的關(guān)鍵信息。
例如:在查詢天氣的時候,詞槽就是地點和時間;
例如:說換到中央臺的時候,中央臺就是一個電視臺的詞槽;
詞槽會一定程度上影響系統(tǒng)對換臺這個對話意圖的執(zhí)行,這個是意圖和詞槽的定義,這兩塊非常關(guān)鍵。
在整個UNIT系統(tǒng)中,我們進一步的來把它理解下。
- 將一句話理解為意圖和詞槽
比如:用戶說今晚6點幫我在全聚德預定一個房間。意圖是預訂餐廳,詞槽就是關(guān)鍵的信息,餐廳名是全聚德,時間是2017年7月5日18點。
進一步我們會發(fā)現(xiàn),我們需要知道有多少人,才能決定訂多少人的包廂。
所以機器人會說:“好的,多少人?”。那么用戶進一步回答:“10個人”。這個意圖是澄清人數(shù)詞槽,那這個詞槽是人數(shù),是10。
進一步的用戶說:“多謝”。這個意圖是表達感謝,詞槽是空。
我們要注意一下,詞槽為空是一個比較正常的現(xiàn)象,不要說發(fā)現(xiàn)詞槽為空硬要往里面去填,這個是沒有意義的行為。
- 詞典
下一個比較關(guān)鍵的定義叫詞典。詞典是屬于詞槽的所有詞匯的集合,這個讀起來比較拗口。我們拿兩個例子做個解釋。
比如餐廳的詞槽,剛才我們看到了是全聚德,那詞典就是所有的餐廳名,全聚德、海底撈、便宜坊、肯德基等等。這樣大家就能理解了,詞槽是:全聚德,它是一個餐廳名。詞典則是所有的餐廳名。
再比如說晴天,詞槽是晴天,詞典是所有天氣的詞槽,晴天、陰天、下雨、大雨等。我們看到圖片上有一個“#”,這代表的是它的同義詞,肯德基和KFC是同義詞,晴朗、晴和晴天是同義詞,有雨、下雨是同義詞,陰和陰天是同義詞。
我們在這些同義詞上也要盡可能多的標注出來,才能讓機器人更加聰明,才能夠識別不同的詞語。
下面這對比較重要的概念是對話樣本和對話模版。
- 對話樣本 & 對話模版
對話樣本:是用來給對話系統(tǒng)做示范,教它在用戶說的具體句子里面如何理解對話意圖,哪個詞是重要信息,對應的詞槽是什么。
比如通過對話樣本標注告訴機器人,三亞明天會不會下雨和三亞明天會下雨嗎,都是告訴它這是詢問天氣的語句。其中三亞是對應城市city這個詞槽,明日和明天都是time這個詞槽。
我們訓練的越多,機器人的理解能力就越強。這個和我們在現(xiàn)實生活中小孩子的學習是非常相似的。聽的越多、讀的越多,他就越聰明,這就是對話樣本。
對話模版是用來給對話系統(tǒng)按照具體的語法句式做出的示范,教它在某一個特定的語法句式中如何理解對話意圖。哪個詞是重要的信息,對應的詞槽和特征值是什么。
我們從話術(shù)里面就可以感覺到,對話模版它是一個模版,換句話說我們要給它定義好的一個模版,然后告訴它這句話里邊哪一部分代表著什么。
我們看一下對話樣本 & 對話模版中對話模版的例子,前面這一塊的例子看起來很生澀,有一個“system location,system time天氣如何”,這個其實可以把它做成一個“城市+時間+天氣如何”這樣一個詢問天氣的對話意圖。
比如北京的天氣如何?北京今天的天氣如何?
這里邊我們就會發(fā)現(xiàn),北京或者天津就是這個“system location”,它代表的是所有城市詞的組合,“system time”代表的今天&明天,是所有時間描述組成的組合。
對話模版也可以使用讀條對話模版組成一個對話模版組,實現(xiàn)按片段去匹配用戶的query,實現(xiàn)更強的對話意圖,泛化匹配的能力,提高模版對用戶的query的召回率。
通常情況下,當我們的對話樣本比較少的時候,我們會先用一些對話模版上線。這時候,先讓機器人通過對話模版去回答用戶的問題,進而再大量的收集用戶的信息,收集更多的對話樣本,再反過頭來讓機器變得更加聰明。
下一個比較重要的概念叫特征詞。
- 特征詞
通常情況下特征詞代表了一種約束某條對話模版匹配的范圍。比如天氣、下雨、熱等類別的關(guān)鍵詞,它是一種特征詞或者提供一定限度的泛化能力。
在訂機票的對話中,從北京到上海的“到”就可以和“去、飛”等助詞,一起作為特征詞。我們?nèi)绻钣锰卣髟~,就可以事半功倍并提高對話模版的精度和覆蓋度,最終得到一個很好的效果。
再進一步給大家解釋一下,什么叫做特征詞詞典。它和詞槽詞典感覺上很類似,開發(fā)者自行導入詞典,用于系統(tǒng)識別特征詞。所有相關(guān)的特征詞的組合,我們叫它特征詞詞典。
- 問答對 & 問答集
問答對是什么?
問題和答案的組合稱之為問答對,這個聽起來比較好理解。它支持一對一、一對多、多對一和多對多。
當某一個問題的問題對中包含多個答案的時候,答案隨機呈現(xiàn),這就是一個問答對,問題與答案的組合。
問答集是什么?
問答集是承載著問答對的容器,與技能中問答意圖的定義一一對應,它是一個集合所以叫它問答集。
支持批量將問答內(nèi)容導入問答集,也支持在線編輯。
- 訓練模型
把Bot下所有的配置標注的對話樣本、對話模版,打包提交給UNIT平臺,來訓練對話理解模型,這就叫訓練模型。
訓練的時長跟訓練的對話樣本量,對話模版量是有很大關(guān)系的。訓練量越多,訓練的時間越長。訓練完成后沙盒中的Bot就會自動加載并生效模型,通常操作會花費幾分鐘的時間。
- 沙盒環(huán)境 & 生產(chǎn)環(huán)境
沙盒環(huán)境的定義:沙盒環(huán)境是UNIT平臺提供給開發(fā)者創(chuàng)建Bot,訓練優(yōu)化Bot模型的一個環(huán)境。每個Bot都配有一個沙盒環(huán)境,將訓練好的Bot模型生效到沙盒環(huán)境后,就可以進行效果驗證了,同時可以接入到自己的業(yè)務系統(tǒng)中進行使用。沙盒環(huán)境可以生成多個模型模版,但只能選擇一個放在沙盒環(huán)境中。
我們用的多個模型模版,只能放到一個沙盒環(huán)境中。
生產(chǎn)環(huán)境的定義:生產(chǎn)環(huán)境是UNIT平臺在百度云上為開發(fā)者提供的可定制的穩(wěn)定的對話服務環(huán)境。
它和我們的開發(fā)者開發(fā)的術(shù)語中的生產(chǎn)環(huán)境是一樣的,就是線上的一個穩(wěn)定為用戶提供服務的環(huán)境,就叫生產(chǎn)環(huán)境。
說了這么多的概念,我們來看一下是怎么用的。
- UNIT:多輪交互中的回應方式
剛剛我們舉的這個例子:
幫我訂一個全聚德的十人包間;
好的,您想訂什么時間的;
上面就是一個詞槽澄清的詢問。
今晚6點吧;
好的,幫您訂好了;
接下來,還有一種叫引導。
- 需要幫您叫車嗎?這是一個引導;
- UNIT:將用戶提問進行問答匹配
第二個例子:怎么借現(xiàn)金?,這是一個問題。
我就會在我的庫里邊去發(fā)現(xiàn),怎么借現(xiàn)金是和【現(xiàn)金貸】借現(xiàn)金的申請流程是什么?這兩個是一個意思,我就會把答案推出來,然后告訴你怎么去借現(xiàn)金。這是另外一個問答匹配的例子。
再給大家展示一個精確詢問和多輪引導的例子。
- 精確詢問 & 多輪引導
剛才我們看到怎么借現(xiàn)金?它是一個問答單元,然后回答。
那問答單元加對話單元是什么樣的?
我想了解現(xiàn)金貸怎么申請?
我這有三種,您選擇哪一個?
這是一種對話。
我借現(xiàn)金吧;
幫您找到三個相似問題;
那第一個吧;
然后機器人再去說;
這是一個對話單元加問答單元,這兩個是有一定區(qū)別的。
接下來再給大家介紹兩個在智能對話領(lǐng)域經(jīng)常會說到的概念——知識圖譜。
- 知識圖譜
知識圖譜本質(zhì)上是語義網(wǎng),描述真實世界中存在的各種實體或者概念。通俗的將,它可以理解成一個數(shù)據(jù)庫。當然,它不是數(shù)據(jù)庫,不過我們可以用這樣的方式去輔助理解。知識圖譜是知識的結(jié)構(gòu)化表示。
通常我們用一張巨大的,有點和邊組成的圖來可視化表現(xiàn)知識圖譜。
點,代表實體或概念。用全局唯一確定的ID來表示,稱為標識符。點包含屬性,稱為值對,用來刻畫實體的內(nèi)在特性。
邊代表實體之間的關(guān)系,用來聯(lián)系兩個實體。說起來非常拗口,我們來舉一個例子:
- 比如:知識庫中有一個iPhone7的屏幕尺寸的答案,還有一個是iPhone7plus的屏幕尺寸答案。當用戶問到iPhone7屏幕比iPhone7plus屏幕大多少時,知識圖譜可以支持機器人進行加減乘除的運算,得出大小,比較答案,就不需要在知識庫中具備對應的知識規(guī)則。
它可以跳出一些知識規(guī)則,自動的去做一些匹配。
- 情感分析
情感分析是為對話賦予情感值,根據(jù)情感值的正負將情感傾向分為:正面情感、中立情感以及負面情感。
通常情況下,企業(yè)更關(guān)心客戶在對話中產(chǎn)生的負面情緒。因為這明確代表了企業(yè)客服工作和改進的方向,以及降低客戶的投訴。提升客戶體驗和工作考核KPI直接相關(guān)。
情感分析主要應用于機器人的智能質(zhì)檢中,可以作為一個指標判斷對話質(zhì)量。
評測情感分析的指標主要分為:情感分類的準確和負面情感的召回率。這個之前我們也簡單的在前面的對話系統(tǒng)中,大概的介紹了一下。
當我們的一個機器人上線,發(fā)現(xiàn)全都是負面情感的時候,我們就知道如何去優(yōu)化了。什么樣的話術(shù)引發(fā)了后面的負面情感,我們也知道這樣的話術(shù)盡量少用,或者通過上下文的關(guān)聯(lián),知道如何優(yōu)化我們的故事線、優(yōu)化我們的對話邏輯。
最后我們做一個UNIT所有概念的總結(jié)。
- 總結(jié)
首先ChatBot分為兩塊,一個是如何理解用戶,一個是如何回應用戶。我要先聽懂你說的話,之后還要怎么去回復你說的話。這和我們在現(xiàn)實生活中,人和人的交往、溝通是非常相似的。
如何理解又分為意圖和詞槽,例如:訂電影票是一個意圖,電影名稱、電影院和日期就是詞槽。屬于如何理解這塊。

詞槽中有個很重要的詞叫詞典,詞典就是我們所有這些詞槽的集合。例如:電影院的影城,所有電影院的名稱(天幕新彩云影城、天幕新彩云、天幕),都是天幕新彩云的別稱。又或者是:新華國際影城大鐘寺店和新華大鐘寺店,大鐘寺的新華,它們都是一個意思。我們要盡可能多的收集這些詞典。
第二步第二塊是如何回應,它又分為詞槽澄清、回復和引導,剛剛也在例子里給大家做了一個介紹,例如:到哪個電影院看。就是一個詞槽澄清,需要確定用戶的詞槽是什么。
回復又分為兩塊,一個叫回復話術(shù),一個叫觸發(fā)條件。
回復話術(shù):用戶說好了所有訂票的內(nèi)容,機器人說:“好的,這就為您訂票”。這就是一個回復話術(shù)。
觸發(fā)條件:同時它何時回復,是通過之前收集到的信息,還要做一個詞槽填滿,當我把這個詞槽都填滿了之后,我才會去說:“好的,這就問您訂票”。如果詞槽沒有填滿,可能會去引導說:“您要去哪個電影院呀,要看哪個電影呀”。
第三塊是引導,引導分為引導話術(shù)、引導目標和出發(fā)條件。
引導話術(shù)例如:我已經(jīng)訂好了電影票,我可以繼續(xù)問:“您是不是要買小吃呀?是不是要選個座位?我還可以幫您干什么?”。
引導目標例如:引導買一些飲料,小吃。
觸發(fā)條件也就是何時去引導,當我已經(jīng)把這個任務完成了,詞槽都填滿的時候,我再去進行下一個任務。引導買小吃或是飲料。
好的,這一課主要是給大家科普一下UNIT所有的相關(guān)概念,希望大家能有一個全面的理解,之后在UNIT的實操中可以更加得心應手,謝謝大家!