Этот репозиторий содержит код для бумаги ACL 2020 «Rat-SQL: схема с учетом отношений, кодирующие и связывание для анализаторов текста к SQL».
Если вы используете Rat-SQL в своей работе, пожалуйста, укажите это следующим образом:
@inproceedings { rat-sql ,
title = " {RAT-SQL}: Relation-Aware Schema Encoding and Linking for Text-to-{SQL} Parsers " ,
author = " Wang, Bailin and Shin, Richard and Liu, Xiaodong and Polozov, Oleksandr and Richardson, Matthew " ,
booktitle = " Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics " ,
month = jul,
year = " 2020 " ,
address = " Online " ,
publisher = " Association for Computational Linguistics " ,
pages = " 7567--7578 "
}2020-08-14:
Загрузите наборы данных: Spider и Wikisql. В случае Spider, обязательно загрузите версию 08/03/2020 или новее. Распаковать наборы данных где -то за пределами этого проекта, чтобы создать следующую структуру каталога:
/path/to/data
├── spider
│ ├── database
│ │ └── ...
│ ├── dev.json
│ ├── dev_gold.sql
│ ├── tables.json
│ ├── train_gold.sql
│ ├── train_others.json
│ └── train_spider.json
└── wikisql
├── dev.db
├── dev.jsonl
├── dev.tables.jsonl
├── test.db
├── test.jsonl
├── test.tables.jsonl
├── train.db
├── train.jsonl
└── train.tables.jsonl
Чтобы работать с набором данных Wikisql, клонируйте его сценарии оценки в этот проект:
mkdir -p third_party
git clone https://github.com/salesforce/WikiSQL third_party/wikisql Мы предоставили Dockerfile , который настраивает всю среду для вас. Предполагается, что вы устанавливаете наборы данных, загруженные на шаге 1 как объем /mnt/data в запущенное изображение. Таким образом, настройка среды для Rat-SQL:
docker build -t ratsql .
docker run --rm -m4g -v /path/to/data:/mnt/data -it ratsql Обратите внимание, что изображение требует не менее 4 ГБ оперативной памяти для запуска предварительной обработки. По умолчанию Docker Desktop для Mac и Docker Desktop для Windows Run Containers с 2 ГБ оперативной памяти. Переключатель -m4g переопределяет его; В качестве альтернативы, вы можете увеличить предел по умолчанию в настройках рабочего стола Docker.
Если вы предпочитаете настроить и запустить кодовую базу без Docker, выполните шаги в
DockerfileOne -Conte. Обратите внимание, что этот репозиторий требует Python 3.7 или выше и JVM для управления Stanford Corenlp.
Каждый эксперимент имеет свой собственный файл конфигурации в experiments . Трубопровод работы с любой модельной версией или набором данных:
python run.py preprocess experiment_config_file # Step 3a: preprocess the data
python run.py train experiment_config_file # Step 3b: train a model
python run.py eval experiment_config_file # Step 3b: evaluate the resultsИспользуйте следующие файлы конфигурации эксперимента, чтобы воспроизвести наши результаты:
experiments/spider-glove-run.jsonnetexperiments/spider-bert-run.jsonnetexperiments/wikisql-glove-run.jsonnetТочная точность модели может варьироваться в зависимости от ± 2% в зависимости от случайного семени. Смотрите бумагу для деталей.
Этот проект приветствует вклады и предложения. Большинство взносов требуют, чтобы вы согласились с лицензионным соглашением о участнике (CLA), заявив, что вы имеете право и фактически предоставить нам права на использование вашего вклада. Для получения подробной информации, посетите https://cla.opensource.microsoft.com.
Когда вы отправляете запрос на привлечение, бот CLA автоматически определит, нужно ли вам предоставить CLA и правильно украсить PR (например, проверка состояния, комментарий). Просто следуйте инструкциям, предоставленным ботом. Вам нужно будет сделать это только один раз во всех репо, используя наш CLA.
Этот проект принял код поведения с открытым исходным кодом Microsoft. Для получения дополнительной информации см. Кодекс поведения FAQ или свяжитесь с [email protected] с любыми дополнительными вопросами или комментариями.