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

鐵觀音

C++編程寶典

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

第二節(jié) DTMF Grammars ?
?
????<grammar>元素也可以用來提供DTMF語法。
??????·它指定了一組按鍵,用戶可以使用這些按鍵執(zhí)行一個操作或提供一些信息。
??????·對于匹配的DTMF輸入,它可以返回一個相應(yīng)的語義解釋。返回的可以是一個簡單的值(例如一個字符串),一組成對的屬性――值(例如年、月、日),或一個嵌套的對象(對于復(fù)雜的請求)。
????VoiceXML平臺必須支持XML格式的DTMF語法,以提高程序的可移植性,如SRGS中的附錄D定義的。
????<grammar>元素的mode屬性用于區(qū)分DTMF語法和語音語法。<grammar>元素的xml:lang屬性在DTMF語法的處理中無效的。在其他的方面,對DTMF語法和語音語法的處理都是一樣的,包括定義聯(lián)機語法,或引用外部語法。對于處理媒體類型,作用域和獲取也是一樣的。
????下面是一個簡單的XML格式的DTMF聯(lián)機語法,它只接受按鍵“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的語法的作用域為包含該input item的元素。即只有該input item在FIA的選定階段被選定時,它包含的語法才會被激活。包含在input item中的<grammar>不能指定scope屬性,否則拋出error.badfetch事件。
????<link>元素中的語法的作用域為包含該<link>元素的元素。因此,如果該<link>元素是在應(yīng)用根文檔中,則該語法在該應(yīng)用所有加載的文檔中都是激活的。包含在<link>元素中的<grammar>不能指定scope屬性,否則拋出error.badfetch事件。
????<form>元素的語法的作用域為dialog。因此只有用戶在該form中時,語法才是激活的。如果此時<grammar>元素的scope屬性值為document,則當(dāng)用戶在該文檔中時,該語法也是激活的。如果<grammar>元素的scope屬性值為document,且該文檔為應(yīng)用根文檔,則無論用戶在該應(yīng)用加載的哪一個文檔中,這些語法都是激活的。有兩種方式可以使form中的語法的作用域為document:一種是指定<form>元素的scope屬性為document,另一種是指定<grammar>元素的scope屬性為document。如果兩個元素都指定了scope屬性,則以<grammar>元素中指定的為準。
????<menu>元素中的語法默認作用域為dialog,只有用戶在該<menu>元素中,它的語法才被激活。但是也可以指定這些語法的作用域為document,使它們在整個文檔中都是激活的。如果該文檔是應(yīng)用根文檔,則語法在該應(yīng)用所有加載的文檔中都是激活的。在<choice>元素中的<grammar>元素不能指定它的scope屬性,否則拋出一個error.badfetch事件。
????有時候,form可能需要一些語法在整個文檔中都激活,而另一些語法只有在該form中激活,這樣做的目的是最大限度的減少語法疊交的問題。如果<grammar>元素的scope屬性值和form的scope屬性值不同,應(yīng)該單獨指定自己的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)解釋器訪問一個input item,等待輸入的時候,以下的語法被激活:
??????·該input item的語法,包括該input item包含的<link>元素中的語法。
??????·該form的語法,包括該form包含的<link>元素中的語法
??????·該文檔包含的<link>元素中的語法,及該文檔的<menu>元素和<form>元素中scope屬性為document的<grammar>元素的語法。
??????·該應(yīng)用根文檔包含的<link>元素中的語法,及該應(yīng)用根文檔的<menu>元素和<form>元素中scope屬性為document的<grammar>元素的語法。
??????·平臺定義的默認事件處理的語法,例如help、exit和cancel。
????如果一個輸入匹配了多個激活的語法,則語法的優(yōu)先權(quán)按照上面定義的順序。如果一個輸入匹配了多個激活的同一優(yōu)先權(quán)的語法,則語法的優(yōu)先權(quán)由文檔順序決定。當(dāng)平臺期待一個輸入?yún)s沒有任何語法激活時,平臺必須拋出一個error.semantic事件,該事件在所執(zhí)行的元素的環(huán)境中拋出。menu中的語法激活機制和form中的一樣(見2.2.1節(jié))。
????如果form item的modal屬性為true,則在等待輸入的時候,除了該form item的語法外,其他的語法都是失效的。如果該輸入匹配了另外一個form或menu中的語法,而不是當(dāng)前form或menu,則控制交給那個被匹配的語法所在的form或menu,且當(dāng)前form或menu中的數(shù)據(jù)丟失。
????Inputmodes property不會影響語法的激活,例如,如果inputmodes property要求輸入只能是voice時,DTMF語法也會被激活,只是不能被匹配。

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

第六節(jié) Mapping Semantic Interpretation Results to VoiceXML forms ?
?
????SRGS語法返回的語義解釋必須映射到一個或多個VoiceXML ECMAScript變量中。映射form級別和field級別的語義解釋的方法有少許不同,不同之處見下一節(jié)。使用推薦的NLSML(Natural Language Semantics Markup Language)或SISR類似ECMAScipt的輸出的語義解釋格式對本次討論沒有任何影響。為了本次討論方便,我們假定識別器返回的實際的識別結(jié)果在application.lastresult$.interpretation中被完整的映射成類似ECMAScript格式(見5.1.5節(jié))。
????有可能語法被匹配了,但沒有返回一個語義解釋。在這種情況下,平臺將使用該短語的原始文本串作為語義結(jié)果。否則,就認為該語義解釋由一個簡單的值組成來處理。
????每個input item都由一個相應(yīng)的slot名(只可能出現(xiàn)在<field>元素中),用于提取完整的語義解釋中大的相應(yīng)部分。如果有指定slot屬性的話,slot名就是該slot屬性的值。否則slot名為該input item的name屬性的值。如果name和slot屬性都沒有指定,則該slot名為undefined。
????Slot名用于在FIA的處理階段確定一個input item是否被匹配了。當(dāng)該slot名和語義結(jié)果頂層的屬性一樣時,或slot名用于選定一個子屬性時,即為該input item匹配。語義結(jié)果中值為undefined(ECMAScript的undefined)的屬性即為不匹配。同樣的值為undefined的slot名也為不匹配。3,1,6,3節(jié)給出了例子。
????下一小節(jié)談?wù)摰氖莊orm級別和field級別的結(jié)果的映射。也簡要的討論了其他的問題。如NL語義到ECMAScript的映射,ASR結(jié)果到VoiceXML的跳轉(zhuǎn)的信息,語義結(jié)果和VoiceXML中匹配出錯的處理。
?
一、Mapping form-level results
????form級別的語法產(chǎn)生一個form級別的語義結(jié)果,該結(jié)果可以同時填充多個input item。用戶的輸入匹配了一個激活的form級別的語法,這種情況隨時都可以出現(xiàn),不管是在<initial>元素中,還是在一個input item中。
????設(shè)想一下“I would like a coca cola and three large pizzas with pepperoni and mushrooms.”這個句子的語義結(jié)果。該語義解釋結(jié)果的結(jié)構(gòu)如下,并被copy到application.lastresult$.interpretation中:
      {
        drink: "coke"
        pizza: {
             number: "3"
             size: "large"
             topping: [
                     "pepperoni"
                     "mushrooms"
                  ]
             }
      }
????下表說明了來自form級別的語法的結(jié)果在該form中怎樣被賦給各個<field>元素。注意,所有能被該解釋填充的input item是同時被填充的。Input item變量原來的值將被覆蓋。這些input item將在FIA的處理階段由<field>元素處理(見2.4節(jié)和附錄C)。
VoiceXML field Assigned ECMAScript value Explanation
1、<field name="drink"/> "coke" 結(jié)果的頂層屬性默認的賦給一個<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"]} 上面的例子選擇了一個單純的值,<field>的name和slot屬性也可以用同樣的方法選定一個ECMAScript對象變量。然而,在應(yīng)用中必須要處理檢查該對象的組成,這顯然不是VoiceXML FFA(form-filling algorithm)的優(yōu)勢。在FFA中,語義結(jié)果中沒有指定slot的,將不會自動的被提示。在服務(wù)器能夠處理結(jié)構(gòu)化對象的情況下,這是沒有問題的。換句話說,使用下面描述的方法,對應(yīng)用來說會更好。
4、<field name="..." slot="pizza.number"/>
<field name="..." slot="pizza.size"/>
"3"
"large"
Slot用于選定該結(jié)果的一個子屬性。這種方法把該結(jié)果分配到幾個<field>元素中。
5、<field name="..." slot="pizza.topping"/> ["pepperoni", "mushroom"] 被選定的屬性可以是一個復(fù)合的對象。
表30:Form-level Grammar Assignments
????這些例子可以用以下幾條規(guī)則來解釋,這些規(guī)則是直接由VoiceXML1.0的name和slot屬性擴展得到的,且與之兼容。
??????1、<field>的slot屬性是一個非常受限制的ECMAScript表達式,它選定結(jié)果中的某部分賦給該元素。除了能夠選定結(jié)果的頂層元素外,該屬性也能使用由點隔開的元素/屬性名選定嵌套結(jié)構(gòu)中任意級的屬性。如使用“pizza.number”和“order.pizza.topping”。注意,如果幾個<field>元素的slot屬性值一樣的話,一個特定的slot值有可能填充多個<field>元素。
??????2、如果在結(jié)果中,以一個<field>元素的slot(或name)屬性命名的那一部分沒有一個給定的值,則不改變該field item的值。
?
二、Mapping a field-level result
????在一個input item中指定的語法產(chǎn)生一個field級別的語義解釋結(jié)果,該結(jié)果只可以填充包含該語法的input item。這些語法只有在FIA訪問該input item時才是激活的。這很有用。例如在引導(dǎo)型的dialog中,每個input item會單獨的給用戶播放提示語。
????Field級別的語義解釋結(jié)果以下面的方式填充相應(yīng)的input item:
??????1、如果該語義解釋是一個簡單的結(jié)果,則直接賦給該input item變量。
??????2、如果該語義解釋是一個結(jié)構(gòu)化的結(jié)果,且該slot名和該結(jié)果的一個屬性匹配,則將該屬性的值賦給相應(yīng)的input item變量。
??????3、在其他的情況下,整個語義解釋的結(jié)果都賦給相應(yīng)的input item變量。
????這個處理過程允許input item從語義解釋結(jié)果中提取一個特定的屬性。和<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
????一個匹配的slot名允許input item提取語義解釋中相應(yīng)的部分。
      application.lastresult$.interpretation =
      { drink: { size: 'large', liquid: 'coke' }
         pizza: { number: '3', size: 'large', topping: ['pepperoni', 'mushroom' ] }
         sidedish: undefined
      }
????下表再次說明了當(dāng)slot名匹配了結(jié)果中的一個屬性時的定義:
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級別和field級別的結(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>
????在這個例子中定義了兩個input item變量,“x”和“z”,相應(yīng)的slot名分別為“x”和“y”。下表描述的是,根據(jù)被識別的語法和返回的語義結(jié)果給這些變量賦值。ValueX表示屬性x相應(yīng)的結(jié)果值,可以是結(jié)構(gòu)化的對象,也可以是簡單的值。
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級別,簡單的結(jié)果,像字符串‘hello’,不能匹配任何input item;結(jié)構(gòu)化對象給所有slot名能匹配的input item變量賦值。在field級別,簡單的結(jié)果總是賦給相應(yīng)的input item變量;在結(jié)構(gòu)化對象中,如果存在和該input item的slot名匹配的屬性,則把該對象中匹配的屬性值賦給相應(yīng)的input item,否則把整個語義解釋結(jié)果賦給該input item。
?
四、Additional issues
????1、把NL語義映射到ECMAScript:如果使用NLSML,,需要定義NLSML表示法到ECMAScipt 對象的映射。由于這兩種表示法有相近的嵌套結(jié)構(gòu),映射起來還算簡單。NL語義技術(shù)規(guī)范詳細的討論了如何映射。
????2、把ASR的語義結(jié)果轉(zhuǎn)換到VoiceXML:當(dāng)所有相關(guān)的語義求值完畢,W3C ASR語法的語義標識符就是元素的rule屬性值。另外,根規(guī)則(和所有的non-terminals一樣)有一個相應(yīng)的"text"變量,該變量包含了由non-terminal控制的utterance中的一組token。在把ASR結(jié)果轉(zhuǎn)換到VoiceXML中的過程中,VoiceXML平臺不僅要根據(jù)root屬性值填充VoiceXML中相應(yīng)的field,還要填充這些field的影子變量。該field的影子變量name$.utterance和ASR根規(guī)則的text變量的值應(yīng)該要一樣。平臺還要根據(jù)ASR平臺提供的信息實例化影子變量name$.confidence的值,同時根據(jù)所處理的DTMF或語音語法實例化影子變量name$.inputmode的值。除了平臺用于設(shè)置整個utterance解釋的confidence的application.lastresult$.confidence外,最后平臺還有把上面提到的那些信息填充到application.lastresult$(見5.1.5節(jié)。特別的,“application.lastresult$.utterance”,“application.lastresult$.inputmode”和 “application.lastresult$.interpretation”)。
????3、語義結(jié)果和VoiceXML field之間的不配對:語義結(jié)果到VoiceXML的映射取決于ASR語法和VoiceXML標記之間嚴格的配對。由于當(dāng)前的框架協(xié)議不能保證語法和相應(yīng)的VoiceXML dialog之間的一致性,因此,開發(fā)者的疏忽可能導(dǎo)致出現(xiàn)不配對。由于這些不配對的情況和某些正確的情況很難分辨,信息一致性的檢查就顯得格外重要。不配對的一些例子:
??????·語義結(jié)果中包含了額外的信息,使得VoiceXML沒有相應(yīng)的field與之配對。開發(fā)者的疏忽或使用的語法比VoiceXML應(yīng)用要求的語法包含更對的信息,都可能出現(xiàn)這種不配對。這些額外的信息將被忽略。
??????·語義結(jié)果中沒有提供VoiceXML應(yīng)用期望的信息。開發(fā)者的疏忽或因用戶的輸入太簡單而沒法提供一個值給某個特定的slot,都可能出現(xiàn)不配對。在這種情況下,F(xiàn)IA繼續(xù)執(zhí)行,沒有提供的值將單獨由用戶提供。如果問題是由于開發(fā)者的疏忽引起的,且該語法實際上不能識別出正確的結(jié)果,F(xiàn)IA將繼續(xù)讓用戶提供該丟失的值,直到達到平臺和應(yīng)用規(guī)定的失敗次數(shù)。
??????·最后,VoiceXML和ASR的語義結(jié)果中都提供了配對的信息,但是兩者的格式不一致。例如ASR語法可能提供的是一個結(jié)構(gòu)化的對象,而VoiceXML中期望的卻是一個字符串。在這種情況下,平臺的行為取決于對該結(jié)果的處理。例如,該結(jié)構(gòu)化的對象可能被提交給服務(wù)器端的腳本,轉(zhuǎn)換成一個字符串。這樣,平臺的行為就取決于服務(wù)器端的腳本。
????為了解決這些潛在的問題,委員會這在考慮各種方法以確保語法和VoiceXML的一致性。
posted on 2006-09-16 22:25 鐵觀音 閱讀(1016) 評論(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>
            国产精品免费一区豆花| 欧美一区免费视频| 一区二区三区欧美亚洲| 免费观看成人| 在线免费观看成人网| 亚洲免费在线播放| 亚洲精品视频在线| 欧美精品自拍偷拍动漫精品| 亚洲第一黄色网| 久久人人爽人人爽爽久久| 亚洲欧美日韩一区二区| 国产日韩欧美不卡| 欧美一级淫片aaaaaaa视频| 亚洲香蕉网站| 国产精品日韩欧美大师| 欧美在线播放高清精品| 午夜视频精品| 黄色成人在线网址| 亚洲一区图片| 国产精品第一页第二页第三页| 亚洲精品视频二区| 一本一本a久久| 亚洲精品欧美在线| 欧美日韩精品免费看| 亚洲一区视频在线| 亚洲欧洲一区二区在线观看| 欧美片在线观看| 亚洲精品乱码久久久久久黑人| 欧美激情在线播放| 欧美精品一区二区三区在线播放| 在线综合+亚洲+欧美中文字幕| 亚洲黄色免费网站| 久久精品国产综合精品| 亚洲欧美视频在线观看| 国产香蕉久久精品综合网| 可以免费看不卡的av网站| 老色批av在线精品| 一区二区三区国产在线| 亚洲一二区在线| 黄页网站一区| 日韩视频免费观看高清完整版| 国产精品亚洲人在线观看| 老司机一区二区| 欧美另类99xxxxx| 欧美亚洲日本网站| 模特精品在线| 亚洲综合精品一区二区| 久久久久.com| 一本色道久久综合亚洲精品不| 一区二区三区日韩精品视频| 国精品一区二区| 亚洲精品国产精品国自产观看| 国产精品久久久久久久久婷婷| 麻豆精品视频在线观看| 欧美日韩国产黄| 久久亚洲精品伦理| 欧美日韩一级视频| 久久综合国产精品| 国产精品久久99| 欧美激情综合| 国语自产精品视频在线看一大j8 | 午夜亚洲性色视频| 欧美aa国产视频| 久久精品国产999大香线蕉| 欧美69视频| 久久免费视频在线| 欧美午夜不卡视频| 亚洲东热激情| 狠狠网亚洲精品| 中日韩午夜理伦电影免费| 亚洲第一精品电影| 午夜精品视频一区| 亚洲天堂av高清| 蜜臀av在线播放一区二区三区| 国产综合欧美| 99在线热播精品免费99热| 伊人色综合久久天天| 亚洲无线观看| 亚洲一区制服诱惑| 欧美日韩国产片| 亚洲激情视频网| 亚洲黄色高清| 久久综合久久综合九色| 久久天天躁狠狠躁夜夜av| 国产欧美另类| 亚洲欧美在线另类| 亚洲欧美一区二区三区在线| 欧美日韩国产另类不卡| 一区二区免费在线视频| 亚洲精品视频啊美女在线直播| 红桃av永久久久| 亚洲永久免费观看| 亚洲伊人一本大道中文字幕| 欧美日韩黄色大片| 最新高清无码专区| 99精品国产热久久91蜜凸| 欧美激情1区2区3区| 欧美激情1区2区| 亚洲日本久久| 欧美精品一区二区视频| 亚洲精品裸体| 亚洲一区久久| 国产欧美精品xxxx另类| 亚洲欧美视频在线| 久久一区二区三区av| 亚洲电影免费观看高清完整版在线| 久久久国产精品一区| 欧美插天视频在线播放| 亚洲日本va午夜在线电影| 欧美a级一区二区| 亚洲精品中文字幕在线| 亚洲一区黄色| 国产亚洲欧美一区在线观看| 久久精品人人| 亚洲国产精品电影| 亚洲一区二区三区在线播放| 国产精品制服诱惑| 久久久久久亚洲精品不卡4k岛国| 亚洲第一区在线观看| 亚洲视频你懂的| 国产一区二区三区奇米久涩| 乱人伦精品视频在线观看| 亚洲毛片网站| 久久电影一区| 欧美寡妇偷汉性猛交| 亚洲精品欧美在线| 午夜一级在线看亚洲| 在线成人av.com| 欧美日韩精品免费观看| 久久精品视频在线看| 亚洲欧洲精品一区| 欧美一区二区三区四区高清| 亚洲黄色在线观看| 国产精品久99| 美女久久一区| 亚洲欧美亚洲| 亚洲国产视频a| 久久精品国产清高在天天线| 99v久久综合狠狠综合久久| 国产日韩三区| 欧美人与性动交α欧美精品济南到| 亚洲欧美综合精品久久成人| 欧美电影免费观看高清| 午夜精品理论片| 亚洲看片免费| 伊人狠狠色j香婷婷综合| 国产精品jizz在线观看美国| 久久亚洲影院| 欧美一区二区国产| 一本久久青青| 91久久精品国产91久久| 久久综合九色99| 香蕉久久夜色精品国产| 一本色道久久综合狠狠躁的推荐| 尤物99国产成人精品视频| 国产欧美日韩三级| 国产精品久久久久一区| 欧美国产日韩a欧美在线观看| 欧美一级成年大片在线观看| 在线视频欧美日韩| 日韩视频二区| 亚洲电影免费| 亚洲国产毛片完整版| 亚洲欧美日韩国产综合| 亚洲精品日韩在线观看| 国产精品一区二区久久精品 | 狠狠88综合久久久久综合网| 欧美日本免费| 欧美电影电视剧在线观看| 久久精品国产亚洲精品| 亚洲综合色噜噜狠狠| 亚洲精品中文在线| 亚洲欧洲午夜| 亚洲人成在线播放| 亚洲国产婷婷香蕉久久久久久| 麻豆av一区二区三区久久| 久久亚洲一区二区| 久热综合在线亚洲精品| 久久噜噜噜精品国产亚洲综合| 久久av老司机精品网站导航| 午夜精品理论片| 午夜在线一区二区| 欧美一区网站| 久久青青草原一区二区| 久久香蕉精品| 欧美高清在线观看| 欧美激情第二页| 亚洲精品乱码久久久久久| 亚洲精品中文字幕有码专区| 一本到12不卡视频在线dvd| 日韩天堂在线视频| 亚洲视频电影图片偷拍一区| 亚洲一区欧美二区| 欧美有码在线视频| 久久全球大尺度高清视频| 美女啪啪无遮挡免费久久网站| 欧美丰满少妇xxxbbb| 国产精品高清网站| 国产综合视频| 一本色道久久|