• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    您當前的位置是:  首頁(yè) > 新聞 > 國內 >
     首頁(yè) > 新聞 > 國內 >

    MRCP學(xué)習筆記-語(yǔ)音識別語(yǔ)法技術(shù)細節(SRGS)

    2018-06-28 09:52:52   作者: james.zhu   來(lái)源:CTI論壇   評論:0  點(diǎn)擊:


      前面的講座中,我們介紹了描述語(yǔ)音合成標記語(yǔ)言。在上一個(gè)講座中,筆者介紹了語(yǔ)音合成標記語(yǔ)言的基本語(yǔ)法和使用方式。在今天的章節中,我們繼續介紹MRCP協(xié)議中另外一個(gè)重要的語(yǔ)言語(yǔ)法-語(yǔ)音識別語(yǔ)言的技術(shù)細節(英文全稱(chēng)是:Speech Recognition Grammar Specification)。Speech Recognition Grammar Specification我們簡(jiǎn)稱(chēng)為SRGS。
      SRGS是W3C定義的一種標準,在MRCP v2的規定中沒(méi)有太多具體的規定,但是在語(yǔ)音識別服務(wù)器的設置方面需要其相關(guān)參數。因此,筆者認為有必要做一些具體的介紹。SRGS用來(lái)支持應用開(kāi)發(fā)人員通過(guò)設定的單詞或單詞模式的語(yǔ)法結構,這個(gè)語(yǔ)法結構能夠被語(yǔ)音識別引擎聽(tīng)或者識別。SRGS支持兩種語(yǔ)法格式,它們分別是XML格式和ABNF格式。在我們介紹的語(yǔ)法格式中,我們會(huì )重點(diǎn)介紹XML格式,因為在MRCP協(xié)議中我們主要還是使用XML格式。關(guān)于A(yíng)BNF格式,用戶(hù)可以參考相關(guān)的rfc5234做進(jìn)一步了解。在本章節中,我們將會(huì )介紹SRGS的基本語(yǔ)法,語(yǔ)義說(shuō)明和一些關(guān)聯(lián)處理機制。
      1、語(yǔ)音識別的語(yǔ)法是通過(guò)對語(yǔ)言限定來(lái)支持語(yǔ)音識別的處理。語(yǔ)音識別語(yǔ)法通過(guò)語(yǔ)言限定可以減少句子內容的不確定性,從而更好地支持語(yǔ)音識別。正式的語(yǔ)法都是由一系列規則和一些標識,象征符號通過(guò)恰當的排列組成而成。
      SRGS有兩種不同的語(yǔ)法結構。一種是遞歸狀態(tài),表示了一種語(yǔ)法上下文的語(yǔ)法結構。另外一種則不是遞歸狀態(tài),表示了一種有限狀態(tài)或規則語(yǔ)法結構。語(yǔ)音識別的核心Hidden Markov Model(HMM)本身就是一個(gè)有限狀態(tài)機(參考上圖)。現在的語(yǔ)音識別引擎可以支持從由少量單詞組成的語(yǔ)法也可以支持復雜的上百單詞組成的語(yǔ)法結構。語(yǔ)音識別的準確率以及處理速度和語(yǔ)法的復雜程度和語(yǔ)法的困惑度相關(guān)。換句話(huà)說(shuō),如果增加了單詞或語(yǔ)法結構,或增加了語(yǔ)法的困惑度會(huì )影響語(yǔ)音識別引擎的執行效率,也會(huì )降低語(yǔ)音識別的準確率和處理的速度。我們剛才也提到了困惑度的概念,困惑度簡(jiǎn)單來(lái)說(shuō)就是一個(gè)語(yǔ)法結構中平均支持的分支節點(diǎn),如果結束符越多,需要判斷的點(diǎn)會(huì )越多。因此,如果開(kāi)發(fā)人員需要完成一套高質(zhì)量的語(yǔ)法必須有非常大的投入,前期測試和后期維護工作。現在讓我們了解一些關(guān)于SRGS中主要的語(yǔ)法結構和其應用。
      2、首先,我們介紹一下SRGS的文件結構。SRGS文件支持XML格式,通過(guò)媒體類(lèi)型application/srgs+xml來(lái)定義。以下是SRGS支持的屬性:
      其基本的語(yǔ)法格式為:
      
      
      xmlns="http://www.w3.org/2001/06/grammar"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.w3.org/2001/06/grammar
      http://www.w3.org/TR/speech-grammar/grammar.xsd"
      mode="voice"
      xml:lang="en-GB"
      root="example">
      
      yes
      
      
      這里,所有的SRGS文件標簽都已開(kāi)始。讀者需要注意到是mode的屬性。默認屬性是voice,也可以是DTMF,不支持兩種類(lèi)型混合使用。如果是vocie表示輸入的值是語(yǔ)音;如果是DTMF則表示輸入的值是DTMF。但是,在一些復雜配置環(huán)境中,語(yǔ)音識別引擎可以同時(shí)激活兩種模式支持。在未來(lái)的講座中,我們會(huì )涉及這些兩種模式的使用方式。
      3、語(yǔ)法包含一個(gè)或多個(gè)規則定義。每個(gè)規則定義由一個(gè),名稱(chēng)和ID構成。我們稱(chēng)每個(gè)規則定義的內容為規則擴展。一個(gè)規則擴展將匹配完整語(yǔ)句中的部分內容。一個(gè)簡(jiǎn)單的規則擴展由按序排列的標志構成。一個(gè)單詞加一個(gè)空格就是一個(gè)標志單位。
      
      
      xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"
      xml:lang="en-GB"
      root="pizza">
      I want a hot pepperoni pizza
      I want a hot pepperoni pizza
      
      
      在以上的示例中,語(yǔ)音發(fā)音必須全部完整匹配標志的順序格式。SRGS語(yǔ)法同樣可以支持添加一個(gè)或者多個(gè)要素來(lái)增加語(yǔ)法的可閱讀性。這里,我們僅介紹了一個(gè)非常簡(jiǎn)單,定義非常嚴格的規則擴展。事實(shí)上,SRGS可以實(shí)現非常強大的語(yǔ)法擴展,我們在后續的章節中會(huì )逐步介紹。
      4、在規則擴展中可以支持多個(gè)可選項的設置。SRGS使用要素來(lái)表達。每個(gè)中可以包含多個(gè)item規則擴展。
      
      xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"
      xml:lang="en-GB"
      root="pizza">
      
      I want a hot
      
      pepperoni
      vegetarian
      cheese
      pizza
      
      以上可選項支持了非常靈活的語(yǔ)法結構。它可以匹配:
      I want a hot pepperoni pizza
      I want a hot vegetarian pizza
      I want a hot cheese pizza
      高級語(yǔ)法中可以對不同的選項設置不同的權重。權重值等于1表示無(wú)權重,小于1表示負面的偏好,大于1表示正面的偏好。在上面的語(yǔ)法中,我們可以添加權重來(lái)表示特定的優(yōu)先級設置,發(fā)生幾率高于其他選項設置:
      
      xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"
      xml:lang="en-GB"
      root="pizza">
      I want a hot
      
      pepperoni
      vegetarian
      cheese
      pizza
      
      5、SRGS的規則擴展中可以支持一個(gè)參照規則來(lái)引入其他的規則,通過(guò)要素加以說(shuō)明。規則參照的主要目的是重用規則擴展。其用法規則如下:
      
      
      xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"
      xml:lang="en-GB"
      root="pizza">
      I want a hotpizza
      
      
      pepperoni
      vegetarian
      cheese
      
      
      可參照的規則通過(guò)URI屬性的值來(lái)定義。當然,它也可以通過(guò)一個(gè)完整的URL來(lái)定義:
      6、SRGS通過(guò)預留的名稱(chēng)定義了三種特別的規則,它們分別是:NULL,VOID 和GARBAGE。其作用表示:
      NULL,如果講話(huà)者沒(méi)有說(shuō)任何語(yǔ)句,自動(dòng)匹配為Null。
      VOID,在排列順序中是一個(gè)相反的效果,它說(shuō)明順序從來(lái)沒(méi)有匹配。
      GARBAGE,則會(huì )一直匹配,直到下一個(gè)標志,語(yǔ)法擴展或結束輸入。
      
      
      xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"
      xml:lang="en-GB"
      root="pizza">
      I want a hotpizza
      
      在以上的語(yǔ)法中,任何語(yǔ)句內容都可以匹配此語(yǔ)法規則(介于hot和pizza之間的輸入內容)。例如,“I want a hot something or other pizza”就可以匹配以上語(yǔ)法規則。
      7、SRGS提供了一個(gè)結構支持規則擴展重復。通過(guò)一個(gè)重復的要素設置可以增加語(yǔ)法的緊湊性。大家可以想象一下,如果在語(yǔ)法中需要定義一個(gè)數值長(cháng)度的話(huà),可能需要從0到9這樣的設置,我們使用,則需要很多次重復的語(yǔ)句,語(yǔ)句就會(huì )顯得非常冗長(cháng)。以下是repeat 屬性的設置語(yǔ)法:
      repeat 表示的取值范圍如下:
      0-1表示包含的規則開(kāi)展內容是可選的
      0-表示至少包含零次,一次或多次規則擴展
      1-表示至少發(fā)生一次匹配
      以下就是一個(gè)使用repeat的示例,表示允許用戶(hù)說(shuō)“very” 三次。
      
      xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"
      xml:lang="en-GB"
      root="pizza">
      I want a
      veryhotpizza
      
      
      pepperoni
      vegetarian
      cheese
      
      
      SRGS的語(yǔ)法也可以支持在語(yǔ)音通信領(lǐng)域中用戶(hù)經(jīng)常使用的DTMF按鍵。很多時(shí)候,用戶(hù)通過(guò)DTMF輸入來(lái)確認一些系統信息,例如密碼或其他語(yǔ)音選項設置。SRGS的DTMF和通信領(lǐng)域中的DTMF按鍵有所不同,通信領(lǐng)域的可以接受0-9數字,ABCD等其他字符設置,而SRGS支持0-9數字,語(yǔ)法結構也比較簡(jiǎn)單,以下是一個(gè)可以接受4位數DTMF的語(yǔ)法格式:
      
      
      xmlns="http://www.w3.org/2001/06/grammar"
      mode="dtmf"
      root="digits">
      
      
      
      
      
      
      0
      1
      2
      3
      4
      5
      6
      7
      8
      9
      
      
      
      8、在SRGS語(yǔ)法提供了對語(yǔ)義解釋?zhuān)⊿ISR)的兩種方式,它們可以通過(guò)tag-format來(lái)獲得支持。很多情況下,我們使用不同的表達方式來(lái)解釋同一種結果。其中一種是semantics/1.0-literals的方式,這里無(wú)論用戶(hù)以哪種方式說(shuō)yes/no,都會(huì )返回yes/no的結果,其數值結構是ECMAScript 的數據格式。
      
      
      xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"
      xml:lang="en-GB"
      root="yesno"
      tag-format="semantics/1.0-literals">
      
      
      yes
      yeayes
      ayeyes
      no
      nopeno
      nahno
      
      
      
      另外一種是使用語(yǔ)義腳本語(yǔ)言,通過(guò)tag-format-semantics/1.0獲得支持。tag中的內容被看作是ECMAScript 代碼。ECMAScript是一種腳本語(yǔ)言,類(lèi)似于我們現在通常用到的JavaScript。
      
      
      xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"
      xml:lang="en-GB"
      root="pizza"
      tag-format="semantics/1.0">
      
      I want a
      
      largeout.size="large";
      smallout.size="small";
      
      
      pepperoniout.sort=1;
      vegetarianout.sort=2;
      cheeseout.sort=3;
      
      pizza
      
      
      這里,我們假設發(fā)音是”I want a large vegetarian pizza“,那么返回ECMAScript 腳本對象的兩個(gè)屬性是size 和 sort類(lèi)型,其值分別是large和2。其取值變量遵循的是ECMAScript 標準。腳本的對象數值是:
      {
      size: "large",
      sort: 2
      }
      這個(gè)標識符表示了腳本的數據結構,語(yǔ)音應用程序將其數值存儲為數據庫的數據以便將來(lái)使用。semantics/1.0還支持了meta 數據的表達方式等靈活的處理方式,我們這里不再做更多介紹。具體的實(shí)現方式建議大家參考相關(guān)的SISR技術(shù)資料。另外,語(yǔ)義腳本語(yǔ)言支持的是ECMScript, 關(guān)于腳本語(yǔ)言的使用方式和變量取值等內容,讀者可以參考我們的鏈接。
      9、在本章節中,我們重點(diǎn)介紹了SRGS技術(shù)細節中幾個(gè)主要的概念和要素使用方式以及其相關(guān)的語(yǔ)法結構。首先,筆者對語(yǔ)音識別語(yǔ)法的背景做了簡(jiǎn)單介紹,然后對一些關(guān)鍵語(yǔ)法做了細致的介紹,包括的關(guān)鍵語(yǔ)法為可選項設置,重復語(yǔ)法設置,預留的三種特殊設置,語(yǔ)義腳本結構(SISR),DTMF設置等設置語(yǔ)法。這些關(guān)鍵語(yǔ)法可以幫助優(yōu)化語(yǔ)法文件的結構,增加其靈活性和緊湊性,從而使其語(yǔ)法規則更接近于人類(lèi)的自然語(yǔ)言。
      在接下來(lái)的章節中,筆者會(huì )介紹自然語(yǔ)言語(yǔ)義標識語(yǔ)言(NLSML)的語(yǔ)法結構和其使用方式。
      參考資料:
      https://tools.ietf.org/rfc/rfc5234.txt
      http://cs229.stanford.edu/section/cs229-hmm.pdf
      關(guān)于SISR標準技術(shù):https://www.w3.org/TR/semantic-interpretation/
      http://www.ecma-international.org/publications/standards/Ecma-327.htm
      HMM介紹-A Tutorial on Hidden Markov Models and
      Selected Applications in Speech Recognition
         
     
      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
     

    【免責聲明】本文僅代表作者本人觀(guān)點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對文中陳述、觀(guān)點(diǎn)判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 宁陵县| 荔浦县| 马鞍山市| 高邮市| 永清县| 武鸣县| 铁岭县| 乡宁县| 胶南市| 宁都县| 尖扎县| 施甸县| 大邑县| 马龙县| 林口县| 琼结县| 滁州市| 和田市| 新乡市| 正蓝旗| 重庆市| 梅河口市| 聊城市| 新邵县| 泽普县| 科技| 呼和浩特市| 南丹县| 墨竹工卡县| 鲜城| 洪江市| 鱼台县| 安达市| 海城市| 麻江县| 宣威市| 耒阳市| 文登市| 丹阳市| 佳木斯市| 页游| http://444 http://444 http://444 http://444 http://444 http://444