Lematización

class lematizacion.LematizadorSpacy(lenguaje='es', dim_modelo='md', dict_lemmas=None, maxima_longitud=None, tokenizador=None)

Bases: object

Constructor por defecto de la clase LematizadorSpacy. Esta clase se encarga de manejar todas las funciones asociadas a la lematización del texto con la librería Spacy.

Parámetros
  • lenguaje ({'es', 'en', 'fr', 'ge'}, opcional) – Define el lenguaje del texto que se desea analizar. Para mayor información, consultar la sección de Lenguajes soportados. Valor por defecto “es”.

  • dim_modelo ({'lg', 'md', 'sm'}, opcional) – Tamaño del modelo. “lg” es grande (large), “md” es mediano (medium) y “sm” es pequeño (small). Los modelos más grandes usualmente obtienen mejores resultados, pero requieren mayor tiempo de carga. Valor por defecto “md”.

  • dict_lemmas (dict, str, opcional) – Diccionario (o string con ubicación del archivo JSON que lo contiene) que permite modificar y agregar lemas. Las llaves del diccionario son las palabras completas y los valores del diccionario son los lemas escogidos para cada palabra. Valor por defecto None.

  • maxima_longitud (int, opcional) – Establecer la máxima longitud (número de caracteres) que acepta el lematizador en un texto de entrada. Si maxima_longitud = None, se utilizará la máxima longitud que trae Spacy por defecto (1 millón de caracteres). Valor por defecto None.

  • tokenizador (object, opcional) – Objeto encargado de la tokenización y detokenización de textos después de lematizar. Si el valor es None, se cargará por defecto una instancia de la clase TokenizadorEspacios. Valor por defecto None.

establecer_lenguaje(lenguaje)

Define el lenguaje del lematizador.

Parámetros

lenguaje ({'es', 'en', 'fr', 'ge'}, opcional) – Define el lenguaje del Lematizador. Para mayor información, consultar la sección de Lenguajes soportados. Valor por defecto “es”.

iniciar_lematizador(dim_modelo, maxima_longitud)

Inicia el lematizador con el tamaño del modelo de lematización basado en en los tamaños de la librería Spacy. Los modelos más grandes usualmente obtienen mejores resultados, pero requieren mayor tiempo de carga.

Parámetros
  • dim_modelo ({'lg', 'md', 'sm'}, opcional) – Tamaño del modelo. “lg” es grande (large), “md” es mediano (medium) y “sm” es pequeño (small). Los modelos más grandes usualmente obtienen mejores resultados, pero requieren mayor tiempo de carga. Valor por defecto “md”.

  • maxima_longitud (int, opcional) – Establecer la máxima longitud (número de caracteres) que acepta el lematizador en un texto de entrada. Si maxima_longitud = None, se utilizará la máxima longitud que trae Spacy por defecto (1 millón de caracteres). Valor por defecto None.

lematizar(texto, limpiar=True)

Lematización de texto.

Parámetros
  • texto (str) – El texto que se desea lematizar.

  • limpiar (bool, opcional) – Especifica si se desea hacer una limpieza básica del texto antes de la lematización. Valor por defecto True.

Devuelve

(str) Retorna el texto lematizado.

modificar_lemmas(dict_lemmas)

Define lemas asociados a palabras escogidas por el usuario. Estos nuevos lemas serán adicionados al diccionario de lemas del lematizador.

Parámetros

dict_lemmas (dict, opcional) – Diccionario que permite modificar y agregar lemas. Las llaves del diccionario son las palabras completas y los valores del diccionario son los lemas escogidos para cada palabra.

class lematizacion.LematizadorStanza(lenguaje='es', modelo_lemas=None, dict_lemmas=None, archivo_salida=None, tokenizador=None)

Bases: object

Constructor por defecto de la clase LematizadorStanza. Esta clase se encarga de manejar todas las funciones asociadas a la lematización del texto con la librería Stanza.

Parámetros
  • lenguaje ({'es', 'en', 'fr', 'ge'}, opcional) – Define el lenguaje del Lematizador. Para mayor información, consultar la sección de Lenguajes soportados. Valor por defecto “es”.

  • modelo_lemas (str, opcional) – Especifica la ruta de un modelo de lemas personalizado. Si modelo_lemas = None, utiliza el modelo genérico de lemas de Stanza. Valor por defecto None.

  • dict_lemmas (dict, str, opcional) – Diccionario (o string con ubicación del archivo JSON que lo contiene) que permite modificar y agregar lemas. Las llaves del diccionario son las palabras completas y los valores del diccionario son los lemas escogidos para cada palabra. Valor por defecto None.

  • archivo_salida (str, opcional) – Especifica la ruta del archivo de salida del modelo de lemas modificado. Si archivo_salida = None, el resultado de la lematización se guarda en un archivo temporal que eventualmente será borrado.

  • tokenizador (object, opcional) – Objeto encargado de la tokenización y detokenización de textos después de lematizar. Si el valor es None, se cargará por defecto una instancia de la clase TokenizadorEspacios. Valor por defecto None.

establecer_lenguaje(lenguaje)

Define el lenguaje del lematizador.

Parámetros

lenguaje ({'es', 'en', 'fr', 'ge'}, opcional) – Define el lenguaje del Lematizador. Para mayor información, consultar la sección de Lenguajes soportados.

iniciar_lematizador(modelo_lemas)

Inicia el lematizador de Stanza y permite ingresar la ruta de un modelo de lematización personalizado. En caso de no especificar la ruta se utilizará el modelo que trae Stanza por defecto para el lenguaje seleccionado.

Parámetros

modelo_lemas (str, opcional) – Especifica la ruta de un modelo de lemas personalizado. Si modelo_lemas = None, utiliza el modelo genérico de lemas de Stanza.

lematizar(texto, limpiar=True)

Lematización de texto.

Parámetros
  • texto – El texto que se desea lematizar.

  • limpiar (bool, opcional) – Especifica si se desea hacer una limpieza básica del texto antes de la lematización. Valor por defecto True.

Devuelve

(str) Retorna el texto lematizado.

modificar_lemmas(dict_lemmas, archivo_entrada=None, archivo_salida=None, gpu=False)

Permite modificar o añadir nuevos lemas al modelo original de lematización. Adicionalmente, permite ingresar un modelo personalizado desde una ruta específica.

Parámetros
  • dict_lemmas (dict) – Diccionario que permite modificar y agregar lemas. Las llaves del diccionario son las palabras completas y los valores del diccionario son los lemas escogidos para cada palabra.

  • archivo_entrada (str, opcional) – Si archivo_entrada = None, se escoge un modelo de lematización genérico. De lo contrario, especifica la ruta del modelo de lematización personalizado que se quiere utilizar. Valor por defecto None.

  • archivo_salida (str, opcional) – Especifica la ruta del archivo de salida del modelo de lemas modificado. Si archivo_salida = None, el resultado de la lematizacción se guarda en un archivo temporal que eventualmente será borrado.

  • gpu (bool, opcional) – Correr el proceso de la lematización en la GPU (solo si si tiene GPU). Valor por defecto False.

lematizacion.lematizar_texto(texto, lenguaje='es', libreria='spacy', limpiar=True, lematizador=None, dict_lemmas=None, dim_modelo='md', modelo_lemas=None, archivo_salida=None, maxima_longitud=None, tokenizador=None)

Función que retorna un texto lematizado por la librería Spacy o Stanza. Permite escoger el idioma de lematización, si hacer limpieza del texto, modificar los modelos de lematizaciones originales y guardar los modelos modificados.

Parámetros
  • texto (str) – Texto de entrada a ser lematizado.

  • lenguaje ({'es', 'en', 'fr', 'ge'}, opcional) – Define el lenguaje del Lematizador. Para mayor información, consultar la sección de Lenguajes soportados. Valor por defecto “es”.

  • libreria ({'spacy', 'stanza'}) – Se define la librería de lematización para ser utilizada en el texto. Las opciones son las librerías spacy o stanza. Valor por defecto spacy.

  • limpiar (bool, opcional) – Si limpiar = True se hace una limpieza básica de texto antes del proceso de lematización. Valor por defecto True.

  • lematizador ({LematizadorStanza, LematizadorSpacy}, opcional) – Objeto de la clase LematizadorSpacy o LematizadorStanza para el proceso de lematización sobre el texto de entrada. Se puede utilizar para lematización a varios textos a la vez, sin necesidad de inicializar un lematizador en cada ocasión. Esto puede representar ahorro en tiempos al momento de aplicar la función. Valor por defecto None.

  • dict_lemmas (dict) – Diccionario que permite modificar y agregar lemas. Las llaves del diccionario son las palabras completas y los valores del diccionario son los lemas escogidos para cada palabra.

  • dim_modelo ({'lg', 'md', 'sm'}, opcional.) – Tamaño del modelo. “lg” es grande (large), “md” es mediano (medium) y “sm” es pequeño (small). Los modelos más grandes usualmente obtienen mejores resultados, pero requieren mayor tiempo de carga. Aplica unicamente para LematizadorSpacy. Valor por defecto “md”.

  • modelo_lemas (str, opcional) – Especifica la ruta de un modelo de lemas personalizado. Si modelo_lemas = None, utiliza el modelo genérico de lemas de Stanza. Aplica únicamente para la lematización con Stanza.

  • archivo_salida (str, opcional) – Especifica la ruta del archivo de salida del modelo de lemas modificado. Si archivo_salida = None, el resultado de la lematizacción se guarda en un archivo temporal que eventualmente será borrado. Aplica únicamente para la lematización con Stanza.

  • maxima_longitud (int, opcional) – Establecer la máxima longitud (número de caracteres) que acepta el lematizador en un texto de entrada. Si maxima_longitud = None, se utilizará la máxima longitud que trae Spacy por defecto (1 millón de caracteres). Aplica únicamente para la lematización con Spacy. Valor por defecto None.

  • tokenizador (object, opcional) – Objeto encargado de la tokenización y detokenización de textos después de lematizar. Si el valor es None, se cargará por defecto una instancia de la clase TokenizadorEspacios. Valor por defecto None.

Devuelve

(str) Texto lematizado.