2013-05-14 52 views
0

我不得不承認一些替代規則,但我不知道如何進行互斥。 例如,如果我想識別「玩」,「停止」或「設置1」,「設置2」,我該怎麼辦?我嘗試過這樣的事情,但它不會識別何時不需要該號碼(例如,「啓動2」被正確識別,但平凡的我不想)。AT&T XML語音識別

<grammar version="1.0" tag-format="semantics/1.0" xml:lang="en-US" root="main"> 
<rule id="main"> 
    <ruleref uri="#actions"/> 
    <ruleref uri="#numbers"/> 
</rule> 
<rule id="actions"> 
    <item repeat="0-1"> 
     <one-of> 
      <item>play</item> 
      <item>stop</item> 
      <item>set</item> 
     </one-of> 
    </item> 
</rule> 
<rule id="numbers"> 
    <item repeat="0-1"> 
     <one-of> 
      <item>1</item> 
      <item>2</item> 
      <item>3</item> 
      <item>4</item> 
      <item>5</item> 
      <item>6</item> 
      <item>7</item> 
      <item>8</item> 
      <item>9</item> 
     </one-of> 
    </item> 
</rule> 
</grammar> 

回答

0

只要我發現,如果我把

<item>play <ruleref special="GARBAGE"/></item> 
<item>stop <ruleref special="GARBAGE"/></item>  
<item>set <ruleref special="GARBAGE"/><ruleref uri="#numbers"/></item> 

調用集之後的id引用將只是「設置1」,「集2」,但不接受「開始1」因爲名字後面沒有引用。