我需要接受来自API.AI的两个属性的列表,例如,用户可以这样说:
加2个橙子和3个香蕉2我的手推车
在我的手推车上加两个桔子,三个香蕉和五个苹果。
因此,它应该向我的应用程序发送一个计数和水果名称组合的列表。有什么建议吗?
发布于 2017-11-07 19:36:55
您可以使用复合实体来完成这个任务。
首先,创建一个列出所有水果及其同义词的实体(让我们称之为fruit)。
然后创建如下所示的复合实体(让我们称之为number-of-fruit):

您只需要一个没有同义词的值,它应该包含您希望收集的两个参数:
@sys.number-integer:number ( @sys.number-integer部件表示整数的系统实体,:number部件是我们给出的参数)@fruit:fruit ( @fruit部件是水果实体的名称,:fruit部分是我们将给出的参数的名称)现在,当您向意图添加包含此格式项的示例时,您将看到检测到了新的复合实体:

但是,该示例中的事件目前被视为两个单独的参数,而不是一个列表。要将这些实体视为一个列表,而不是两个离散项,请选择第二个突出显示的示例,并单击与第一个参数对应的项(在屏幕截图中,该项目的蓝色文本为number-of-fruit):

现在,您将看到parameters部分指示这个参数是一个列表:

保存和训练之后,可以通过控制台测试这种方法是否适用于任意长度的列表:

https://stackoverflow.com/questions/47148736
复制相似问题