กระดาษ: ท่อประมวลผลภาษาธรรมชาติบัลแกเรียที่ได้รับการปรับปรุงการดำเนินการประชุมนานาชาติเกี่ยวกับระบบข้อมูลระบบฝังตัวและแอพพลิเคชั่นอัจฉริยะ (ISеsia) 2023
ก่อนอื่นต้องดาวน์โหลดโมเดลที่ผ่านการฝึกอบรมลงในโฟลเดอร์ repo จาก HuggingFace
ในการใช้ท่อควรติดตั้งเป็นแพ็คเกจ Python ในเครื่อง:
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 tokenizer จะต้องเพิ่มด้วยตนเอง
import spacy
nlp = spacy . load ( "bg_bg" )
from language_components . custom_tokenizer import *
nlp . tokenizer = custom_tokenizer ( nlp )สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการใช้ท่อโปรดดูที่สมุดบันทึกการโหลดและการใช้งานของโมเดลและเอกสารประกอบอย่างเป็นทางการ
ท่อประกอบด้วยขั้นตอนต่อไปนี้:
สามารถดาวน์โหลดเวกเตอร์ fasttext สำหรับภาษาบัลแกเรียได้จากเว็บไซต์ FastText และใส่ลงใน vectors/ โฟลเดอร์
หลังจากดาวน์โหลดเวกเตอร์คำที่ผ่านการฝึกอบรมและโมเดลที่ผ่านการฝึกอบรมโครงการควรประกอบด้วยโฟลเดอร์ต่อไปนี้:
configs/ - ไฟล์การกำหนดค่าcorpus/ - ชุดข้อมูลรถไฟ/dev/test ในรูปแบบ. spacylanguage_components/ - ไฟล์สำหรับส่วนประกอบภาษาที่กำหนดเอง (Tokenizer, Sentencizer และไฟล์ที่เชื่อมต่อ)models_v3.3/ - โมเดลไปป์ไลน์ที่ผ่านการฝึกอบรมใน Spacy 3.3models_v3.4/ - โมเดลไปป์ไลน์ที่ผ่านการฝึกอบรมใน Spacy 3.4tests/ - unittests สำหรับส่วนประกอบที่กำหนดเองvectors/ - การฝังคำที่ผ่านการฝึกอบรม (fasttext)visualiations/ การวิเคราะห์การวิเคราะห์การพึ่งพาอาศัยการพึ่งพาในชุดทดสอบ Tokenization เป็นขั้นตอนแรกของท่อ Tokenizer บัลแกเรียประกอบด้วยกฎที่กำหนดเองข้อยกเว้นและคำหยุด มันสามารถใช้แยกต่างหากจากส่วนที่เหลือของไปป์ไลน์
กฎสำหรับ tokenizer ตามกฎอยู่ในไฟล์ language_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}
} ใบอนุญาต MIT
ลิขสิทธิ์ (c) 2023 Melania Berbatova