이 저장소에는 ACL 2020 Paper "Rat-SQL : 관계 인식 스키마 인코딩 및 텍스트-SQL 파서의 링크"에 대한 코드가 포함되어 있습니다.
작업에서 Rat-SQL을 사용하는 경우 다음과 같이 인용하십시오.
@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 :
Spider 및 Wikisql 데이터 세트를 다운로드하십시오. Spider의 경우 08/03/2020 버전 또는 최신 버전을 다운로드하십시오. 이 프로젝트 외부의 어딘가에 데이터 세트를 풀려면 다음 디렉토리 구조를 만듭니다.
/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
WikisQL 데이터 세트와 함께 작업하려면 평가 스크립트를이 프로젝트에 복제하십시오.
mkdir -p third_party
git clone https://github.com/salesforce/WikiSQL third_party/wikisql 우리는 당신을 위해 전체 환경을 설정하는 Dockerfile 제공했습니다. 1 단계에서 다운로드 한 데이터 세트를 Volume /mnt/data 로 실행중인 이미지에 장착한다고 가정합니다. 따라서 Rat-SQL의 환경 설정은 다음과 같습니다.
docker build -t ratsql .
docker run --rm -m4g -v /path/to/data:/mnt/data -it ratsql 이미지는 사전 처리를 실행하기 위해 최소 4GB의 RAM이 필요합니다. 기본적으로 Mac 용 Docker Desktop 및 Windows 용 Docker Desktop 용 2GB RAM이있는 컨테이너를 실행합니다. -m4g 스위치는이를 무시합니다. 또는 Docker 데스크탑 설정에서 기본 한계를 늘릴 수 있습니다.
Docker없이 코드베이스를 설정하고 실행하는 것을 선호하는 경우
Dockerfile의 단계를 하나씩 따르십시오. 이 저장소에는 Python 3.7 이상이 필요하며 Stanford Corenlp를 실행하려면 JVM이 필요합니다.
모든 실험에는 experiments 에 자체 구성 파일이 있습니다. 모든 모델 버전 또는 데이터 세트로 작업하는 파이프 라인은 다음과 같습니다.
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 results다음 실험 구성 파일을 사용하여 결과를 재현하십시오.
experiments/spider-glove-run.jsonnetexperiments/spider-bert-run.jsonnetexperiments/wikisql-glove-run.jsonnet정확한 모델 정확도는 임의의 시드에 따라 ± 2% 만 다를 수 있습니다. 자세한 내용은 종이를 참조하십시오.
이 프로젝트는 기여와 제안을 환영합니다. 대부분의 기부금은 귀하가 귀하가 귀하의 기부금을 사용할 권리를 부여 할 권리가 있다고 선언하는 기고자 라이센스 계약 (CLA)에 동의해야합니다. 자세한 내용은 https://cla.opensource.microsoft.com을 방문하십시오.
풀 요청을 제출할 때 CLA 봇은 CLA를 제공하고 PR을 적절하게 장식 해야하는지 자동으로 결정합니다 (예 : 상태 점검, 댓글). 봇이 제공 한 지침을 따르십시오. CLA를 사용하여 모든 저장소에서 한 번만이 작업을 수행하면됩니다.
이 프로젝트는 Microsoft 오픈 소스 행동 강령을 채택했습니다. 자세한 내용은 추가 질문이나 의견이 있으면 행동 강령 FAQ 또는 [email protected]에 문의하십시오.