本發明涉及信息處理技術領域,尤其涉及一種基于音頻的人機混合交互系統及方法。
背景技術:
如圖1所示,目前基于音頻的人機對話系統均使用機器回復作為最終回復呈現給用戶,當機器決策系統不能明確用戶意圖時,大部分對話系統選擇呈現“請再說一遍”之類的回復以讓用戶進行重新的輸入,其中部分人機對話系統引入了基于話務中心的人工干預方法。
目前現有人機對話異常處理主要通過話務中心形式實現,在機器無法處理用戶輸入音頻或者在用戶明確表示需要人工服務時,請求人工的話務中心介入,此時用戶與話務員之間建立一對一的通話連接,話務員與用戶進行直接交流,獲知用戶的需求并通過話務平臺下發相應的指令。
現有話務中心的人工干預方式存在的問題主要有:人工效率低,干預師與用戶需要建立一對一的語音交流,等待用戶輸入的時間段內無法服務其他人;成本高,大規模的呼叫中心需要一系列的電信設備以及相應服務集成,同時由于效率低,需要更多干預師進行干預服務,從而間接提高了人力成本;受網絡環境影響大:利用網絡資源直接傳輸音頻需要穩定的網絡連接,網絡環境的波動會導致音頻質量下降從而影響對話體驗,甚至中斷人機對話流程。
因此,本領域的技術人員致力于開發一種基于音頻的人機混合交互系統及方法,將人工干預回復與機器回復相結合,從而統一人機對話的流程和提升用戶體驗。
技術實現要素:
有鑒于現有技術的上述缺陷,本發明所要解決的技術問題是如何提高客服過程中人機對話的效率和用戶體驗。
為實現上述目的,本發明提供了一種基于音頻的人機混合交互系統,包括語音識別模塊、語音合成模塊、語義識別模塊以及異常處理模塊,其中,所述語音識別模塊被配置為與所述語義識別模塊相連并傳輸語音對應的文字信息,所述異常處理模塊被配置為與所述語音識別模塊和所述語義識別模塊相連,所述語音識別模塊被配置為傳輸文字信息給所述異常處理模塊,所述語義識別模塊被配置為傳輸語義解析結果給所述異常處理模塊;所述異常處理模塊被配置為與所述語音合成模塊相連并傳輸干預信息。
進一步地,所述語音識別模塊包括信號處理及特征提取單元、聲學模型、語言模型以及解碼器,其中,所述信號處理及特征提取單元被配置為與所述聲學模型相連并傳輸聲學特征信息,所述解碼器被配置為與所述聲學模型和所述語言模型相連并輸出識別結果。
進一步地,所述語音合成模塊包括文本分析單元、韻律控制單元以及合成語音單元,其中,所述文本分析單元被配置為接收文本信息并對所述文本信息進行處理,將處理結果傳輸到所述韻律控制單元與所述合成語音單元,所述韻律控制單元被配置為與所述合成語音單元相連,并傳輸音高、音長、音強、停頓及語調信息,所述合成語音單元被配置為將所述接收文本分析單元的分析結果與所述韻律控制單元的控制參數合成輸出的語音。
進一步地,所述語義識別模塊包括領域標注單元、意圖判斷單元、信息提取單元,其中,所述領域標注單元被配置為與所述意圖判斷單元相連并傳輸領域信息,所述意圖判斷單元被配置為與所述信息提取單元相連并傳輸用戶意圖信息,所述信息提取單元輸出語義分析的結果。
進一步地,所述異常處理模塊包括異常檢測單元、數據庫查詢單元以及干預師單元,其中,所述異常檢測單元被配置為接收所述語音識別模塊和所述語義識別模塊的輸出,并決定是否采取干預措施,所述數據庫查詢單元被配置為接收所述異常檢測單元的干預信號,并接收所述語義識別模塊的語義信息,查詢并輸出干預消息,所述干預師單元被配置為利用干預師對所述數據庫查詢單元輸出的所述干預消息進行必要的擇優以及修改,最終輸出給用戶的回復消息。
本發明還提供了一種基于音頻的人機混合交互方法,包括以下步驟:
步驟1、提供語音識別模塊、語音合成模塊、語義識別模塊以及異常處理模塊;
步驟2、所述語音識別模塊將語音信息轉換為文字信息并輸出至所述語義識別單元;
步驟3、所述語義識別單元從文字信息中提取用戶目的以及相應的關鍵信息;
步驟4、所述異常處理模塊根據所述語音識別模塊的文字信息以及所述語義識別模塊的語義信息判斷人機對話當前是否出現異常并針對異常處理消息的回復。
進一步地,在步驟2中,具體包括以下步驟:
步驟2.1、從輸入的音頻流中提取特征供聲學模型處理,同時降低環境噪聲、信道和說話人因素對所述特征造成的影響;
步驟2.2、解碼器根據聲學、語言學模型及詞典,對所述聲學模型的處理結果,尋找能夠以最大概率輸出所述音頻流的詞串,作為語音的識別結果。
進一步地,在步驟3中,具體包括以下步驟:
步驟3.1、利用文字信息中標志性的關鍵詞標記當前對話所屬的領域;
步驟3.2、在所述領域中基于規則對用戶意圖進行判斷;
步驟3.3、根據所述領域以及所述用戶意圖,結合規則,對具體的關鍵信息進行提取。
進一步地,在步驟4中,具體包括以下步驟:
步驟4.1、異常檢測單元根據所述語音識別模塊的文字信息以及所述語義識別模塊的語義信息判斷當前的人機對話是否出現異常,若異常則由干預師單元接管人機對話;
步驟4.2、數據庫查詢單元根據語義信息進行數據庫的查詢,得到具有推薦度的干預消息,如果干預消息的推薦度較高,則直接利用該干預消息進行干預,如果推薦度較低,則請求干預師進行人工介入;
步驟4.3、在機器算法無法找到高推薦度的干預消息時,干預師介入進行干預消息的選擇以及修改,隨后將修改后的干預消息發送至客戶端。
進一步地,所述關鍵信息包括對話領域、對話關鍵詞,所述對話關鍵詞包括內容關鍵詞和情緒關鍵詞。
與現有技術相比,本發明的技術效果包括:
1、效率提高:充分利用了干預師等待用戶輸入的時間,使得干預師可同時對多個用戶進行干預服務,提高干預的效率。
2、成本減少:無需采購話務中心相關的一系列電信設備,利用現有的計算機以及服務器即可搭建干預平臺。
3、工作場景豐富:由于干預師界面采用了B/S(Browser/Server瀏覽器/服務器)結構,干預師打開瀏覽器登錄相應的網站即可進行干預操作,不必要在工位上接聽電話,可以在PAD、智能手機、個人筆記本等移動終端上進行干預服務。
4、網絡要求低:文本傳輸的數據量很小,從而對網絡的要求降低,同時用戶收聽到的語音由本地合成,不受網絡情況的影響。
5、統一的人機對話體驗:對用戶來說,干預師是透明的,用戶的體驗如同與一個充分智能的“機器”在對話,可以無縫銜接目前的人機對話方式。
以下將結合附圖對本發明的構思、具體結構及產生的技術效果作進一步說明,以充分地了解本發明的目的、特征和效果。
附圖說明
圖1為現有傳統話務中心的干預模式示意圖;
圖2為本發明的系統模塊示意圖;
圖3為本發明一個較佳實施例的系統流程示意圖;
圖4為本發明一個較佳實施例的角色對話流程示意圖。
具體實施方式
本發明是通過以下技術方案實現的:
如圖2所示,本發明涉及一種基于音頻的人機對話異常處理系統,包括:語音識別模塊、語音合成模塊、語義識別模塊以及異常處理模塊,其中:語音識別模塊與語義識別模塊相連并傳輸語音對應的文字信息,語音識別模塊和語義識別模塊均與異常處理模塊相連,并分別傳輸文字信息和語義解析結果,異常處理模塊與語音合成模塊相連并傳輸干預信息。
所述的語音識別模塊包括:信號處理及特征提取單元、聲學模型、語言模型以及解碼器,其中:信號處理及特征提取單元與聲學模型相連并傳輸聲學特征信息,解碼器與聲學模型和語言模型相連,對外界輸出識別結果。
所述的語音合成模塊包括:文本分析單元、韻律控制單元以及合成語音單元,,其中:文本分析單元接收文本信息并對其進行處理,將處理結果傳輸到韻律控制單元與合成語音單元,韻律控制單元與合成語音單元相連,并傳輸目標的音高、音長、音強、停頓及語調等信息,合成語音單元接收文本分析單元的分析結果與韻律控制單元的控制參數,對外界輸出合成的語音。
所述的語義識別模塊包括:領域標注單元、意圖判斷單元、信息提取單元,其中:領域標注單元與意圖判斷單元相連并傳輸領域信息,意圖判斷單元與信息提取單元相連并傳輸用戶意圖信息,信息單元與外界相連并傳輸語義分析的信息。
所述的異常處理模塊包括:異常檢測單元、數據庫查詢單元、干預師單元以,其中:異常檢測單元接收語音識別模塊和語義識別模塊的輸出,并決定是否采取干預措施,數據庫查詢單元接收異常檢測單元的干預信號,并接收語義識別模塊的語義信息,查詢并輸出干預消息,干預師單元利用干預師對數據庫查詢單元輸出的干預消息進行必要的擇優以及修改,最終輸出用戶回復消息。
本發明涉及上述系統的人機對話異常處理方法,具體包括以下步驟:
步驟1、提供語音識別模塊、語音合成模塊、語義識別模塊以及異常處理模塊。
步驟2、語音識別模塊將語音信息轉換為文字信息并輸出至語義識別單元,具體步驟包括:
2.1前端處理音頻流,從輸入信號中提取特征,供聲學模型處理。同時盡可能降低環境噪聲、信道、說話人等因素對特征造成的影響。
2.2解碼器對輸入的信號根據聲學、語言學模型及詞典,尋找能夠以最大概率輸出該信號的詞串,作為語音的識別結果。
步驟3、語義識別單元從文字信息中提取用戶目的以及相應的關鍵信息,具體步驟包括:
3.1利用文字信息中標志性的關鍵詞標記當前對話所屬的領域。
3.2在具體領域中基于規則對用戶的意圖進行判斷。
3.3根據領域以及用戶意圖,結合規則,例如預先設定的模板,對具體的關鍵信息進行提取。
步驟4、異常處理模塊根據語音識別模塊的文字信息以及語義識別模塊的語義信息判斷人機對話當前是否出現異常并進行異常的處理以及消息的回復,具體步驟包括:
4.1異常檢測單元根據語音識別模塊的文字信息以及語義識別模塊的語義信息判斷當前的人機對話是否出現異常。不異常則由本地客戶端進行處理,異常則由干預服務器接管人機對話。
4.2數據庫查詢單元根據語義信息進行數據庫的查詢,得到推薦的干預消息,如果干預消息的推薦度較高,則直接利用該干預消息進行干預,如果推薦度較低,則請求干預師進行人工介入。
4.3在機器算法無法找到高推薦度的干預消息時,干預師介入進行干預消息的選擇以及修改,隨后將修改后的干預消息發送至客戶端。
在人機對話異常處理的過程中,用戶的語音輸入通過機器的語音識別以及語義解析后,會將語音的識別結果以及語義解析的結果以文本的形式傳到干預師端,干預師接受到消息之后可以選擇發送對話消息或者下發命令消息。對話消息以文本的形式傳輸到機器,隨后通過語音合成系統(TTS)合成語音并播放給用戶,命令消息則是直接通過機器執行命令。
本實施例包括以下步驟,如圖3和圖4所示,即用戶輸入-->干預消息生成-->客戶機推送干預消息三個步驟分別進行技術方案的介紹:
1)用戶輸入
用戶進行語音輸入的過程中,利用的語音識別系統將用戶的語音輸入音頻轉換為文字,同時對該句文字進行語義分析(語義分析的結果包括用戶當前的對話領域、用戶請求服務的關鍵信息等),最后將文字以及語義分析的結果以文本形式通過HTTP協議的POST方法傳輸到異常處理模塊。
2)干預消息生成
異常處理模塊在異常情況下,根據語音識別的文本信息和語義識別的語義槽查詢數據庫,得到備選的干預消息。如果干預消息的推薦度較高,則直接利用該干預消息進行干預,如果推薦度較低,則請求干預師進行人工介入。干預師在界面上可以看到由異常處理模塊提供的輔助數據比如用戶輸入的識別結果和語義分析的結果等,結合這些信息干預師能夠更準確快速地對候選干預消息進行篩選與修改。干預消息分為對話消息與命令消息,均以文本的形式采用統一的Websocket協議進行傳輸,其區別在與傳輸內容的不同以及機器的處理方式不同。
3)客戶機推送干預消息
客戶機收到干預消息后立刻返回干預師“消息已收到”的確認信息,并將干預消息緩存在消息隊列中。客戶機會監聽當前的人機對話狀態并在一定條件下嘗試從消息隊列中取出消息向用戶推送,具體的推送時機包括有:1、干預消息到達時,2、TTS合成的語音消息播報完成時;需要滿足的條件為1、消息隊列不為空,2、客戶機的音頻播放器當前空閑。如果干預消息成功推送則返回干預師“干預消息已推送”的確認信息。
例如:
1、用戶A發出語音指令“我要去一個好玩的地方”。
2、語音識別模塊將語音輸入轉換為文字。
3、語義分析模塊處理后得到用戶意圖為“導航”,導航的目標地的標簽為“好玩”。
4、異常處理模塊中的異常檢測單元收到用戶A的服務請求,包含完整的語音識別結果“我要去一個好玩的地方”,和語義分析的結果“導航”、"好玩",同時檢測到當前的對話狀態出現異常。
5、異常處理模塊中的數據庫查詢單元根據”導航“、”好玩“進行數據庫查詢,得到一些備選消息比如”請問您要去蘇州的好玩小吃嗎?“、”為您找個5個與好玩相關的地點“,這兩條消息的推薦度都比較低,故請求干預師單元的人工介入。干預師利用異常處理模塊得到的數據庫查詢結果以及語義分析結果和語音識別的文字結果進行干預消息的選擇和修改,將干預消息改為”請問您想要怎樣的娛樂方式?“,向用戶發送該文本消息。
6、客戶機收到干預消息后將其存入消息隊列,向異常處理模塊發送“消息已收到”的反饋,并嘗試進行推送。
7、條件滿足后進行干預消息的語音合成系統合成以及播報,用戶聽到音頻“請問您想要怎樣的娛樂方式”,客戶機向異常處理模塊發送“消息已推送”反饋。
8、客戶進行進一步的語音輸入“我要去唱歌”
9、ASR系統將語音輸入轉換為文字
10、語義分析得到用戶意圖為“導航”,導航的目標為“KTV”
11、異常檢測單元得到用戶A的具體服務需求,包含完整的語音識別結果“我要去唱歌”,和語義分析的結果”導航“、”KTV“。
12、數據庫查詢單元根據”導航“、”KTV“、以及用戶的相關信息進行數據庫的搜索,得到備選干預消息”為您推薦xxx請問是否前往?“,同時由于推薦度很高,故繞過干預師單元,直接向客戶機發送文字消息”為您推薦xxx請問是否前往?“
13、用戶確認前往
14、異常處理系統用戶推送命令類型的干預消息,包含命令類型“導航”以及目的地的POI信息。
15、客戶機從消息隊列中取出命令類型“導航”的消息以及相應的POI信息,進行導航操作,客戶機向異常處理模塊發送“消息已推送”反饋,交互結束。
以上詳細描述了本發明的較佳具體實施例。應當理解,本領域的普通技術無需創造性勞動就可以根據本發明的構思作出諸多修改和變化。因此,凡本技術領域中技術人員依本發明的構思在現有技術的基礎上通過邏輯分析、推理或者有限的實驗可以得到的技術方案,皆應在由權利要求書所確定的保護范圍內。