vxml: нужна помощь со встроенными грамматиками

Я просматриваю несколько примеров сценариев vxml с сайта vxml.org. Когда я вызываю сценарий, воспроизводятся подсказки, но он вообще не принимает мои входные данные. когда я говорю, он отвечает «нет ввода». могу ли я пропустить какой-то тег, который указывает ввод от пользователя. это пример скрипта с сайта:

<?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1">
   <link next="#MainMenu">
      <grammar type="text/gsl">[main back begin]</grammar>
   </link>

   <form id="MainMenu">
      <block>
         <prompt bargein="false">
            This is the Hello World Main Menu.
         </prompt>
      </block>

      <field name="MeatOrPlant">
         <prompt>
            Are you a "Carnivore" or "Vegetarian".
         </prompt>

         <grammar type="text/gsl">
            <![CDATA[[
              [vegetarian plant veggie] {<MeatOrPlant "plant">}
              [meat carnivore flesh animal] {<MeatOrPlant "meat">}
            ]]]>
         </grammar>

         <noinput>
            <prompt>
               I did not hear anything. Please try again.
            </prompt>
            <reprompt/>
         </noinput>

         <nomatch>
            <prompt>
               I did not recognize that lifestyle choice.  Please try again.
            </prompt>
            <reprompt/>
         </nomatch>

      </field>
      <filled>
         <if cond="MeatOrPlant == 'meat'">
            <goto next="#Meat"/>
            <elseif cond="MeatOrPlant == 'plant'"/>
            <goto next="#Plant"/>
         </if>
      </filled>
   </form>

   <form id="Meat">
      <field name="BackToMain">
         <prompt>
            PETA is coming for you, be afraid.
            If you wish to try again, please say Main.
         </prompt>
      </field>
      <filled>
         <!-- no way this will get hit -->
      </filled>
   </form>

   <form id="Plant">
      <field name="BackToMain">
         <prompt>
            Protein is the spawn of the devil.
            If you wish to try again, please say "Main".
         </prompt>
      </field>
      <filled>
         <!-- no way this will get hit -->
      </filled>
   </form>
</vxml>

Кто-нибудь знает? ТИА


person mtmurdock    schedule 23.06.2010    source источник


Ответы (1)


Вы не указали используемую платформу. Поскольку вы используете встроенный GSL, я первым делом предположил, что для платформы будет TellMe или NVP, но я думаю, что были и другие, которые поддерживали встроенный GSL.

В любом случае убедитесь, что вы не получаете ошибку компиляции. Я видел, как несколько платформ просто игнорируют грамматики, которые не компилируются. Фрагменты выглядят правильно, но, учитывая, что вы не используете стандартный синтаксис (SRGS), я предполагаю, что это более старая реализация, и чем старше реализация, тем больше причуд и предостережений вы обычно видите.

Как правило, я не вижу ничего плохого в части VoiceXML вашего синтаксиса для объяснения поведения. Хотя это не связано с вашими симптомами, ваши целевые формы могут вызывать проблемы на некоторых платформах из-за отсутствия грамматики и определенных выходов (вы полагаетесь на обработчики перехвата по умолчанию). Чтобы просто воспроизводить информацию, разделы поля должны быть блоками. И обратите внимание: если блок только что воспроизвел аудио и вышел из грамматики ссылок, они могут быть активными или неактивными (в спецификации подразумевается, что они активны, но платформы должны переключаться между обработкой и постановкой аудио в очередь и выполнением распознавания. Распознавание и постоянное включение и выключение активные грамматики встречаются редко...

person Jim Rush    schedule 25.06.2010
comment
на самом деле мы используем собственную платформу, но мне сказали, что она основана на TellMe. Спасибо за помощь! - person mtmurdock; 25.06.2010