Question Answering
تقدّم أنظمة الإجابة عن الأسئلة (QA) إجابة مباشرة عن سؤال بلغة طبيعية. وتغطي الإجابة الاستخراجية، والإجابة عن الأسئلة مفتوحة المجال، والتوليدية، والبصرية.
الإجابة عن الأسئلة (QA) هي مهمة في معالجة اللغات الطبيعية (NLP) تتمثل في الإجابة عن سؤال مصوغ بلغة طبيعية بالإجابة نفسها، مثل "Canberra" عن سؤال "What is the capital of Australia?"، بدلًا من عرض قائمة بصفحات الويب. ويفسّر نظام الإجابة عن الأسئلة السؤال، ويعثر على المعلومات التي تجيب عنه في مقطع أو مجموعة مستندات أو قاعدة بيانات أو ضمن معاملاته الخاصة، ثم يعيد الإجابة أو يصوغها. وتُعد مربعات الإجابة في محركات البحث والمساعدات الافتراضية وروبوتات دعم العملاء ومساعدات النماذج اللغوية الكبيرة (LLM) التي تجيب عن أسئلة حول مستندات الشركات كلها أنظمة للإجابة عن الأسئلة.
كانت الأنظمة المبكرة تجيب عن أسئلة تتعلق بقواعد بيانات محدودة: فقد عالج BASEBALL (1961) أسئلة عن موسم واحد من مباريات الدوري الأمريكي، وأجاب LUNAR (1971) عن أسئلة الجيولوجيين بشأن عينات صخور القمر التي جلبتها بعثات أبولو. وبدأ مسار الإجابة عن الأسئلة في TREC تقييم الإجابة عن أسئلة النطاق المفتوح عام 1999، وفي فبراير 2011 تغلب IBM Watson على بطلي Jeopardy! Ken Jennings وBrad Rutter، عبر توليد إجابات مرشحة عديدة لكل دليل وتقييم الأدلة المؤيدة لكل منها باستخدام مئات الخوارزميات.
أنواع أنظمة الإجابة عن الأسئلة#
- الإجابة الاستخراجية عن الأسئلة: تختار المقطع من نص معطى الذي يجيب عن السؤال.
- الإجابة عن أسئلة النطاق المفتوح: تبحث في مجموعة كبيرة، مثل ويكيبيديا بأكملها، عن المقاطع ذات الصلة قبل الإجابة.
- التوليد المعزّز بالاسترجاع (RAG): يصوغ الإجابة باستخدام نموذج LLM مشروطًا بالمقاطع المسترجعة، ما يتيح للإجابة الجمع بين حقائق من مصادر متعددة والاستشهاد بها.
- الإجابة عن الأسئلة دون مراجع خارجية: تعتمد في الإجابة على المعرفة المخزنة في أوزان النموذج من دون مستندات، ما يصعّب اكتشاف الإجابات المختلقة.
- الإجابة عن الأسئلة باستخدام الرسم البياني المعرفي: تحوّل السؤال إلى استعلام منظّم على رسم بياني للكيانات والعلاقات أو على قاعدة بيانات.
- الإجابة عن الأسئلة المرئية (VQA): تجيب عن أسئلة حول صورة أو فيديو.
الإجابة الاستخراجية عن الأسئلة وSQuAD#
جعلت مجموعة بيانات ستانفورد للإجابة عن الأسئلة (SQuAD)، التي أطلقها براناف راج بوركار وزملاؤه عام 2016، مهام QA الاستخراجية معيارًا مرجعيًا: إذ كتب العاملون في التعهيد الجماعي أكثر من 100,000 سؤال حول مقالات ويكيبيديا، وكانت كل إجابة مقطعًا نصيًا من المقالة. حقق خط أساس للانحدار اللوجستي 51.0% على مقياس F1، مقارنةً بـ 86.8% لدى البشر. تُحتسب الدرجات باستخدام المطابقة التامة ودرجة F1 على مستوى الرموز بين الإجابات المتوقعة والمرجعية، وبلغت درجة F1 التي حققها BERT على مجموعة الاختبار 93.2 عام 2018. يسند النموذج الاستخراجي درجةً إلى كل رمز في المقطع بوصفه موضعًا محتملًا لبداية الإجابة أو نهايتها:
import torch
from transformers import AutoModelForQuestionAnswering, AutoTokenizer
# DistilBERT fine-tuned on SQuAD v1.1 for extractive question answering
model_id = "distilbert/distilbert-base-cased-distilled-squad"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForQuestionAnswering.from_pretrained(model_id)
context = (
"SQuAD was released in 2016 by Pranav Rajpurkar and colleagues at Stanford University. "
"Crowdworkers wrote more than 100,000 questions about Wikipedia articles, and every answer is a span of the article."
)
for question in ["Who released SQuAD?", "Where do the answers come from?", "How many languages does SQuAD cover?"]:
inputs = tokenizer(question, context, return_tensors="pt", return_offsets_mapping=True)
offsets = inputs.pop("offset_mapping")[0]
with torch.no_grad():
outputs = model(**inputs)
# The answer is the context span between the highest-scoring start and end tokens
start, end = outputs.start_logits.argmax(), outputs.end_logits.argmax()
print(f"{question} -> {context[offsets[start][0] : offsets[end][1]]}")يجيب النموذج بـ"Pranav Rajpurkar" و"مقطع من المقالة." لا يذكر المقطع شيئًا عن اللغات، ومع ذلك يجيب النموذج بـ"100,000" عن السؤال الثالث، لأن النموذج المدرَّب على SQuAD 1.1 يعيد دائمًا مقطعًا ما. أضافت SQuAD 2.0 (2018) أكثر من 50,000 سؤال غير قابل للإجابة صيغت لتبدو قابلة للإجابة، وانخفضت نتيجة نظام حقق 86% من F1 على SQuAD 1.1 إلى 66% عليها، إذ بات على النماذج أن تقرر متى تمتنع عن الإجابة.
الإجابة عن الأسئلة في النطاق المفتوح والاسترجاع المعزز بالتوليد#
توزع أنظمة النطاق المفتوح العمل بين مسترجِع يعثر على بضعة مقاطع ذات صلة من بين الملايين، وقارئ يجيب استنادًا إليها. استرجع DrQA (2017) مقالات ويكيبيديا باستخدام TF-IDF وقرأها بواسطة شبكة عصبية متكررة، ثم استبدل الاسترجاع الكثيف للمقاطع (2020) بـ BERT لإنشاء التضمينات والبحث المتجهي، بينما أحال RAG (2020) المقاطع المسترجعة إلى مولّد يكتب الإجابة. وغالبًا ما يعيد نموذج إعادة الترتيب ترتيب المقاطع المسترجعة قبل أن يطّلع عليها القارئ. وجد مؤلفو RAG أن تكييف التوليد على النص المسترجع جعل اللغة الناتجة أكثر تحديدًا وتنوعًا وواقعيةً مقارنةً بنموذج مماثل لا يستخدم الاسترجاع، كما أتاحت المقاطع المستشهَد بها للقراء التحقق من وجود هلوسة في الإجابة.
الإجابة عن الأسئلة المرئية#
يتلقى VQA صورةً وسؤالًا مثل "كم شخصًا ينتظر عند المحطة؟" ويتطلب ذكاءً اصطناعيًا متعدد الوسائط يجمع بين الرؤية الحاسوبية وفهم اللغة، وعادةً ما يكون ذلك عبر نموذج الرؤية واللغة (VLM). في وكلاء منصة Ultralytics، ترسل كتلة LLM صورةً وسياقها السابق، مثل اكتشافات YOLO26، إلى نموذج للرؤية واللغة مع الموجّه، بحيث يُجاب عن سؤال حول مشهد بالاستناد إلى نتائج الكاشف كسياق.
الإجابة عن الأسئلة مقارنةً بالمصطلحات ذات الصلة#
- البحث الدلالي: يعيد المستندات أو المقاطع الأكثر صلةً بالاستعلام، وهو المدخل الذي يقرأه نظام الإجابة عن الأسئلة لإنتاج الإجابة.
- روبوتات الدردشة: واجهات محادثة تدير حوارًا متعدد الجولات، وتستخدم الإجابة عن الأسئلة للإجابة عن الأسئلة الواقعية ضمن الحوار.
- توليد النصوص: ينتج أي نص انطلاقًا من موجّه. والإجابة التوليدية عن الأسئلة هي توليد نص مقيّد بالإجابة عن سؤال، وغالبًا ما تستند إلى مصادر مستشهَد بها.










