當前位置:
首頁 > 最新 > MRCP協議學習筆記-MRCP背景知識介紹

MRCP協議學習筆記-MRCP背景知識介紹

人工智慧和很多人機對話的場景使用越來越廣泛。根據IBM的數據統計:到2020年,大約85%的和客戶互動的業務可能被不需要人來處理,這些工作會通過人工智慧來處理。在實現語音和網路技術集成方面需要相對比較規範的協議來進行處理,否則各個廠家都和軟體集成商很難進行標準的對接服務。MRCP協議是目前針對媒體資源和IP網路起草的目前使用的標準協議。它主要的目的是對基於網路的媒體處理資源(語音識別,語音合成)提供一個標準,一致的,並且靈活的介面。當然,現在的MRCP版本已經進行了升級,特別是MRCP v2以後,更多的是應用場景是使用在了基於IP的語音通信中。

根據維基百科的定義:

Media Resource Control Protocol(MRCP) is a communication protocol used by speechserversto provide various services (such asspeech recognitionandspeech synthesis) to theirclients. MRCP relies on another protocol, such asReal Time Streaming Protocol(RTSP)orSession Initiation Protocol(SIP) for establishing acontrol sessionand audio streams between the client and the server.

所以,根據英文的定義,我們一般的MRCP的中文定義是:媒體資源控制協議。簡單來說,就是藉助其他協議(RTSP/SIP)創建一個控制會話來實現媒體資源伺服器端和客戶端之間的控制。

因為和IP語音技術相關,因為工作和愛好的原因,所以花了一點時間對MRCP協議做了一點粗淺的研究。筆者希望通過以學習筆記的方式和大家一起分享關於MRCP協議的相關知識,也可以幫助用戶,特別是智能客服開發的呼叫中心廠家技術人員提供一個快速上手的機會。在真正開始講座之前,筆者首先有幾點需要說明:

此講座的內容是從MRCP早期版本的內容開始介紹,結合了早期出版的一些學術資料來幫助大家理解MRCP的整個技術內容。因為技術的發展,可能以前的內容稍微相對比較過時,不一定是筆者自己的筆誤,望理解。

此講座可能有時會配合最新的MRCP V2進行介紹,所以需要大家了解。

此講座可能結合UniMRCP 開源的MRCP項目來介紹,所以請提前獲悉。

筆者不是語音識別領域的專家,僅對相關MRCP協議的部分內容進行討論,在某些細節比一定理解非常精確,所以一些涉及語音識別的底層演算法技術不是重點我們討論的範圍。在一些章節中,我們僅對MRCP中的語音識別合成技術的使用加以介紹。

在今天接下來的內容中,我們將要介紹幾個關於MRCP的背景知識點和其使用的商業環境。

1

這裡,我們首先介紹一下MRCP的歷史。MRCP協議經歷了兩個版本的發布。目前使用的是MRCP v2 版本。

MRCP協議MRCP V1最初是有思科,在2001年,Nuance和SpeechWorks 聯合起草通過IETF 作為一個網路草案發布,最後形成的是RFC4463 。實際上,此版本也沒有真正發展成為一個實際的IETF協議標準版本。因為此版本當初發布時有幾個方面的技術因素限制了其未來的可拓展性,兼容性。MRCP V1版本主要存在以下幾個方面的問題:

MRCP V1 版本依賴於RTSP 協議來創建媒體流和數據傳輸傳輸。而當時,SIP協議已經是很多廠家推薦的媒體會話控制協議。

MRCP V1 版本存在兼容性的問題,對如何定義數據表示方式支持語音識別非常困難。很多語音識別的廠家要求支持的拓展也沒有實現。

缺乏對講話者語音變化,識別引擎和講話錄音的支持。

2002年,SpeechSC工作組重新討論了MRCP V1 的問題,對MRCP V1 進行了修改,發布了MRCP V2版本,MRCP V2 版本事實上在V1版本基礎上實現了優化,修改和拓展,正式成為了MRCP V1的標準版本。

因為在MRCP V2版本中使用了SIP來負責創建獨立的媒體和會話支持語音媒體資源,增加了對講話者變化和講話者的身份引擎的支持(speaker verification

和 identification),同時增加了拓展性,保證了豐富的兼容性。從此,MRCP V2 版本一直使用到現在。

2

前面,我們已經說到,IETF是MRCP協議起草的主要組織之一,負責了MRCP的技術架構和SIP協議的起草。另外一個國際組織也扮演了非常重要的角色-W3C。大家都知道W3C更多側重於互聯網技術的標準,例如我們大家知道的HTML。W3C 在1999 年創建了Voice Broswer Working Group(VBWG)。此小組研究的目的是讓用戶能夠通過Web支持語音識別和DTMF的流程處理。VBWG發布了基於基於web的語音介面架構。此架構支持了描述性語言,用戶可以通過此架構部署語音識別,語音合成等應用。VoiceXML是此架構的核心模塊。用戶可以快速掌握此語法。VoiceXML依賴於其輔助語言引擎,指定了語音識別和語音合成等執行流程。

W3C的Speech Recognition Grammar Specification (SRGS) 是一種標準的,基於XML語言的一種處理方式,支持了語音語法的規則,可識別的短語。和SRGS比較接近的是W3C Semantic Interpretation for Speech Recognition (SISR)。它更多的是用來標記語義信息支持語音語法,構成了對自然語言理解的基本格式。

W3C Speech Synthesis Markup Language (SSML)是基於XML描述語言的方式指定內容進行合成的方式,通過一種機制來控制語音的各種屬性,包括音量大小,發音,語音間距,語速等方面的控制。

SRGS和SSML來平衡和控制W3C的發音語法規則(英文全稱:Pronunciation Lexicon Specification (PLS))。PLS可以使用標準的發音字母來指定單詞和短語發音。

經過多年的發展,VoiceXML是MRCP的「常見用戶」,VoiceXML通過部署MRCP協議,它可以輕鬆支持多種第三方的語音識別和合成引擎,從而實現引擎和MRCP上游數據的交互。VBWG和SpeechSC 工作組在MRCP協議和語音識別合成介面架構集成方面緊密合作,雙方共享很多技術標準,實現了跨平台的支持。從以上介紹我們可以看到,MRCP必須藉助於VoiceXML才能真正實現和語音識別,合成引擎的支持,實現無縫集成。

3

人工智慧代替呼叫中心座席人員是非常實用的一個功能,很多優勢我們這裡不再做更多介紹。事實上,通過人工智慧實現智能化的呼叫中心IVR互動是MRCP核心的價值所在。這也是技術發展的必然。語音通信和互聯網結合是目前比較熱門的技術。大家可以看到,從最早的按鍵輸入(DTMF),簡單的語音IVR系統,到基於IP的語音IVR,人工接入,到目前的全自動化人工智慧方式。整個技術發展的過程逐漸被人工智慧所替代。語音識別和語音合成則是IP技術的重要協同工具。很多基於SIP或IMS的通信可以越來越多地支持應用場景。因此,MRCP是目前非常核心的協議。

目前MRCP使用在很多場景中。呼叫中心就是一個典型的案例。很多用戶正在使用開源軟交換平台來開發呼叫中心,MRCP支持了目前最熱門的開源語音通信平台Asterisk和FreeSWITCH,並且提供了豐富的介面文檔。

4

在本學習筆記中,我們首先介紹了MRCP的定義,然後介紹了MRCP的版本演進和其歷史背景。同時,筆者對兩個版本的特點做了簡單介紹,並且對W3C的標準的幾個子細節做了描述,這些規則可以通過VoiceXML描述語言來集成語音識別和語音合成引擎。通過W3C的細節配合MRCP可以充分發揮IP語音通信和智能語音識別的威力,實現多種場景的智能IVR,智能機器人開發等呼叫中心的使用環境。

在接下來的筆記分享中,筆者會進一步和大家分享關於基本的語音處理流程和其他相關基礎知識。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Asterisk開源派 的精彩文章:

TAG:Asterisk開源派 |