AAAI 2021 논문의 코드 및 모델
[2020/02/05] 자체 데이터베이스 및 쿼리에서 모델을 실행하도록 지원합니다. 노트북을 확인하십시오.
가장 최근에, MLM (Masked Language Model)과 같은 자체 감독 학습 목표로 대규모 신경 언어 모델을 훈련시키기 위해 대규모 텍스트 Corpora를 활용하여 다양한 NLP 작업에 대한 맥락 표현 학습에 상당한 관심이있었습니다. 그러나 파일럿 연구를 기반으로, 우리는 텍스트-SQL 시맨틱 파서에 적용될 때 기존 일반 목적 언어 모델의 세 가지 문제를 관찰합니다. 발화에 열 언론을 감지하지 못하고 셀 값에서 열 언급을 추론하지 못하고 복잡한 SQL 쿼리를 구성하지 못합니다. 이러한 문제를 완화하기 위해, 우리는 생성 모델을 활용하여 사전 훈련 데이터를 생성하여 자연 언어 발화 및 테이블 스키마의 표현을 공동으로 학습하는 모델 사전 훈련 프레임 워크, GAP (Generation-Augmented Pre-Training)를 제시합니다. GAP 모델은 발화가 생성 모델에 의해 생성되는 2m 발화 스키마 쌍과 30K 발화 스키마 -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-FINETUNED-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 그런 다음 경로에서 추론 결과 및 평가 결과를 얻습니다 : 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 라이센스에 따라 라이센스가 부여됩니다.