可拖拽可編程,百度大腦UNIT圖形化對話流編輯器Taskflow上線
隨著機器學習和自然語言處理技術的不斷發展,智能對話系統效果有了很大的提升,并得到了工業界的廣泛關注和應用。對于企業而言,智能對話系統的引入能夠有效降低人力成本,向用戶提供更高質量的服務并加速企業的智能化建設;而對于個人而言,擁有機器人助理或是虛擬的智能聊天伙伴也成為了現實。然而對話系統的研發對于大多數開發者而言仍然是一個很困難的工作,對技術和數據的要求都很高。因此,百度將積累多年的自然語言理解與交互技術對外開放,推出智能對話定制與服務平臺UNIT,將業界領先的技術能力輸出給廣大的開發者,大大降低對話系統的研發門檻。
智能對話系統使得用戶能夠通過自然語言的方式和機器進行交互來滿足自身的需求,在對話系統的研究中,多輪對話一直都是研究人員的重點研究方向。在多輪對話過程中,系統需要理解用戶當前所說的話,且綜合歷史對話信息給出合理答復返回給用戶,這就是對話管理要解決的問題。
對話管理是對話系統的重要組成部分,它的對話狀態跟蹤、對話策略選擇、話術生成等功能是實現人機對話,尤其是多輪對話的關鍵。自1.0版本開始,UNIT向廣大開發者提供了基于詞槽收集與規則觸發的對話管理定制能力。隨著業務的發展,開發者也不斷向UNIT對話管理功能提出了更多的要求,包括對話流程的靈活配置、應答話術的動態生成、外部業務資源的接入與調用,不同對話流程之間的跳轉與返回等等。為了更好地滿足這些需求,UNIT經過長時間的技術積累,推出了新一代圖形化對話流編輯器Taskflow,以圖形化拖拽界面與編程相結合的方式,助力對話系統開發者輕松搞定復雜對話系統。
圖形化對話流編輯器Taskflow能幫業務解決哪些問題
⼀個完整的對話流程,涉及到多個⽅⾯的功能,很多⼈與⼈習以為常的對話,機器人處理起來難度會⾼很多。這⾥我們以查詢⼿機流量的場景為例:
用戶:“我想查詢這個⽉的流量。”
客服:“您好,您的當⽉流量剩余500兆。請問還有什么需要幫您的嗎?”
用戶:“好的,沒有了。”
用戶:“我想查詢這個⽉的流量。”
客服:“您好,您的當⽉流量剩余50兆。考慮到您的剩余流量不⾜,建議您續訂⼀個流量加油包。"
用戶:“有什么流量包?”
看起來很⾃然的兩段對話,在智能對話系統⾥⾯其實包含了很多邏輯和流程。
1.在查詢流量時,機器人需要訪問業務系統接口,獲取相應的數據。
2.獲取到數據后,機器人需要基于數據動態⽣成答復話術。并且,根據不同的數據反饋(剩余流量的多少),對話需要進⼊不同的分⽀流程,就要求機器人根據條件判斷控制流程分⽀。
3.除此之外,對話系統還需要應對隨時可能插⼊的新話題,在多個對話流程之間靈活切換。
如果不借助⼯具,完全由業務系統處理,是⼀份不⼩的⼯作量,而圖形化對話流編輯器Taskflow,采⽤了組件化的思路,開發者只需要拖拽出相應的功能節點,完善節點配置項,⽆需⼀⾏代碼,即可實現⼀個復雜的完整對話流程。
零代碼配置,讓多輪對話流程更簡單
最基本的多輪對話為⼀問⼀答,⽽真實對話場景中的多輪對話則復雜的多。比如客服場景中需要在接聽的同時主動發起對話,再等待⽤戶輸⼊。
機器人:"很⾼興為您服務,請問有什么可以幫您?"(主動發起對話,進⾏問候)
用戶:"查下我這個⽉的流量。"(此時⽤戶才表達⾃⼰的對話意圖)
更多場景中對話不是⼀問⼀答的,需要同時回復⽤戶多句話,多句回復的選擇有時還需要結合⼀些條件判斷。
機器人:”您好,您的剩余流量50兆。“
機器人:(剩余流量較少時) “考慮到您的剩余流量不⾜,建議您續訂⼀個流量加油包。”
針對各種各樣的對話流程,Taskflow預置了多項對話能⼒,開發者通過不同的設置項,完成不同的對話需求:
可以⽆意圖進⼊對話流程,主動向⽤戶發起對話
配置⽆條件進⼊的連線,與開始節點連接,后續連接⼀個對話回復節點,從⽽實現進⼊對話意圖后主動發起對話的效果。
通過配置選擇是否等待⽤戶輸⼊,同時回復⽤戶多句答復
在⼀個對話回復中,選擇不等待⽤戶輸⼊,后續連接另⼀個對話回復節點,從⽽實現同時回復⽤戶多句答復的效果。
更便捷地引入業務資源,降低接入成本
⼀個對話機器⼈在回復時,經常需要與業務系統配合使⽤,最普遍的情況是使⽤業務系統的數據資源。這種情況需要先通過智能對話模型,再轉回到業務系統中,然后將獲取到的資源與智能對話模型結合后,得到最終的回復。
用戶:“您好,我想查詢這個⽉的流量。”
機器人:“您好,您的當⽉流量剩余500兆。“
為了降低開發者開發與維護的難度,UNIT賦予了Taskflow業務資源接⼊的能⼒,⽆需編寫代碼,簡單⾼效。
可根據當前對話動態生成話術,使對話更人性化
對話機器⼈應避免對話過于單調,經常重復同⼀句話或某⼏句話。⽐如對話中詢問想查詢具體⽉份的流量,當得不到正確的答復時,機器⼈不宜重復同⼀句話如:“請問您想查詢哪個⽉的流量?”,配置多個話術順序或隨機答復有助于提⾼體驗。還有⼀些對話回復話術依賴⼀些特定詞槽或變量的取值。
用戶:“您好,我想查詢這個⽉的流量。”
機器人:“您好,您的當⽉流量剩余***500兆***。“
基于上述問題,UNIT在Taskflow都做了針對性的處理。
澄清時⽀持順序、隨機話術,多次澄清失敗后⽀持⽤戶選擇繼續對話或者中⽌對話。
賦予開發者最靈活的話術配置,可以在話術中配置變量、意圖名稱和詞槽值,動態⽣成話術,不⽤再進⾏滯后的拼接處理。
實現復雜的話題插⼊與流轉
真實對話中,還會經常出現對話意圖切換的情況,但對于對話機器⼈如何做到⽆縫切換,最⼤程度的提升對話感知,則是⼀個不⼩的挑戰。⽐如查詢流量這個例⼦,機器⼈在詢問⽤戶具體時間時,⽤戶提了其他的問題。
用戶“我想查詢這個⽉的流量。”
機器人:“您好,您的當⽉流量剩余50兆。考慮到您的剩余流量不⾜,建議您續訂⼀個流量加油包。"
用戶:“問個事,我如果套餐的流量⽤完了,接下來的流量要怎么收費?”
這⾥⽤戶沒有直接回答機器⼈的問題,⽽是開啟了⼀個新話題。
針對這種現象,Taskflow直接預置了打斷恢復的功能,實現了多對話流程中⽆縫切換,機器⼈默認擁有多對話流程⽆縫切換的能⼒。開發者還可以通過配置開關,控制任意兩個對話流程之間是否開啟該能⼒,輕松獲得順暢的對話體驗。未來UNIT還將賦予開發者更多的預置能⼒,盡最⼤努⼒降低開發者的配置門檻。
自定義編程支持更多復雜需求的實現
不同的業務場景都會⾯臨不同的業務需求,相信不少開發者都⾯臨過⼀些定制化的需求,需要⽐較復雜的代碼邏輯才能處理。基于此,Taskflow為開發者提供了⾃定義編程功能,⽆論是在條件判斷時,應答回復時,獲取業務系統數據資源時均可以使⽤⾃定義編程。此外,Taskflow還設計了⼀個完全基于編程的⾃定義節點,滿⾜開發者個性化的業務需求。
體驗Taskflow的方法很簡單,只需在在新建機器人時,選擇Taskflow型對話流配置即可。自推出以來,Taskflow被廣泛應用在各個業務場景中,智能訂餐、汽車銷售質檢、來電助理等智能對話場景,都基于Taskflow輕松實現了。未來,UNIT平臺會不斷優化Taskflow的能力,持續滿足廣大開發者和企業的業務需求。