LUIS для MySQL запроса - Azure Chatbot - PullRequest
0 голосов
/ 17 апреля 2020

Как сгенерировать MySQL Запросы с LUIS и выборку данных из БД, размещенной в Azure?

. Должен генерировать запрос на естественном языке к запросу MySQL. например,

Сколько пива было выпито на Октоберфесте 2018? -> GET amountOfBeer ОТ Oktoberfest WHERE Год == 2018;

У кого-нибудь есть идеи, как заставить это работать?

Уже сгенерированы небольшие интенты в LUIS, например, GetAmountOfBeer

Не знаю, как генерировать MySQL Заявления и как получить данные из БД.

Спасибо.

1 Ответ

0 голосов
/ 17 апреля 2020

Вы должны быть в состоянии достичь этого или чего-то подобного, используя намерения и сущности. Насколько это может быть успешным, зависит от того, сколько и насколько разнообразными должны быть ваши запросы. Сначала давайте начнем с фразы, которую вы упомянули: «Сколько пива было выпито на Октоберфесте 2018 года». Вы можете легко (как вы сделали) добавить это как высказывание для намерения, GetAmountOfBeer. Хотя я являюсь поклонником имен намерений, которые вы можете прочитать как «Я хочу GetAmountOfBeer», здесь вы можете назвать намерение amountOfBeer, чтобы вы могли использовать его в своем запросе напрямую.

Далее вам нужно настроить свои сущности. Для года (или, скорее, для даты и времени) это должно быть легко, так как я считаю, что для этого есть несколько предопределенных сущностей. Я думаю, что вам нужно использовать распознаватель даты и времени, чтобы разобрать правильный атрибут (например, год), но я не пытался сделать это раньше. Далее, Октоберфест, кажется, является специфическим c праздником или событием в вашей БД, поэтому вы можете создать список объектов из всех ваших событий.

То, что у вас осталось, это что-то вроде (псевдокод) GET topIntent ОТ eventEntity ГДЕ Год == datetime.Year, или что-то в этом роде.

Если ваш набор запросов более сложный, вам может потребоваться несколько операторов GET, но вы можете поместить их в Переключите оператор по topIntent, чтобы независимо от цели вы могли разобрать правильные значения. Вы также можете захотеть встроить это в диалоговое окно, в котором вы можете проверить, существуют ли объекты, а если нет, вы можете запросить у пользователя отсутствующие данные.

...