0

我有一个自定义技能,它支持像Give me some information about <something>. 响应是长文本(大约 5 句话)。我想将此响应分解为多个 alexa 响应。如何才能做到这一点?

澄清我所说的多个部分的意思。目前是这样的。

Me: give me some information on Nutrino
Alexa: A neutrino is a fermion that interacts only via the weak subatomic force and gravity. The mass of the neutrino is much smaller than that of the other known elementary particles.....

我想要的是,

Me: give me some information on Nutrino
Alexa: A neutrino is a fermion that interacts only via the weak subatomic force and gravity.
Alexa: The mass of the neutrino is much smaller than that of the other known elementary particles.....

我查看了渐进式响应,但在我假设的这种情况下,它涉及的复杂性比所需的要多得多。另外,我查看了ssml,它也没有任何此类功能。

注意:我不想在讲话中出现停顿,这可以通过break标签来实现,而是两条实际独立的消息。这背后的动机是,我想在我的回复之后问一个像“你需要更多信息”这样的问题,并且不应该与包含信息的消息在同一条消息中。

我正在使用当前的this.emit功能nodejs-sdk进行响应。

4

2 回答 2

3

我们只能从 lambda 向 alexa 发送一次响应。因此,请尝试以下面提到的方式设计您的代码。

Me: give me some information on Nutrino
Alexa: A neutrino is a fermion that interacts only via the weak subatomic force and gravity. Do you need more information?
Me:  Yes
Alexa: The mass of the neutrino is much smaller than that of the other known elementary particles.....

作为响应的一部分,我们将使用A neutrino is a fermion that interacts only via the weak subatomic force and gravity作为提示发送。Do you need more information?作为提示。当用户说Yes. 在 Yes Intent 中写一个代码来回答你剩下的陈述The mass of the neutrino is much smaller than that of the other known elementary particles

希望这可以帮助

于 2018-08-01T07:19:25.510 回答
1

技能的响应只能包含一个输出语音和一个重新提示。两者都可以是字符串或 SSML 字符串。有关详细信息,请参见此处。您不能在一个回复中包含多个 Alexa 演讲。您也不能对用户的请求发送多个响应。用户与技能的交互是单个请求和单个响应的循环。

编辑:如果您想通过询问来提供更多信息:“您想要更多信息”,那么您实际上是在向用户提示,这意味着您应该期待答案“是”和“否”。只有下一个用户输入,例如“是”,才能触发技能的新响应。

于 2018-07-30T19:33:37.700 回答