Решение команды Deviаnts
задачи NLSQL от Ростелекома в рамках Хакатона Цифровой прорыв.
Современные технологии позволяют легко решать задачи перевода естественных человеческих языков. Доступно большое количество технологий и уже обученных нейросетей для решения подобных задач, но стабильно работающего переводчика с человеческой речи на язык программирования - нет.
Решения в datadriven-компаниях принимаются на основании проверки гипотез на данных. При этом большая часть таких гипотез не является сложными — такие проверки могут осуществлять сами участники команд со стороны бизнеса (selfservice), но они не всегда обладают знаниями языков программирования.
Участникам хакатона предлагается реализовать переводчик с «человеческого» языка на язык SQL.
Разработанное участниками решение позволит сократить время при принятии решений, ускорит бизнес-процессы в компании ПАО «Ростелеком», а также позволит командам быстрее обучаться работе с данными и сократит нагрузку на дата-аналитиков.
Модель машинного обучения для перевода естественного языка на SQL. Может обрабатывать как простые, так и сложные запросы. Решение упростит работу людям, которые не умеют составлять запросы SQL. Интерфейс решения представлен в виде веб-приложения, а также в виде чат-бота.
Python
, Transformers
, T5
, PyTorch
, Django
, telebot
.
Высокая точность, возможность обрабатывать несколько таблиц, высокая скорость работы модели Text-To-Text, простой и интуитивный интерфейс.
- SELECT
- one column
- multiple columns
- all columns
- distinct select
- aggregate functions
- count-select
- sum-select
- avg-select
- min-select
- max-select
- JOIN
- WHERE
- one condition
- multiple conditions
- operators
- equal/not equal operator
- greater-than/less-than operator
- like operator
- between operator
- aggregate functions
- sum in condition
- avg in condition
- min in condition
- max in condition
- ORDER BY
- ASC
- DESC
- GROUP BY
- detection of values
Making Spider Dataset.ipynb
- Преобразование датасета Spider для обучения T5Training T5-Base on Spider.ipynb
- Обучение T5-BaseMaking Translated Spider Dataset.ipynb
- Перевод датасета Spider для обучения моделей на русскомnlpQL/
- Сайт на DjangoNQLbot/
- Telegram бот на Telebot