• <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ǔ)義標識語(yǔ)言(NLSML)

    2018-07-05 11:18:24   作者: james.zhu   來(lái)源:CTI論壇   評論:0  點(diǎn)擊:


      MRCP協(xié)議使用了Natural Language Semantics Markup Language(NLSML)來(lái)呈現數據的輸出格式,它封裝了語(yǔ)音識別資源和說(shuō)話(huà)人確認資源的數據。Natural Language Semantics Markup Language的中文的全稱(chēng)是自然語(yǔ)言語(yǔ)義標識語(yǔ)言。為了書(shū)寫(xiě)方便,我們在接下來(lái)的部分使用其縮寫(xiě)來(lái)表示。NLSML是W3C的一個(gè)發(fā)布標準,MRCP協(xié)議借用了NLSML的部分技術(shù)細節,經(jīng)過(guò)一些裁剪實(shí)現了MRCP的NLSML版本。在今天的章節中,我們將涵蓋MRCP的自然語(yǔ)言語(yǔ)義標識語(yǔ)言一些關(guān)鍵配置參數和使用示例。
      1、首先,我們介紹一下NLSML的一些背景信息。MRCP中的NLSML實(shí)際上是一種數據交換的格式,它介于語(yǔ)音識別和說(shuō)話(huà)人確認資源的之間。
      NLSML可表示的數據信息包括用戶(hù)語(yǔ)音輸入,用戶(hù)的DTMF輸入,和其相關(guān)的語(yǔ)義解釋信息,信任度信息和時(shí)間戳的信息。
      MRCP拓展了NLSML來(lái)進(jìn)一步表示說(shuō)話(huà)人注冊語(yǔ)法(英文全稱(chēng)是Voiceen rolled grammars, 有時(shí)也稱(chēng)之為speaker dependent grammars)相關(guān)數據。speaker dependent grammars 表示的是由用戶(hù)自己語(yǔ)音創(chuàng )建的語(yǔ)法,為了進(jìn)一步的語(yǔ)音識別操作來(lái)服務(wù)的語(yǔ)法形式。
      NLSML也可以配合說(shuō)話(huà)人確認資源來(lái)表示各種說(shuō)話(huà)人確認信息和身份等相關(guān)的數據。
      2、首先讓我們看看NLSML的數據結構。NLSML的數據結構通過(guò)媒體類(lèi)型來(lái)定義:application/nlsml+xml。其結構如下:
      < xmlversion="1.0"encoding="UTF-8" ><resultxmlns="http://www.ietf.org/xml/ns/mrcpv2">
      …
      </result>
      這里的數據完全取決于是否使用了NLSML返回的語(yǔ)音識別的結果信息,例如語(yǔ)音識別結果,聲音注冊的語(yǔ)法結果和說(shuō)話(huà)人確認和身份結果都等數據。我們在下面的章節中會(huì )依次介紹這三種數據結果的結構。
      3、現在我們首先介紹一下語(yǔ)音識別結果的數據格式。語(yǔ)音識別的結果是被封裝在NLSML中,并且包含在了RECOGNITION COMPLETE事件的消息體或GET-RESULT 響應的信息體。我們已經(jīng)在前面的章節中介紹過(guò)事件的消息體內容,讀者可查閱歷史文檔學(xué)習。NLSML的結果通過(guò)<result>的一個(gè)或多個(gè)子要素標簽<interpretation>來(lái)做標識。以下表中表示了NLSML中的數據格式要素和其屬性數值。
      剛才,我們已經(jīng)提到過(guò),每個(gè)NLSML文件至少包含一個(gè)或多個(gè)<interpretation>。如果有多個(gè)<interpretation>時(shí),這里的<interpretation>將會(huì )以遞減信任度的形式排列。可選數值confidence表示對其<interpretation>的數值的信任評價(jià)值,其取值范圍從0.0到1.0。在<interpretation>中包含一個(gè)<input>和一個(gè)<instance>要素。<input>表示用戶(hù)輸入的文本形式,<instance>則包含了相應的語(yǔ)義解釋結果。如果沒(méi)有成功識別的話(huà),此文件會(huì )包含<noinput>或 <nomatch>的要素,表示未成功識別。timestamp-start和timestamp-end用來(lái)表示用戶(hù)輸入時(shí)間段。這里,讀者要注意,其時(shí)間戳格式是ISO 8601格式標準。
      語(yǔ)音識別在一定時(shí)間內,其檢測結果可能是成功的也可能是失敗的。
      我們重點(diǎn)介紹幾個(gè)不同的狀態(tài)返回結果。當在一定時(shí)間內沒(méi)有檢測到用戶(hù)輸入時(shí),語(yǔ)音識別引擎會(huì )在返回的RECOGNITION-COMPLETE事件中返回002 no-input-timeout 錯誤碼。關(guān)于002 錯誤碼我們在以前的章節中做過(guò)介紹,用戶(hù)可以查閱歷史文檔。如果NLSML結果在返回的事件的消息體中的話(huà),NLSML將返回一個(gè)<noinput>作為<input>的子要素。如果識別引擎檢測到了用戶(hù)輸入數據,但是識別引擎沒(méi)有匹配語(yǔ)法設置或超過(guò)信任度的峰值參數時(shí),在RECOGNITION-COMPLETE的返回的事件中,識別引擎會(huì )攜帶001 no-match 錯誤碼。同時(shí),如果返回的事件消息體中包含了NLSML的結果,NLMSL將包含一個(gè)<nomatch>子要素作為<input>的子要素。另外,在<nomatch>要素中可能包含某些可選的文本,這些文本是被拒絕匹配中的最佳結果。我們列舉幾個(gè)不同的返回結果來(lái)說(shuō)明語(yǔ)音識別是否成功。
      成功的識別結果,包含兩個(gè)<interpretation>值和相應的返回值<instance>。
      < xml version="1.0" encoding="UTF-8" >
      <result xmlns="http://www.ietf.org/xml/ns/mrcpv2"
      grammar="http://www.example.com/demo.grxml">
      <interpretation confidence="0.81">
      <input mode="speech">
      to recognise speech
      </input>
      <instance>
      to recognise speech
      </instance>
      </interpretation>
      <interpretation confidence="0.75">
      <input mode="speech">
      to wreck a nice beach
      </input>
      <instance>
      to wreck a nice beach
      </instance>
      </interpretation>
      </result>
      無(wú)用戶(hù)輸入的檢測結果,這里輸出的是<noinput/>子要素,可能沒(méi)有用戶(hù)輸入或沒(méi)有設置時(shí)間戳設置。
      < xml version="1.0" encoding="UTF-8" >
      <result xmlns="http://www.ietf.org/xml/ns/mrcpv2">
      <interpretation>
      <input mode="speech">
      <noinput/>
      </input>
      <instance/>
      </interpretation>
      </result>
      無(wú)匹配的返回結果,這里可能是信任度峰值的數值不準確導致不匹配。
      < xml version="1.0" encoding="UTF-8" >
      <result xmlns="http://www.ietf.org/xml/ns/mrcpv2"
      grammar="http://www.example.com/number.grxml">
      <interpretation confidence="0.31">
      <input mode="speech">
      <nomatch>one</nomatch> // 雖然返回拒絕匹配輸出結果,但是提供了最佳匹配可選內容。
      </input>
      <instance/>
      </interpretation>
      </result>
      4、上面的章節中我們介紹了語(yǔ)音識別的返回結果匹配的結果,這里我們進(jìn)一步介紹包含語(yǔ)義解釋的語(yǔ)音識別的語(yǔ)法結構。當語(yǔ)法中的tag-format設置為semantics/1.0-literals 時(shí),<tag>要素中的內容則被解釋為ECMAScript 腳本。我們在前面的章節中已經(jīng)說(shuō)明這個(gè)定義。當所有匹配的<tag>執行以后會(huì )從語(yǔ)法規則中生成語(yǔ)義結果。然后,NLSML會(huì )把匹配的語(yǔ)法中的語(yǔ)義解釋結果插入到<instance>中。現在讓我們看一下以下示例:
      < xmlversion="1.0"encoding="UTF-8" ><grammarversion="1.0"xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"xml:
      lang="en-IE"
      root="yesno"
      tag-format="semantics/1.0-literals">
      <ruleid="yesno">
      <one-of>
      <item>yes<tag>affirmative</tag></item>
      <item>yea<tag>affirmative</tag></item>
      <item>no<tag>negative</tag></item>
      <item>nah<tag>negative</tag></item>
      </one-of></rule>
      </grammar>
      現在,如果我們假設用戶(hù)發(fā)音是單詞“yea”,那么NLSML可能生成的結果是:
      < xmlversion="1.0"encoding="UTF-8" ><resultxmlns="http://www.ietf.org/xml/ns/mrcpv2"
      grammar="http://www.example.com/yesno.grxml"><interpretationconfidence="0.91">
      <inputmode="speech">yea</input>
      <instance>affirmative</instance>
      </interpretation></result>
      其他的應用程序則可以根據<instance>的結果來(lái)做進(jìn)一步的業(yè)務(wù)處理。
      5、前面我們介紹了ECMAScript的語(yǔ)法結構和具體使用方式和解釋結果。語(yǔ)義解釋結果會(huì )保存到數據文件中。當規則中的變量被認定為一個(gè)標量類(lèi)型(例如string, number,boolean,null或undefined類(lèi)型)時(shí),那么語(yǔ)義結果同樣會(huì )NLSML生成的<instance>中。這里,如果number是小于零,則加一個(gè)negative前綴。如果是布爾值,則為true或false。null則為null值。如果是undefined的值,則仍然為undefined值。以下語(yǔ)法同樣會(huì )生成同樣的語(yǔ)義結果(根據前面所生產(chǎn)的語(yǔ)義結果):
      < xmlversion="1.0"encoding="UTF-8" ><grammarversion="1.0"xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"xml:
      lang="en-IE"
      root="yesno"
      tag-format="semantics/1.0">
      <ruleid="yesno">
      <one-of>
      <item>yes<tag>out="affirmative";</tag>
      </item><item>yea<tag>out="affirmative";</tag></item><item>no<tag>out="negative";</tag></item>
      <item>nah<tag>out="negative";</tag></item>
      </one-of>
      </rule>
      </grammar>
      當語(yǔ)法規則的變量不是標量變量類(lèi)型,它返回的是ECMAScript 對象時(shí),則處理的數據格式更加復雜。關(guān)于如何從ECMAScript 對象轉轉換成XML語(yǔ)法結構的規定,用戶(hù)可以參考Semantic Interpretation for Speech Recognition(SISR)。規則中定義了不同的轉換規則,用戶(hù)可以做進(jìn)一步的了解。具體的規則如下:
      現在讓我們了解一下語(yǔ)法規則和轉換后的結果:
      < xmlversion="1.0"encoding="UTF-8" ><grammarversion="1.0"xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"
      xml:lang="en-GB"
      root="travel"tag-format="semantics/1.0">
      <ruleid="travel">
      <tag>out.travel=newObject();</tag>
      I want a fly from
      <rulerefuri="#city"/>
      <tag>out.travel.orig=rules.city;</tag>
      to
      <rulerefuri="#city"/>
      <tag>out.travel.dest=rules.city;</tag>
      </rule><ruleid="city">
      <one-of>
      <item>Dublin<tag>out="Dublin";</tag></item><item>London<tag>out="London";</tag></item><item>Paris<tag>out="Paris";</tag>
      </item>
      </one-of>
      </rule>
      </grammar>
      在以上的示例中,對于“I want to fly from Dublin to Paris“ 輸入變量來(lái)說(shuō),其生成的結果規則變量是:
      {
      travel:
      {
      orig:Dublin,
      dest:Paris
      }
      }
      如果我們把整個(gè)結果通過(guò)規則轉換的規則來(lái)進(jìn)行語(yǔ)法處理后,NLSML的結果類(lèi)似于:
      < xmlversion="1.0"encoding="UTF-8" >
      <result xmlns="http://www.ietf.org/xml/ns/mrcpv2"
      grammar="http://www.example.com/travel.grxml">
      <interpretation confidence="0.93">
      <input mode="speech">I want to fly from Dublin to Paris</input>
      <instance>
      <travel>
      <orig>Dublin</orig>
      <dest>Paris</dest>
      </travel>
      </instance>
      </interpretation>
      </result>
      語(yǔ)法規則變量的類(lèi)型也可能是array類(lèi)型或其中一個(gè)屬性可能是array的數據類(lèi)型。這種情況下,如果規則變量轉換成語(yǔ)義結果的話(huà),需要遵守一定的規則。具體的規則如下:
      Array對象的帶索引的要素會(huì )變成XML的子要素,并且帶<item>名稱(chēng)。
      每個(gè)item中的參數屬性命名為帶索引支持,此索引對應Array中的要素。
      XML文件中包含<item>要素屬性length,此值通過(guò)ECMAScript Array的對象來(lái)定義。
      以上規則看起來(lái)比較難以理解,我們通過(guò)以下示例來(lái)加以說(shuō)明:
      < xmlversion="1.0"encoding="UTF-8" >
      <grammar version="1.0"
      xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"
      xml:lang="en-GB"
      root="string"
      tag-format="semantics/1.0">
      <ruleid="string">
      <tag>out.digitstring=newArray();</tag>
      <itemrepeat="1-">
      <rulerefuri="#digits"/>
      <tag>out.digitstring.push(rules.digits);</tag>
      </item>
      </rule>
      <ruleid="digits">
      <one-of>
      <item>one<tag>out=1;</tag></item>
      <item>two<tag>out=2;</tag></item>
      <item>three<tag>out=3;</tag></item>
      <item>four<tag>out=4;</tag></item>
      <item>five<tag>out=5;</tag></item>
      </one-of>
      </rule>
      </grammar>
      如果用戶(hù)的輸入語(yǔ)句是”5,4,3,2,1“的話(huà),生成的array 類(lèi)型的對象變量結果格式為:
      {
      digitstring:[ 5, 4, 3, 2, 1]  // 這里的長(cháng)度是5,包含五個(gè)數值。
      }
      如果按照上面的三條規則進(jìn)行轉換以后,生成的結果類(lèi)似于:
      < xmlversion="1.0"encoding="UTF-8" ><resultxmlns="http://www.ietf.org/xml/ns/mrcpv2"
      grammar="http://www.example.com/yesno.grxml">
      <interpretation confidence="0.93">
      <input mode="speech">
      five four three two one
      </input>
      <instance>
      <digitstring length="5"> // 長(cháng)度取決于array 對象值。
      <item index="0">5</item>  // 這里0對應的是5
      <itemindex="1">4</item>
      <itemindex="2">3</item>
      <itemindex="3">2</item>
      <itemindex="4">1</item>
      </digitstring>
      </instance>
      </interpretation>
      </result>
      6、在前面的章節中,我們一直討論關(guān)于語(yǔ)音識別輸出結果的討論。在本章節中,我們將重點(diǎn)介紹語(yǔ)音注冊的輸出結果。語(yǔ)音注冊聽(tīng)起來(lái)比較費解,簡(jiǎn)單來(lái)說(shuō),它是一種機制,用戶(hù)可以通過(guò)增加自己的一些短語(yǔ)創(chuàng )建說(shuō)話(huà)人屬于自己的,獨立的,相對個(gè)性化的語(yǔ)法結構。此語(yǔ)法結構看在后續的正常語(yǔ)音識別中使用。典型的應用案例就是很多人使用的電話(huà)薄。說(shuō)話(huà)人可以對語(yǔ)音識別引擎進(jìn)行訓練,輸入朋友姓名電話(huà)號碼等。其他用戶(hù)可以說(shuō)出訓練后的朋友姓名,然后識別出朋友相應的電話(huà)號碼等關(guān)聯(lián)信息。
      從概念上來(lái)說(shuō),注冊語(yǔ)音語(yǔ)法可以看作是簡(jiǎn)單的SRGS語(yǔ)法,它由幾個(gè)可選設置構成,例如以下示例:
      < xmlversion="1.0"encoding="UTF-8" ><grammarversion="1.0"
      xmlns="http://www.w3.org/2001/06/grammar"
      mode="voice"
      xml:lang="en-GB"
      root="address"
      tag-format="semantics/1.0-literals">
      <ruleid="address">
      <one-of>
      <item>Mary<tag>user01</tag></item>
      <item>Anne<tag>user02</tag></item>
      <item>JohnHenry<tag>user03</tag></item>
      …
      </one-of>
      </rule>
      </grammar>
      這里,短語(yǔ)(Mary,Anne,JohnHenry)通過(guò)自己的注冊session ID和對應的語(yǔ)義解釋添加到了語(yǔ)法中。每個(gè)短語(yǔ)通過(guò)MRCP 客戶(hù)端提供的唯一短語(yǔ)ID來(lái)進(jìn)行跟蹤。在注冊會(huì )話(huà)中,用戶(hù)說(shuō)幾次短語(yǔ)的名稱(chēng),每次捕捉的短語(yǔ)會(huì )和以前的短語(yǔ)采樣進(jìn)行對比。當捕捉到足夠說(shuō)話(huà)采樣以后,短語(yǔ)經(jīng)過(guò)訓練以后生成個(gè)人注冊語(yǔ)音語(yǔ)法。這個(gè)個(gè)人的注冊語(yǔ)音語(yǔ)法可以通過(guò)正常的語(yǔ)音識別引擎使用個(gè)人語(yǔ)法的URL加以調用。當短語(yǔ)在設定的注冊會(huì )話(huà)期間成功匹配后,語(yǔ)義解釋結果會(huì )以NLSML的結果返回。這里,我們再次強調,這里的部署僅從理論上加以討論,具體的實(shí)現方式完全依賴(lài)于每個(gè)語(yǔ)音識別的平臺本身以及平臺語(yǔ)法和短語(yǔ)等存儲方式,語(yǔ)法結構等相關(guān)參數。當MRCP 客戶(hù)端對語(yǔ)音識別引擎發(fā)出 START-PHRASE-ENROLLMENT請求時(shí),注冊會(huì )話(huà)則開(kāi)始啟動(dòng)。當MRCP客戶(hù)端對語(yǔ)音識別引擎發(fā)出END-PHRASE-ENROLLMENT 請求時(shí),注冊會(huì )話(huà)的生命周期結束。如果在RECOGNIZE請求中包含頭域Enroll-Utterance:true會(huì )觸發(fā)對語(yǔ)音進(jìn)行捕捉。在對應的RECOGNITION-COMPLETE事件中會(huì )包含NLSML結果,它封裝了注冊的嘗試信息。具體的注冊結果我們在未來(lái)的章節中會(huì )做進(jìn)一步的介紹,現在我們專(zhuān)門(mén)針對NLSML中包含的語(yǔ)音注冊結果的格式進(jìn)行介紹。
      NLSML包含的語(yǔ)音注冊結果通過(guò)<enrollment-result>來(lái)加以定義,<enrollment-result>是<result>的子要素。以下列表說(shuō)明了語(yǔ)音注冊結果的表達方式:
      讓我們看一下在語(yǔ)音注冊會(huì )話(huà)生命周期中,RECOGNITION-COMPLETE事件返回的NLSML結果。在下面的示例中,具體語(yǔ)法結果表示通過(guò)URL設定了個(gè)人語(yǔ)法,目前收到一個(gè)連續的語(yǔ)音,仍然需要獲得兩個(gè)或多個(gè)語(yǔ)音,并且還有兩個(gè)不相容短語(yǔ)(Mary和Madge,它們分別通過(guò)clash-phrase-id 表示)。
      < xmlversion="1.0"encoding="UTF-8" ><resultxmlns="http://www.ietf.org/xml/ns/mrcpv2"
      grammar="http://example.com/ve/personal-grammar-01">
      <enrollment-result>
      <num-good-repetitions>1</num-good-repetitions>
      <num-repetitions-still-needed>2</num-repetitions-still-needed>
      <consistency-status>consistent</consistency-status>
      <transcriptions>
      <item>Marie</item>
      </transcriptions>
      <num-clashes>2</num-clashes>
      <clash-phrase-ids>
      <item>Mary</item>
      <item>Madge</item>
      </clash-phrase-ids>
      </enrollment-result>
      </result>
      7、MRCP通過(guò)NLSML封裝了說(shuō)話(huà)人的狀態(tài)驗證信息。這些結果消息包含在VERIFICATION-COMPLETE事件的消息體中,是GET-INTERMEDIATE-RESULT請求的對應響應。關(guān)于說(shuō)話(huà)人驗證和定位消息,我們在以前的章節中做過(guò)簡(jiǎn)單的介紹,在未來(lái)的章節中會(huì )更加深入地進(jìn)行剖析。這里,我們僅關(guān)心NLSML的文件結構, 這里的NLSML文件用來(lái)描述訓練的聲紋結果,聲紋對比以后的語(yǔ)音變化,說(shuō)話(huà)語(yǔ)音和多個(gè)聲紋對比來(lái)確認狀態(tài)。NLSML在<verification-result> XML要素來(lái)獲得支持。以下列表是一個(gè)關(guān)于speaker verification/identification 結果的匯總:
      以下是一個(gè)在聲紋訓練中返回的驗證結果。NLSML包含在VERIFICATION-COMPLETE的事件消息體中,或GET-INTERMEDIATE-RESULTS 請求的響應中:
      < xmlversion="1.0"encoding="UTF-8" ><resultxmlns="http://www.ietf.org/xml/ns/mrcpv2">
      <verification-result>
      <voiceprint id="joebloggs.voiceprint">
      <incremental>
      <verification-score>0.91</verification-score>
      <device>cellular-phone</device>
      <gender>male</gender>
      <utterance-length>751</utterance-length>
      </incremental>
      <cumulative>
      <verification-score>0.93</verification-score>
      <device>cellular-phone</device>
      <gender>male</gender>
      <utterance-length>1522</utterance-length>
      <need-more-data>true</need-more-data>
      </cumulative>
      </voiceprint>
      </verification-result>
      </result>
      在這個(gè)示例中已經(jīng)有一個(gè)聲紋的確認ID:joebloggs.voiceprint。<incremental> 表示要針對前一個(gè)講話(huà)的分析結果來(lái)做進(jìn)一步處理。其他獨立的標簽表示設備類(lèi)型,說(shuō)話(huà)人性別等信息。<cumulative>中的值是針對說(shuō)話(huà)語(yǔ)音分析,這些語(yǔ)音分析數據是通過(guò)多個(gè)VERIFY或VERIFY-FROM-BUFFER請求獲得的累計的cumulatives cores值。<verification-score> 這里表示的是擬然值,同樣的說(shuō)話(huà)人說(shuō)過(guò)的所有同樣的句子。<utterance-length>表示訓練中所使用的所有語(yǔ)音長(cháng)度,它以毫秒為單位。<need-more-data>設置為true則表示需要更多數據來(lái)完成聲紋訓練,MRCP 客戶(hù)端可能需要從用戶(hù)側獲得更多的數據,因此要求發(fā)送更多的VERIFY 或VERIFY-FROM-BUFFER請求獲得支持數據。
      現在,讓我們介紹一個(gè)關(guān)于驗證結果的示例。在START-SESSION請求中,我們在頭域Voiceprint-Identifier設定了一個(gè)單個(gè)的聲紋,我們期望獲得的單個(gè)聲紋NLSML返回結果,在結果中包含一個(gè)<voiceprint>。具體的xml 結果如下:
      < xmlversion="1.0"encoding="UTF-8" ><resultxmlns="http://www.ietf.org/xml/ns/mrcpv2">
      <verification-result>
      <voiceprintid="joebloggs.voiceprint">
      <incremental>
      <verification-score>0.85</verification-score>
      <device>carbon-button-phone</device>
      <gender>male</gender>
      <utterance-length>841</utterance-length>
      </incremental>
      <cumulative>
      <verification-score>0.81</verification-score>
      <device>carbon-button-phone</device>
      <gender>male</gender>
      <utterance-length>1619</utterance-length>
      <decision>accepted</decision>
      </cumulative>
      </voiceprint>
      </verification-result>
      </result>
      通過(guò)累計分析,這里的<decision>accepted</decision>表示說(shuō)話(huà)人語(yǔ)音資源已經(jīng)足夠匹配其中一個(gè)說(shuō)話(huà)的聲紋。
      最后,我們再介紹一個(gè)如何確認從多個(gè)說(shuō)話(huà)人的聲紋中確認某個(gè)說(shuō)話(huà)人。這里,假設“JoeBloggs”是屬于我們前面例子中“MaryBloggs”和“TedBloggs”的成員。在START-SESSION 的請求中設定的Voiceprint-Identifier將會(huì )列出所有三個(gè)聲紋,然后生成NLSML結果,這個(gè)結果包含三個(gè)<voiceprint>要素:
      < xml version="1.0" encoding="UTF-8" >
      <result xmlns="http://www.ietf.org/xml/ns/mrcpv2">
      <verification-result>
      <voiceprint id="marybloggs.voiceprint">
      <incremental>
      <verification-score>0.85</verification-score>
      <device>cellular-phone</device>
      <gender>female</gender>
      <utterance-length>842</utterance-length>
      </incremental>
      <cumulative>
      <verification-score>0.85</verification-score>
      <device>cellular-phone</device>
      <gender>female</gender>
      <utterance-length>842</utterance-length>
      <decision>accepted</decision>
      </cumulative>
      </voiceprint>
      <voiceprint id="tedbloggs.voiceprint">
      <cumulative>
      <verification-score>0.31</verification-score>
      </cumulative>
      </voiceprint>
      <voiceprint id="joebloggs.voiceprint">
      <cumulative>
      <verification-score>0.29</verification-score>
      </cumulative>
      </voiceprint>
      </verification-result>
      </result>
      這里的排序是按照<verification-score> 的值,從最大值到最小值的排序方式。說(shuō)話(huà)人語(yǔ)音和列表中的聲紋進(jìn)行對比,現在可以確認,說(shuō)話(huà)人是Mary Bloggs,而不是另外的人。
      8、在本章節中,我們介紹了MRCP協(xié)議中的數據表達格式-自然語(yǔ)言語(yǔ)義標識語(yǔ)言(NLSML)。在具體的章節中,我們首先介紹了NLSML的背景知識,文件結構。然后介紹了NLSML的語(yǔ)音識別的結果輸出格式和其腳本(ECMAScript)的轉換機制以及語(yǔ)義對象,array等使用方式的內容。我們也介紹了通過(guò)用戶(hù)注冊的語(yǔ)法實(shí)現個(gè)人語(yǔ)法的NLSML結果以及如何使用在標準的語(yǔ)音識別引擎中。最后,我們介紹了關(guān)于如何驗證說(shuō)話(huà)人以及確認說(shuō)話(huà)人的方式,聲紋訓練。MRCP協(xié)議通過(guò)幾個(gè)不同的NLSML和聲紋資源輸出結果,和相應的最終<verification-score>值來(lái)判斷說(shuō)話(huà)人。
      在接下來(lái)的章節中,我們會(huì )介紹MRCP數據呈現的最后一種語(yǔ)法格式-Pronunciation Lexicon Specification (PLS)。
      參考資料:
      https://www.w3.org/TR/semantic-interpretation/
      https://www.nuance.com/content/dam/nuance/en_us/collateral/enterprise/data-sheet/ds-nuance-recognizer11-en-us.pdf
         


      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