2013-05-14 3 views
0

Я должен признать некоторые альтернативные правила, но я не знаю, как сделать взаимное исключение. Например, если я хочу распознать «играть», «остановить» или «установить 1», «установить 2», как я могу это сделать? Я пробовал что-то вроде этого, но он не распознает, когда мне не нужен номер (например, «start 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> 

вызова реф.номера после набора будет принимать только «набор 1», «Набор 2», но не принимает «старта 1» потому что после имени нет ссылки.

 Смежные вопросы

  • Нет связанных вопросов^_^