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>
أي شخص لديه أدنى فكرة؟ تيا
المحلول
لم تذكر المنصة المستخدمة. نظرًا لأنك تستخدم GSL المضمّن ، فإن أول تخمين للمنصة سيكون TellMe أو NVP ، لكنني أعتقد أن هناك آخرين يدعمون GSL المضمّن.
في أي حال ، تأكد من أنك لا تحصل على خطأ في التجميع. لقد رأيت بعض المنصات فقط تتجاهل القواعد التي لم تتجمع. تبدو المقتطفات صحيحة ، ولكن بالنظر إلى عدم استخدام بناء الجملة القياسي (SRGs) ، أعتقد أن هذا تطبيق أقدم وكلما كان التنفيذ أقدم ، كلما زاد عدد المراوغات والتحذيرات التي تراها عادةً.
بشكل عام ، لا أرى أي شيء خاطئ في جزء VoiceXML من بناء الجملة الخاص بك لشرح السلوك. على الرغم من أنها غير مرتبطة بأعراضك ، إلا أن نماذج وجهتك قد تتسبب في مشكلات على بعض المنصات بالنظر إلى عدم وجود قواعد نحوية ومخارج محددة (تعتمد على معالجات الصيد الافتراضية). لتشغيل المعلومات فقط ، يجب أن تكون أقسام الميدان كتلًا. ولاحظ ، إذا كانت الكتلة قد لعبت للتو صوتًا وخرجت ، فقد تكون قواعد الارتباط نشيطة (قد تعني المواصفات أنها ، ولكن يجب أن تتحول المنصات بين المعالجة الصوتية والتعرف على الأداء. التعرف والتحول المستمر داخل وخارج القواعد النشطة نادرة ...