Описание проекта
Реляционные базы данных являются доминирующими системами хранения структурированной информации. Продукты Oracle Database, MySQL и PostgreSQL занимают лидирующие позиции на рынке СУБД и повсеместно используются IT компаниями, университетами и т.д. Одним из важных достоинств реляционного подхода является его простота и доступность для понимания конечным пользователем, при котором единственной информационной конструкцией является таблица.
Structured Query Language является неотъемлемой частью реляционных баз данных, представляя собой декларативный язык программирования, применяемый для создания, модификации и управления данными в БД, управляемой соответствующей системой управления базами данных. Это обуславливает востребованность SQL программистов на рынке IT.
На сегодняшний день объем информации, хранимой в реляционных базах данных IT компанией, может составлять сотни терабайт и более; количество таблиц и связей в БД постоянно растет. Следовательно, при усложнении структуры баз данных становится все сложнее составлять SQL запросы для получения необходимой информации, необходимо учитывать множество связей и таблиц, что усложняет процесс составления и исполнения запроса.
Для решения данной проблемы будет разработана система генерации запросов к базам данных на SQL по текстовому описанию на естественном языке, или text2sql. Пользователю будет достаточно сформировать описание требуемого запроса на русском или английском языке с упоминанием необходимых полей, операций и таблиц, после чего система сгенерирует корректный SQL запрос.
Text2sql предполагает использование нейронных сетей типа seq2seq (например T5 или BART) для выделения признаков входного запроса на натуральном языке, и генерации на их основании финального SQL запроса. Для взаимодействия с системой разработчику (юр. лицу) будет необходимо получить приватный токен доступа к API и оплатить требующееся кол-во запросов. Для доступа к системе физических лиц предусмотрен телеграм-бот, который сможет принимать запросы от пользователей и отправлять SQL запросы. Сервер планируется реализовать с использованием Django, нейронные сети при помощи фреймворка PyTorch.
IT компании, использующие подобную технологию, смогут сократить время работы с реляционными базами данных, что позволит экономить человеко-часы, денежные ресурсы и ресурсы ЭВМ. Кроме того, использование системы студентами позволит быстрее освоить SQL.