Поток Dialogflow Detect Intent не работает

Каждые 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 отсутствует. Последний частичный результат также точен.

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

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

0 ответов

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

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

Другие вопросы по тегам