ลิงค์การแข่งขัน
ผู้จัดงานชุดข้อมูลได้รับการเผยแพร่สู่สาธารณะและสามารถดาวน์โหลดได้ที่ https://github.com/zhuiyitechnology/tableqa
รหัสการรันสภาพแวดล้อมในตอนท้ายของบทความ
แผนที่นำมาใช้ในโครงการนี้อันดับที่ห้าออนไลน์ในการแข่งขันและที่สามในผลลัพธ์สุดท้าย
รหัสภายใต้สาขาหลักจะถูกนำเสนอในรูปแบบของสมุดบันทึก Jupyter เพื่อจุดประสงค์ในการเรียนรู้และการสื่อสารรหัสต้นฉบับได้รับการคัดออกในจำนวนที่กำหนดและจะไม่ทำซ้ำผลลัพธ์ออนไลน์อย่างสมบูรณ์ แต่ผลกระทบจะไม่เลวร้ายไปกว่านี้
model1.ipynb และ model2.ipynb ในไดเรกทอรีรหัสเป็นกระบวนการสร้างแบบจำลองและไดเรกทอรี nl2sql/utils มีฟังก์ชั่นพื้นฐานและโครงสร้างข้อมูลที่จำเป็นสำหรับงานนี้
BERT-wwm, Chinese ในการแข่งขันครั้งนี้ ความท้าทาย NL2SQL จีนครั้งแรกใช้ข้อมูลแบบตารางจากฟิลด์การเงินและฟิลด์ทั่วไปเป็นแหล่งข้อมูลเพื่อให้คู่ที่ตรงกันระหว่างภาษาธรรมชาติและงบ SQL ที่ทำเครื่องหมายไว้บนพื้นฐานนี้ เราหวังว่าผู้เล่นสามารถใช้ข้อมูลเพื่อฝึกอบรมโมเดลที่สามารถแปลงภาษาธรรมชาติเป็น SQL ได้อย่างแม่นยำ
อินพุตไปยังโมเดลเป็นตารางคำถาม + และโครงสร้าง SQL คือเอาต์พุตซึ่งสอดคล้องกับคำสั่ง SQL

ใน
sel เป็นรายการที่แสดงคอลัมน์ที่เลือกโดยคำสั่ง SELECTagg เป็นรายการที่สอดคล้องกับ sel ซึ่งระบุว่าการดำเนินการรวมตัวใดที่ดำเนินการในคอลัมน์เช่นผลรวม, สูงสุด, ขั้นต่ำ, ฯลฯconds เป็นรายการที่แสดงถึงชุดของเงื่อนไขในคำสั่ง WHERE แต่ละเงื่อนไขเป็นสามประกอบด้วย (คอลัมน์เงื่อนไขตัวดำเนินการเงื่อนไขค่าเงื่อนไข)cond_conn_op เป็น int ซึ่งแสดงถึงความสัมพันธ์แบบขนานระหว่างเงื่อนไขใน conds ซึ่งสามารถและหรือหรือ เราทำการเปลี่ยนแปลงอย่างง่าย ๆ ของฉลากดั้งเดิม

agg กับ sel ทำการคาดการณ์สำหรับแต่ละคอลัมน์ในตารางใน agg และหมวดหมู่ใหม่ NO_OP ระบุว่าไม่ได้เลือกคอลัมน์conds ออกเป็นสองส่วน: conds_ops และ conds_vals เหตุผลนี้คือการคาดการณ์ในสองขั้นตอน แบบจำลองแรกทำนายว่าคอลัมน์และตัวดำเนินการที่จะเลือก conds จากนั้นโมเดลอื่นทำนายค่าเปรียบเทียบของคอลัมน์ที่เลือก 
รุ่นที่ 1 เชื่อมต่อคำถามกับส่วนหัวตามลำดับเพิ่มเครื่องหมายพิเศษ TEXT หรือ REAL ก่อนแต่ละคอลัมน์ โทเค็นพิเศษทั้งสองนี้สามารถแทนที่ด้วยโทเค็นที่ไม่ได้รับการฝึกฝนสองใบที่สงวนไว้โดยเบิร์ต

สถาปัตยกรรมของรุ่น 1 มีดังนี้:

โมเดล 2 รับผิดชอบการทำนาย cond_val ความคิดของเราคือการระบุ cond_op และ cond_val ตาม cond_col ที่เลือกโดยรุ่น 1 และสร้างชุดของการรวมกันของผู้สมัครรักษาชุดค่าผสมเหล่านี้เป็นปัญหาการจำแนกไบนารีหลาย

สถาปัตยกรรมของรุ่น 2 มีดังนี้:

ในที่สุดการรวมการทำนายของโมเดล 2 สำหรับการรวมกันของผู้สมัครบางคน

สำหรับรายละเอียดโปรดดู PPT การป้องกันขั้นสุดท้ายของเราสำหรับการเพิ่มประสิทธิภาพในการฝึกอบรมแบบจำลองและความคิดที่ประสบความสำเร็จและไม่ประสบความสำเร็จ
กรอบการเรียนรู้ลึก: tensorflow, keras
ดูข้อกำหนด. txt สำหรับเวอร์ชันเฉพาะ
วิธีที่สะดวกกว่าในการทำเช่นนี้คือการเรียกใช้ใน Docker ใช้ภาพนักเทียบท่าต่อไปนี้ในการแข่งขัน
| ที่เก็บ | ติดแท็ก | IMAGE ID |
|---|---|---|
| Tensorflow/Tensorflow | Nightly-GPU-PY3-JUPYTER | 6E60684E9AA4 |
เนื่องจากฉันต้องการใช้ Python3.6 ฉันจึงใช้ภาพของ Tensorflow Build Nightly Build ฉันผ่านภาพที่ฉันใช้ในระหว่างการแข่งขันไปที่ Docker Hub ซึ่งสามารถรับได้ผ่านคำสั่งต่อไปนี้
docker pull beader/tensorflow:nightly-gpu-py3-jupyter