0

任何人都可以就使用 Luis.ai 和 Bot Framework 时如何处理歧义提出建议吗?

我想问机器人一个简单的问题,例如 2015 年 X 队有多少赌注。在 Luis.ai 培训的帮助下,机器人应该从问题中识别球队和日期/时间。如果它已成功完成此操作,那么机器人会查询我们存储所有记录的 BigQuery API,并返回适当的信息,例如团队 X 的投注量。

如果机器人在理解我的意思时遇到问题,我希望机器人提示我说“对不起,我不明白你”等,然后用户将查询重写为更合适的格式,直到它得到以正确的格式查询。

4

1 回答 1

0

我不太确定我完全理解你的问题,但也许这会有所帮助......

假设您的 LUIS 模型有一个名为Bet Count的意图,并且它希望在查询中至少找到以下两个实体:TeamDate。只要用户查询的句法结构与Bet Count的句法结构匹配, LUIS 就会返回适当的结果。然而,这并不是说捕获的实体是值得的。考虑以下用户查询:

2015 年有多少赌注押在香蕉上?

在这种情况下,LUIS 可以毫无问题地将查询的意图识别为Bet Count,它将返回 2015 作为日期,并返回 Bananas 作为团队。由您的应用程序来确定 Bananas 是否是合法的团队名称。

最后,我从未使用过任何机器人框架 SDK,但在阅读文档时,您似乎可以使用FormFlow

编辑................................................. ..................................................... .....................

对于你问题的后半部分:

如果机器人在理解我的意思时遇到问题,我希望机器人提示我说“对不起,我不明白你”等等,然后用户将查询重写为更合适的格式,直到它得到以正确的格式查询。

默认情况下,LUIS 模型包含一个意图,当查询无法映射到特定意图时使用该意图(您应该在训练模型时使用查询为其播种)。需要注意的是,在这种情况下, JSON 响应中的intents键(通过调用 LuisClient 实例的 raw_query 方法获得)将指向一个空列表;如您所料,它不包含None意图的字典。

通过检查此列表是否为空,您可以轻松确定查询是否被 LUIS 理解。

于 2016-08-17T19:24:01.047 回答