Задача: Мы пытаемся создать агента Dialogflow, который будет взаимодействовать с абонентами через наш стек телефонии Cisco.Мы будем пытаться получить буквенно-цифровые учетные данные от звонящего.
Вот наша предложенная архитектура:
Проблема: для отправки текстовых вводов в Dialogflow мы используем Речь Google Cloud-to-Text (STT) API для преобразования аудио звонящего в текст.Однако API STT не всегда работает так, как нужно.Например, если вызывающий абонент желает сказать, что его DOB равен 04-04-90
, транскрибированное аудио может возвращаться как oh for oh 490
.Тем не менее, транскрибированное аудио может быть значительно улучшено путем передачи подсказок фразы в API, и поэтому нам нужно будет динамически отправлять эти подсказки в зависимости от сценария.К сожалению, мы изо всех сил пытаемся понять, как мы можем динамически передавать эти подсказки фраз через сервер UniMRCP, в частности, плагин распознавания речи Google .
Вопрос. В разделе 5.2 руководства по распознаванию речи в Google описываются динамические контексты речи.
Приведенный пример:
<grammar mode="voice" root="booking" version="1.0" xml:lang="en-US" xmlns="http://www.w3.org/2001/06/grammar">
<meta name="scope" content="hint"/>
<rule id="booking">
<one-of>
<item> 04 04 1990</item>
<item> 04 04 90</item>
<item> April 4th 1990</item>
</one-of>
</rule>
</grammar>
По-прежнему ли это аналогично вводится всеми пользовательскими даннымикак будет вести себя встроенная грамматика builtin:speech/transcribe
?
Например, если я скажу March 5th 1980,
, вернется ли STT Google March 5th 1980,
или только один из предоставленных элементов?
Чтобы было ясно, я бы хотел, чтобы STT Google мог возвращать больше, чем просто предоставленные элементы, и поэтому, если пользователь говорит March 5th 1980,
, я бы хотел, чтобы это возвращалось через UniMRCP, VBB, CVP и передавалось в Dialogflow. Мне говорят, что даже если STT вернет March 5th 1980
, CVP или Голосовой браузер потенциально оценят его как "нет совпадения".