تم تكليفك بتنفيذ برنامج يقوم بتحليل البيانات النصية باستخدام مكتبة AllenNLP. توفر مكتبة AllenNLP مجموعة من أدوات معالجة اللغة الطبيعية (NLP) والنماذج المدربة مسبقًا. سيستفيد برنامجك من مكونين محددين من المكتبة: التوقع والرمز المميز.

المتنبئ هو فئة تأخذ الجملة كمدخلات وتنتج تنبؤات أو تحليلات بناءً على نموذج تم تدريبه مسبقًا. في هذه المشكلة، ستستخدم فئة التوقع لإجراء التعرف على الكيانات المسماة (NER)، والذي يتضمن تحديد وتصنيف الكيانات المسماة، مثل الأشخاص والمنظمات والمواقع، في نص معين.

Tokenizer عبارة عن فئة تقسم الجمل إلى كلمات فردية أو رموز مميزة. في هذه المشكلة، ستستخدم فئة Tokenizer لتقسيم جمل الإدخال إلى رموز مميزة قبل تمريرها إلى المتنبئ لتحليل NER.

لقد تم تزويدك ببيانات الاستيراد اللازمة لاستخدام فئات AllenNLP ذات الصلة. بالإضافة إلى ذلك، تم أيضًا استيراد الوحدة العشوائية، والتي يمكنك استخدامها لإنشاء جمل إدخال عشوائية.

مهمتك هي إكمال الخطوات التالية:

1. قم بتنفيذ وظيفة تسمى `tokenize_sentence(sentence)` التي تأخذ جملة سلسلة كمدخل وترجع قائمة من الرموز المميزة باستخدام AllenNLP Tokenizer. يمكنك أن تفترض أن AllenNLP Tokenizer قد تمت تهيئته بالفعل باسم "AllenTokenizer".

2. قم بتنفيذ وظيفة تسمى "perform_ner_analogy(tokens)" والتي تأخذ قائمة من الرموز المميزة كمدخلات وتقوم بإجراء تحليل NER باستخدام AllenNLP Predictor. يمكنك أن تفترض أن AllenNLP Predictor قد تمت تهيئته بالفعل كـ "Predictor". يجب أن تقوم هذه الوظيفة بإرجاع قاموس حيث المفاتيح هي الرموز المميزة والقيم هي تسميات الكيانات المسماة المعنية.

3. قم بإنشاء جملة إدخال عشوائية باستخدام الوحدة "العشوائية". اطبع الجملة.

4. قم بترمز جملة الإدخال باستخدام وظيفة "tokenize_sentence" وقم بتخزين النتيجة في متغير يسمى "الرموز المميزة". طباعة الرموز.

5. قم بإجراء تحليل NER على "الرموز المميزة" باستخدام وظيفة "perform_ner_analogy" وقم بتخزين النتيجة في متغير يسمى "ner_ana Analysis". طباعة تحليل NER.

ملاحظة: يمكنك افتراض أن نماذج AllenNLP الضرورية والتبعيات الأخرى قد تم تثبيتها وهي متاحة للاستخدام.
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}