Code und Modell aus unserem AAAI 2021 -Papier
[2020/02/05] Unterstützung beim Ausführen des Modells in eigenen Datenbanken und Abfragen. Schauen Sie sich das Notizbuch an.
In jüngster Zeit gab es ein wesentliches Interesse an Lernkontextrepräsentationen für verschiedene NLP-Aufgaben, indem sie große Textkorpora nutzten, um große Modelle der neuronalen Sprache mit selbstbewerteten Lernzielen wie dem maskierten Sprachmodell (MLM) zu schulen. Auf der Grundlage einer Pilotstudie beobachten wir jedoch drei Themen bestehender allgemeiner Sprachmodelle, wenn sie auf Semantiksparer von Text-to-SQL angewendet werden: Die Säulenerwartungen in den Äußerungen nicht erkennen, die Spalten-Erwähnungen nicht aus Zellwerten abschließen und komplexe SQL-Abfragen nicht komponieren. Um diese Themen zu mildern, präsentieren wir ein Modell vor dem Training, das erzeugungsversorgte Pre-Training (GAP), das gemeinsam Darstellungen von Äußerungen und Tabellenschemata natürlichen Sprachen und Tabellenschemata lernt, indem die Erzeugungsmodelle zur Generierung von Daten vor dem Training genutzt werden. Das Gap-Modell wird auf 2M-Äußerungs-Schema-Paaren und 30.000 Äußerungsschema-SQL-Tripel geschult, deren Äußerungen von generativen Modellen erzeugt werden. Basierend auf experimentellen Ergebnissen erhalten neuronale semantische Parser, die das Lückenmodell als Repräsentationscodierer nutzen, neue Ergebnisse der Stand der Technik sowohl für Spinnen- als auch für die Kriterien-SQL-Benchmarks.
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.binAlternativ können Sie sie hier herunterladen, wenn Sie keine AWSCLI: GAP-Finetuned-Checkpoint und vorbereiteten Checkpoint haben
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 Anschließend erhalten Sie die Ergebnisse der Inferenzergebnisse und die Bewertungsergebnisse in den Pfaden: ie_dirs/bart_run_1_true_1-step41000.infer und ie_dirs/bart_run_1_true_1-step41000.eval .
python run.py train experiments/spider-configs/gap-run.jsonnetWeitere Informationen finden Sie unter Beitrag.
Dieses Projekt ist unter der Lizenz Apache-2.0 lizenziert.