百度UNIT使用的步驟與自己的一點簡單理解(上)
最近專案需要語音上下文對話,找了幾家都沒有找到可以定製個性化上下文場景對話的技術,一般都是固定場景的對話,剛好,百度近期推出了UNIT技術,感覺剛好可以實現功能,可能需求與UNIT技術功能不是十分匹配,但是可以滿足當前專案需求,於是就花了一天多的時間研究了一下百度UNIT技術並總結了一下簡單的使用流程。這一塊分兩個部分來說,第一塊是開發流程與自己的一點理解;第二部分是百度UNIT線上開發的一些簡單介面介紹(如有不懂,具體請參見百度UNIT技術官網或者檢視其文件)。
1,主要功能:
使用文件中有很詳細的介紹了,但是這裡就我個人有一點簡單的理解:
完成特定場景下的上下文對話
比如:辦卡案例
必要條件:辦卡業務,銀行卡種類
第一步:客戶提問“我要辦卡”,“我想辦卡”,“我要辦理銀行卡”,“辦理銀行卡應該找誰?”......(根據開發者提供的對話樣本或者對話模板,在生成模型的時候,有一個訓練與學習的過程)
第二步:提示提問“您好,請問您想辦理什麼卡?”
第三步:客戶回答“信用卡”
第四步:給出客戶所需資訊“好的,辦理信用卡……”
總結:所以由上例可知,百度unit技術主要實現的是協助客戶調整糾正提問從而達到主動引導對話的功能,也即提供使用者“
2,開發流程:
(1)開發流程圖如下:
圖 1
(2)有關聯的業務需求,進行整合,比如:
圖 2
上圖中,本來有三個業務關聯的業務場景,經過整合,可以劃定除兩個無關聯的業務場景;有利於後續開發。
(3)開發單個特定業務場景。
第一步:確定意圖結構流程圖(很重要),比如下圖“公積金業務”:
圖 3
第二步:分析上下文(使用者)意圖,“公積金業務”中使用者的”意圖“有以下四個:
(1)轉移公積金
(2)提取公積金為現金
(3)提取公積金還商業貸款
(4)提取公積金還公積金貸款
第三步:統計該上下文所需詞槽,比如“公積金業務”中意圖所需詞槽:
(1)轉移,公積金
(2)提取,公積金,現金
(3)提取,公積金,還貸款,商業貸款
(4)提取,公積金,還貸款,公積金貸款
總計:公積金,轉移,提取,現金,還貸款,商業貸款,公積金貸款等7個詞槽
第四步:意圖切換策略
在百度UNIT中,有兩類意圖切換:系統引導切換和使用者主動切換,後者不可控,我們這裡不多說,前者我自己總結了下面兩種使用模式:
方式1:確定意圖邏輯關係,實現意圖內部“澄清話術”跳轉意圖
圖 4:方式1
方式2:根據業務邏輯結構圖,使用“中轉意圖”(我自己定義的)實現意圖切換
在最終指定意圖切換策略的時候,可以兩種配合使用,通常第二種可以放在最後一步意圖實現的時候使用(注意:使用第二種意圖應道切換時,一箇中轉意圖/意圖最多隻能引導至三個意圖上)圖 5:方式2
第五步:具體編輯場景,意圖,詞槽,對話單元,對話樣本,對話模板,簡單問答,訓練模型,最後釋出就可以使用了。
具體操作將在第二部分介紹。截止目前,開發UNIT的流程以及思想基本就介紹完了。下一步就是具體操作及關鍵技術介紹。