VXML: нужна помощь с встроенные грамматики
-
29-09-2019 - |
Вопрос
Я смотрю на одном образце сценариев 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>
У кого-нибудь есть подсказка? TIA
Решение
Вы не упомянули использовать платформу. Поскольку вы используете Inline GSL, мое первое предположение для платформы будет Cleanme или NVP, но я думаю, что были другие, которые поддерживали встроенные GSL.
В любом случае убедитесь, что вы не получаете ошибку компиляции. Я видел несколько платформ, просто игнорируйте грамматики, которые не скомпилировали. Фрагменты выглядят правильными, но с учетом того, что вы не используете стандартный синтаксис (SRGS), я предполагаю, что это более старая реализация и старая реализация, тем больше причудливых и предупреждений, которые вы обычно видите.
Вообще, я не вижу ничего плохого с голосовой частью вашего синтаксиса, чтобы объяснить поведение. Хотя он не связан с вашими симптомами, ваши формы назначения могут вызывать проблемы на некоторых платформах, учитывающих отсутствие грамматиков и определенные выходы (ваши полагающиеся на обработчики по умолчанию). Чтобы просто воспроизвести информацию, полевые разделы должны быть блоками. И обратите внимание, что если блок просто играл в аудио и выручил грамматики ссылок, могут быть неактивными (спецификация подразумевает, что они должны, но должны переключаться на платформы между обработкой и аудио и выполнением и выполнением распознавания. Распознавание и непрерывное включение Активные грамматики редки ...