ที่เก็บนี้มีรหัสสำหรับกระดาษ ACL 2020 "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 ในกรณีของแมงมุมตรวจสอบให้แน่ใจว่าได้ดาวน์โหลดเวอร์ชัน 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 โปรดทราบว่าภาพต้องใช้ RAM อย่างน้อย 4 GB เพื่อเรียกใช้การประมวลผลล่วงหน้า โดยค่าเริ่มต้นเดสก์ท็อป Docker สำหรับ Mac และ Docker Desktop สำหรับคอนเทนเนอร์ Run Windows ที่มี RAM 2 GB สวิตช์ -m4g แทนที่มัน; หรือคุณสามารถเพิ่มขีด จำกัด เริ่มต้นในการตั้งค่าเดสก์ท็อป Docker
หากคุณต้องการตั้งค่าและเรียกใช้ codebase โดยไม่ต้อง Docker ให้ทำตามขั้นตอนใน
Dockerfileทีละคน โปรดทราบว่าที่เก็บนี้ต้องใช้ Python 3.7 หรือสูงกว่าและ JVM เพื่อเรียกใช้ Stanford Corenlp
การทดลองทุกครั้งมีไฟล์กำหนดค่าของตัวเองใน 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 อย่างเหมาะสม (เช่นการตรวจสอบสถานะแสดงความคิดเห็น) เพียงทำตามคำแนะนำที่จัดทำโดยบอท คุณจะต้องทำสิ่งนี้เพียงครั้งเดียวใน repos ทั้งหมดโดยใช้ CLA ของเรา
โครงการนี้ได้นำรหัสการดำเนินงานของ Microsoft โอเพ่นซอร์สมาใช้ สำหรับข้อมูลเพิ่มเติมโปรดดูจรรยาบรรณคำถามที่พบบ่อยหรือติดต่อ [email protected] พร้อมคำถามหรือความคิดเห็นเพิ่มเติมใด ๆ