2017-05-24 130 views
0

我想用Alexa技能建立封闭的对话模型。这个例子的要求是如何在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

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

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


为了使这一对话更稳健,在你的第二个意图定义下面的示例话语(可以称之为SizeIntent)允许产品名称custom slot

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

这定义了产品名称插槽,所以现在您有两种可能的输入方法:

  • ProductName会话属性,通过对话的前一部分。
  • 产品名称插槽值,通过最近的请求。

要决定引用哪个值:

  • 如果产品名称插槽不为空,将它保存到你的“产品名称”会话属性,并使用它。
  • 否则,如果ProductName属性不为null,则使用它。
  • 否则,提示输入ProductName。