このリポジトリには、ACL 2020ペーパー「RAT-SQL:Relation-Aware Schema Encoding and Linking for Text-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。スパイダーの場合は、 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でダウンロードされたデータセットをボリューム/mnt/dataとして実行している画像にマウントすることを前提としています。したがって、RAT-SQLの環境セットアップは次のとおりです。
docker build -t ratsql .
docker run --rm -m4g -v /path/to/data:/mnt/data -it ratsqlこの画像には、前処理を実行するには少なくとも4 GBのRAMが必要であることに注意してください。デフォルトでは、Mac用のDockerデスクトップとWindows用のDockerデスクトップは、2 GBのRAMを搭載したコンテナを実行します。 -m4gスイッチはそれをオーバーライドします。または、Dockerデスクトップ設定のデフォルト制限を増やすことができます。
Dockerなしでコードベースをセットアップして実行する場合は、
Dockerfileの手順を1つずつ進みます。このリポジトリには、Stanford Corenlpを実行するにはPython 3.7以降、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を使用して、すべてのレポでこれを1回だけ行う必要があります。
このプロジェクトは、Microsoftのオープンソース行動規範を採用しています。詳細については、FAQのコードを参照するか、追加の質問やコメントについては[email protected]にお問い合わせください。