如何使用 LUIS 管理问题的无穷变化?
How to manage endless variations of a question with LUIS?
机器人会询问以下内容:
-"How many people will stay in the apartment? And how many rooms do the apartment have?"
如果用户回复如下:
-“3 人将入住我的两居室公寓。”
然后使用具有 2 个角色的 1 个简单实体(AmountOfPeople 和 RoomsInApartment)可以轻松提取我需要的信息。
但是,用户可以通过许多不同的方式回复问题。例如:
-“3个人和一只狗将留在我的两居室公寓里。”
或
-“3 人将入住我朋友的两居室小屋。”
或
-“3个人不会入住我的两居室公寓。”
在这些情况下,需要考虑的信息太多了。我只关心有多少人会留下来,哪些动物会留下来只是噪音。如果他们会留在他们朋友的地方,我需要提取该信息,以便我可以在我的机器人中采取一些行动。问题是在这种情况下用户如何回复机器人的问题有无穷无尽的变化。
我浏览了 Microsoft 网站上的所有 LUIS 文档,但是它只涵盖了非常简单的话语,所以我在那里找不到太多指导。
我已尽最大努力将它放在 LUIS 中。请参见下图(这里我使用 1 个简单实体和 7 个角色)。
我不确定这是否是正确的方法?我真的应该像现在这样用实体标记每个单词吗?
几个建议:
- 不,您不需要用实体标记话语中的每个词。您应该只标记重要的部分,例如人数、房间数量和住宿类型。从这些您可以推断并传递给用户信息,例如如果你使用
Accomodation:AmountPersons
那么你知道你在谈论人,所以你只需要提取数字,而不是主题和动作。
- 调查 patterns 以简化您的变体。
- 从简单开始,然后在您以后拥有的基础上继续:
- 我不知道在您的场景中额外的 "beings" 是否至关重要,例如宠物,但我会首先将其剥离回到仅支持基本场景 - 即人们留下来。
- 房间类型对您的场景很重要吗?据推测,人们正在预订房间而不是睡在沙发上。 ;-) 同样,我会选择住宿类型(公寓、小屋等)。
- 将机器人的问题分为两部分 - 首先询问有多少人留下来,然后询问他们住在哪里。这将使您在添加话语和模式方面的生活更轻松,如果您想支持用户输入一行,您可以稍后再构建此功能。
我不确定单独使用 LUIS 是否是最好的工具,Bot Framework 支持对话框和 waterfall dialogs seem perfect for what you want. There is a sample project available in C# and NodeJS 应该可以为您提供构建的东西。
机器人会询问以下内容:
-"How many people will stay in the apartment? And how many rooms do the apartment have?"
如果用户回复如下:
-“3 人将入住我的两居室公寓。”
然后使用具有 2 个角色的 1 个简单实体(AmountOfPeople 和 RoomsInApartment)可以轻松提取我需要的信息。
但是,用户可以通过许多不同的方式回复问题。例如:
-“3个人和一只狗将留在我的两居室公寓里。”
或
-“3 人将入住我朋友的两居室小屋。”
或
-“3个人不会入住我的两居室公寓。”
在这些情况下,需要考虑的信息太多了。我只关心有多少人会留下来,哪些动物会留下来只是噪音。如果他们会留在他们朋友的地方,我需要提取该信息,以便我可以在我的机器人中采取一些行动。问题是在这种情况下用户如何回复机器人的问题有无穷无尽的变化。
我浏览了 Microsoft 网站上的所有 LUIS 文档,但是它只涵盖了非常简单的话语,所以我在那里找不到太多指导。
我已尽最大努力将它放在 LUIS 中。请参见下图(这里我使用 1 个简单实体和 7 个角色)。
我不确定这是否是正确的方法?我真的应该像现在这样用实体标记每个单词吗?
几个建议:
- 不,您不需要用实体标记话语中的每个词。您应该只标记重要的部分,例如人数、房间数量和住宿类型。从这些您可以推断并传递给用户信息,例如如果你使用
Accomodation:AmountPersons
那么你知道你在谈论人,所以你只需要提取数字,而不是主题和动作。 - 调查 patterns 以简化您的变体。
- 从简单开始,然后在您以后拥有的基础上继续:
- 我不知道在您的场景中额外的 "beings" 是否至关重要,例如宠物,但我会首先将其剥离回到仅支持基本场景 - 即人们留下来。
- 房间类型对您的场景很重要吗?据推测,人们正在预订房间而不是睡在沙发上。 ;-) 同样,我会选择住宿类型(公寓、小屋等)。
- 将机器人的问题分为两部分 - 首先询问有多少人留下来,然后询问他们住在哪里。这将使您在添加话语和模式方面的生活更轻松,如果您想支持用户输入一行,您可以稍后再构建此功能。
我不确定单独使用 LUIS 是否是最好的工具,Bot Framework 支持对话框和 waterfall dialogs seem perfect for what you want. There is a sample project available in C# and NodeJS 应该可以为您提供构建的东西。