Создаете диалог VXML / GRXML для распознавания, основываясь на том, что вызывающий абонент говорит «Тот», а не на элементе? - PullRequest
1 голос
/ 20 октября 2010

В моем приложении есть несколько диалогов, в которых звонящему предлагается выбрать из списка:

«Что бы вы хотели?Представитель. "

В псевдокоде вот как это будет выглядеть:

<prompt>
 Which would you like?  Account Information, Account Changes, Request Documents, Speak to a Representative.
</prompt>
<grammar>
 "Account Information": goto Account Info logic
 "Account Changes": goto Account Change logic
 "Request Documents": goto Documents logic
 "Representative": goto Call Transfer logic
</grammar>

Теперь эта грамматика не учитывает ситуации, когда вызывающий абонент говорит:" Тот! "сразу после прослушивания одного из вариантов.Это будет считаться грамматикой и ошибкой.Я могу обойти это, разбив диалог на четыре подсказки и добавив в каждую из них избыточные грамматики:

 <prompt>
    Which would you like?
</prompt>
<prompt>
    Account Information
</prompt>
<grammar>
    "That one": goto Account Info logic
    "Account Information": goto Account Info logic
    "Account Changes": goto Account Change logic
    "Request Documents": goto Documents logic
    "Representative": goto Call Transfer logic
</grammar>
<prompt>
    Account Changes
</prompt>
<grammar>
    "That one": goto Account Change logic
    "Account Information": goto Account Info logic
    "Account Changes": goto Account Change logic
    "Request Documents": goto Documents logic
    "Representative": goto Call Transfer logic
</grammar> 
<prompt>
    Request Documents
</prompt>
<grammar>
    "That one": goto Documents logic
    "Account Information": goto Account Info logic
    "Account Changes": goto Account Change logic
    "Request Documents": goto Documents logic
    "Representative": goto Call Transfer logic
</grammar>
<prompt>
    "Request Documents": goto Documents logicSpeak to a Representative.
</prompt>
<grammar>
    "That one": goto Call Transfer logic
    "Account Information": goto Account Info logic
    "Account Changes": goto Account Change logic
    "Request Documents": goto Documents logic
    "Representative": goto Call Transfer logic
 </grammar> 

Но так ли это «правильный» способ сделать это?Есть ли способ сделать это с помощью одного диалога?

Спасибо,
IVR Avenger

Ответы [ 2 ]

2 голосов
/ 23 октября 2010

Это лучший способ для большинства платформ.Если вы используете платформу VoiceXML 2.1, которая поддерживает mark , вы можете использовать ее, чтобы определить, какой элемент воспроизводился, когда пользователь говорил.

Если переносимость платформы является целью, я бы рекомендовалмногопольное решение.

Что касается удобства использования, я бы использовал прямую идентификацию выбора списка, чтобы сделать окончательный запасной вариант.Это утомительно, а ошибки синхронизации имеют место.Чтобы свести к минимуму последнее, убедитесь, что имеется достаточный пробел и выбор, чтобы медленный пользователь выбрал правильную запись.Задержка платформы, составляющая всего 1/4 секунды при переходе к приглашениям, может повлиять на восприятие.

0 голосов
/ 29 октября 2010

Если вы хотите, чтобы вызывающий абонент сказал « этот », вам необходимо включить эту директиву в ваше приглашение. Иначе они этого не скажут.

«Когда вы услышали нужный вариант, произнесите: этот вариант .... Информация об учетной записи .... Изменения учетной записи .... Запрос документов ... Поговорите с представителем».

Вам нужно было бы использовать длинные паузы между опциями, чтобы дать возможность звонящему взаимодействовать. Вы можете использовать элемент вместе с полевыми грамматиками для его реализации.

Однако, вызывающий абонент захочет услышать все варианты перед выбором. Таким образом, эта стратегия не является правильной. Вместо этого я бы просто рекомендовал разрешить вход в систему и не использовать опцию " that one ". Это было бы намного более обычным, простым и эффективным.

...