LUIS到MySQL查询-Azure Chatbot

问题描述 投票:0回答:1

如何使用LUIS生成MySQL查询并从Azure托管的数据库中获取数据?

应生成对MySQL查询的自然语言查询。例如

[2018年慕尼黑啤酒节喝了多少啤酒?->从慕尼黑啤酒节年份== 2018取得amountOfBeer;

有人知道如何使它正常工作吗?

[已在LUIS中生成小的Intent,例如GetAmountOfBeer

不知道如何生成MySQL语句以及如何从数据库获取数据。

谢谢。

mysql database azure chatbot luis
1个回答
0
投票

您应该能够使用意图和实体来实现这一目标或类似目标。这能否成功取决于您的查询需要多少个和多少个。首先让我们从您提到的短语开始:“慕尼黑啤酒节2018喝了多少啤酒”。您可以轻松地(完成操作)将其添加为意图GetAmountOfBeer的发音。尽管我是意图名称的支持者,您可以将其读取为“我想要GetAmountOfBeer”,但是在这里您可能需要命名意图amountOfBeer,以便可以在查询中直接使用它。

接下来,您需要设置实体。对于年份(或日期时间),这应该很容易,因为我相信为此有一些预定义的实体。我认为您需要使用日期时间识别器来解析正确的属性(例如年份),但是我之前从未尝试过这样做。接下来,慕尼黑啤酒节似乎是您数据库中的特定假日或活动,因此您可以为所有活动创建一个列表实体。

[剩下的就是(伪代码)从topIntent所在年份== eventEntity中获取datetime.Year,或类似的东西。

如果查询集更复杂,则可能必须具有多个GET语句,但是可以将它们放在topIntent的switch语句中,这样,无论意图是什么,您都可以解析出正确的值。您可能还希望将其构建到一个对话框中,在其中可以检查实体是否存在,如果不存在,则可以提示用户输入缺少的数据。

© www.soinside.com 2019 - 2024. All rights reserved.