gap text2sql
1.0.0
我們AAAI 2021論文的代碼和模型
[2020/02/05]支持在自己的數據庫和查詢上運行模型。查看筆記本。
最近,通過利用大規模文本語料庫來培訓具有自我監督的學習目標(例如蒙版語言模型(MLM))的大規模神經語言模型,對學習各種NLP任務的上下文表示有重大興趣。但是,基於一項試點研究,當將它們應用於文本到SQL語義解析器時,我們會觀察到現有通用語言模型的三個問題:無法檢測到列表中的列提及,無法從單元格值中推斷列提及,並且無法構成複雜的SQL查詢。為了減輕這些問題,我們提出了一個模型預訓練框架,即生成增強的預訓練(GAP),該框架共同學習了通過利用生成模型生成預訓練數據的自然語言話語和表格模式的表示。 GAP模型經過2m tustrance-Schema對和30k Tusterance-Schema-Sql三元組的訓練,其發音是由生成模型產生的。基於實驗結果,利用差距模型作為表示編碼器的神經語義解析器獲得了蜘蛛和標準至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.bin另外,如果您沒有AWSCLI:GAP-FINETNETED-CHACKPOINT和審計的檢查點,則可以在此處下載它們
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然後,您可以在路徑中獲得推理結果和評估結果: ie_dirs/bart_run_1_true_1-step41000.infer和ie_dirs/bart_run_1_true_1-step41000.eval 。
python run.py train experiments/spider-configs/gap-run.jsonnet有關更多信息,請參見貢獻。
該項目已根據APACHE-2.0許可獲得許可。