如何在Alexa Skill中使用以前的插槽值?

时间:2017-05-24 13:41:47

标签: amazon-web-services chatbot alexa alexa-skills-kit

我想在Alexa技能中构建封闭的对话框模型。示例要求是

Man: Alexa, what is the price of product1

Alexa: The price of product1 is 89 USD

Man: What is the size of it?

如果我问"它的大小意图"而不是产品名称,alexa将如何理解"它"是产品吗?

1 个答案:

答案 0 :(得分:2)

在单个会话的范围内,您可以将产品名称保留为会话属性,并在响应大小问题时再次检索它。

处理价格意图时,您需要将产品名称另存为TRY IT ONLINE.。让我们调用该属性' ProductName'。然后,在同一会话中处理大小意图时,只需检查是否已定义ProductName属性,如果没有,则提示输入。

为了使这个对话更加健壮,请在第二个意图中定义以下示例话语(让我们称之为SizeIntent)以允许ProductName session attribute

SizeIntent What is the size of it
SizeIntent What is the size of {ProductName} 

这定义了一个ProductName槽,所以现在你有两种可能的输入方法:

  • ProductName会话属性,通过对话的前一部分。
  • ProductName Slot Value,来自最近的请求。

决定引用哪个值:

  • 如果ProductName广告位不为空,请将其保存到您的' ProductName'会话属性并使用它。
  • 否则,如果ProductName属性不为null,请使用它。
  • 否则,提示输入ProductName。