我不太确定我完全理解你的问题,但也许这会有所帮助......
假设您的 LUIS 模型有一个名为Bet Count的意图,并且它希望在查询中至少找到以下两个实体:Team和Date。只要用户查询的句法结构与Bet Count的句法结构匹配, LUIS 就会返回适当的结果。然而,这并不是说捕获的实体是值得的。考虑以下用户查询:
2015 年有多少赌注押在香蕉上?
在这种情况下,LUIS 可以毫无问题地将查询的意图识别为Bet Count,它将返回 2015 作为日期,并返回 Bananas 作为团队。由您的应用程序来确定 Bananas 是否是合法的团队名称。
最后,我从未使用过任何机器人框架 SDK,但在阅读文档时,您似乎可以使用FormFlow。
编辑................................................. ..................................................... .....................
对于你问题的后半部分:
如果机器人在理解我的意思时遇到问题,我希望机器人提示我说“对不起,我不明白你”等等,然后用户将查询重写为更合适的格式,直到它得到以正确的格式查询。
默认情况下,LUIS 模型包含一个无意图,当查询无法映射到特定意图时使用该意图(您应该在训练模型时使用查询为其播种)。需要注意的是,在这种情况下, JSON 响应中的intents键(通过调用 LuisClient 实例的 raw_query 方法获得)将指向一个空列表;如您所料,它不包含None意图的字典。
通过检查此列表是否为空,您可以轻松确定查询是否被 LUIS 理解。