Kertas: Pipa Pemrosesan Bahasa Alami Bulgaria yang ditingkatkan, Prosiding Konferensi Internasional tentang Sistem Informasi, Sistem Tertanam dan Aplikasi Cerdas (ISEsia) 2023.
Pertama, model pretrain harus diunduh ke folder repo dari Huggingface.
Untuk menggunakan pipa, itu harus diinstal sebagai paket python lokal:
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
Anda dapat memeriksa apakah pipa dipasang dengan benar dengan perintah pip list .
Setelah instalasi yang berhasil, pipa dapat dibuka dalam file python sebagai model bahasa spacy. Tokenizer perlu ditambahkan secara manual.
import spacy
nlp = spacy . load ( "bg_bg" )
from language_components . custom_tokenizer import *
nlp . tokenizer = custom_tokenizer ( nlp )Untuk detail lebih lanjut tentang cara menggunakan pipa, silakan lihat model pemuatan model dan penggunaan dan dokumentasi spacy resmi.
Pipa terdiri dari langkah -langkah berikut:
Vektor fasttext pretrained untuk bahasa Bulgaria dapat diunduh dari situs web FastText dan dimasukkan ke dalam vectors/ folder.
Setelah mengunduh vektor kata pretrained dan model pretrained, proyek harus terdiri dari folder berikut:
configs/ - File Konfigurasi,corpus/ - Dataset kereta/dev/tes dalam format .spacy,language_components/ - File untuk komponen bahasa khusus (tokenizer, kaliencizer, dan file yang terhubung),models_v3.3/ - Model pipa terlatih di Spacy 3.3,models_v3.4/ - Model pipa terlatih di Spacy 3.4,tests/ - Unittests untuk komponen khusus,vectors/ - kata pretrained embeddings (fastText),visualiations/ - Ketergantungan yang memarsing visualisasi pada set tes. Tokenisasi adalah langkah pertama dari pipa. Tokenizer Bulgaria terdiri dari aturan khusus, pengecualian, dan stopwords. Ini dapat digunakan secara terpisah dari sisa pipa.
Aturan untuk tokenizer berbasis aturan ada di file language_components/custom_tokenizer.py. Mereka ditentukan oleh pengecualian reguler berikut:
prefix_re = re . compile ( r'''^[[("'“„]''' )
suffix_re = re . compile ( r'''[])"'.?!,:%$€“„]$''' )
infix_re = re . compile ( r'''[~]''' )
simple_url_re = re . compile ( r'''^https?://''' ) Pengecualian Tokenizer ada di File language_components/token_exceptions.py. Mereka dikelompokkan dalam variabel berikut:
METRICS_NO_DOT_EXC - unit ukuranDASH_ABBR_EXC - Singkatan dengan dasbor dalamDASH_ABBR_TITLE_EXC - Singkatan dengan dasbor dalam, dikapitalisasiABBR_DOT_MIDDLE_EXC - Singkatan dengan titik yang tidak dapat berada di akhir kalimatABBR_DOT_MIDDLE_TITLE_EXC - Sama dengan huruf kapitalABBR_DOT_END_EXC - Singkatan dengan titik yang mungkin ada di akhir kalimatABBR_UPPERCASE_EXC - Singkatan atas Di file language_components/stopwords.py . Stopwords diambil dari situs web Bultreebank.
Silakan merujuk ke kertas untuk detail tentang sisa komponen di dalam pipa.
Jika Anda menggunakan pipa di proyek akademik Anda, silakan kutip sebagai:
@ 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}
} Lisensi MIT
Hak Cipta (C) 2023 Melania Berbatova