Поток 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 для получения дополнительной информации.