如何让Amazon Lex用语音回应短信?

时间:2018-08-06 11:21:28

标签: amazon-web-services amazon-lex

我正在使用Amazon Lex服务。我的输入始终是一条短信,但有时我希望收到语音回复,而不是短信。我在Lex设置中配置了输出语音。

我尝试将标头amz-lex:accept-content-types=SSML添加到请求中,但它返回Invalid Bot Configuration: No usable messages given the current slot and sessionAttribute set. (Service: AmazonLexRuntime; Status Code: 400; Error Code: BadRequestException;。当我要求PlainText时,相同的请求也可以正常工作。即使我要求SSML,PlainText,它也只会以纯文本形式答复。

我是否需要在Lex中配置其他功能以允许它进行语音响应?

2 个答案:

答案 0 :(得分:2)

Lex不能实际输出声音。
Lex将始终输出JSON响应,并且该响应需要由用户访问Lex的通道进行处理。因此,该通道根据它处理Lex传递的响应消息的方式输出文本或语音。

Amazon Lex可以处理语音到文本。

Amazon Polly可以相反:从文本到语音。

如果您转到上面的Lex页面,他们有一些使用Lex进行对话逻辑,然后使用Polly进行文本到语音并将语音输出给用户的示例。

答案 1 :(得分:0)

您甚至可以使用SSML(语音合成标记语言)来使用消息内容类型在Lex Test Bot Console中测试语音。

使用SSML标签,您可以自定义和控制语音的各个方面,例如发音,音量和语速。

SSML带有各种指令,您可以使用这些指令来自定义发音并根据需要创建。例如-以说为准的指令

`"message": {       
   "contentType": "SSML",
   "content": "<speak> Hi " + data["User ID"].split('.')[0]+", Your Reference Number <say-as interpret-as="characters">" +  "ABC"+event.currentIntent.slots.RefNo+ "</say-as> is ," + data["Status"] +"</speak>"
}` 

于2018年推出-https://aws.amazon.com/about-aws/whats-new/2018/02/announcing-responses-capability-in-amazon-lex-and-ssml-support-in-text-response/