Я пытаюсь создать приложение GVP через Composer (Genesys Framework), которое должно принимать входные данные через распознавание речи. Входные данные состоят из буквенно-цифрового кода из 12 или более букв / цифр, в котором говорящему необходимо использовать вместо букв названия городов Италии.
Я уже пытался написать код для моей грамматики, используя конструктор грамматики в Genesys Composer, но таким образом он принимает только ОДНО слово. Итак, я начал писать код .grxml с нуля (у меня нет практически никаких знаний об этом языке). Я придумал следующее:
<rule id="A" scope="public">
<item repeat="0-5">
<one-of>
<item>Ancona</item>
<item>A</item>
</one-of>
</item>
</rule>
<rule id="B" scope="public">
<item repeat="0-5">
<one-of>
<item>Bologna</item>
<item>Bari</item>
<item>Bi</item>
<item>B</item>
</one-of>
</item>
</rule>
<rule id="C" scope="public">
<item repeat="0-5">
<one-of>
<item>Como</item>
<item>Ci</item>
<item>C</item>
</one-of>
</item>
</rule>
<rule id="D" scope="public">
<item repeat="0-5">
<one-of>
<item>Domodossola</item>
<item>Di</item>
<item>D</item>
</one-of>
</item>
</rule>
<!-- Reference by URI to a local rule -->
<rule id="codice" scope="public">
<item repeat="0-5">
<ruleref uri="#A" />
<ruleref uri="#B" />
<ruleref uri="#C" />
<ruleref uri="#D" />
</item>
</rule>
Грамматика работает, но только если я произношу слова по порядку. Например, если я произношу «ANCONA, COMO», я получаю правильный результат, и если я печатаю свою входную переменную, она содержит «ANCONA COMO». Вместо этого, если я произнесу «COMO, ANCONA», моя переменная содержит только слово «COMO». Как я могу «зациклить» свои правила, чтобы слова произносились в случайном порядке? Спасибо.