1、現(xiàn)在,我們討論一下關(guān)于PLS的背景介紹。目前很多語音合成和語音識別引擎都支持了大量的豐富的詞匯語料庫,也可以支持多種不同的語言。但是,如果讓一種語言可以完全無遺漏地支持或覆蓋所有的詞匯,短語是完全不可能也是非常不現(xiàn)實(shí)的。通常情況下,如果語音合成服務(wù)器或者語音識別引擎服務(wù)器遇到一個(gè)單詞或短語,這個(gè)短語或者單詞在自己本身的內(nèi)部語法中不能匹配的話,它會自動通過一些語法規(guī)則來自動分析,然后決定其發(fā)音。當(dāng)然,這種分析機(jī)制可能在一定的使用場景中是可以工作的,也可以獲得比較好的效果。
然而,很多情況下,這種短語或者單詞可能不能正確地匹配其發(fā)音,因?yàn)楹芏噙@些語法規(guī)則可能來自于不同的發(fā)音,這些發(fā)音也可能來自于不同的正字法規(guī)則,所以不能完全準(zhǔn)確地匹配發(fā)音或缺乏其一致性。在英文世界或者其他語言中,經(jīng)常會看到或者聽到同樣的單詞但是有不同的發(fā)音,例如英國英語,美國英語,澳大利亞英語都可能出現(xiàn)細(xì)微的差別這些差別可能導(dǎo)致識別的失敗。我們自己的中文可能更加復(fù)雜,不同地區(qū)夾雜了不同的方言,這樣同樣會導(dǎo)致語音識別或合成出現(xiàn)很多的識別問題,降低了識別的準(zhǔn)確率。為了解決這些問題,W3C提出來PLS的規(guī)范,PLS能夠方便地解決這些問題,PLS文件格式可以對一些單詞或短語的發(fā)音關(guān)聯(lián)它們相關(guān)的,它們所期望的標(biāo)音方式,并且形成標(biāo)準(zhǔn)的XML文件格式來讓語音合成和識別引擎做進(jìn)一步處理。
2、PLS文件是通過媒體類型application/pls+xml來定義的。以下列表定義了PLS的各種參數(shù)屬性。
具體的語法格式為:
- xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
- alphabet="ipa"
- xml:lang="en-US">
- …
3、筆者介紹了文件的語法結(jié)構(gòu)后,我們具體介紹一下詞匯的條目的設(shè)置。詞匯條目可以通過不同的來加以區(qū)分。每個(gè)包括一個(gè)或多個(gè)正字法和相應(yīng)的發(fā)音。則包含正字法中。可選屬性orthography可以在使用,它用來定義拼寫正字法的腳本代碼。關(guān)于腳本代碼的規(guī)范,讀者可以參考ISO 15924規(guī)范。其相應(yīng)的發(fā)音也包含在中。以下是一個(gè)PLS語法示例:
注意,這里的可以支持用戶自己的字母拼寫方式。在語法發(fā)音中,為了方便提高語法分析的準(zhǔn)確性,在PLS文件中可以添加一個(gè)來中間其識別程度。例如如下PLS語法格式:
4、PLS同樣也可以支持字母縮寫的語法規(guī)范。在詞匯條目中通過添加的別名的方式來表示詞匯的縮寫格式。注意,縮寫格式有不同的定義,有開頭字母縮寫方式和別名的方式。開頭字母縮寫的方式使用了每個(gè)單詞的開頭大寫字母來組成一個(gè)縮寫。別名的方式則有所不同,內(nèi)容定義比較發(fā)散也非常靈活,需要通過,用戶需要自己去了解。例如,下面實(shí)例中的Unix,一些linux用戶可能就知道其別名,其他用戶則可能不清楚真正的別名含義。其示例如下:
- xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
- alphabet="ipa"
- xml:lang="en-GB">
MRCP Media Resource Control Protocol
5、在很多情況下,正字法可以支持多種書寫格式,但是其語義都表達(dá)同樣的含義。在PLS中添加不同的來表示不同的正字法書寫方式(例如,美式英文的center 和 英式英文的centre都表達(dá)同樣的語義)。其示例如下,這里同時(shí)也表達(dá)同樣的發(fā)音方式:
如果是同樣的發(fā)音,完全不同的正字法和拼寫方式,當(dāng)然其含義也完全不同,那么也可以使用以下方式來表示:
- xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
- alphabet="ipa"
- xml:lang="en-GB">
blue blu: blew blu:
6、在前面的章節(jié)中我們重點(diǎn)建設(shè)了PLS如何支持多種正字法書寫表達(dá)方式和發(fā)音的結(jié)構(gòu)語法,但是上面的文章中僅說明了一種語法發(fā)音的問題。在通常情況下,我們可能會遇到另外一種可能出現(xiàn)的形式-一個(gè)發(fā)音但是多種正字法的表達(dá)方式或多種拼寫方式。現(xiàn)在的語音合成服務(wù)器可能僅支持目前的PLS標(biāo)準(zhǔn)-僅支持單一的發(fā)音。語音合成引擎僅現(xiàn)在第一個(gè)發(fā)音,而忽略發(fā)音列表中后面的發(fā)音。為了提高其準(zhǔn)確率,在PLS XML文件屬性中添加了prefer的參數(shù)設(shè)置,其參數(shù)表示此發(fā)音優(yōu)先級順序,使用示例如下:
這里,語音合成引擎將使用設(shè)置為prefer=true的發(fā)音優(yōu)先級。
7、在本章節(jié)中,我們主要介紹了PLS的背景知識,簡單的語法結(jié)構(gòu)和其在語音合成和語音識別環(huán)境中的使用。在使用方式的介紹中,我們重點(diǎn)針對不同的正文法(拼寫)和不同的語法條目的發(fā)音做了介紹,然后對不同發(fā)音的對應(yīng)的不同正文法的文件結(jié)構(gòu)也進(jìn)行了分析說明。通過此章節(jié)的剖析,讀者可以基本了解了PLS的語法和其文件結(jié)構(gòu),為筆者讀者進(jìn)一步了解MRCP媒體處理做一個(gè)必要的準(zhǔn)備。
到此為止,通過幾個(gè)不同的章節(jié),我們已經(jīng)非常完整地介紹了關(guān)于MRCP的數(shù)據(jù)表達(dá)格式和語法結(jié)構(gòu)。在接下來的幾個(gè)章節(jié)中,我們將開始討論關(guān)于MRCP最為核心的部分-語音合成資源類型,語音識別資源類型,錄音資源類型和說話人驗(yàn)證資源類型。這些媒體資源類型是MRCP乃至整個(gè)語音識別領(lǐng)域最主要的核心模塊。
參考資料:
https://en.wikipedia.org/wiki/ISO_15924
https://www.w3.org/TR/pronunciation-lexicon/#S5
unimrcp-MRCP協(xié)議學(xué)習(xí)分享,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