Dieses Repository enthält Code für das ACL 2020-Papier "RAT-SQL: Relation-Award-Schema-Codierung und Verknüpfung für Text-zu-SQL-Parser".
Wenn Sie Ratten-SQL in Ihrer Arbeit verwenden, zitieren Sie es bitte wie folgt:
@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:
Laden Sie die Datensätze herunter: Spider und Wikisql. Stellen Sie im Falle von Spider sicher, dass Sie die Version 08/03/2020 oder neuer herunterladen. Entpacken Sie die Datensätze irgendwo außerhalb dieses Projekts, um die folgende Verzeichnisstruktur zu erstellen:
/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
Um mit dem WikISQL -Datensatz zu arbeiten, klonen Sie seine Bewertungsskripte in dieses Projekt:
mkdir -p third_party
git clone https://github.com/salesforce/WikiSQL third_party/wikisql Wir haben eine Dockerfile zur Verfügung gestellt, die die gesamte Umgebung für Sie eingerichtet ist. Es wird davon ausgegangen, dass Sie die in Schritt 1 als Volumen /mnt/data heruntergeladenen Datensätze in ein laufendes Bild montieren. Somit lautet die Umgebungs-Setup für Ratten-SQL:
docker build -t ratsql .
docker run --rm -m4g -v /path/to/data:/mnt/data -it ratsql Beachten Sie, dass das Bild mindestens 4 GB RAM benötigt, um die Vorverarbeitung auszuführen. Standardmäßig docer Desktop für Mac und Docker Desktop für Windows -Container mit 2 GB RAM. Der -m4g -Schalter überschreibt es; Alternativ können Sie die Standardlimit in den Docker -Desktop -Einstellungen erhöhen.
Wenn Sie es vorziehen, die Codebasis ohne Docker einzurichten und auszuführen, befolgen Sie die Schritte in
Dockerfilenacheinander. Beachten Sie, dass dieses Repository Python 3.7 oder höher erfordert und ein JVM Stanford Corenlp betreibt.
Jedes Experiment hat eine eigene Konfigurationsdatei in experiments . Die Pipeline der Arbeit mit einer Modellversion oder einem Datensatz ist:
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 resultsVerwenden Sie die folgenden Experiment -Konfigurationsdateien, um unsere Ergebnisse zu reproduzieren:
experiments/spider-glove-run.jsonnetexperiments/spider-bert-run.jsonnetexperiments/wikisql-glove-run.jsonnetDie genaue Modellgenauigkeit kann je nach Zufallssamen um ± 2% variieren. Weitere Informationen finden Sie in Papier.
Dieses Projekt begrüßt Beiträge und Vorschläge. In den meisten Beiträgen müssen Sie einer Mitarbeiters Lizenzvereinbarung (CLA) zustimmen, in der Sie erklären, dass Sie das Recht haben und uns tatsächlich tun, um uns die Rechte zu gewähren, Ihren Beitrag zu verwenden. Weitere Informationen finden Sie unter https://cla.opensource.microsoft.com.
Wenn Sie eine Pull -Anfrage einreichen, bestimmt ein CLA -Bot automatisch, ob Sie eine CLA angeben und die PR angemessen dekorieren müssen (z. B. Statusprüfung, Kommentar). Befolgen Sie einfach die vom Bot bereitgestellten Anweisungen. Sie müssen dies nur einmal über alle Repos mit unserem CLA tun.
Dieses Projekt hat den Microsoft Open Source -Verhaltenscode übernommen. Weitere Informationen finden Sie im FAQ oder wenden Sie sich an [email protected] mit zusätzlichen Fragen oder Kommentaren.