يحتوي هذا المستودع على رمز لورقة 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:
قم بتنزيل مجموعات البيانات: العنكبوت و 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 جيجابايت من ذاكرة الوصول العشوائي لتشغيل المعالجة المسبقة. افتراضيًا ، Docker Desktop لـ Mac و Docker Desktop لنظام التشغيل Windows يعمل مع 2 غيغابايت من ذاكرة الوصول العشوائي. مفتاح -m4g يتجاوزه ؛ بدلاً من ذلك ، يمكنك زيادة الحد الافتراضي في إعدادات سطح المكتب Docker.
إذا كنت تفضل إعداد قاعدة الشفرة وتشغيلها بدون 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 Bot تلقائيًا ما إذا كنت بحاجة إلى توفير CLA وتزيين العلاقات العامة بشكل مناسب (على سبيل المثال ، فحص الحالة ، التعليق). ببساطة اتبع الإرشادات التي يقدمها الروبوت. ستحتاج فقط إلى القيام بذلك مرة واحدة عبر جميع عمليات إعادة الشراء باستخدام CLA لدينا.
اعتمد هذا المشروع رمز سلوك المصدر المفتوح Microsoft. لمزيد من المعلومات ، راجع مدونة الشهادة الأسئلة الشائعة أو الاتصال بـ [email protected] مع أي أسئلة أو تعليقات إضافية.