在使用Luis.ai和Bot框架时,有没有人能就如何处理歧义消解提出一些建议?
我想问机器人一个简单的问题,比如2015年在团队X上下了多少赌注。在Luis.ai训练的帮助下,机器人应该从问题中识别出团队和日期/时间。如果它成功地做到了这一点,那么机器人就会查询我们存储所有记录的BigQuery应用程序接口,并返回适当的信息,比如团队X的投注数量。
如果机器人在理解我的意思时有问题,我希望机器人提示我说“对不起,我没听懂你的话”等等,然后用户将查询重写为更合适的格式,直到它以正确的格式获得查询。
发布于 2016-08-18 03:24:01
我不太确定我是否完全理解了你的问题,但也许这会有所帮助。
假设您的LUIS模型有一个名为Bet Count的意图,并且它希望在查询中至少找到以下两个实体:Team和Date。只要用户查询的语法结构与Bet Count的语法结构相匹配, LUIS就会返回适当的结果。然而,这并不是说捕获的实体将是值得的。考虑以下用户查询:
2015年有多少赌注押在香蕉上?
在本例中,LUIS可以毫不费力地将查询的意图确定为Bananas Bet Count,并将返回2015作为日期,返回作为团队。这取决于您的应用程序来确定Bananas是否是合法的团队名称。
最后,我从未使用过任何bot框架SDK,但在阅读文档时,您似乎可以使用FormFlow。
Edit.......................................................................................................................
关于你问题的后半部分:
如果机器人在理解我的意思时遇到问题,我希望机器人提示我说“对不起,我没听懂你的话”等等,然后用户将查询重写为更合适的格式,直到它得到正确格式的查询。
默认情况下,LUIS模型包括None意图,当查询不能映射到特定意图时使用(您应该在训练模型时使用查询种子)。需要注意的是,在这种情况下,JSON响应中的intents键(通过调用LuisClient实例的raw_query方法获得)将指向一个空列表;它不像您预期的那样包含None意图的字典。
通过检查这个列表是否为空,您可以很容易地确定LUIS是否理解该查询。
https://stackoverflow.com/questions/36610157
复制相似问题