青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

鐵觀音

C++編程寶典

   ::  ::  ::  ::  :: 管理 ::
  1 隨筆 :: 19 文章 :: 0 評(píng)論 :: 0 Trackbacks
第三章??User Input(Grammars)
?
第一節(jié) Speech Grammars ?
?
????<grammar>元素用于提供一個(gè)語(yǔ)音語(yǔ)法:
??????·該語(yǔ)法指定了一系列要匹配的短語(yǔ),用戶可能說(shuō)出這些短語(yǔ)用于執(zhí)行一個(gè)操作或提供一些信息。
??????·對(duì)于一個(gè)要匹配的短語(yǔ),該語(yǔ)法返回一個(gè)相應(yīng)的語(yǔ)義解釋。返回的可以是一個(gè)簡(jiǎn)單的值(例如一個(gè)字符串),一組成對(duì)的屬性――值(例如年、月、日),或一個(gè)嵌套的對(duì)象(對(duì)于復(fù)雜的請(qǐng)求)。
????<grammar>元素適用于滿足上述要求的任意的語(yǔ)法格式。VoiceXML平臺(tái)必須至少支持一種通用的格式,即W3C SRGS的XML格式。VoiceXML平臺(tái)應(yīng)該支持W3C SRGS的ABNF格式。VoiceXML平臺(tái)可以選擇支持SRGS以外的語(yǔ)法格式。例如,平臺(tái)可能借助<grammar>元素對(duì)PCDATA的支持來(lái)嵌入一個(gè)專有的語(yǔ)法,或使用src或type屬性引用一個(gè)外部的語(yǔ)法。
????VoiceXML平臺(tái)必須是一個(gè)合格的XML格式的語(yǔ)法處理器,如W3C SRGS中定義的。雖然這樣使得平臺(tái)要處理文檔中定義的一個(gè)或多個(gè)“xml:lang”屬性,但是并不要求平臺(tái)必須是多語(yǔ)言的。當(dāng)遇到一種不支持的語(yǔ)言時(shí),平臺(tái)要拋出error.unsupported.language事件,該事件在它的"_message"變量中指定了這種不支持的語(yǔ)言。
????SRGS的XML格式的元素
????下面是在W3C SRGS的XML格式中定義的元素,它們?cè)赩oiceXML2.0中是可用的。本文檔沒(méi)有重復(fù)定義這些元素,請(qǐng)參考W3C SRGS中的定義和例子。
元素 作用 章節(jié)鏈接
<grammar> XML格式語(yǔ)法的根元素。 4.
<meta> 等價(jià)于HTTP元內(nèi)容的頭部聲明。 4.11.1
<metadata> XML元數(shù)據(jù)內(nèi)容的頭部聲明。 4.11.2
<lexicon> 發(fā)音詞典的頭部聲明。 4.10
<rule> 定義一條語(yǔ)法展開規(guī)則。 3.
<token> 定義一個(gè)可作為輸入的詞或其他實(shí)體。 2.1
<ruleref> 引用一條本地或外部定義的規(guī)則。 2.2
<item> 定義一個(gè)可選的、重復(fù)的或可能的展開項(xiàng)。 2.3
<one-of> 定義一組可供選擇的規(guī)則展開項(xiàng)。 2.4
<example> 包含在一個(gè)規(guī)則定義中的元素,該元素提供了一個(gè)匹配該規(guī)則的輸入的例子。 3.3
<tag> 定義一個(gè)任意的字符串,該字符串可作為該展開規(guī)則的語(yǔ)義解釋。 2.6
表27:SRGS(XML 格式)的元素
?
一、Inline Grammars
????<grammar>元素可用于指定一個(gè)聯(lián)機(jī)語(yǔ)法或外部語(yǔ)法。聯(lián)機(jī)語(yǔ)法由<grammar>元素的內(nèi)容指定,它定義了一個(gè)完整的語(yǔ)法:
      <grammar type="media-type" mode="voice">
         inline speech grammar
      </grammar>
????在這種情況下,有必要把內(nèi)容封裝在XML的CDATA段中。對(duì)于聯(lián)機(jī)語(yǔ)法,<grammar>元素的type屬性指定了一個(gè)媒體類型,該媒體類型控制著<grammar>元素內(nèi)容的解釋。
????下面是一個(gè)聯(lián)機(jī)語(yǔ)法的例子,是W3C SRGS的XML格式的:
      <grammar mode="voice" xml:lang="en-US" version="1.0" root="command">
         <!-- Command is an action on an object -->
         <!-- e.g. "open a window" -->
         <rule id="command" scope="public">
           <ruleref uri="#action"/> <ruleref uri="#object"/>
         </rule>
										
         <rule id="action">
           <one-of>
             <item> open </item>
             <item> close </item>
             <item> delete </item>
             <item> move </item>
           </one-of>
         </rule>
										
         <rule id="object">
           <item repeat="0-1">
           <one-of> <item> the </item> <item> a </item> </one-of>
           <one-of>
             <item> window </item>
             <item> file </item>
             <item> menu </item>
           </one-of>
         </rule>
      </grammar>
????下面這個(gè)語(yǔ)法和上面的效果是一樣的,不過(guò)它是W3C SRGS的ABNF格式的。因?yàn)閂oiceXML平臺(tái)不是必須支持這種格式的,所以這種格式的語(yǔ)法可移植性比較差。
      <grammar mode="voice" type="application/srgs">
         #ABNF 1.0;
         language en-US;
         mode voice;
         root $command;
           public $command = $action $object;
           $action = open | close | delete | move;
           $object = [the | a] (window | file | menu);
      </grammar>
?
二、External Grammars
????外部語(yǔ)法是由form的<grammar>元素指定的。
      <grammar src="URI" type="media-type"/>
????在這種情況下,屬性type是可選的,因?yàn)槿绻麤](méi)有指定該屬性,解釋器環(huán)境會(huì)試圖動(dòng)態(tài)的確定它的類型(例如,使用服務(wù)器特定的媒體類型,文件擴(kuò)展名或內(nèi)容自檢)。
????如果指定了src屬性,且有一個(gè)聯(lián)機(jī)語(yǔ)法作為該<grammar>元素的內(nèi)容,則拋出error.badfetch事件。
????下面的例子引用了一個(gè)W3C SRGS的XML格式的外部語(yǔ)法。
      <grammar type="application/srgs+xml" src="http://www.grammar.example.com/date.grxml"/>
????下面的例子引用了一個(gè)W3C SRGS的ABNF格式的外部語(yǔ)法。和上面的例子的效果是一樣的。
      <grammar type="application/srgs" src="http://www.grammar.example.com/date.gram"/>
?
三、Grammar Weight
????<grammar>元素的weight屬性指定了該語(yǔ)法的權(quán)重。
      <grammar weight="0.6" src="form.grxml" type="application/srgs+xml"/>
????<grammar>元素,包括<link>、<field>和<form>元素中的,都有這個(gè)屬性,語(yǔ)法可以是聯(lián)機(jī)語(yǔ)法、外部語(yǔ)法或內(nèi)置語(yǔ)法。
????屬性weight遵循W3C SRGS中關(guān)于weight的定義。屬性weight的值是一個(gè)簡(jiǎn)單的沒(méi)有指數(shù)的正的浮點(diǎn)數(shù)。合法的格式有“n”,“n.”,“.n” 和“n.n”,其中n是一位或多位數(shù)字的序列。
????在語(yǔ)音識(shí)別的搜索范圍內(nèi),weight是影響語(yǔ)法被選中的可能性的一個(gè)因素。Weight屬性的值為1.0時(shí)相當(dāng)于沒(méi)有指定weight屬性。Weight屬性值大于1.0時(shí),該語(yǔ)法被選中的可能性就比較大。反之,weight屬性值小于1.0時(shí),可能性就比較小。如果沒(méi)有指定該屬性,則所有激活的語(yǔ)法的可能性一樣。
       <link event="help">
         <grammar weight="0.5" mode="voice" version="1.0" root="help">
           <rule id="help" scope="public">
             <item repeat="0-1">Please</item> help
           </rule>
         </grammar>
       </link>
										
       <form>
          <grammar src="form.grxml" type="application/srgs+xml"/>
          <field name="expireDate">
             <grammar weight="1.2" src="http://www.example.org/grammar/date"/>
          </field>
       </form>
????在上面的例子中,weight的語(yǔ)義等同于下面的XML語(yǔ)法:
       <grammar root="r1" type="application/srgs+xml">
          <rule id="r1">
           <one-of>
             <item weight="0.5"> <ruleref uri="#help"/> </item>
             <item weight="1.0"> <ruleref uri="form.grxml"/> </item>
             <item weight="1.2"> <ruleref uri="http://www.example.org/grammar/date"/> </item>
           </one-of>
         </rule>
										
         <rule id="help">
           <item repeat="0-1">Please</item> help
         </rule>
       </grammar>
????隱式的語(yǔ)法,如<option>元素中的,不支持weight。如果需要用weight屬性,請(qǐng)使用<grammar>元素代替隱式語(yǔ)法控制weight。
????語(yǔ)法的weight屬性值只影響語(yǔ)法的處理,不會(huì)直接影響到語(yǔ)法結(jié)果的后期處理,包括當(dāng)用戶的輸入匹配了多個(gè)激活的語(yǔ)法時(shí)的語(yǔ)法優(yōu)先權(quán)(見3.1.4節(jié))。
????Weight屬性對(duì)DTMF語(yǔ)法沒(méi)有影響(見3.1.2節(jié))。在<grammar>元素中,如果屬性mode為dtmf時(shí),則該<grammar>元素指定的weight屬性被忽略。
      <!-- weight will be ignored -->
      <grammar mode="dtmf" weight="0.3" src="http://www.example.org/dtmf/number"/>
????恰當(dāng)?shù)膚eight值是很難確定的。猜測(cè)的weight值對(duì)于提高識(shí)別的性能沒(méi)有任何幫助。有效的weight值是通過(guò)對(duì)自然語(yǔ)言和特定平臺(tái)上的原始數(shù)據(jù)長(zhǎng)期研究得到的。此外,語(yǔ)法的weight是依賴于平臺(tái)的。注意,不同的ASR引擎對(duì)于相同的weight值可能有不同的理解。因此,在一個(gè)特定平臺(tái)上工作得好好的weight值在其他的平臺(tái)上可能會(huì)得到不同的結(jié)果。
?
四、Grammar Element
????<grammar>元素從W3C SRGS繼承的屬性:
version 它定義了語(yǔ)法的版本號(hào)。
xml:lang 該語(yǔ)法的語(yǔ)言標(biāo)識(shí)符(例如,“fr-CA”表示 加拿大法語(yǔ))。如果缺省,將從文檔中繼承。
mode 其值為voice或dtmf。說(shuō)明該語(yǔ)法是匹配語(yǔ)音的或是匹配 DTMF 的輸入。
root 定義該語(yǔ)法的根規(guī)則。
tag-format 定義該語(yǔ)法中所有的<tag>元素的內(nèi)容格式。
xml:base 定義一個(gè)基本URI,用于解析該語(yǔ)法中的相對(duì)URI。該屬性的優(yōu)先權(quán)高于<vxml>元素中的相應(yīng)屬性。如果缺省,則從文檔中繼承。
表28:<grammar>元素從SRGS中繼承的屬性
????上述屬性的用法和解釋由以下幾個(gè)方面決定:
??????1、SRGS的XML格式的聯(lián)機(jī)語(yǔ)法:由SRGS決定。SRGS規(guī)定屬性version是必須的,且它的值為"1.0";屬性root是必須的,且它的值確定了要激活哪一條規(guī)則;其他的屬性是可選的。
??????2、SRGS的ABNF格式的聯(lián)機(jī)語(yǔ)法:平臺(tái)必須忽略上述任何指定的屬性。
??????3、SRGS的XML和ABNF格式的外部語(yǔ)法:平臺(tái)必須忽略上述任何指定的屬性。
??????4、所有其他的語(yǔ)法類型:任何指定的屬性的用法和解釋是依賴于平臺(tái)的。
????<grammar>元素中VoiceXML2.0增加的屬性:
src 指定一個(gè)URI。如果引用一個(gè)外部語(yǔ)法,該屬性指定了該語(yǔ)法的位置和該語(yǔ)法中的一個(gè)規(guī)則名(可選的)。該URI被作為一個(gè)規(guī)則引用來(lái)解釋,詳見SRGS的2.2節(jié)。但是,并不是所有的規(guī)則引用的形式都被VoiceXML允許。規(guī)則引用的能力將在后面詳細(xì)描述。
scope 值為“document”或“dialog”。如果為“document”,則該語(yǔ)法在當(dāng)前文檔(和相關(guān)的應(yīng)用葉文檔)所有的dialog中都是激活的。如果值為“dialog”,則該語(yǔ)法只在該form中激活。如果缺省,則該語(yǔ)法的作用域由它的父元素決定。關(guān)于語(yǔ)法作用域和優(yōu)先權(quán)的描述見3.1.3節(jié)。
type 該語(yǔ)法的媒體類型。該屬性值的優(yōu)先權(quán)高于其他可能存在的媒體類型(例如HTTP或RTSP交換中的“Content-type”,或文件擴(kuò)展名)。如果該屬性缺省,解釋器環(huán)境將試圖動(dòng)態(tài)的確定它的媒體類型(例如,使用服務(wù)器特定的媒體類型、文件擴(kuò)展名或內(nèi)容自檢)。如果語(yǔ)法的內(nèi)容包含在該元素中,且沒(méi)有指定該屬性,就假定該媒體類型為一個(gè)XML語(yǔ)法。 如果該語(yǔ)法源沒(méi)有包含選定媒體類型的正確的內(nèi)容,當(dāng)使用該語(yǔ)法時(shí),拋出一個(gè)錯(cuò)誤W3C的XML格式語(yǔ)法暫定的媒體類型為“application/srgs+xml”,ABNF格式語(yǔ)法暫定的媒體類型為“application/srgs”。
weight 指定該語(yǔ)法的weight。見3.1.1.3節(jié)。
fetchhint 見6.1節(jié)。默認(rèn)為grammarfetchhint property。
fetchtimeout 見6.1節(jié)。默認(rèn)為fetchtimeout property。
maxage 見6.1節(jié)。默認(rèn)為grammarmaxage property。
maxstale 見6.1節(jié)。默認(rèn)為grammarmaxstale property。
表29:<grammar>元素中VoiceXML2.0增加的屬性
??????必須指定屬性src或一個(gè)聯(lián)機(jī)語(yǔ)法(不是指定兩個(gè)),否則會(huì)拋出一個(gè)error.badfetch事件。
????VoiceXML 2.0也擴(kuò)展可<grammar>元素,允許在PCDATA中嵌入各種格式的語(yǔ)法,包括W3C SRGS的XML格式。
????當(dāng)引用一個(gè)外部語(yǔ)法時(shí),src屬性值為一個(gè)URI,它指定了該語(yǔ)法的位置。URI可以帶一個(gè)段,指定規(guī)則名。SRGS的2.2節(jié)定義了規(guī)則引用的幾種形式。下面是VoiceXML中<grammar>元素允許的形式。
??????· 在外部語(yǔ)法中引用一個(gè)規(guī)則:src屬性的值是一個(gè)絕對(duì)或相對(duì)的URI,該URI帶有一個(gè)段,它執(zhí)行一個(gè)外部語(yǔ)法的相應(yīng)規(guī)則。這種形式的規(guī)則引用遵循SRGS 2.2節(jié)中的定義。如果該URI不能被獲取,或該規(guī)則名不存在,或該規(guī)則名在指定的語(yǔ)法中不是一個(gè)public(可激活的)規(guī)則,則拋出error.badfetch。
??????· 引用外部語(yǔ)法的根規(guī)則:src屬性的值是一個(gè)絕對(duì)或相對(duì)的URI,它引用了一個(gè)外部語(yǔ)法,但是沒(méi)有指定一個(gè)規(guī)則名。這種形式隱式的引用了該語(yǔ)法的根規(guī)則,正如SRGS 2.2節(jié)中的定義。如果該URI不能被獲取,或如果該語(yǔ)法不能被它得root引用(見SRGS的4.7節(jié)),則拋出一個(gè)error.badfetch事件。
??????· 引用本地語(yǔ)法:只包含段的URI是不被允許的(見SRGS2.2.1中的定義)。如果src屬性的值為一個(gè)段, 拋出一個(gè)error.semantic事件。
??????· 引用特殊的規(guī)則:雖然聯(lián)機(jī)語(yǔ)法可以引用SRGF的特殊規(guī)則(NULL,VOID,GARBAGE),但是VoiceXML并不支持<grammar>元素引用特殊的規(guī)則(見SRGS的2.2.3節(jié))。因?yàn)闆](méi)有任何句法支持這種形式,因此也不會(huì)產(chǎn)生任何錯(cuò)誤。

第二節(jié) DTMF Grammars ?
?
????<grammar>元素也可以用來(lái)提供DTMF語(yǔ)法。
??????·它指定了一組按鍵,用戶可以使用這些按鍵執(zhí)行一個(gè)操作或提供一些信息。
??????·對(duì)于匹配的DTMF輸入,它可以返回一個(gè)相應(yīng)的語(yǔ)義解釋。返回的可以是一個(gè)簡(jiǎn)單的值(例如一個(gè)字符串),一組成對(duì)的屬性――值(例如年、月、日),或一個(gè)嵌套的對(duì)象(對(duì)于復(fù)雜的請(qǐng)求)。
????VoiceXML平臺(tái)必須支持XML格式的DTMF語(yǔ)法,以提高程序的可移植性,如SRGS中的附錄D定義的。
????<grammar>元素的mode屬性用于區(qū)分DTMF語(yǔ)法和語(yǔ)音語(yǔ)法。<grammar>元素的xml:lang屬性在DTMF語(yǔ)法的處理中無(wú)效的。在其他的方面,對(duì)DTMF語(yǔ)法和語(yǔ)音語(yǔ)法的處理都是一樣的,包括定義聯(lián)機(jī)語(yǔ)法,或引用外部語(yǔ)法。對(duì)于處理媒體類型,作用域和獲取也是一樣的。
????下面是一個(gè)簡(jiǎn)單的XML格式的DTMF聯(lián)機(jī)語(yǔ)法,它只接受按鍵“1 2 3”或“#”。
      <grammar mode="dtmf" version="1.0" root="root">
         <rule id="root" scope="public">
           <one-of>
             <item>  1 2 3 </item>
             <item> # </item>
           </one-of>
         </rule>
      </grammar>
?
第三節(jié) Scope of Grammars ?
?
????input item的語(yǔ)法的作用域?yàn)榘搃nput item的元素。即只有該input item在FIA的選定階段被選定時(shí),它包含的語(yǔ)法才會(huì)被激活。包含在input item中的<grammar>不能指定scope屬性,否則拋出error.badfetch事件。
????<link>元素中的語(yǔ)法的作用域?yàn)榘?lt;link>元素的元素。因此,如果該<link>元素是在應(yīng)用根文檔中,則該語(yǔ)法在該應(yīng)用所有加載的文檔中都是激活的。包含在<link>元素中的<grammar>不能指定scope屬性,否則拋出error.badfetch事件。
????<form>元素的語(yǔ)法的作用域?yàn)閐ialog。因此只有用戶在該form中時(shí),語(yǔ)法才是激活的。如果此時(shí)<grammar>元素的scope屬性值為document,則當(dāng)用戶在該文檔中時(shí),該語(yǔ)法也是激活的。如果<grammar>元素的scope屬性值為document,且該文檔為應(yīng)用根文檔,則無(wú)論用戶在該應(yīng)用加載的哪一個(gè)文檔中,這些語(yǔ)法都是激活的。有兩種方式可以使form中的語(yǔ)法的作用域?yàn)閐ocument:一種是指定<form>元素的scope屬性為document,另一種是指定<grammar>元素的scope屬性為document。如果兩個(gè)元素都指定了scope屬性,則以<grammar>元素中指定的為準(zhǔn)。
????<menu>元素中的語(yǔ)法默認(rèn)作用域?yàn)閐ialog,只有用戶在該<menu>元素中,它的語(yǔ)法才被激活。但是也可以指定這些語(yǔ)法的作用域?yàn)閐ocument,使它們?cè)谡麄€(gè)文檔中都是激活的。如果該文檔是應(yīng)用根文檔,則語(yǔ)法在該應(yīng)用所有加載的文檔中都是激活的。在<choice>元素中的<grammar>元素不能指定它的scope屬性,否則拋出一個(gè)error.badfetch事件。
????有時(shí)候,form可能需要一些語(yǔ)法在整個(gè)文檔中都激活,而另一些語(yǔ)法只有在該form中激活,這樣做的目的是最大限度的減少語(yǔ)法疊交的問(wèn)題。如果<grammar>元素的scope屬性值和form的scope屬性值不同,應(yīng)該單獨(dú)指定自己的scope屬性值。
      <?xml version="1.0" encoding="UTF-8"?>
      <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.w3.org/2001/vxml
               http://www.w3.org/TR/voicexml20/vxml.xsd">
        <form scope="document">
           <grammar type="application/srgs">
              #ABNF 1.0;
              language en-gb;
              mode voice;
              root $command;
              public $command = one | two | three;
          </grammar>
          <grammar type="application/srgs" scope="dialog">
              #ABNF 1.0;
              language en-gb;
              mode voice;
              root $command2;
              public $command2 = four | five | six;
          </grammar>
        </form>
      </vxml>
?
第四節(jié) Activation of Grammars ?
?
????當(dāng)解釋器訪問(wèn)一個(gè)input item,等待輸入的時(shí)候,以下的語(yǔ)法被激活:
??????·該input item的語(yǔ)法,包括該input item包含的<link>元素中的語(yǔ)法。
??????·該form的語(yǔ)法,包括該form包含的<link>元素中的語(yǔ)法
??????·該文檔包含的<link>元素中的語(yǔ)法,及該文檔的<menu>元素和<form>元素中scope屬性為document的<grammar>元素的語(yǔ)法。
??????·該應(yīng)用根文檔包含的<link>元素中的語(yǔ)法,及該應(yīng)用根文檔的<menu>元素和<form>元素中scope屬性為document的<grammar>元素的語(yǔ)法。
??????·平臺(tái)定義的默認(rèn)事件處理的語(yǔ)法,例如help、exit和cancel。
????如果一個(gè)輸入匹配了多個(gè)激活的語(yǔ)法,則語(yǔ)法的優(yōu)先權(quán)按照上面定義的順序。如果一個(gè)輸入匹配了多個(gè)激活的同一優(yōu)先權(quán)的語(yǔ)法,則語(yǔ)法的優(yōu)先權(quán)由文檔順序決定。當(dāng)平臺(tái)期待一個(gè)輸入?yún)s沒(méi)有任何語(yǔ)法激活時(shí),平臺(tái)必須拋出一個(gè)error.semantic事件,該事件在所執(zhí)行的元素的環(huán)境中拋出。menu中的語(yǔ)法激活機(jī)制和form中的一樣(見2.2.1節(jié))。
????如果form item的modal屬性為true,則在等待輸入的時(shí)候,除了該form item的語(yǔ)法外,其他的語(yǔ)法都是失效的。如果該輸入匹配了另外一個(gè)form或menu中的語(yǔ)法,而不是當(dāng)前form或menu,則控制交給那個(gè)被匹配的語(yǔ)法所在的form或menu,且當(dāng)前form或menu中的數(shù)據(jù)丟失。
????Inputmodes property不會(huì)影響語(yǔ)法的激活,例如,如果inputmodes property要求輸入只能是voice時(shí),DTMF語(yǔ)法也會(huì)被激活,只是不能被匹配。

第五節(jié) Semantic Interpretation of Input ?
?
????SRGS定義了一個(gè)<tag>元素,它包含的內(nèi)容可作為語(yǔ)音語(yǔ)法或DTMF語(yǔ)法的語(yǔ)義解釋(見SRGS的2.6節(jié))。
????SISR(The Semantic Interpretation for Speech Recognition specification)為<tag>元素描述了一個(gè)句法和語(yǔ)義,并說(shuō)明了怎樣使用被匹配的規(guī)則中<tag>元素的內(nèi)容來(lái)計(jì)算用戶輸入的語(yǔ)義解釋。有關(guān)于把語(yǔ)義解釋映射到VoiceXML中的描述見3.1.6節(jié)。

第六節(jié) Mapping Semantic Interpretation Results to VoiceXML forms ?
?
????SRGS語(yǔ)法返回的語(yǔ)義解釋必須映射到一個(gè)或多個(gè)VoiceXML ECMAScript變量中。映射form級(jí)別和field級(jí)別的語(yǔ)義解釋的方法有少許不同,不同之處見下一節(jié)。使用推薦的NLSML(Natural Language Semantics Markup Language)或SISR類似ECMAScipt的輸出的語(yǔ)義解釋格式對(duì)本次討論沒(méi)有任何影響。為了本次討論方便,我們假定識(shí)別器返回的實(shí)際的識(shí)別結(jié)果在application.lastresult$.interpretation中被完整的映射成類似ECMAScript格式(見5.1.5節(jié))。
????有可能語(yǔ)法被匹配了,但沒(méi)有返回一個(gè)語(yǔ)義解釋。在這種情況下,平臺(tái)將使用該短語(yǔ)的原始文本串作為語(yǔ)義結(jié)果。否則,就認(rèn)為該語(yǔ)義解釋由一個(gè)簡(jiǎn)單的值組成來(lái)處理。
????每個(gè)input item都由一個(gè)相應(yīng)的slot名(只可能出現(xiàn)在<field>元素中),用于提取完整的語(yǔ)義解釋中大的相應(yīng)部分。如果有指定slot屬性的話,slot名就是該slot屬性的值。否則slot名為該input item的name屬性的值。如果name和slot屬性都沒(méi)有指定,則該slot名為undefined。
????Slot名用于在FIA的處理階段確定一個(gè)input item是否被匹配了。當(dāng)該slot名和語(yǔ)義結(jié)果頂層的屬性一樣時(shí),或slot名用于選定一個(gè)子屬性時(shí),即為該input item匹配。語(yǔ)義結(jié)果中值為undefined(ECMAScript的undefined)的屬性即為不匹配。同樣的值為undefined的slot名也為不匹配。3,1,6,3節(jié)給出了例子。
????下一小節(jié)談?wù)摰氖莊orm級(jí)別和field級(jí)別的結(jié)果的映射。也簡(jiǎn)要的討論了其他的問(wèn)題。如NL語(yǔ)義到ECMAScript的映射,ASR結(jié)果到VoiceXML的跳轉(zhuǎn)的信息,語(yǔ)義結(jié)果和VoiceXML中匹配出錯(cuò)的處理。
?
一、Mapping form-level results
????form級(jí)別的語(yǔ)法產(chǎn)生一個(gè)form級(jí)別的語(yǔ)義結(jié)果,該結(jié)果可以同時(shí)填充多個(gè)input item。用戶的輸入匹配了一個(gè)激活的form級(jí)別的語(yǔ)法,這種情況隨時(shí)都可以出現(xiàn),不管是在<initial>元素中,還是在一個(gè)input item中。
????設(shè)想一下“I would like a coca cola and three large pizzas with pepperoni and mushrooms.”這個(gè)句子的語(yǔ)義結(jié)果。該語(yǔ)義解釋結(jié)果的結(jié)構(gòu)如下,并被copy到application.lastresult$.interpretation中:
      {
        drink: "coke"
        pizza: {
             number: "3"
             size: "large"
             topping: [
                     "pepperoni"
                     "mushrooms"
                  ]
             }
      }
????下表說(shuō)明了來(lái)自form級(jí)別的語(yǔ)法的結(jié)果在該form中怎樣被賦給各個(gè)<field>元素。注意,所有能被該解釋填充的input item是同時(shí)被填充的。Input item變量原來(lái)的值將被覆蓋。這些input item將在FIA的處理階段由<field>元素處理(見2.4節(jié)和附錄C)。
VoiceXML field Assigned ECMAScript value Explanation
1、<field name="drink"/> "coke" 結(jié)果的頂層屬性默認(rèn)的賦給一個(gè)<field>元素,該<field>元素的name屬性和該結(jié)果的頂層屬性相匹配。
2、<field name="..." slot="drink"/> "coke" 如果指定了slot屬性,則他代替name屬性去選定該結(jié)果的屬性。
3、<field name="pizza"/> --or--
<field name="..." slot="pizza"/>
{number: "3", size: "large", topping: ["pepperoni", "mushroom"]} 上面的例子選擇了一個(gè)單純的值,<field>的name和slot屬性也可以用同樣的方法選定一個(gè)ECMAScript對(duì)象變量。然而,在應(yīng)用中必須要處理檢查該對(duì)象的組成,這顯然不是VoiceXML FFA(form-filling algorithm)的優(yōu)勢(shì)。在FFA中,語(yǔ)義結(jié)果中沒(méi)有指定slot的,將不會(huì)自動(dòng)的被提示。在服務(wù)器能夠處理結(jié)構(gòu)化對(duì)象的情況下,這是沒(méi)有問(wèn)題的。換句話說(shuō),使用下面描述的方法,對(duì)應(yīng)用來(lái)說(shuō)會(huì)更好。
4、<field name="..." slot="pizza.number"/>
<field name="..." slot="pizza.size"/>
"3"
"large"
Slot用于選定該結(jié)果的一個(gè)子屬性。這種方法把該結(jié)果分配到幾個(gè)<field>元素中。
5、<field name="..." slot="pizza.topping"/> ["pepperoni", "mushroom"] 被選定的屬性可以是一個(gè)復(fù)合的對(duì)象。
表30:Form-level Grammar Assignments
????這些例子可以用以下幾條規(guī)則來(lái)解釋,這些規(guī)則是直接由VoiceXML1.0的name和slot屬性擴(kuò)展得到的,且與之兼容。
??????1、<field>的slot屬性是一個(gè)非常受限制的ECMAScript表達(dá)式,它選定結(jié)果中的某部分賦給該元素。除了能夠選定結(jié)果的頂層元素外,該屬性也能使用由點(diǎn)隔開的元素/屬性名選定嵌套結(jié)構(gòu)中任意級(jí)的屬性。如使用“pizza.number”和“order.pizza.topping”。注意,如果幾個(gè)<field>元素的slot屬性值一樣的話,一個(gè)特定的slot值有可能填充多個(gè)<field>元素。
??????2、如果在結(jié)果中,以一個(gè)<field>元素的slot(或name)屬性命名的那一部分沒(méi)有一個(gè)給定的值,則不改變?cè)揻ield item的值。
?
二、Mapping a field-level result
????在一個(gè)input item中指定的語(yǔ)法產(chǎn)生一個(gè)field級(jí)別的語(yǔ)義解釋結(jié)果,該結(jié)果只可以填充包含該語(yǔ)法的input item。這些語(yǔ)法只有在FIA訪問(wèn)該input item時(shí)才是激活的。這很有用。例如在引導(dǎo)型的dialog中,每個(gè)input item會(huì)單獨(dú)的給用戶播放提示語(yǔ)。
????Field級(jí)別的語(yǔ)義解釋結(jié)果以下面的方式填充相應(yīng)的input item:
??????1、如果該語(yǔ)義解釋是一個(gè)簡(jiǎn)單的結(jié)果,則直接賦給該input item變量。
??????2、如果該語(yǔ)義解釋是一個(gè)結(jié)構(gòu)化的結(jié)果,且該slot名和該結(jié)果的一個(gè)屬性匹配,則將該屬性的值賦給相應(yīng)的input item變量。
??????3、在其他的情況下,整個(gè)語(yǔ)義解釋的結(jié)果都賦給相應(yīng)的input item變量。
????這個(gè)處理過(guò)程允許input item從語(yǔ)義解釋結(jié)果中提取一個(gè)特定的屬性。和<filled>元素集合使用可以取得更好的控制效果。
       <field name="getdate">
         <prompt>On what date would you like to fly?</prompt>
										
         <grammar src="http://server.example.com/date.grxml"/> 
         <!-- this grammar always returns an object containing
             string values for the properties day, month, and year -->
										
          <filled>
            <assign name="getdate.datestring" expr="getdate.year + getdate.month + getdate.day"/>
          </filled>
       </field>
?
三、Additional examples
????一個(gè)匹配的slot名允許input item提取語(yǔ)義解釋中相應(yīng)的部分。
      application.lastresult$.interpretation =
      { drink: { size: 'large', liquid: 'coke' }
         pizza: { number: '3', size: 'large', topping: ['pepperoni', 'mushroom' ] }
         sidedish: undefined
      }
????下表再次說(shuō)明了當(dāng)slot名匹配了結(jié)果中的一個(gè)屬性時(shí)的定義:
slot name match or not?
undefined does not match
drink matches; top level property
pizza matches; top level property
sidedish does not match; no defined value
size does not match; not a top-level property
pizza.size matches; sub-property
pizza.liquid does not match
表31:Slot Name Matching
????下面的例子用于比較form級(jí)別和field級(jí)別的結(jié)果的行為:
      <?xml version="1.0" encoding="UTF-8"?>
      <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.w3.org/2001/vxml
               http://www.w3.org/TR/voicexml20/vxml.xsd">
        <form id="exampleForm">
           <grammar src="formlevel.grxml"/>
             <initial> Say something. </initial>
										
            <field name="x">
              <grammar src="fieldx.grxml"/>
            </field>
										
            <field name="z" slot="y">
              <grammar src="fieldz.grxml"/>
            </field>
        </form>
      </vxml>
????在這個(gè)例子中定義了兩個(gè)input item變量,“x”和“z”,相應(yīng)的slot名分別為“x”和“y”。下表描述的是,根據(jù)被識(shí)別的語(yǔ)法和返回的語(yǔ)義結(jié)果給這些變量賦值。ValueX表示屬性x相應(yīng)的結(jié)果值,可以是結(jié)構(gòu)化的對(duì)象,也可以是簡(jiǎn)單的值。
application. lastresult$. interpretation form-level result
(formlevel.grxml)
field-level result in field x
(fieldx.grxml)
field-level result in field z
(fieldz.grxml)
= 'hello' no assignment; cycle FIA x = 'hello' z = 'hello'
= { x: valueX } x = valueX x = valueX z = { x: valueX }
= { y: valueY } z = valueY x = { y: valueY } z = valueY
= { z: valueZ } no assignment; cycle FIA x = { z: valueZ } z = { z: valueZ }
= { x: valueX, y: valueY, z: valueZ } x = valueX
z = valueY
x = valueX z = valueY
= { a: valueA,b: valueB } no assignment; cycle FIA x = { a: valueA,b: valueB } z = { a: valueA,b: valueB }
表32:Variable Assignments Depending on Grammar and Semantic Result
????在form級(jí)別,簡(jiǎn)單的結(jié)果,像字符串‘hello’,不能匹配任何input item;結(jié)構(gòu)化對(duì)象給所有slot名能匹配的input item變量賦值。在field級(jí)別,簡(jiǎn)單的結(jié)果總是賦給相應(yīng)的input item變量;在結(jié)構(gòu)化對(duì)象中,如果存在和該input item的slot名匹配的屬性,則把該對(duì)象中匹配的屬性值賦給相應(yīng)的input item,否則把整個(gè)語(yǔ)義解釋結(jié)果賦給該input item。
?
四、Additional issues
????1、把NL語(yǔ)義映射到ECMAScript:如果使用NLSML,,需要定義NLSML表示法到ECMAScipt 對(duì)象的映射。由于這兩種表示法有相近的嵌套結(jié)構(gòu),映射起來(lái)還算簡(jiǎn)單。NL語(yǔ)義技術(shù)規(guī)范詳細(xì)的討論了如何映射。
????2、把ASR的語(yǔ)義結(jié)果轉(zhuǎn)換到VoiceXML:當(dāng)所有相關(guān)的語(yǔ)義求值完畢,W3C ASR語(yǔ)法的語(yǔ)義標(biāo)識(shí)符就是元素的rule屬性值。另外,根規(guī)則(和所有的non-terminals一樣)有一個(gè)相應(yīng)的"text"變量,該變量包含了由non-terminal控制的utterance中的一組token。在把ASR結(jié)果轉(zhuǎn)換到VoiceXML中的過(guò)程中,VoiceXML平臺(tái)不僅要根據(jù)root屬性值填充VoiceXML中相應(yīng)的field,還要填充這些field的影子變量。該field的影子變量name$.utterance和ASR根規(guī)則的text變量的值應(yīng)該要一樣。平臺(tái)還要根據(jù)ASR平臺(tái)提供的信息實(shí)例化影子變量name$.confidence的值,同時(shí)根據(jù)所處理的DTMF或語(yǔ)音語(yǔ)法實(shí)例化影子變量name$.inputmode的值。除了平臺(tái)用于設(shè)置整個(gè)utterance解釋的confidence的application.lastresult$.confidence外,最后平臺(tái)還有把上面提到的那些信息填充到application.lastresult$(見5.1.5節(jié)。特別的,“application.lastresult$.utterance”,“application.lastresult$.inputmode”和 “application.lastresult$.interpretation”)。
????3、語(yǔ)義結(jié)果和VoiceXML field之間的不配對(duì):語(yǔ)義結(jié)果到VoiceXML的映射取決于ASR語(yǔ)法和VoiceXML標(biāo)記之間嚴(yán)格的配對(duì)。由于當(dāng)前的框架協(xié)議不能保證語(yǔ)法和相應(yīng)的VoiceXML dialog之間的一致性,因此,開發(fā)者的疏忽可能導(dǎo)致出現(xiàn)不配對(duì)。由于這些不配對(duì)的情況和某些正確的情況很難分辨,信息一致性的檢查就顯得格外重要。不配對(duì)的一些例子:
??????·語(yǔ)義結(jié)果中包含了額外的信息,使得VoiceXML沒(méi)有相應(yīng)的field與之配對(duì)。開發(fā)者的疏忽或使用的語(yǔ)法比VoiceXML應(yīng)用要求的語(yǔ)法包含更對(duì)的信息,都可能出現(xiàn)這種不配對(duì)。這些額外的信息將被忽略。
??????·語(yǔ)義結(jié)果中沒(méi)有提供VoiceXML應(yīng)用期望的信息。開發(fā)者的疏忽或因用戶的輸入太簡(jiǎn)單而沒(méi)法提供一個(gè)值給某個(gè)特定的slot,都可能出現(xiàn)不配對(duì)。在這種情況下,F(xiàn)IA繼續(xù)執(zhí)行,沒(méi)有提供的值將單獨(dú)由用戶提供。如果問(wèn)題是由于開發(fā)者的疏忽引起的,且該語(yǔ)法實(shí)際上不能識(shí)別出正確的結(jié)果,F(xiàn)IA將繼續(xù)讓用戶提供該丟失的值,直到達(dá)到平臺(tái)和應(yīng)用規(guī)定的失敗次數(shù)。
??????·最后,VoiceXML和ASR的語(yǔ)義結(jié)果中都提供了配對(duì)的信息,但是兩者的格式不一致。例如ASR語(yǔ)法可能提供的是一個(gè)結(jié)構(gòu)化的對(duì)象,而VoiceXML中期望的卻是一個(gè)字符串。在這種情況下,平臺(tái)的行為取決于對(duì)該結(jié)果的處理。例如,該結(jié)構(gòu)化的對(duì)象可能被提交給服務(wù)器端的腳本,轉(zhuǎn)換成一個(gè)字符串。這樣,平臺(tái)的行為就取決于服務(wù)器端的腳本。
????為了解決這些潛在的問(wèn)題,委員會(huì)這在考慮各種方法以確保語(yǔ)法和VoiceXML的一致性。
posted on 2006-09-16 22:25 鐵觀音 閱讀(1030) 評(píng)論(0)  編輯 收藏 引用 所屬分類: VoiceXML2.0規(guī)范
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美激情第1页| 欧美一区二区三区免费看| 国产精品尤物| 欧美激情精品久久久久久久变态| 午夜精品理论片| 99在线精品视频在线观看| 欧美电影在线观看完整版| 欧美伊久线香蕉线新在线| 日韩午夜高潮| 在线欧美视频| 韩国亚洲精品| 国产欧美日韩亚洲| 欧美午夜视频网站| 欧美久久精品午夜青青大伊人| 久久狠狠亚洲综合| 午夜日韩av| 亚洲一区二区四区| 一二美女精品欧洲| 亚洲蜜桃精久久久久久久| 亚洲电影av在线| 美女网站在线免费欧美精品| 欧美一区二区三区免费视频| 亚洲一区久久久| 夜夜爽av福利精品导航| 亚洲精品影院| 亚洲免费av网站| 亚洲精品资源美女情侣酒店| 亚洲国产欧美日韩| 亚洲国内精品在线| 亚洲大胆女人| 亚洲国产天堂久久综合| 亚洲福利视频在线| 亚洲激情视频| 亚洲美女福利视频网站| 亚洲精品在线免费观看视频| 亚洲精品一区二区在线观看| 亚洲激情自拍| 亚洲靠逼com| 日韩视频中文| 亚洲午夜日本在线观看| 亚洲女同在线| 欧美自拍丝袜亚洲| 久久久久久9999| 噜噜噜91成人网| 欧美成人免费在线视频| 亚洲国产精品传媒在线观看 | 免费成人性网站| 蜜臀av在线播放一区二区三区| 久久影视三级福利片| 美国成人直播| 亚洲国产日韩欧美| 亚洲最新视频在线播放| 亚洲免费一区二区| 久久成人免费电影| 免费不卡在线观看av| 欧美人体xx| 国产精品午夜久久| 国产亚洲福利一区| 激情小说亚洲一区| 亚洲高清在线| 亚洲乱码精品一二三四区日韩在线 | 欧美成人日本| 欧美日韩国产麻豆| 国产精品每日更新| 在线观看一区二区精品视频| 91久久精品美女高潮| 一级成人国产| 午夜欧美大片免费观看| 久久五月激情| 亚洲日产国产精品| 亚洲欧美中日韩| 你懂的网址国产 欧美| 欧美视频一区二区三区…| 国产日韩综合一区二区性色av| 揄拍成人国产精品视频| 在线视频亚洲一区| 久久精品123| 亚洲精品网站在线播放gif| 亚洲欧美日韩在线不卡| 麻豆av福利av久久av| 欧美日韩色婷婷| 精品av久久707| 一本色道综合亚洲| 久久国产精品一区二区| 亚洲国产精品一区制服丝袜| 亚洲欧美综合| 欧美精品一区二区在线观看| 国产亚洲成av人在线观看导航 | 久久精品日韩| 夜夜嗨一区二区三区| 麻豆免费精品视频| 国产日韩欧美综合| 亚洲天堂偷拍| 亚洲国产视频一区二区| 午夜精品免费| 国产精品爱啪在线线免费观看| 亚洲丶国产丶欧美一区二区三区| 午夜老司机精品| 亚洲另类自拍| 美女视频一区免费观看| 国产亚洲精品自拍| 午夜电影亚洲| 亚洲精品自在久久| 欧美凹凸一区二区三区视频| 国内在线观看一区二区三区| 亚洲免费在线精品一区| 亚洲精品黄网在线观看| 美女久久一区| 1000部精品久久久久久久久| 欧美一区二区| 亚洲午夜羞羞片| 欧美视频亚洲视频| 宅男噜噜噜66一区二区66| 欧美成人午夜| 久久尤物电影视频在线观看| 国内精品免费午夜毛片| 久久久久国色av免费观看性色| 亚洲欧美高清| 国产乱码精品一区二区三区忘忧草| 中文精品视频| 亚洲精品日日夜夜| 欧美人交a欧美精品| 99re6热只有精品免费观看| 亚洲国产欧美国产综合一区| 久久综合给合| 91久久国产综合久久| 欧美fxxxxxx另类| 可以看av的网站久久看| 亚洲高清免费| 亚洲激情一区| 欧美日韩精品一区二区在线播放| 日韩视频精品在线| 亚洲国产精品久久久久秋霞不卡| 欧美成人一区二区三区在线观看| 亚洲日产国产精品| 亚洲精品乱码久久久久久黑人| 欧美精品一区三区在线观看| 9色精品在线| 在线亚洲一区| 国产精品任我爽爆在线播放| 性亚洲最疯狂xxxx高清| 欧美一级播放| 尤物精品在线| 91久久在线| 国产精品国产a级| 久久精品道一区二区三区| 久久国产一区二区| 亚洲欧洲精品天堂一级| 亚洲乱码国产乱码精品精98午夜| 国产精品高潮呻吟| 久久国产精品久久久久久久久久| 欧美在线亚洲一区| 亚洲国产日韩综合一区| 亚洲精品免费一区二区三区| 国产精品大全| 久久久久久久尹人综合网亚洲| 久久久之久亚州精品露出| 亚洲国产婷婷| 亚洲婷婷在线| 亚洲国产精品毛片| 日韩写真在线| 国产亚洲免费的视频看| 亚洲第一狼人社区| 国产精品成人一区二区艾草| 久久久久久亚洲精品杨幂换脸| 久久久久久成人| 亚洲网站视频福利| 欧美在线观看视频在线| 日韩系列欧美系列| 性视频1819p久久| 亚洲毛片在线免费观看| 亚洲一区制服诱惑| 亚洲精品乱码| 亚洲欧美国产视频| 亚洲精品一品区二品区三品区| 亚洲一区久久久| 亚洲日韩视频| 欧美一区二区三区视频在线 | 亚洲一级在线观看| 伊人成综合网伊人222| 日韩一区二区电影网| 激情另类综合| 中文一区二区| 亚洲肉体裸体xxxx137| 午夜精品久久久久久久99黑人| 亚洲免费观看高清在线观看 | 欧美一区=区| 一区二区三区日韩欧美精品| 久久福利精品| 亚洲欧美日韩系列| 欧美国产丝袜视频| 久久久综合视频| 国产精品青草久久久久福利99| 亚洲电影激情视频网站| 极品日韩av| 亚洲永久免费av| 亚洲自拍偷拍色片视频| 欧美国产亚洲另类动漫| 久久综合伊人| 国产午夜亚洲精品理论片色戒|