1、現在,我們討論一下關(guān)于PLS的背景介紹。目前很多語(yǔ)音合成和語(yǔ)音識別引擎都支持了大量的豐富的詞匯語(yǔ)料庫,也可以支持多種不同的語(yǔ)言。但是,如果讓一種語(yǔ)言可以完全無(wú)遺漏地支持或覆蓋所有的詞匯,短語(yǔ)是完全不可能也是非常不現實(shí)的。通常情況下,如果語(yǔ)音合成服務(wù)器或者語(yǔ)音識別引擎服務(wù)器遇到一個(gè)單詞或短語(yǔ),這個(gè)短語(yǔ)或者單詞在自己本身的內部語(yǔ)法中不能匹配的話(huà),它會(huì )自動(dòng)通過(guò)一些語(yǔ)法規則來(lái)自動(dòng)分析,然后決定其發(fā)音。當然,這種分析機制可能在一定的使用場(chǎng)景中是可以工作的,也可以獲得比較好的效果。
然而,很多情況下,這種短語(yǔ)或者單詞可能不能正確地匹配其發(fā)音,因為很多這些語(yǔ)法規則可能來(lái)自于不同的發(fā)音,這些發(fā)音也可能來(lái)自于不同的正字法規則,所以不能完全準確地匹配發(fā)音或缺乏其一致性。在英文世界或者其他語(yǔ)言中,經(jīng)常會(huì )看到或者聽(tīng)到同樣的單詞但是有不同的發(fā)音,例如英國英語(yǔ),美國英語(yǔ),澳大利亞英語(yǔ)都可能出現細微的差別這些差別可能導致識別的失敗。我們自己的中文可能更加復雜,不同地區夾雜了不同的方言,這樣同樣會(huì )導致語(yǔ)音識別或合成出現很多的識別問(wèn)題,降低了識別的準確率。為了解決這些問(wèn)題,W3C提出來(lái)PLS的規范,PLS能夠方便地解決這些問(wèn)題,PLS文件格式可以對一些單詞或短語(yǔ)的發(fā)音關(guān)聯(lián)它們相關(guān)的,它們所期望的標音方式,并且形成標準的XML文件格式來(lái)讓語(yǔ)音合成和識別引擎做進(jìn)一步處理。

2、PLS文件是通過(guò)媒體類(lèi)型application/pls+xml來(lái)定義的。以下列表定義了PLS的各種參數屬性。
具體的語(yǔ)法格式為:
- xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
- alphabet="ipa"
- xml:lang="en-US">
- …
3、筆者介紹了文件的語(yǔ)法結構后,我們具體介紹一下詞匯的條目的設置。詞匯條目可以通過(guò)不同的來(lái)加以區分。每個(gè)包括一個(gè)或多個(gè)正字法和相應的發(fā)音。則包含正字法中。可選屬性orthography可以在使用,它用來(lái)定義拼寫(xiě)正字法的腳本代碼。關(guān)于腳本代碼的規范,讀者可以參考ISO 15924規范。其相應的發(fā)音也包含在中。以下是一個(gè)PLS語(yǔ)法示例:

注意,這里的可以支持用戶(hù)自己的字母拼寫(xiě)方式。在語(yǔ)法發(fā)音中,為了方便提高語(yǔ)法分析的準確性,在PLS文件中可以添加一個(gè)來(lái)中間其識別程度。例如如下PLS語(yǔ)法格式:

4、PLS同樣也可以支持字母縮寫(xiě)的語(yǔ)法規范。在詞匯條目中通過(guò)添加的別名的方式來(lái)表示詞匯的縮寫(xiě)格式。注意,縮寫(xiě)格式有不同的定義,有開(kāi)頭字母縮寫(xiě)方式和別名的方式。開(kāi)頭字母縮寫(xiě)的方式使用了每個(gè)單詞的開(kāi)頭大寫(xiě)字母來(lái)組成一個(gè)縮寫(xiě)。別名的方式則有所不同,內容定義比較發(fā)散也非常靈活,需要通過(guò),用戶(hù)需要自己去了解。例如,下面實(shí)例中的Unix,一些linux用戶(hù)可能就知道其別名,其他用戶(hù)則可能不清楚真正的別名含義。其示例如下:
- xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
- alphabet="ipa"
- xml:lang="en-GB">
MRCP Media Resource Control Protocol

5、在很多情況下,正字法可以支持多種書(shū)寫(xiě)格式,但是其語(yǔ)義都表達同樣的含義。在PLS中添加不同的來(lái)表示不同的正字法書(shū)寫(xiě)方式(例如,美式英文的center 和 英式英文的centre都表達同樣的語(yǔ)義)。其示例如下,這里同時(shí)也表達同樣的發(fā)音方式:

如果是同樣的發(fā)音,完全不同的正字法和拼寫(xiě)方式,當然其含義也完全不同,那么也可以使用以下方式來(lái)表示:
- xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
- alphabet="ipa"
- xml:lang="en-GB">
blue blu: blew blu:
6、在前面的章節中我們重點(diǎn)建設了PLS如何支持多種正字法書(shū)寫(xiě)表達方式和發(fā)音的結構語(yǔ)法,但是上面的文章中僅說(shuō)明了一種語(yǔ)法發(fā)音的問(wèn)題。在通常情況下,我們可能會(huì )遇到另外一種可能出現的形式-一個(gè)發(fā)音但是多種正字法的表達方式或多種拼寫(xiě)方式。現在的語(yǔ)音合成服務(wù)器可能僅支持目前的PLS標準-僅支持單一的發(fā)音。語(yǔ)音合成引擎僅現在第一個(gè)發(fā)音,而忽略發(fā)音列表中后面的發(fā)音。為了提高其準確率,在PLS XML文件屬性中添加了prefer的參數設置,其參數表示此發(fā)音優(yōu)先級順序,使用示例如下:

這里,語(yǔ)音合成引擎將使用設置為prefer=true的發(fā)音優(yōu)先級。
7、在本章節中,我們主要介紹了PLS的背景知識,簡(jiǎn)單的語(yǔ)法結構和其在語(yǔ)音合成和語(yǔ)音識別環(huán)境中的使用。在使用方式的介紹中,我們重點(diǎn)針對不同的正文法(拼寫(xiě))和不同的語(yǔ)法條目的發(fā)音做了介紹,然后對不同發(fā)音的對應的不同正文法的文件結構也進(jìn)行了分析說(shuō)明。通過(guò)此章節的剖析,讀者可以基本了解了PLS的語(yǔ)法和其文件結構,為筆者讀者進(jìn)一步了解MRCP媒體處理做一個(gè)必要的準備。
到此為止,通過(guò)幾個(gè)不同的章節,我們已經(jīng)非常完整地介紹了關(guān)于MRCP的數據表達格式和語(yǔ)法結構。在接下來(lái)的幾個(gè)章節中,我們將開(kāi)始討論關(guān)于MRCP最為核心的部分-語(yǔ)音合成資源類(lèi)型,語(yǔ)音識別資源類(lèi)型,錄音資源類(lèi)型和說(shuō)話(huà)人驗證資源類(lèi)型。這些媒體資源類(lèi)型是MRCP乃至整個(gè)語(yǔ)音識別領(lǐng)域最主要的核心模塊。
參考資料:
https://en.wikipedia.org/wiki/ISO_15924
https://www.w3.org/TR/pronunciation-lexicon/#S5







unimrcp-MRCP協(xié)議學(xué)習分享,QQ群號:208136295
關(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