Lematización

class lematizacion.LematizadorSpacy(lenguaje, 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 – (str) Define el lenguaje del texto a ser tratado. Para mayor información, consultar la sección de Lenguajes soportados.

  • dim_modelo – (str) {“lg”, “md”, “sm”} Valor por defecto: “md”. Se define el 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.

  • dict_lemmas – (dict o str) 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.

  • maxima_longitud – (int) Valor por defecto: None. Parámetro opcional que permite establecer la máxima longitud (número de caracteres) que acepta el lematizador en un texto de entrada. Si este valor se deja en None, se utilizará la máxima longitud que trae Spacy por defecto (1 millón de caracteres).

  • tokenizador – Valor por defecto: None. Objeto encargado de la detokenización de textos después de lematizar. Si el valor es “None”, se cargará por defecto una instancia de la clase TokenizadorEspacios.

establecer_lenguaje(lenguaje)

Define el lenguaje del lematizador.

Parámetros

lenguaje – (str) Define el lenguaje del texto a ser tratado. Para mayor información, consultar la sección de Lenguajes soportados.

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 – (str) {“lg”, “md”, “sm”} Valor por defecto: “md”. Se define el tamaño del modelo. “lg” es grande (large), “md” es mediano (medium) y “sm” es pequeño (small).

  • maxima_longitud – (int) Parámetro opcional que permite establecer la máxima longitud (número de caracteres) que acepta el vectorizador en un texto de entrada. Si este valor se deja en None, se utilizará la máxima longitud que trae Spacy por defecto (1 millón de caracteres).

lematizar(texto, limpiar=True)

Se lleva a cabo el proceso de lematización del texto, el cual puede ser limpiado antes de la lematización.

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

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

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) 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, modelo_lemas='', dict_lemmas=None, archivo_salida='', 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 – (str) Define el lenguaje del texto a ser tratado. Para mayor información, consultar la sección de Lenguajes soportados.

  • modelo_lemas – (str) Valor por defecto: None. Especifica la ruta de un modelo de lemas personalizado. En caso de ser vacío, se utiliza el modelo genérico de lemas de Stanza.

  • dict_lemmas – (dict o str) 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.

  • archivo_salida – (str) Valor por defecto: “”. Especifica la ruta del archivo de salida del modelo de lemas modificado. En caso de ser vacío, el resultado de la lematizacción se guarda en un archivo temporal que eventualmente será borrado.

  • tokenizador – Valor por defecto: None. Objeto encargado de la detokenización de textos después de lematizar. Si el valor es “None”, se cargará por defecto una instancia de la clase TokenizadorEspacios.

establecer_lenguaje(lenguaje)

Define el lenguaje del lematizador.

Parámetros

lenguaje – (str) Define el lenguaje del texto a ser tratado. 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) Valor por defecto: None. Especifica la ruta de un modelo de lemas personalizado. En caso de ser vacío, se utiliza el modelo que trae Stanza por defecto para el lenguaje seleccionado.

lematizar(texto, limpiar=True)

Se lleva a cabo el proceso de lematización del texto, el cual puede ser limpiado antes de la lematización.

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

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

Devuelve

(str) Retorna el texto lematizado.

modificar_lemmas(dict_lemmas, archivo_entrada='', archivo_salida='', 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 el valor el lema escogido para cada palabra.

  • archivo_entrada – (str) Valor por defecto: “”. En caso de ser vacío, se escoge un modelo de lematización genérico. De lo contrario, se especifica la ruta del modelo de lematización personalizado a ser utilizado.

  • archivo_salida – (str) Valor por defecto: “”. Especifica la ruta del archivo de salida del modelo de lemas modificado. En caso de ser vacío, el modelo modificado de lematizacción se guarda en un archivo temporal que eventualmente será borrado.

  • gpu – (bool) {True, False} Valor por defecto: False. Se escoge si correr el proceso de lematización con GPU (True) o CPU (False)

lematizacion.lematizar_texto(texto, lenguaje='es', libreria='spacy', limpiar=True, lematizador=None, dict_lemmas=None, dim_modelo='md', modelo_lemas='', archivo_salida='', 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 – (str) Valor por defecto: “es”. Define el lenguaje del texto a ser tratado. Para mayor información, consultar la sección de Lenguajes soportados.

  • libreria – (str) {“spacy”, “stanza”} Valor por defecto: “spacy”. Se define la librería de Python de lematización para ser utilizada en “ el texto. Las opciones son las librerías Spacy y Stanza.

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

  • lematizador – Valor por defecto: None. Parámetro opcional. Objeto de la clase LematizadorSpacy o LematizadorStanzapara aplicar lematización sobre el texto de entrada. Se puede utilizar para aplicar 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.

  • 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 – (str) {“lg”, “md”, “sm”} Valor por defecto: “md”. Se define el tamaño del modelo. “lg” es grande (large), “md” es mediano (medium) y “sm” es pequeño (small). Aplica únicamente para el lematizador Spacy.

  • modelo_lemas – (str) Valor por defecto: None. Especifica la ruta de un modelo de lemas personalizado. En caso de ser vacío, se utiliza el modelo genérico de lemas de Stanza. Aplica únicamente para la lematización con Stanza.

  • archivo_salida – (str) Valor por defecto: “”. Especifica la ruta del archivo de salida del modelo de lemas modificado. En caso de ser vacío, 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) Valor por defecto: None. Parámetro opcional que permite establecer la máxima longitud (número de caracteres) que acepta el LematizadorSpacy en un texto de entrada. Si este valor se deja en 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.

  • tokenizador – Valor por defecto: None. Objeto encargado de la detokenización de textos después de lematizar. Si el valor es “None”, se cargará por defecto una instancia de la clase TokenizadorEspacios.

Devuelve

(str) Texto lematizado.