Ошибка SSML MalformedRequest в ответе Google Assistant о намерениях

Я использую агент Dialogflow для подачи Assistant Action. Я получаю сообщение об ошибке, когда пытаюсь настроить вывод ответа намерения с помощью SSML.

У меня простой ответ на "Google Ассистент" (в дополнение к стандартному)

Можно использовать обычный текст, и преобразование текста в речь работает. Однако, если я пытаюсь настроить вывод, я получаю сообщение об ошибке Неверный запрос при тестировании действия в симуляторе.

<speak>Hey just testing out some SSML
<break time="3000ms">
Trying to get <emphasis level="moderate">emphasis</emphasis> and break to work.
</speak>

производит:

expected_inputs[0].input_prompt.rich_initial_prompt.items[0].simple_response: 'ssml' could not be parsed.

Может ли кто-нибудь указать, что может быть не так?

Как ни странно, текст произносится правильно даже с содержимым XML вместо «чтения» кода. Однако перерыв, акцент и т. Д., Похоже, не применяются.

Вот что возвращается в ответ JSON.

"simpleResponse": {
                "ssml": "<speak>Hey just testing out some SSML\n<break time=\"500ms\">\nTrying to get <emphasis level=\"moderate\">emphasis</emphasis> and break to work.\n</speak>"
              }

person Bryce Howitson    schedule 12.06.2019    source источник


Ответы (1)


Что ж, чувствую себя идиотом. Я решил проблему. Я пропустил самозакрывающуюся косую черту на теге <break>.

У меня было <break>, и это должно было быть <break />. Слово мудрым, синтаксический анализатор XML Assistant очень строг!

person Bryce Howitson    schedule 12.06.2019