معالجة اللغة الطبيعية2016مبتدئ11 دقيقة قراءة
SQuAD: أكثر من 100,000 سؤال لفهم الآلة للنصوص
SQuAD: 100,000+ Questions for Machine Comprehension of Text
Rajpurkar, P. · Zhang, J. · Lopyrev, K. · Liang, P. — EMNLP
المشكلة
قبل 2016 كان الباحثون أمام خيارين كلاهما غير مُرضٍ: مجموعات بيانات صغيرة لكنها دقيقة مثل MCTest بـ 2,640 سؤالاً فقط — لا تكفي لتدريب الشبكات العصبية الحديثة، أو مجموعات ضخمة مثل CNN/Daily Mail بـ 1.4 مليون مثال لكنها تكتفي بملء فراغ بكيان واحد محذوف — أي مطابقة أنماط وليس فهماً حقيقياً. لم تكن هناك مجموعة بيانات كبيرة تتطلّب من الآلة فهم النص فعلاً واستخراج إجابة حرّة منه.
الإسهام
جمع SQuAD أكثر من 107 آلاف سؤال وجواب من 536 مقالة ويكيبيديا، وكل إجابة مُستخرج مباشرة من الفقرة. الأسئلة كتبها مشاركون بأسلوبهم الخاص، فجاءت متنوّعة تتضمّن ترادفاً لغوياً وإعادة صياغة واستدلالاً عبر جمل متعددة. نموذج أساسي بالانحدار اللوجستي حقّق 51.0% F1 مقابل 86.8% للبشر — فجوة كبيرة وواضحة القياس أصبحت هدفاً للمجتمع البحثي. مقياسا (EM) ودرجة F1 اللذان قدّمهما SQuAD صارا المعيار في الإجابة الاستخراجية عن الأسئلة.
الأثر
تحوّل SQuAD إلى الأول في ، واعتمده كل نموذج لغوي كبير من BiDAF إلى BERT إلى GPT كمهمّة تقييم أساسية. أثبت أن مجموعة بيانات مصمَّمة بعناية مع لوحة نتائج مفتوحة كفيلة بدفع تقدّم متسارع: خلال عامين فقط تفوّقت النماذج العصبية على البشر. صيغته الاستخراجية ومقاييسه (F1 والتطابق التام) أصبحت القالب الذي اتّبعته عشرات المعايير اللاحقة مثل SQuAD 2.0 وNatural Questions ومهام الإجابة في GLUE وSuperGLUE.
تخيّل امتحان فهم نصوص لكن مخصّصاً للآلات. المعلّم يعطيك فقرة من موسوعة ويسألك خمسة أسئلة. المطلوب: ظلّل العبارة في النص التي تحمل الإجابة — لا صياغة من عندك، ولا معلومات خارجية، فقط أشِر إلى الكلمات الصحيحة.
قبل SQuAD كانت «امتحانات» الآلات إما بسيطة جداً (خمّن كلمة محذوفة) أو صغيرة جداً (بضع مئات من الأسئلة). SQuAD هو أول امتحان كبير بما يكفي لتدريب نماذج قوية وصعب بما يكفي ليكشف الفرق بين آلة تفهم فعلاً وأخرى تخمّن.
الفجوة: إما صغيرة جداً أو سطحية جداً
الفهم القرائي هو أبسط اختبار لقدرة الآلة على فهم اللغة: أعطِها فقرة واسألها أسئلة عنها. بحلول 2016 كانت المتاحة تقع في أحد معسكرين، وكلاهما غير كافٍ:
مجموعات صغيرة عالية الجودة مثل MCTest فيها 2,640 سؤالاً فقط — عدد لا يكفي لتدريب العميقة التي بدأت تسيطر على المجال. بهذا الحجم الصغير كانت النماذج تحفظ بيانات بدلاً من أن تتعلّم منها.
مجموعات كبيرة لكنها سطحية مثل CNN/Daily Mail ضمّت 1.4 مليون مثال، لكنها تعمل بأسلوب : يُحذف كيان واحد من ملخّص وعلى النموذج تخمينه. هذا يختبر مطابقة أنماط أكثر ممّا يختبر فهماً حقيقياً — وقد أظهر Chen وزملاؤه (2016) أن تقنيات بسيطة كافية للوصول إلى سقف الأداء تقريباً.
ما كان ينقص المجال هو مجموعة بيانات كبيرة بما يكفي للنماذج الحديثة وتتطلّب فهماً حقيقياً في الوقت ذاته: إجابات من عدة كلمات، أسئلة مُعاد صياغتها، واستدلال يمتدّ عبر أكثر من جملة.
بناء SQuAD: ثلاث مراحل لجمع البيانات من المتطوّعين
بناء SQuAD يشبه تصميم امتحان عالي الجودة من الصفر، ومرّ بثلاث مراحل مدروسة:
المرحلة الأولى — انتقاء الفقرات. اختار الباحثون 536 مقالة من ويكيبيديا بناءً على ترتيب PageRank ضمن أفضل 10,000 مقالة إنجليزية، ثم أخذوا منها الفقرات التي يزيد طولها عن 500 حرف. هذا أنتج 23,215 فقرة تغطّي مواضيع متنوّعة من المشاهير إلى الفيزياء النظرية. ثم قُسِّمت المقالات بنسبة 80/10/10 إلى مجموعات تدريب و و.
المرحلة الثانية — كتابة الأسئلة والأجوبة. مشاركون على منصة Amazon Mechanical Turk (عبر واجهة Daemo) قرأوا كل فقرة وكتبوا حتى 5 أسئلة، ثم ظلّلوا المقطع الذي يحمل الإجابة مباشرة في النص. النقطة الجوهرية: أُلغيت خاصية النسخ واللصق من الفقرة، فاضطرّ كل مشارك لصياغة السؤال بكلماته. هذا القرار هو ما أعطى SQuAD تنوّعه المعجمي والنحوي وجعله تحدّياً حقيقياً.
المرحلة الثالثة — إجابات إضافية للتحقّق. لقياس الأداء البشري بدقة وتمتين عملية التقييم، جمع الباحثون إجابتين إضافيتين على الأقل لكل سؤال في مجموعتي التطوير والاختبار. 2.6% فقط من الأسئلة صُنِّفت غير قابلة للإجابة، وهذا يؤكّد جودة البيانات الأصلية.
لماذا SQuAD صعبة: تنوّع في الإجابات وأنماط الاستدلال
ما يجعل SQuAD صعباً هو التنوّع على بُعدين:
تنوّع أشكال الإجابة. بخلاف مجموعات ملء الفراغ التي تقتصر إجاباتها على مفردة، إجابات SQuAD تأتي بأشكال مختلفة: تواريخ (8.9%)، أرقام (10.9%)، أسماء أشخاص (12.9%)، أماكن (4.4%)، كيانات أخرى (15.3%)، عبارات اسمية عامة (31.8%)، عبارات وصفية (3.9%)، عبارات فعلية (5.5%)، وجمل كاملة (3.7%). يعني ذلك أن قرابة نصف الإجابات ليست كيانات مسمّاة — بل تحتاج فهماً للمعنى وليس مجرد تمييز نوع الكيان.
تنوّع أنماط الاستدلال. حين حلّل الباحثون 192 سؤالاً يدوياً وجدوا أنماطاً متعدّدة: ترادف لغوي بين السؤال والفقرة (33.3%)، حاجة لمعرفة عامة (9.1%)، اختلاف نحوي جوهري بين صياغة السؤال وجملة الإجابة (64.1%)، استدلال يتطلّب ربط معلومات من أكثر من جملة أو حلّ مرجعية ضمائر (13.6%)، وحالات غامضة (6.1%).
قدّم الباحثون أيضاً مقياساً ذكياً أسموه التباعد النحوي — وفكرته بسيطة: كم تختلف بنية السؤال عن بنية الجملة التي تحتوي الإجابة؟ يُحسب ذلك بمسافة التحرير بين مسارات . سؤال بتباعد صفري يكاد يكون نسخة من جملة في الفقرة، بينما سؤال بتباعد عالٍ (6 فأكثر) هو إعادة صياغة كاملة.
النتيجة الأهم: أداء نموذج يتراجع بانتظام كلما زاد التباعد النحوي، لكن أداء البشر يبقى ثابتاً. هذه الفجوة تقول لنا شيئاً جوهرياً: النموذج يعتمد على تشابه سطحي بين الكلمات وليس على فهم المعنى. وسدّ هذه الفجوة هو بالضبط ما سعت إليه الأبحاث اللاحقة.
كيف نُقيّم: التطابق التام ودرجة F1
أرسى SQuAD مقياسين أصبحا المرجع في عن الأسئلة:
التطابق التام (EM) يسأل سؤالاً بسيطاً: هل توقّع النموذج مطابق تماماً لإحدى الإجابات الصحيحة بعد إزالة الترقيم وأدوات التعريف؟ كلمة واحدة زائدة أو ناقصة تعني صفراً.
درجة أكثر مرونة: تتعامل مع التوقّع والإجابة الصحيحة كمجموعتي وتحسب و على مستوى الرموز. حتى لو لم يلتقط النموذج الإجابة كاملة، يحصل على درجة جزئية بقدر التداخل. لكل سؤال تُؤخذ أعلى درجة F1 من بين الإجابات الصحيحة المتاحة، ثم يُحسب المتوسط.
الأداء البشري بلغ 77.0% في التطابق التام و86.8% في F1. الفجوة بين المقياسين طبيعية: البشر أحياناً يضيفون أو يحذفون كلمات غير جوهرية من الإجابة (مثل «التلال» مقابل «سلسلة التلال الشمالية»).
النموذج الأساسي: انحدار لوجستي بسمات يدوية
لقياس صعوبة SQuAD فعلياً، بنى الباحثون نموذج انحدار لوجستي — تخيّله كأفضل ما يمكن أن تقدّمه الطرق التقليدية قبل عصر .
يعمل النموذج على مرحلتين. أولاً توليد المرشّحات: كل مكوِّن في للفقرة يُعدّ إجابة محتملة (77.3% من الإجابات الصحيحة تقع ضمن هذه المكوّنات — وهذا يحدّد السقف الذي لا يمكن للنموذج تجاوزه). ثانياً التقييم: كل مرشّح يُسجَّل بناءً على نحو 180 مليون موزّعة على عدة فئات.
أهم هذه السمات — كما كشف — كانت السمات المعجمية (هل توجد كلمات مشتركة الجذر بين السؤال والفقرة؟) وسمات مسارات شجرة التبعية (ما البنية النحوية التي تربط كلمات السؤال بالإجابة المرشّحة؟). حذف هاتين المجموعتين معاً أسقط F1 من 51.0% إلى 35.8%.
النتيجة النهائية: 40.4% تطابقاً تاماً و51.0% في F1 — أفضل بكثير من أسلوب البسيط (20% F1) لكنه بعيد جداً عن البشر (86.8% F1). الملفت أن النموذج نجح في تحديد الجملة الصحيحة 79.3% من الوقت — المشكلة ليست في العثور على الجملة، بل في تحديد أيّ جزء منها بالضبط يحمل الإجابة.
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import re, string
def normalize(text):
"""أزل أدوات التعريف وعلامات الترقيم والمسافات الزائدة."""
text = text.lower()
text = re.sub(r'\b(a|an|the)\b', ' ', text)
text = ''.join(ch for ch in text if ch not in string.punctuation)
return ' '.join(text.split())
def f1_score(prediction, ground_truth):
"""F1 على مستوى الرموز بين توقّع واحد وإجابة صحيحة."""
pred_tokens = normalize(prediction).split()
gold_tokens = normalize(ground_truth).split()
common = set(pred_tokens) & set(gold_tokens)
if len(common) == 0:
return 0.0
precision = len(common) / len(pred_tokens) # كم من الرموز المتوقّعة صحيحة؟
recall = len(common) / len(gold_tokens) # كم من الرموز الصحيحة تمّ توقّعها؟
return 2 * precision * recall / (precision + recall)
# مثال من الورقة
pred = "gravity"
gold = "gravity"
print(f"F1: {f1_score(pred, gold):.1%}") # → F1: 100.0%
# تطابق جزئي — لا يزال يحصل على درجة
pred = "falls under gravity"
gold = "gravity"
print(f"F1: {f1_score(pred, gold):.1%}") # → F1: 50.0%المهمّة: الإجابة الاستخراجية عن الأسئلة
أرسى SQuAD ما يُعرف بـالإجابة الاستخراجية عن الأسئلة كنموذج عمل واضح. الفكرة بسيطة: لديك فقرة وسؤال ، والمطلوب تحديد موضع البداية وموضع النهاية لـمقطع الإجابة داخل الفقرة.
لماذا هذا التصميم مفيد؟ لأنه يُلغي الغموض في التقييم. في الاختيار من متعدّد تختار من 4 خيارات، وفي الإجابة التوليدية تُنشئ نصاً حراً يصعب تقييمه. أما في الإجابة الاستخراجية فالجواب تتابع متّصل من كلمات الفقرة — إما صحيح أو خطأ، بلا مجال للتأويل.
لكن المهمة ليست سهلة. في فقرة من كلمة هناك مقطع ممكن. الورقة تختزل هذا الفضاء باقتصارها على مكوّنات شجرة التحليل التركيبي، لكن حتى بعد الاختزال تبقى عشرات المقاطع المعقولة لكل فقرة. التحدّي: كثير من هذه المقاطع الخاطئة تشترك مع السؤال في كلمات متشابهة، فعلى النموذج أن يتعلّم التمييز بينها.
النتائج: فجوة قابلة للقياس بين الآلات والبشر
النتائج ترسم صورة واضحة. أسلوب النافذة المنزلقة البسيط — الذي يطابق كلمات مشتركة فحسب — حقّق 20% F1 فقط. نموذج الانحدار اللوجستي بسماته اليدوية البالغة 180 مليون سمة وصل إلى 51.0% F1 و40.4% تطابقاً تاماً. البشر بلغوا 86.8% F1 و77.0% تطابقاً تاماً.
الفجوة لم تكن متساوية بل اتّسعت على محورين. بحسب شكل الإجابة: النموذج أجاد مع التواريخ (72.1% F1) والأرقام (62.5% F1) لأن مرشّحاتها قليلة ويسهل تمييزها. لكنه تعثّر مع العبارات الفعلية (31.2% F1) والجمل الكاملة (34.3% F1) التي تحتاج فهماً أعمق. بحسب التباعد النحوي: F1 النموذج انخفض من ~60% عند تباعد صفري إلى ~35% عند تباعد 6 فأكثر، بينما بقي أداء البشر ثابتاً عند ~90%.
اختبار الحذف كشف نقطة مهمة أخرى: حذف السمات المعجمية وسمات مسارات التبعية معاً أسقط F1 إلى 35.8%، لكن النموذج كان يعاني من (91.7% F1 على التدريب مقابل 51.0% على التطوير). هذا يعني أن السمات اليدوية تحفظ أنماطاً بدلاً من أن تتعلّم قواعد عامة — وهو ما ستعالجه الشبكات العصبية لاحقاً من خلال تمثيلاتها المُتعلَّمة.
الإرث: كيف غيّرت SQuAD معالجة اللغة الطبيعية
2016
إطلاق SQuAD v1.0
107,785 سؤالاً وجواباً من 536 مقالة ويكيبيديا. نموذج أساسي بالانحدار اللوجستي: 51.0% F1. البشر: 86.8% F1. انطلق السباق.
2016
Match-LSTM وBiDAF
النماذج العصبية القائمة على الانتباه بدأت تسدّ الفجوة. Match-LSTM وصل إلى 70.3% F1 خلال أشهر. BiDAF قدّم آلية الانتباه ثنائي الاتجاه.
2018
SQuAD 2.0 — أسئلة بلا إجابة
أُضيف أكثر من 50,000 سؤال لا إجابة لها لاختبار قدرة النماذج على قول «لا أعرف». هذا عالج نقطة الضعف الرئيسية في الإصدار الأول.
2018
BERT يتجاوز الأداء البشري
حقّق BERT نتيجة 93.2% F1 على SQuAD v1.1 متجاوزاً البشر (86.8%). الوصفة: تدريب مسبق على نصوص هائلة ثم ضبط دقيق على SQuAD — أثبتت فعالية استثنائية.
2019
اعتماد صيغة SQuAD في كل مكان
معايير مثل Natural Questions وTriviaQA وHotpotQA ومهام الإجابة في GLUE وSuperGLUE كلها تبنّت صيغة SQuAD الاستخراجية ومقاييسه (EM وF1).
الأثر الأعمق لـ SQuAD ليس البيانات نفسها بل النموذج الذي أرساه: معيار مصمَّم بعناية مع مفتوحة يمكنه أن يوجّه طاقة مجتمع بحثي كامل نحو هدف واحد قابل للقياس. هذا النمط — ما سُمّي «لحظة ImageNet لمعالجة اللغة» — تكرّر في كل معيار رئيسي جاء بعده. ورقة BERT تذكر SQuAD كمهمة تقييم أساسية، ولا يزال SQuAD معياراً قياسياً لـ حتى اليوم.
المرجعRajpurkar, Zhang, Lopyrev, Liang. SQuAD: 100,000+ Questions for Machine Comprehension of Text. EMNLP, 2016.
مصطلحات هذه الورقة
- الفهم القرائيReading Comprehension
- الإجابة الحوسبية عن الأسئلةQuestion Answering
- الإجابة الاستخلاصيةExtractive QA
- التعهيد الجماعيCrowdsourcing
- مقياس إف 1 (المتوسط التوافقي للدقة والاستدعاء)F1-Score
- التطابق التامExact Match
- مقطع نصّيSpan
- الانحدار اللوجستي الاحتماليLogistic Regression
- المعيار المرجعيBenchmark
- مجموعة البياناتDataset