這一章我們一起來看一下語音助手的整體架構和設計,
一般來講,一個比較完善的語音助手可以分為:中控部分 + BOT部分,對于一個BOT而言,其實質是一個可以獨立運行的服務,包含自己的中控,其內部自成一個小周天,而中控的存在則是處理一些對于各個BOT而言公共的處理,以及各個BOT的分發、排序等功能,如下圖:

其中藍色部分,即為各個BOT,針對系統型別不同,BOT內部的設計也各不相同,比較典型的三個BOT:閑聊BOT、任務BOT、問答BOT,至于各個BOT內部的設計,我們后面章節再詳細說,這里我們主要講解中控系統的設計,圖中剩余部分,則包含了:QU、運營干預層、對話管理以及后處理策略層,下面簡單講述下各個模塊的作用:
一、QU:
QU為基本語意理解,這里對輸入的query做一些公共的基礎語意理解,包含物體識別、文本分類、語意角色標注、語意檢索、文本改寫等,中控和BOT則會根據語意理解的結果進行處理,比如其中語意角色標注、文本分類、語意檢索、物體識別可以用于對話管理中BOT的分發和排序、文本改寫則用于對輸入的query進行糾錯,提高下游識別效果,
二、運營干預層:
運營干預層,顧名思義,主要是用于運營干預,適用于兩種情況:
1. 某些話術,不想使用其本身的語意,而是想要賦予其特殊的語意來實作特定的效果,例如:“誰是世界上最美的人”,這本是一個疑問句,應該搜索對應的問答結果,但是運營有時會希望其能夠打開前置照相機,作為一個小彩蛋,此時就需要這里對query進行干預,
2、某些話術,其結果我們發現并非按照預期執行,此時我們可以在這里對結果進行干預,或者對query進行改寫,來實作結果的糾正,
當然,除了運營可以使用外,這一層中我們能做的還有很多,對于一些線上問題,可以在這里通過干預快速處理,避免對更多的用戶產生影響,比如可以做BOT分發的干預,回傳結果的干預等等,
三、DM層:
對話管理,這里的對話管理主要包含兩個功能:BOT的分發和排序,多輪對話,其會利用當前query語意理解的結果、歷史背景關系、環境背景關系來共同決定Action(執行動作)和下一個狀態,如下圖:

關于中控的分發和排序,多輪會話,這些會在后面的章節中詳細講解,
四、垂類BOT層:
垂類bot層,包含了各個獨立的BOT,分別處理各自領域的內容,比如閑聊BOT主要處理閑聊型別的對話,陪用戶聊天,問答BOT主要處理知識檢索型別的對話,幫助用戶搜索知識,鬧鐘BOT主要處理鬧鐘相關的語意,音樂BOT主要處理音樂相關的語意等等,不同型別BOT的內部詳細設計,我們后面再講,這里就不展開了,
五、后處理策略層:
后處理策略層中包含:客戶端互動,推薦服務,對話策略等,
客戶端互動,即為把最終得到的技能結果,進行封裝,得到客戶端可以執行的結構體,
推薦服務,則負責根據知識圖譜、用戶畫像、產品策略等對當前的用戶話術進行一些推薦,比如用戶query:“周杰倫是誰”,可以進行關聯推薦:“周杰倫行程”,“周杰倫妻子是誰”,“播放周杰倫的歌”等等,也可以根據用戶使用習慣和當前地點、時間進行一些個性化推薦,比如:當前晚上10點,可以推薦“定個明天早上8點的鬧鐘”,推薦服務也是一個單獨的內容,后面的章節中我們會單獨拿出來講,

對話策略,這里主要是進行一些特殊的后處理,比如某些場景下,需要關閉某些技能等,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299052.html
標籤:其他
