Repositori ini berisi kode untuk kertas ACL 2020 "Rat-SQL: Relationshare-Aware Schema Encoding dan menghubungkan untuk parsers teks-ke-sql".
Jika Anda menggunakan tikus-sql dalam pekerjaan Anda, silakan kutip sebagai berikut:
@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:
Unduh Dataset: Spider dan Wikisql. Dalam kasus Spider, pastikan untuk mengunduh versi 08/03/2020 atau yang lebih baru. Buka kumpulan dataset di suatu tempat di luar proyek ini untuk membuat struktur direktori berikut:
/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
Untuk bekerja dengan dataset Wikisql, klon skrip evaluasinya ke dalam proyek ini:
mkdir -p third_party
git clone https://github.com/salesforce/WikiSQL third_party/wikisql Kami telah menyediakan Dockerfile yang mengatur seluruh lingkungan untuk Anda. Diasumsikan bahwa Anda memasang dataset yang diunduh pada langkah 1 sebagai volume /mnt/data ke dalam gambar yang sedang berjalan. Dengan demikian, pengaturan lingkungan untuk tikus-sql adalah:
docker build -t ratsql .
docker run --rm -m4g -v /path/to/data:/mnt/data -it ratsql Perhatikan bahwa gambar membutuhkan setidaknya 4 GB RAM untuk menjalankan preprocessing. Secara default, Docker Desktop untuk Mac dan Docker Desktop untuk Windows Run Containers dengan 2 GB RAM. Sakelar -m4g menimpanya; Atau, Anda dapat meningkatkan batas default di pengaturan desktop Docker.
Jika Anda lebih suka mengatur dan menjalankan basis kode tanpa Docker, ikuti langkah -langkah di
Dockerfilesatu per satu. Perhatikan bahwa repositori ini membutuhkan Python 3.7 atau lebih tinggi dan JVM untuk menjalankan Stanford Corenlp.
Setiap percobaan memiliki file konfigurasi sendiri dalam experiments . Pipa bekerja dengan versi model atau dataset apa pun adalah:
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 resultsGunakan file konfigurasi eksperimen berikut untuk mereproduksi hasil kami:
experiments/spider-glove-run.jsonnetexperiments/spider-bert-run.jsonnetexperiments/wikisql-glove-run.jsonnetAkurasi model yang tepat dapat bervariasi ± 2% tergantung pada benih acak. Lihat kertas untuk detailnya.
Proyek ini menyambut kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda untuk menyetujui perjanjian lisensi kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk, dan benar -benar melakukannya, beri kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi https://cla.opensource.microsoft.com.
Saat Anda mengirimkan permintaan tarik, bot CLA akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghiasi PR secara tepat (misalnya, pemeriksaan status, komentar). Cukup ikuti instruksi yang disediakan oleh bot. Anda hanya perlu melakukan ini sekali di semua repo menggunakan CLA kami.
Proyek ini telah mengadopsi kode perilaku open source Microsoft. Untuk informasi lebih lanjut, lihat FAQ Kode Perilaku atau hubungi [email protected] dengan pertanyaan atau komentar tambahan.