Поток Dialogflow Detect Intent не работает - PullRequest
0 голосов
/ 25 февраля 2019

Каждые 20 или около того запросов, я не получаю полный результат запроса.Я использую рекомендованную клиентскую библиотеку C # .NET.

Я получаю:

{ \"recognitionResult\": { \"messageType\": \"TRANSCRIPT\", \"transcript\": \"yeah\" } }
{ \"recognitionResult\": { \"messageType\": \"TRANSCRIPT\", \"transcript\": \"yeah\" } }
{ \"recognitionResult\": { \"messageType\": \"END_OF_SINGLE_UTTERANCE\" } }
{ \"queryResult\": { \"languageCode\": \"en-AU\" } }

На вкладке истории Dialogflow он никогда не показывает, что этот запрос был выполнен.Проблема возникает, когда качество звука не так велико.В моей ситуации звук иногда будет плохого качества.При этом не выдается ошибка gRPC.Я предполагаю, что это проблема с речевой транскрипцией, поскольку recognitionResult с isFinal отсутствует.Последний частичный результат также точен.

Что может вызвать такое поведение?

Является ли мой единственный способ повторить запрос, используя только текст и самый последний частичный результат?Мое приложение работает в режиме реального времени.Я хотел бы попытаться исправить проблему, прежде чем обойти ее.

1 Ответ

0 голосов
/ 05 августа 2019

Вы видите, что получен тип сообщения END_OF_SINGLE_UTTERANCE .Это означает, что речь была приостановлена ​​/ остановлена ​​или, по крайней мере, кажется, что это так (из-за плохого качества звука).

Я бы предложил установить флаг single_utterance в false , это может помочь вам получить более полную расшифровку.Вот опции InputAudioConfig для получения дополнительной информации.

...