Documento: una tubería mejorada de procesamiento de lenguaje natural búlgaro, Actas de la Conferencia Internacional sobre Sistemas de Información, Sistemas Ingredidos y Aplicaciones Inteligentes (ISSIA) 2023.
Primero, los modelos previos a la aparición deben descargarse en la carpeta Repo desde Huggingface.
Para usar la tubería, debe instalarse como un paquete local de 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
Puede verificar si la tubería se instaló correctamente con el comando pip list .
Después de una instalación exitosa, la tubería se puede abrir en un archivo de Python como modelo de lenguaje espacial. El tokenizador debe agregarse manualmente.
import spacy
nlp = spacy . load ( "bg_bg" )
from language_components . custom_tokenizer import *
nlp . tokenizer = custom_tokenizer ( nlp )Para obtener más detalles sobre cómo usar la tubería, eche un vistazo al cuaderno de carga y uso del modelo y la documentación oficial de Spacy.
La tubería consta de los siguientes pasos:
Los vectores FastText previos a la aparición para el idioma búlgaro se pueden descargar desde el sitio web de FastText y colocar en los vectors/ carpeta.
Después de descargar los vectores de palabras previos al detenido y los modelos previos a la aparición, el proyecto debe constar de las siguientes carpetas:
configs/ - Archivos de configuración,corpus/ - Train/Dev/Test DataSet en formato .spacy,language_components/ - archivos para los componentes de lenguaje personalizados (tokenizer, sentencizador y archivos conectados),models_v3.3/ - modelos de tubería entrenados en Spacy 3.3,models_v3.4/ - Modelos de tubería entrenados en Spacy 3.4,tests/ - Unittests para los componentes personalizados,vectors/ - incrustaciones de palabras previas avisualiations/ - Visualizaciones de parsaje de dependencia en el conjunto de pruebas. La tokenización es el primer paso de la tubería. El tokenizador búlgaro consiste en reglas personalizadas, excepciones y palabras de parada. Se puede usar por separado del resto de la tubería.
Las reglas para el tokenizador basado en reglas se encuentran en el archivo Language_Components/Custom_tokenizer.py. Se definen por las siguientes excepciones regulares:
prefix_re = re . compile ( r'''^[[("'“„]''' )
suffix_re = re . compile ( r'''[])"'.?!,:%$€“„]$''' )
infix_re = re . compile ( r'''[~]''' )
simple_url_re = re . compile ( r'''^https?://''' ) Las excepciones de tokenizer están en el archivo language_components/token_exceptions.py. Se agrupan en las siguientes variables:
METRICS_NO_DOT_EXC - Unidades de medidaDASH_ABBR_EXC - abreviaturas con un tablero internoDASH_ABBR_TITLE_EXC - abreviaturas con un tablero interno, capitalizadoABBR_DOT_MIDDLE_EXC - Abreviaturas con un punto que no puede estar al final de la oraciónABBR_DOT_MIDDLE_TITLE_EXC - Lo mismo con una letra mayúsculaABBR_DOT_END_EXC - Abreviaturas con un punto que puede estar al final de la oraciónABBR_UPPERCASE_EXC - Abreviaturas de mayúsculas En el archivo language_components/stopwords.py . Las palabras de parada se toman del sitio web de Bultreebank.
Consulte el documento para obtener detalles sobre el resto de los componentes de la tubería.
Si usa la tubería en su proyecto académico, cite como:
@ 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}
} Licencia de MIT
Copyright (c) 2023 Melania Berbatova