根據維基百科的定義:
Media Resource Control Protocol (MRCP) is a communication protocol used by speech servers to provide various services (such as speech recognition and speech synthesis) to their clients. MRCP relies on another protocol, such as Real Time Streaming Protocol (RTSP) or Session Initiation Protocol (SIP) for establishing a control session and audio streams between the client and the server.
所以,根據英文的定義,我們一般的MRCP的中文定義是:媒體資源控制協(xié)議。簡(jiǎn)單來(lái)說(shuō),就是借助其他協(xié)議(RTSP/SIP)創(chuàng )建一個(gè)控制會(huì )話(huà)來(lái)實(shí)現媒體資源服務(wù)器端和客戶(hù)端之間的控制。
因為和IP語(yǔ)音技術(shù)相關(guān),因為工作和愛(ài)好的原因,所以花了一點(diǎn)時(shí)間對MRCP協(xié)議做了一點(diǎn)粗淺的研究。筆者希望通過(guò)以學(xué)習筆記的方式和大家一起分享關(guān)于MRCP協(xié)議的相關(guān)知識,也可以幫助用戶(hù),特別是智能客服開(kāi)發(fā)的呼叫中心廠(chǎng)家技術(shù)人員提供一個(gè)快速上手的機會(huì )。在真正開(kāi)始講座之前,筆者首先有幾點(diǎn)需要說(shuō)明:
- 此講座的內容是從MRCP早期版本的內容開(kāi)始介紹,結合了早期出版的一些學(xué)術(shù)資料來(lái)幫助大家理解MRCP的整個(gè)技術(shù)內容。因為技術(shù)的發(fā)展,可能以前的內容稍微相對比較過(guò)時(shí),不一定是筆者自己的筆誤,望理解。
- 此講座可能有時(shí)會(huì )配合最新的MRCP V2進(jìn)行介紹,所以需要大家了解。
- 此講座可能結合UniMRCP 開(kāi)源的MRCP項目來(lái)介紹,所以請提前獲悉。
- 筆者不是語(yǔ)音識別領(lǐng)域的專(zhuān)家,僅對相關(guān)MRCP協(xié)議的部分內容進(jìn)行討論,在某些細節比一定理解非常精確,所以一些涉及語(yǔ)音識別的底層算法技術(shù)不是重點(diǎn)我們討論的范圍。在一些章節中,我們僅對MRCP中的語(yǔ)音識別合成技術(shù)的使用加以介紹。
在今天接下來(lái)的內容中,我們將要介紹幾個(gè)關(guān)于MRCP的背景知識點(diǎn)和其使用的商業(yè)環(huán)境。
1、這里,我們首先介紹一下MRCP的歷史。MRCP協(xié)議經(jīng)歷了兩個(gè)版本的發(fā)布。目前使用的是MRCP v2 版本。
MRCP協(xié)議MRCP V1最初是有思科,在2001年,Nuance和SpeechWorks 聯(lián)合起草通過(guò)IETF 作為一個(gè)網(wǎng)絡(luò )草案發(fā)布,最后形成的是RFC4463 。實(shí)際上,此版本也沒(méi)有真正發(fā)展成為一個(gè)實(shí)際的IETF協(xié)議標準版本。因為此版本當初發(fā)布時(shí)有幾個(gè)方面的技術(shù)因素限制了其未來(lái)的可拓展性,兼容性。MRCP V1版本主要存在以下幾個(gè)方面的問(wèn)題:
- MRCP V1 版本依賴(lài)于RTSP 協(xié)議來(lái)創(chuàng )建媒體流和數據傳輸傳輸。而當時(shí),SIP協(xié)議已經(jīng)是很多廠(chǎng)家推薦的媒體會(huì )話(huà)控制協(xié)議。
- MRCP V1 版本存在兼容性的問(wèn)題,對如何定義數據表示方式支持語(yǔ)音識別非常困難。很多語(yǔ)音識別的廠(chǎng)家要求支持的拓展也沒(méi)有實(shí)現。
- 缺乏對講話(huà)者語(yǔ)音變化,識別引擎和講話(huà)錄音的支持。
2002年,SpeechSC工作組重新討論了MRCP V1 的問(wèn)題,對MRCP V1 進(jìn)行了修改,發(fā)布了MRCP V2版本,MRCP V2 版本事實(shí)上在V1版本基礎上實(shí)現了優(yōu)化,修改和拓展,正式成為了MRCP V1的標準版本。
因為在MRCP V2版本中使用了SIP來(lái)負責創(chuàng )建獨立的媒體和會(huì )話(huà)支持語(yǔ)音媒體資源,增加了對講話(huà)者變化和講話(huà)者的身份引擎的支持(speaker verification
和 identification),同時(shí)增加了拓展性,保證了豐富的兼容性。從此,MRCP V2 版本一直使用到現在。
2、前面,我們已經(jīng)說(shuō)到,IETF是MRCP協(xié)議起草的主要組織之一,負責了MRCP的技術(shù)架構和SIP協(xié)議的起草。另外一個(gè)國際組織也扮演了非常重要的角色-W3C。大家都知道W3C更多側重于互聯(lián)網(wǎng)技術(shù)的標準,例如我們大家知道的HTML。W3C 在1999 年創(chuàng )建了Voice Broswer Working Group(VBWG)。此小組研究的目的是讓用戶(hù)能夠通過(guò)Web支持語(yǔ)音識別和DTMF的流程處理。VBWG發(fā)布了基于基于web的語(yǔ)音接口架構。此架構支持了描述性語(yǔ)言,用戶(hù)可以通過(guò)此架構部署語(yǔ)音識別,語(yǔ)音合成等應用。VoiceXML是此架構的核心模塊。用戶(hù)可以快速掌握此語(yǔ)法。VoiceXML依賴(lài)于其輔助語(yǔ)言引擎,指定了語(yǔ)音識別和語(yǔ)音合成等執行流程。
W3C的Speech Recognition Grammar Specification (SRGS) 是一種標準的,基于XML語(yǔ)言的一種處理方式,支持了語(yǔ)音語(yǔ)法的規則,可識別的短語(yǔ)。和SRGS比較接近的是W3C Semantic Interpretation for Speech Recognition (SISR)。它更多的是用來(lái)標記語(yǔ)義信息支持語(yǔ)音語(yǔ)法,構成了對自然語(yǔ)言理解的基本格式。
W3C Speech Synthesis Markup Language (SSML)是基于XML描述語(yǔ)言的方式指定內容進(jìn)行合成的方式,通過(guò)一種機制來(lái)控制語(yǔ)音的各種屬性,包括音量大小,發(fā)音,語(yǔ)音間距,語(yǔ)速等方面的控制。
SRGS和SSML來(lái)平衡和控制W3C的發(fā)音語(yǔ)法規則(英文全稱(chēng):Pronunciation Lexicon Specification (PLS))。PLS可以使用標準的發(fā)音字母來(lái)指定單詞和短語(yǔ)發(fā)音。
經(jīng)過(guò)多年的發(fā)展,VoiceXML是MRCP的“常見(jiàn)用戶(hù)”,VoiceXML通過(guò)部署MRCP協(xié)議,它可以輕松支持多種第三方的語(yǔ)音識別和合成引擎,從而實(shí)現引擎和MRCP上游數據的交互。VBWG和SpeechSC 工作組在MRCP協(xié)議和語(yǔ)音識別合成接口架構集成方面緊密合作,雙方共享很多技術(shù)標準,實(shí)現了跨平臺的支持。從以上介紹我們可以看到,MRCP必須借助于VoiceXML才能真正實(shí)現和語(yǔ)音識別,合成引擎的支持,實(shí)現無(wú)縫集成。
3、人工智能代替呼叫中心座席人員是非常實(shí)用的一個(gè)功能,很多優(yōu)勢我們這里不再做更多介紹。事實(shí)上,通過(guò)人工智能實(shí)現智能化的呼叫中心IVR互動(dòng)是MRCP核心的價(jià)值所在。這也是技術(shù)發(fā)展的必然。語(yǔ)音通信和互聯(lián)網(wǎng)結合是目前比較熱門(mén)的技術(shù)。大家可以看到,從最早的按鍵輸入(DTMF),簡(jiǎn)單的語(yǔ)音IVR系統,到基于IP的語(yǔ)音IVR,人工接入,到目前的全自動(dòng)化人工智能方式。整個(gè)技術(shù)發(fā)展的過(guò)程逐漸被人工智能所替代。語(yǔ)音識別和語(yǔ)音合成則是IP技術(shù)的重要協(xié)同工具。很多基于SIP或IMS的通信可以越來(lái)越多地支持應用場(chǎng)景。因此,MRCP是目前非常核心的協(xié)議。
目前MRCP使用在很多場(chǎng)景中。呼叫中心就是一個(gè)典型的案例。很多用戶(hù)正在使用開(kāi)源軟交換平臺來(lái)開(kāi)發(fā)呼叫中心,MRCP支持了目前最熱門(mén)的開(kāi)源語(yǔ)音通信平臺Asterisk和FreeSWITCH,并且提供了豐富的接口文檔。
4、在本學(xué)習筆記中,我們首先介紹了MRCP的定義,然后介紹了MRCP的版本演進(jìn)和其歷史背景。同時(shí),筆者對兩個(gè)版本的特點(diǎn)做了簡(jiǎn)單介紹,并且對W3C的標準的幾個(gè)子細節做了描述,這些規則可以通過(guò)VoiceXML描述語(yǔ)言來(lái)集成語(yǔ)音識別和語(yǔ)音合成引擎。通過(guò)W3C的細節配合MRCP可以充分發(fā)揮IP語(yǔ)音通信和智能語(yǔ)音識別的威力,實(shí)現多種場(chǎng)景的智能IVR,智能機器人開(kāi)發(fā)等呼叫中心的使用環(huán)境。
在接下來(lái)的筆記分享中,筆者會(huì )進(jìn)一步和大家分享關(guān)于基本的語(yǔ)音處理流程和其他相關(guān)基礎知識。


關(guān)注微信公眾號:asterisk-cn,獲得有價(jià)值的行業(yè)分享
freepbx 技術(shù)論壇:www.ippbx.org.cn
Asterisk, freepbx技術(shù)文檔: www.freepbx.org.cn
歐米(Omni)智能客服解決方案
融合通信商業(yè)解決方案,協(xié)同解決方案首選產(chǎn)品:www.hiastar.com
參考資料:
https://www.ibm.com/blogs/watson/2017/10/10-reasons-ai-powered-automated-customer-service-future/