欧美,精品,综合,亚洲,好吊妞视频免新费观看,免费观看三级吃奶,一级a片女人自慰免费看

您當(dāng)前的位置是:  首頁(yè) > 新聞 > 國(guó)內(nèi) >
 首頁(yè) > 新聞 > 國(guó)內(nèi) >

MRCP學(xué)習(xí)筆記-自然語(yǔ)言語(yǔ)義標(biāo)識(shí)語(yǔ)言(NLSML)

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


  MRCP協(xié)議使用了Natural Language Semantics Markup Language(NLSML)來(lái)呈現(xiàn)數(shù)據(jù)的輸出格式,它封裝了語(yǔ)音識(shí)別資源和說(shuō)話人確認(rèn)資源的數(shù)據(jù)。Natural Language Semantics Markup Language的中文的全稱是自然語(yǔ)言語(yǔ)義標(biāo)識(shí)語(yǔ)言。為了書寫方便,我們?cè)诮酉聛?lái)的部分使用其縮寫來(lái)表示。NLSML是W3C的一個(gè)發(fā)布標(biāo)準(zhǔn),MRCP協(xié)議借用了NLSML的部分技術(shù)細(xì)節(jié),經(jīng)過(guò)一些裁剪實(shí)現(xiàn)了MRCP的NLSML版本。在今天的章節(jié)中,我們將涵蓋MRCP的自然語(yǔ)言語(yǔ)義標(biāo)識(shí)語(yǔ)言一些關(guān)鍵配置參數(shù)和使用示例。
  1、首先,我們介紹一下NLSML的一些背景信息。MRCP中的NLSML實(shí)際上是一種數(shù)據(jù)交換的格式,它介于語(yǔ)音識(shí)別和說(shuō)話人確認(rèn)資源的之間。
  NLSML可表示的數(shù)據(jù)信息包括用戶語(yǔ)音輸入,用戶的DTMF輸入,和其相關(guān)的語(yǔ)義解釋信息,信任度信息和時(shí)間戳的信息。
  MRCP拓展了NLSML來(lái)進(jìn)一步表示說(shuō)話人注冊(cè)語(yǔ)法(英文全稱是Voiceen rolled grammars, 有時(shí)也稱之為speaker dependent grammars)相關(guān)數(shù)據(jù)。speaker dependent grammars 表示的是由用戶自己語(yǔ)音創(chuàng)建的語(yǔ)法,為了進(jìn)一步的語(yǔ)音識(shí)別操作來(lái)服務(wù)的語(yǔ)法形式。
  NLSML也可以配合說(shuō)話人確認(rèn)資源來(lái)表示各種說(shuō)話人確認(rèn)信息和身份等相關(guān)的數(shù)據(jù)。
  2、首先讓我們看看NLSML的數(shù)據(jù)結(jié)構(gòu)。NLSML的數(shù)據(jù)結(jié)構(gòu)通過(guò)媒體類型來(lái)定義:application/nlsml+xml。其結(jié)構(gòu)如下:
  < xmlversion="1.0"encoding="UTF-8" ><resultxmlns="http://www.ietf.org/xml/ns/mrcpv2">
  …
  </result>
  這里的數(shù)據(jù)完全取決于是否使用了NLSML返回的語(yǔ)音識(shí)別的結(jié)果信息,例如語(yǔ)音識(shí)別結(jié)果,聲音注冊(cè)的語(yǔ)法結(jié)果和說(shuō)話人確認(rèn)和身份結(jié)果都等數(shù)據(jù)。我們?cè)谙旅娴恼鹿?jié)中會(huì)依次介紹這三種數(shù)據(jù)結(jié)果的結(jié)構(gòu)。
  3、現(xiàn)在我們首先介紹一下語(yǔ)音識(shí)別結(jié)果的數(shù)據(jù)格式。語(yǔ)音識(shí)別的結(jié)果是被封裝在NLSML中,并且包含在了RECOGNITION COMPLETE事件的消息體或GET-RESULT 響應(yīng)的信息體。我們已經(jīng)在前面的章節(jié)中介紹過(guò)事件的消息體內(nèi)容,讀者可查閱歷史文檔學(xué)習(xí)。NLSML的結(jié)果通過(guò)<result>的一個(gè)或多個(gè)子要素標(biāo)簽<interpretation>來(lái)做標(biāo)識(shí)。以下表中表示了NLSML中的數(shù)據(jù)格式要素和其屬性數(shù)值。
  剛才,我們已經(jīng)提到過(guò),每個(gè)NLSML文件至少包含一個(gè)或多個(gè)<interpretation>。如果有多個(gè)<interpretation>時(shí),這里的<interpretation>將會(huì)以遞減信任度的形式排列。可選數(shù)值confidence表示對(duì)其<interpretation>的數(shù)值的信任評(píng)價(jià)值,其取值范圍從0.0到1.0。在<interpretation>中包含一個(gè)<input>和一個(gè)<instance>要素。<input>表示用戶輸入的文本形式,<instance>則包含了相應(yīng)的語(yǔ)義解釋結(jié)果。如果沒(méi)有成功識(shí)別的話,此文件會(huì)包含<noinput>或 <nomatch>的要素,表示未成功識(shí)別。timestamp-start和timestamp-end用來(lái)表示用戶輸入時(shí)間段。這里,讀者要注意,其時(shí)間戳格式是ISO 8601格式標(biāo)準(zhǔn)。
  語(yǔ)音識(shí)別在一定時(shí)間內(nèi),其檢測(cè)結(jié)果可能是成功的也可能是失敗的。
  我們重點(diǎn)介紹幾個(gè)不同的狀態(tài)返回結(jié)果。當(dāng)在一定時(shí)間內(nèi)沒(méi)有檢測(cè)到用戶輸入時(shí),語(yǔ)音識(shí)別引擎會(huì)在返回的RECOGNITION-COMPLETE事件中返回002 no-input-timeout 錯(cuò)誤碼。關(guān)于002 錯(cuò)誤碼我們?cè)谝郧暗恼鹿?jié)中做過(guò)介紹,用戶可以查閱歷史文檔。如果NLSML結(jié)果在返回的事件的消息體中的話,NLSML將返回一個(gè)<noinput>作為<input>的子要素。如果識(shí)別引擎檢測(cè)到了用戶輸入數(shù)據(jù),但是識(shí)別引擎沒(méi)有匹配語(yǔ)法設(shè)置或超過(guò)信任度的峰值參數(shù)時(shí),在RECOGNITION-COMPLETE的返回的事件中,識(shí)別引擎會(huì)攜帶001 no-match 錯(cuò)誤碼。同時(shí),如果返回的事件消息體中包含了NLSML的結(jié)果,NLMSL將包含一個(gè)<nomatch>子要素作為<input>的子要素。另外,在<nomatch>要素中可能包含某些可選的文本,這些文本是被拒絕匹配中的最佳結(jié)果。我們列舉幾個(gè)不同的返回結(jié)果來(lái)說(shuō)明語(yǔ)音識(shí)別是否成功。
  成功的識(shí)別結(jié)果,包含兩個(gè)<interpretation>值和相應(yīng)的返回值<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ú)用戶輸入的檢測(cè)結(jié)果,這里輸出的是<noinput/>子要素,可能沒(méi)有用戶輸入或沒(méi)有設(shè)置時(shí)間戳設(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ú)匹配的返回結(jié)果,這里可能是信任度峰值的數(shù)值不準(zhǔn)確導(dǎo)致不匹配。
  < 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> // 雖然返回拒絕匹配輸出結(jié)果,但是提供了最佳匹配可選內(nèi)容。
  </input>
  <instance/>
  </interpretation>
  </result>
  4、上面的章節(jié)中我們介紹了語(yǔ)音識(shí)別的返回結(jié)果匹配的結(jié)果,這里我們進(jìn)一步介紹包含語(yǔ)義解釋的語(yǔ)音識(shí)別的語(yǔ)法結(jié)構(gòu)。當(dāng)語(yǔ)法中的tag-format設(shè)置為semantics/1.0-literals 時(shí),<tag>要素中的內(nèi)容則被解釋為ECMAScript 腳本。我們?cè)谇懊娴恼鹿?jié)中已經(jīng)說(shuō)明這個(gè)定義。當(dāng)所有匹配的<tag>執(zhí)行以后會(huì)從語(yǔ)法規(guī)則中生成語(yǔ)義結(jié)果。然后,NLSML會(huì)把匹配的語(yǔ)法中的語(yǔ)義解釋結(jié)果插入到<instance>中,F(xiàn)在讓我們看一下以下示例:
  < 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>
  現(xiàn)在,如果我們假設(shè)用戶發(fā)音是單詞“yea”,那么NLSML可能生成的結(jié)果是:
  < 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>
  其他的應(yīng)用程序則可以根據(jù)<instance>的結(jié)果來(lái)做進(jìn)一步的業(yè)務(wù)處理。
  5、前面我們介紹了ECMAScript的語(yǔ)法結(jié)構(gòu)和具體使用方式和解釋結(jié)果。語(yǔ)義解釋結(jié)果會(huì)保存到數(shù)據(jù)文件中。當(dāng)規(guī)則中的變量被認(rèn)定為一個(gè)標(biāo)量類型(例如string, number,boolean,null或undefined類型)時(shí),那么語(yǔ)義結(jié)果同樣會(huì)NLSML生成的<instance>中。這里,如果number是小于零,則加一個(gè)negative前綴。如果是布爾值,則為true或false。null則為null值。如果是undefined的值,則仍然為undefined值。以下語(yǔ)法同樣會(huì)生成同樣的語(yǔ)義結(jié)果(根據(jù)前面所生產(chǎn)的語(yǔ)義結(jié)果):
  < 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>
  當(dāng)語(yǔ)法規(guī)則的變量不是標(biāo)量變量類型,它返回的是ECMAScript 對(duì)象時(shí),則處理的數(shù)據(jù)格式更加復(fù)雜。關(guān)于如何從ECMAScript 對(duì)象轉(zhuǎn)轉(zhuǎn)換成XML語(yǔ)法結(jié)構(gòu)的規(guī)定,用戶可以參考Semantic Interpretation for Speech Recognition(SISR)。規(guī)則中定義了不同的轉(zhuǎn)換規(guī)則,用戶可以做進(jìn)一步的了解。具體的規(guī)則如下:
  現(xiàn)在讓我們了解一下語(yǔ)法規(guī)則和轉(zhuǎn)換后的結(jié)果:
  < 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>
  在以上的示例中,對(duì)于“I want to fly from Dublin to Paris“ 輸入變量來(lái)說(shuō),其生成的結(jié)果規(guī)則變量是:
  {
  travel:
  {
  orig:Dublin,
  dest:Paris
  }
  }
  如果我們把整個(gè)結(jié)果通過(guò)規(guī)則轉(zhuǎn)換的規(guī)則來(lái)進(jìn)行語(yǔ)法處理后,NLSML的結(jié)果類似于:
  < 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ǔ)法規(guī)則變量的類型也可能是array類型或其中一個(gè)屬性可能是array的數(shù)據(jù)類型。這種情況下,如果規(guī)則變量轉(zhuǎn)換成語(yǔ)義結(jié)果的話,需要遵守一定的規(guī)則。具體的規(guī)則如下:
  Array對(duì)象的帶索引的要素會(huì)變成XML的子要素,并且?guī)?lt;item>名稱。
  每個(gè)item中的參數(shù)屬性命名為帶索引支持,此索引對(duì)應(yīng)Array中的要素。
  XML文件中包含<item>要素屬性length,此值通過(guò)ECMAScript Array的對(duì)象來(lái)定義。
  以上規(guī)則看起來(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>
  如果用戶的輸入語(yǔ)句是”5,4,3,2,1“的話,生成的array 類型的對(duì)象變量結(jié)果格式為:
  {
  digitstring:[ 5, 4, 3, 2, 1]  // 這里的長(zhǎng)度是5,包含五個(gè)數(shù)值。
  }
  如果按照上面的三條規(guī)則進(jìn)行轉(zhuǎn)換以后,生成的結(jié)果類似于:
  < 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"> // 長(zhǎng)度取決于array 對(duì)象值。
  <item index="0">5</item>  // 這里0對(duì)應(yīng)的是5
  <itemindex="1">4</item>
  <itemindex="2">3</item>
  <itemindex="3">2</item>
  <itemindex="4">1</item>
  </digitstring>
  </instance>
  </interpretation>
  </result>
  6、在前面的章節(jié)中,我們一直討論關(guān)于語(yǔ)音識(shí)別輸出結(jié)果的討論。在本章節(jié)中,我們將重點(diǎn)介紹語(yǔ)音注冊(cè)的輸出結(jié)果。語(yǔ)音注冊(cè)聽起來(lái)比較費(fèi)解,簡(jiǎn)單來(lái)說(shuō),它是一種機(jī)制,用戶可以通過(guò)增加自己的一些短語(yǔ)創(chuàng)建說(shuō)話人屬于自己的,獨(dú)立的,相對(duì)個(gè)性化的語(yǔ)法結(jié)構(gòu)。此語(yǔ)法結(jié)構(gòu)看在后續(xù)的正常語(yǔ)音識(shí)別中使用。典型的應(yīng)用案例就是很多人使用的電話薄。說(shuō)話人可以對(duì)語(yǔ)音識(shí)別引擎進(jìn)行訓(xùn)練,輸入朋友姓名電話號(hào)碼等。其他用戶可以說(shuō)出訓(xùn)練后的朋友姓名,然后識(shí)別出朋友相應(yīng)的電話號(hào)碼等關(guān)聯(lián)信息。
  從概念上來(lái)說(shuō),注冊(cè)語(yǔ)音語(yǔ)法可以看作是簡(jiǎn)單的SRGS語(yǔ)法,它由幾個(gè)可選設(shè)置構(gòu)成,例如以下示例:
  < 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ò)自己的注冊(cè)session ID和對(duì)應(yīng)的語(yǔ)義解釋添加到了語(yǔ)法中。每個(gè)短語(yǔ)通過(guò)MRCP 客戶端提供的唯一短語(yǔ)ID來(lái)進(jìn)行跟蹤。在注冊(cè)會(huì)話中,用戶說(shuō)幾次短語(yǔ)的名稱,每次捕捉的短語(yǔ)會(huì)和以前的短語(yǔ)采樣進(jìn)行對(duì)比。當(dāng)捕捉到足夠說(shuō)話采樣以后,短語(yǔ)經(jīng)過(guò)訓(xùn)練以后生成個(gè)人注冊(cè)語(yǔ)音語(yǔ)法。這個(gè)個(gè)人的注冊(cè)語(yǔ)音語(yǔ)法可以通過(guò)正常的語(yǔ)音識(shí)別引擎使用個(gè)人語(yǔ)法的URL加以調(diào)用。當(dāng)短語(yǔ)在設(shè)定的注冊(cè)會(huì)話期間成功匹配后,語(yǔ)義解釋結(jié)果會(huì)以NLSML的結(jié)果返回。這里,我們?cè)俅螐?qiáng)調(diào),這里的部署僅從理論上加以討論,具體的實(shí)現(xiàn)方式完全依賴于每個(gè)語(yǔ)音識(shí)別的平臺(tái)本身以及平臺(tái)語(yǔ)法和短語(yǔ)等存儲(chǔ)方式,語(yǔ)法結(jié)構(gòu)等相關(guān)參數(shù)。當(dāng)MRCP 客戶端對(duì)語(yǔ)音識(shí)別引擎發(fā)出 START-PHRASE-ENROLLMENT請(qǐng)求時(shí),注冊(cè)會(huì)話則開始啟動(dòng)。當(dāng)MRCP客戶端對(duì)語(yǔ)音識(shí)別引擎發(fā)出END-PHRASE-ENROLLMENT 請(qǐng)求時(shí),注冊(cè)會(huì)話的生命周期結(jié)束。如果在RECOGNIZE請(qǐng)求中包含頭域Enroll-Utterance:true會(huì)觸發(fā)對(duì)語(yǔ)音進(jìn)行捕捉。在對(duì)應(yīng)的RECOGNITION-COMPLETE事件中會(huì)包含NLSML結(jié)果,它封裝了注冊(cè)的嘗試信息。具體的注冊(cè)結(jié)果我們?cè)谖磥?lái)的章節(jié)中會(huì)做進(jìn)一步的介紹,現(xiàn)在我們專門針對(duì)NLSML中包含的語(yǔ)音注冊(cè)結(jié)果的格式進(jìn)行介紹。
  NLSML包含的語(yǔ)音注冊(cè)結(jié)果通過(guò)<enrollment-result>來(lái)加以定義,<enrollment-result>是<result>的子要素。以下列表說(shuō)明了語(yǔ)音注冊(cè)結(jié)果的表達(dá)方式:
  讓我們看一下在語(yǔ)音注冊(cè)會(huì)話生命周期中,RECOGNITION-COMPLETE事件返回的NLSML結(jié)果。在下面的示例中,具體語(yǔ)法結(jié)果表示通過(guò)URL設(shè)定了個(gè)人語(yǔ)法,目前收到一個(gè)連續(xù)的語(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ō)話人的狀態(tài)驗(yàn)證信息。這些結(jié)果消息包含在VERIFICATION-COMPLETE事件的消息體中,是GET-INTERMEDIATE-RESULT請(qǐng)求的對(duì)應(yīng)響應(yīng)。關(guān)于說(shuō)話人驗(yàn)證和定位消息,我們?cè)谝郧暗恼鹿?jié)中做過(guò)簡(jiǎn)單的介紹,在未來(lái)的章節(jié)中會(huì)更加深入地進(jìn)行剖析。這里,我們僅關(guān)心NLSML的文件結(jié)構(gòu), 這里的NLSML文件用來(lái)描述訓(xùn)練的聲紋結(jié)果,聲紋對(duì)比以后的語(yǔ)音變化,說(shuō)話語(yǔ)音和多個(gè)聲紋對(duì)比來(lái)確認(rèn)狀態(tài)。NLSML在<verification-result> XML要素來(lái)獲得支持。以下列表是一個(gè)關(guān)于speaker verification/identification 結(jié)果的匯總:
  以下是一個(gè)在聲紋訓(xùn)練中返回的驗(yàn)證結(jié)果。NLSML包含在VERIFICATION-COMPLETE的事件消息體中,或GET-INTERMEDIATE-RESULTS 請(qǐng)求的響應(yīng)中:
  < 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è)聲紋的確認(rèn)ID:joebloggs.voiceprint。<incremental> 表示要針對(duì)前一個(gè)講話的分析結(jié)果來(lái)做進(jìn)一步處理。其他獨(dú)立的標(biāo)簽表示設(shè)備類型,說(shuō)話人性別等信息。<cumulative>中的值是針對(duì)說(shuō)話語(yǔ)音分析,這些語(yǔ)音分析數(shù)據(jù)是通過(guò)多個(gè)VERIFY或VERIFY-FROM-BUFFER請(qǐng)求獲得的累計(jì)的cumulatives cores值。<verification-score> 這里表示的是擬然值,同樣的說(shuō)話人說(shuō)過(guò)的所有同樣的句子。<utterance-length>表示訓(xùn)練中所使用的所有語(yǔ)音長(zhǎng)度,它以毫秒為單位。<need-more-data>設(shè)置為true則表示需要更多數(shù)據(jù)來(lái)完成聲紋訓(xùn)練,MRCP 客戶端可能需要從用戶側(cè)獲得更多的數(shù)據(jù),因此要求發(fā)送更多的VERIFY 或VERIFY-FROM-BUFFER請(qǐng)求獲得支持?jǐn)?shù)據(jù)。
  現(xiàn)在,讓我們介紹一個(gè)關(guān)于驗(yàn)證結(jié)果的示例。在START-SESSION請(qǐng)求中,我們?cè)陬^域Voiceprint-Identifier設(shè)定了一個(gè)單個(gè)的聲紋,我們期望獲得的單個(gè)聲紋NLSML返回結(jié)果,在結(jié)果中包含一個(gè)<voiceprint>。具體的xml 結(jié)果如下:
  < 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ò)累計(jì)分析,這里的<decision>accepted</decision>表示說(shuō)話人語(yǔ)音資源已經(jīng)足夠匹配其中一個(gè)說(shuō)話的聲紋。
  最后,我們?cè)俳榻B一個(gè)如何確認(rèn)從多個(gè)說(shuō)話人的聲紋中確認(rèn)某個(gè)說(shuō)話人。這里,假設(shè)“JoeBloggs”是屬于我們前面例子中“MaryBloggs”和“TedBloggs”的成員。在START-SESSION 的請(qǐng)求中設(shè)定的Voiceprint-Identifier將會(huì)列出所有三個(gè)聲紋,然后生成NLSML結(jié)果,這個(gè)結(jié)果包含三個(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ō)話人語(yǔ)音和列表中的聲紋進(jìn)行對(duì)比,現(xiàn)在可以確認(rèn),說(shuō)話人是Mary Bloggs,而不是另外的人。
  8、在本章節(jié)中,我們介紹了MRCP協(xié)議中的數(shù)據(jù)表達(dá)格式-自然語(yǔ)言語(yǔ)義標(biāo)識(shí)語(yǔ)言(NLSML)。在具體的章節(jié)中,我們首先介紹了NLSML的背景知識(shí),文件結(jié)構(gòu)。然后介紹了NLSML的語(yǔ)音識(shí)別的結(jié)果輸出格式和其腳本(ECMAScript)的轉(zhuǎn)換機(jī)制以及語(yǔ)義對(duì)象,array等使用方式的內(nèi)容。我們也介紹了通過(guò)用戶注冊(cè)的語(yǔ)法實(shí)現(xiàn)個(gè)人語(yǔ)法的NLSML結(jié)果以及如何使用在標(biāo)準(zhǔn)的語(yǔ)音識(shí)別引擎中。最后,我們介紹了關(guān)于如何驗(yàn)證說(shuō)話人以及確認(rèn)說(shuō)話人的方式,聲紋訓(xùn)練。MRCP協(xié)議通過(guò)幾個(gè)不同的NLSML和聲紋資源輸出結(jié)果,和相應(yīng)的最終<verification-score>值來(lái)判斷說(shuō)話人。
  在接下來(lái)的章節(jié)中,我們會(huì)介紹MRCP數(shù)據(jù)呈現(xiàn)的最后一種語(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é)習(xí)分享,QQ群號(hào):208136295
  關(guān)注微信公眾號(hào):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
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

專題