Kode dan model dari kertas AAAI 2021 kami
[2020/02/05] Dukungan untuk menjalankan model pada database dan kueri sendiri. Lihat buku catatannya.
Baru-baru ini, ada minat yang signifikan dalam belajar representasi kontekstual untuk berbagai tugas NLP, dengan memanfaatkan korpora teks skala besar untuk melatih model bahasa saraf besar dengan tujuan pembelajaran yang di-swadaya, seperti model bahasa bertopeng (MLM). Namun, berdasarkan studi percontohan, kami mengamati tiga masalah model bahasa tujuan umum yang ada ketika mereka diterapkan pada parser semantik teks-ke-SQL: gagal mendeteksi kolom menyebutkan dalam ucapan, gagal menyimpulkan sebutan kolom dari nilai-nilai sel, dan gagal menyusun kueri SQL yang kompleks. Untuk mengurangi masalah ini, kami menyajikan kerangka kerja pra-pelatihan model, pra-pelatihan pra-pelatihan (GAP) generasi, yang bersama-sama mempelajari representasi ucapan bahasa alami dan skema tabel dengan memanfaatkan model generasi untuk menghasilkan data pra-kereta. Model GAP dilatih pada pasangan ucapan 2M dan 30K ucapan-schema-sql tiga kali lipat, yang ucapannya diproduksi oleh model generatif. Berdasarkan hasil eksperimen, parser semantik saraf yang memanfaatkan model kesenjangan sebagai penyandian representasi memperoleh hasil canggih baru pada tolok ukur laba-laba dan kriteria-ke-SQL.
conda create --name gap-text2sql python=3.7
source activate gap-text2sql
conda install pytorch=1.5 cudatoolkit=10.2 -c pytorch
pip install -r requirements.txt
python -c " import nltk; nltk.download('stopwords'); nltk.download('punkt') "pip install gdown
cd rat-sql-gap
gdown --id 1_AckYkinAnhqmRQtGsQgUKAnTHxxX5J0
unzip spider.zip
bash data/spider/generate.sh ./spidermkdir data/spider-bart
cp ./spider/tables.json data/spider-bart/
cp ./spider/train_spider.json data/spider-bart/
cp ./spider/train_others.json data/spider-bart/
cp ./spider/dev.json data/spider-bart/
ln -s $( pwd ) /spider/database data/spider-bart/databasemkdir third_party
wget http://nlp.stanford.edu/software/stanford-corenlp-full-2018-10-05.zip
unzip stanford-corenlp-full-2018-10-05.zip -d third_party/ pushd third_party/stanford-corenlp-full-2018-10-05
nohup java -mx4g -cp " * " edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 8999 -timeout 15000 > server.log &
popdmkdir -p logdir/bart_run_1/bs = 12 , lr = 1.0e-04 , bert_lr = 1.0e-05 , end_lr = 0e0 , att = 1/
mkdir ie_dirs
aws s3 cp s3://gap-text2sql-public/checkpoint-artifacts/gap-finetuned-checkpoint logdir/bart_run_1/bs = 12 , lr = 1.0e-04 , bert_lr = 1.0e-05 , end_lr = 0e0 , att = 1/model_checkpoint-00041000
mkdir -p pretrained_checkpoint
aws s3 cp s3://gap-text2sql-public/checkpoint-artifacts/pretrained-checkpoint pretrained_checkpoint/pytorch_model.binAtau, Anda dapat mengunduhnya di sini jika Anda tidak memiliki AWSCLI: Gap-Finetuned-checkpoint dan pretrained-checkpoint
curl https://gap-text2sql-public.s3.amazonaws.com/checkpoint-artifacts/gap-finetuned-checkpoint -o logdir/bart_run_1/bs = 12 , lr = 1.0e-04 , bert_lr = 1.0e-05 , end_lr = 0e0 , att = 1/model_checkpoint-00041000
curl https://gap-text2sql-public.s3.amazonaws.com/checkpoint-artifacts/pretrained-checkpoint -o pretrained_checkpoint/pytorch_model.binpython run.py preprocess experiments/spider-configs/gap-run.jsonnetpython run.py eval experiments/spider-configs/gap-run.jsonnet Anda kemudian mendapatkan hasil inferensi dan hasil evaluasi di jalur: ie_dirs/bart_run_1_true_1-step41000.infer dan ie_dirs/bart_run_1_true_1-step41000.eval .
python run.py train experiments/spider-configs/gap-run.jsonnetLihat berkontribusi untuk informasi lebih lanjut.
Proyek ini dilisensikan di bawah lisensi APACHE-2.0.