Papier: Eine verbesserte bulgarische Pipeline für die Verarbeitung natürlicher Sprache, Verfahren der internationalen Konferenz über Informationssysteme, eingebettete Systeme und intelligente Anwendungen (ISieben) 2023.
Zunächst müssen die vorbereiteten Modelle von Suggingface in den Repo -Ordner heruntergeladen werden.
Um die Pipeline zu verwenden, sollte sie als lokales Python -Paket installiert werden:
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
Sie können überprüfen, ob die Pipeline mit dem Befehl pip list korrekt installiert wurde.
Nach einer erfolgreichen Installation kann die Pipeline in einer Python -Datei als Spacing -Sprachmodell geöffnet werden. Der Tokenizer muss manuell hinzugefügt werden.
import spacy
nlp = spacy . load ( "bg_bg" )
from language_components . custom_tokenizer import *
nlp . tokenizer = custom_tokenizer ( nlp )Weitere Informationen zur Verwendung der Pipeline finden Sie im Model Lade- und Nutzungsnotizbuch und die offizielle Spacy -Dokumentation.
Die Pipeline besteht aus den folgenden Schritten:
Vorbereitete FastText -Vektoren für die bulgarische Sprache können von der FastText -Website heruntergeladen und in die vectors/ den Ordner gesteckt werden.
Nach dem Herunterladen der vorbereiteten Wortvektoren und der vorbereiteten Modelle sollte das Projekt aus den folgenden Ordnern bestehen:
configs/ - Konfigurationsdateien,corpus/ - Train/Dev/Test -Datensatz im .Spacy -Format,language_components/ - Dateien für die benutzerdefinierten Sprachkomponenten (Tokenizer, Sentcizer und verbundene Dateien),models_v3.3/ - trainierte Pipeline -Modelle in Spacy 3.3,models_v3.4/ - trainierte Pipeline -Modelle in Spacy 3.4,tests/ - Unittests für die benutzerdefinierten Komponenten,vectors/ - vorgezogene Worteinbettung (FastText),visualiations/ - Abhängigkeits -Visualisierungen im Testsatz. Tokenisierung ist der erste Schritt der Pipeline. Der bulgarische Tokenizer besteht aus benutzerdefinierten Regeln, Ausnahmen und Stoppwörtern. Es kann getrennt vom Rest der Pipeline verwendet werden.
Die Regeln für den regelbasierten Tokenizer befinden sich in der Datei Language_Components/Custom_Tokenizer.py. Sie werden durch die folgenden regulären Ausnahmen definiert:
prefix_re = re . compile ( r'''^[[("'“„]''' )
suffix_re = re . compile ( r'''[])"'.?!,:%$€“„]$''' )
infix_re = re . compile ( r'''[~]''' )
simple_url_re = re . compile ( r'''^https?://''' ) Tokenizer -Ausnahmen befinden sich in der Datei language_components/token_exceptions.py. Sie sind in den folgenden Variablen gruppiert:
METRICS_NO_DOT_EXC - MaßeinheitenDASH_ABBR_EXC - Abkürzungen mit einem inneren ArmaturenbrettDASH_ABBR_TITLE_EXC - Abkürzungen mit einem inneren Armaturenbrett, kapitalisiertABBR_DOT_MIDDLE_EXC - Abkürzungen mit einem Punkt, der nicht am Ende des Satzes sein kannABBR_DOT_MIDDLE_TITLE_EXC - das Gleiche mit einem GroßbuchstabenABBR_DOT_END_EXC - Abkürzungen mit einem Punkt, der möglicherweise am Ende des Satzes liegtABBR_UPPERCASE_EXC - Großbuchstaben Abkürzungen In der Datei language_components/stopwords.py . Stoppwörter werden von der Bultreebank -Website entnommen.
Weitere Informationen zum Rest der Komponenten in der Pipeline finden Sie im Papier.
Wenn Sie die Pipeline in Ihrem akademischen Projekt verwenden, zitieren Sie bitte:
@ 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 -Lizenz
Copyright (C) 2023 Melania Berbatova