Документ: Улучшенный болгарский трубопровод по обработке естественного языка, Материалы Международной конференции по информационным системам, встраиваемым системам и интеллектуальным приложениям (ISESIA) 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. Токенизатор должен быть добавлен вручную.
import spacy
nlp = spacy . load ( "bg_bg" )
from language_components . custom_tokenizer import *
nlp . tokenizer = custom_tokenizer ( nlp )Для получения более подробной информации о том, как использовать трубопровод, посмотрите на модель загрузки и использования записной книжки и официальной документации Spacy.
Конвейер состоит из следующих шагов:
Предварительные векторы Fasttext для болгарского языка можно загрузить с веб -сайта FastText и поместить в vectors/ папку.
После загрузки предварительно проведенных векторов слов и предварительных моделей проект должен состоит из следующих папок:
configs/ - файлы конфигурации,corpus/ - набор данных Train/Dev/Test в формате .spacy,language_components/ - файлы для пользовательских языковых компонентов (токенизатор, вынесенный наклон и подключенные файлы),models_v3.3/ - Обученные модели трубопровода в Spacy 3.3,models_v3.4/ - Обученные модели трубопровода в Spacy 3.4,tests/ - Единиты для пользовательских компонентов,vectors/ - предварительно проведенные встроенные слова (быстрый текст),visualiations/ - Визуализация диапазона зависимости на тестовом наборе. Токенизация является первым шагом трубопровода. Болгарский токенизатор состоит из пользовательских правил, исключений и стоп -слов. Его можно использовать отдельно от остальной части трубопровода.
Правила для токенизатора, основанного на правилах, находятся в файле 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?://''' ) Исключения токенизатора находятся в файле 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 Мелания Бербатова