在 Microsoft Luis 中,如何为实体数组建模?

In Microsoft Luis, how do I model an array of entities?

所以我试图理解用户对 select 实体数组的表达,这里有一些例子表达:

My choices are 1, 2, 3, and 4
Let's go with Red  Blue  Yellow
How about January and February and March
I want A & B & C

所以在上面的示例语句中,我应该能够得到以下实体:

[1,2,3,4]
[Red,Blue,Yellow]
[January,February,March]
[A,B,C]

我没有手头的选择,所以我无法训练它们。但我希望能够理解用户 select 的多种选择。这在路易斯有可能吗?

我想我可以通过使用定界符和正则表达式来分解用户的输入来模仿 NLU。但如果用户使用不同的定界符,那将不起作用。或者,如果用户事先添加了很多聊天内容。

您可以通过创建名为 ChoiceSimple 类型的实体并添加类似的话语并使用所述实体标记选项来解决该问题,如下所示:

作为人工智能,Luis 非常擅长识别模式,并且这些话语具有非常明确的模式,即:

话语:Prefix + Choice1 + delimiter + Choice2 + delimiter + ... + ChoiceN

存在

  • Prefix:"My choices are"、"Let's go with"、"How about"等
  • Choice: 任何单词
  • delimiter: ",", "and", " ", 等等

这大致是 Luis 检测到的模式,在这种情况下,将检测由 delimiter 分隔的 prefix 之后的任何内容作为 choice。所以像

这样的话语

I want a soda, burger and fries

将导致:

即使我们没有指定 Luis soda burgerfries 是有效的选择,他仍然检测到了它们!

这是我为此答案创建的 Luis 模型:https://github.com/navelDirt/luis-apps/blob/master/ChoiceDetect/ChoicesApp.json

您可以在 Luis 中导入它,方法是转至 YourApp -> 管理 -> 版本 -> 导入版本

编辑:

它应该检测 N 个选项