Alexa技能-完成另一个插槽中的插槽填充过程



我从事的技能是按姓名或专业搜索医生。

我的意图是:FindDoctor

它有3个插槽:TypeNameSpecialty

这就是我现在所拥有的:

当用户说:

"我想找医生">

然后我的代码将控制权委托给Alexa,并请求Type:

"好的,你想按名字还是按专业找到它?">

如果用户要求NameSpecialty:

"按专业">

我的代码将在实现用户意图所需的插槽中进行委派:

"完美,专业的名称是什么?">

用户将完成它:

"创伤学">

我的代码将调用API并找到结果:

"这是最亲密的创伤科医生……等等">


这就是我想要得到的:

如果机器人询问Type:会发生什么

"好的,你想按名字还是按专业找到它?">

用户说:

"创伤学家。">

然后我想完成插槽Specialty,而不需要Type

但在填充插槽时,我将用户的可能答案放为"a{Specialty}",我不满足插槽Specialty,而是始终满足插槽Type


所以假设我总是问用户他想找什么。当我在Alexa的Type插槽填充时,有什么方法可以完成另一个插槽吗?

如果我理解正确,您希望从一个意图填充多个插槽。下面是一个可能的例子:

{
"intents": [
{
"name": "FindDoctorIntent",
"samples": [
"Find a doctor",
"Find doctor {DoctorName}",
"{Specialty}",
"Find a {Specialty}"
],
"slots": [
{
"name": "Specialty",
"type": "LIST_OF_SPECIALTIES"
},
{
"name": "DoctorName",
"type": "AMAZON.US_FIRST_NAME" // or whatever type is best suited for your usecase
}
]
}
],
"types": [
{
"name": "LIST_OF_SPECIALTIES",
"values": [
{
"id": "traumatologist",
"name": {
"value": "traumatologist",
"synonyms": [
"traumatologist",
"Traumatology",
...
]
}
},
{
"id": "other docter type",
"name": {
"value": "other type..",
"synonyms": [
...
]
}
}
]
}
]
}

以下是一些可能有用的其他资源:使用对话框管理捕获A和B或C插槽

另一个好问题。。如果你的两种类型相似:多个意图共享相同的插槽值

最新更新