如何在 API.AI 中创建属性组合列表(Dialogflow)
How can I create a list of a combination of attributes in API.AI (Dialogflow)
我有一个要求,我想接受来自 API.AI 的 2 个属性的列表,例如,用户可以说以下任何一个:
添加 2 个橙子和 3 个香蕉 2 我的购物车
将 2 个橙子、3 个香蕉和 5 个苹果添加到我的购物车
所以它应该向我的应用程序发送一个计数和水果名称组合的列表。有什么建议吗?
您可以使用 Composite Entities 来做到这一点。
首先,创建一个列出所有水果及其同义词的实体(我们称之为 fruit
)。
然后创建一个如下所示的复合实体(我们称之为 number-of-fruit
):
你只需要一个值,没有同义词,它应该包含你想要收集的两个参数:
@sys.number-integer:number
(@sys.number-integer
部分代表整数的系统实体,:number
部分是我们给这个参数的名称)
@fruit:fruit
(@fruit
部分是我们水果实体的名字,:fruit
部分是我们给这个参数的名字)
现在,当您将包含此格式项目的示例添加到意图时,您会看到检测到您的新复合实体:
但是,示例中出现的事件当前被视为两个单独的参数,而不是一个列表。要将这些实体视为一个列表而不是两个离散的项目,select 第二个突出显示的示例并单击与第一个参数对应的项目(在屏幕截图中它是带有蓝色文本的 number-of-fruit
):
现在,您会看到参数部分表明此参数是一个列表:
保存并训练后,您可以通过控制台测试这是否适用于任意长度的列表:
我有一个要求,我想接受来自 API.AI 的 2 个属性的列表,例如,用户可以说以下任何一个:
添加 2 个橙子和 3 个香蕉 2 我的购物车
将 2 个橙子、3 个香蕉和 5 个苹果添加到我的购物车
所以它应该向我的应用程序发送一个计数和水果名称组合的列表。有什么建议吗?
您可以使用 Composite Entities 来做到这一点。
首先,创建一个列出所有水果及其同义词的实体(我们称之为 fruit
)。
然后创建一个如下所示的复合实体(我们称之为 number-of-fruit
):
你只需要一个值,没有同义词,它应该包含你想要收集的两个参数:
@sys.number-integer:number
(@sys.number-integer
部分代表整数的系统实体,:number
部分是我们给这个参数的名称)@fruit:fruit
(@fruit
部分是我们水果实体的名字,:fruit
部分是我们给这个参数的名字)
现在,当您将包含此格式项目的示例添加到意图时,您会看到检测到您的新复合实体:
但是,示例中出现的事件当前被视为两个单独的参数,而不是一个列表。要将这些实体视为一个列表而不是两个离散的项目,select 第二个突出显示的示例并单击与第一个参数对应的项目(在屏幕截图中它是带有蓝色文本的 number-of-fruit
):
现在,您会看到参数部分表明此参数是一个列表:
保存并训练后,您可以通过控制台测试这是否适用于任意长度的列表: