الورق: خط أنابيب معالجة اللغة الطبيعية البلغارية المحسنة ، وقائع المؤتمر الدولي لنظم المعلومات ، والأنظمة المضمنة والتطبيقات الذكية (ISеsia) 2023.
أولاً ، يجب تنزيل النماذج المسبقة في مجلد Repo من Huggingface.
من أجل استخدام خط الأنابيب ، يجب تثبيته كحزمة بيثون محلية:
python -m spacy package ./models_v3.3/model-best/ packages --name bg --version 1.0.0 --code language_components/custom_bg_lang.py
pip install packages/bg_bg-1.0.0/dist/bg_bg-1.0.0.tar.gz
يمكنك التحقق مما إذا كان خط الأنابيب قد تم تثبيته بشكل صحيح باستخدام أمر pip list .
بعد التثبيت الناجح ، يمكن فتح خط الأنابيب في ملف Python كنموذج لغة Spacy. يجب إضافة الرمز المميز يدويًا.
import spacy
nlp = spacy . load ( "bg_bg" )
from language_components . custom_tokenizer import *
nlp . tokenizer = custom_tokenizer ( nlp )لمزيد من التفاصيل حول كيفية استخدام خط الأنابيب ، يرجى إلقاء نظرة على دفتر تحميل النموذج والاستخدام والوثائق الرسمية Spacy.
يتكون خط الأنابيب من الخطوات التالية:
يمكن تنزيل ناقلات FastText PretRained للغة البلغارية من موقع FastText ووضعها في vectors/ المجلد.
بعد تنزيل ناقلات Word PretRained والنماذج المسبقة ، يجب أن يتكون المشروع من المجلدات التالية:
configs/ - تكوين ملفات ،corpus/ - Train/Dev/اختبار مجموعة بيانات.language_components/ - ملفات لمكونات اللغة المخصصة (Tokenizer و SectenCizer والملفات المتصلة) ،models_v3.3/ - نماذج خطوط الأنابيب المدربة في Spacy 3.3 ،models_v3.4/ - نماذج خطوط الأنابيب المدربة في Spacy 3.4 ،tests/ - غير المألوفة للمكونات المخصصة ،vectors/ - تضمينات الكلمات المسبقة (fasttext) ،visualiations/ - تصورات تحليل التبعية على مجموعة الاختبار. الرمز المميز هو الخطوة الأولى من خط الأنابيب. يتكون المميز البلغاري من القواعد المخصصة والاستثناءات والكلمات المحدودة. يمكن استخدامه بشكل منفصل عن بقية خط الأنابيب.
قواعد الرمز المميز المستند إلى القواعد موجودة في ملف cholege_components/custom_tokenizer.py. يتم تعريفها من خلال الاستثناءات العادية التالية:
prefix_re = re . compile ( r'''^[[("'“„]''' )
suffix_re = re . compile ( r'''[])"'.?!,:%$€“„]$''' )
infix_re = re . compile ( r'''[~]''' )
simple_url_re = re . compile ( r'''^https?://''' ) استثناءات Tokenizer موجودة في ملفات الملف language_components/token_exceptions.py. يتم تجميعها في المتغيرات التالية:
METRICS_NO_DOT_EXC - وحدات قياسDASH_ABBR_EXC - اختصارات مع اندفاعة داخليةDASH_ABBR_TITLE_EXC - اختصارات مع اندفاعة داخلية ،ABBR_DOT_MIDDLE_EXC - اختصارات مع نقطة لا يمكن أن تكون في نهاية الجملةABBR_DOT_MIDDLE_TITLE_EXC - نفس الشيء مع حرف رأس المالABBR_DOT_END_EXC - اختصارات مع نقطة قد تكون في نهاية الجملةABBR_UPPERCASE_EXC - اختصارات كبيرة في ملفات الملف language_components/stopwords.py . يتم أخذ كلمات التوقف من موقع Bultreebank.
يرجى الرجوع إلى الورقة للحصول على تفاصيل حول بقية المكونات في خط الأنابيب.
إذا كنت تستخدم خط الأنابيب في مشروعك الأكاديمي ، فيرجى الإشارة إلى:
@ article
{berbatova2023improved,
title={An improved Bulgarian natural language processing pipelihttps://github.com/melaniab/spacy-pipeline-bgne},
author={Berbatova, Melania and Ivanov, Filip},
journal={Annual of Sofia University St. Kliment Ohridski. Faculty of Mathematics and Informatics},
volume={110},
pages={37--50},
year={2023}
} رخصة معهد ماساتشوستس للتكنولوجيا
حقوق الطبع والنشر (ج) 2023 ميلانيا بيرباتوفا