نظام الإجابة على الأسئلة لأوراق كوفيد-19
مقدمة • البدء • تحت الأغطية • واجهة برمجة تطبيقات الخادم والعميل
معلومة. تتزايد كمية المستندات المتعلقة بـCOVID-19 بشكل كبير. مع مثل هذا الكم الهائل من المعلومات، أصبح من الصعب على مجتمع البحث العثور على المعلومات ذات الصلة.
محرك البحث على المنشطات. Korono عبارة عن منصة للإجابة على الأسئلة تم تصميمها لتسهيل البحث عن المعلومات المتعلقة بـCOVID-19. يمكنك التفكير في Korono باعتباره محرك بحث على المنشطات.
مبدأ العمل. يتكون محرك كورونو من مرحلتين: مرحلة محرك البحث ومرحلة الإجابة على الأسئلة. في المقام الأول، عند وجود استعلام q
، يقوم محرك البحث بإرجاع جميع الأوراق ذات الصلة من هذا الاستعلام. وبعد ذلك يتم استخراج الإجابة من كل ورقة وعرضها.
يمكنك إما استخدام الإصدار عبر الإنترنت (قريبًا) أو تشغيل الخادم الخاص بك.
تشغيل الخادم محليًا:
./run_server.sh
قم بتشغيل العميل واطرح سؤالاً:
> from korono import client
> client . get_answers ( "What is coronavirus?" )
محرك البحث . يستخدم محرك البحث خوارزمية تصنيف تُعرف باسم Okapi BM25، حيث يرمز BM إلى أفضل مطابقة . BM25 هي وظيفة استرجاع حقيبة الكلمات التي تقوم بفرز المستندات بناءً على مصطلحات الاستعلام التي تظهر في كل مستند.
إجابة السؤال . يتم استخراج الأسئلة من المجموعة باستخدام المحولات، ونماذج لغة الشبكات العصبية الكبيرة. اعتبارًا من الآن، يتم دعم نموذج distilbert-base-uncased-distilled-squad
فقط. وقريبا، نخطط لتوسيع الدعم.
load_data.get_df()
يُرجع مجموعة البيانات التي تحتها خط.
load_data.get_metadata_df()
تُرجع بيانات تعريف CORD-19 DataFrame.
korono_model.answer_question(question, context)
عند إعطاء سؤال وسياق، يتم إرجاع الإجابة.
korono.model.get_summary(text)
بالنظر إلى النص، يقوم النموذج بإرجاع الملخص المجرد.
korono_model.find_start_end_index_substring(context, answer)
قم بإرجاع فهرس البداية والنهاية، إن وجد، لسلسلة answer
في سلسلة context
.
client.get_answers_json(question)
قم بإرجاع كائن JSON من النموذج: {
"results" : [
{
"context" : " coronavirus is an infectious disease " ,
"question" : " what is coronavirus? " ,
"answer" : " an infectious disease " ,
},
]
}
client.get_answers(question)
قم بإرجاع قائمة بجميع الإجابات.