Corrección

class correccion.Corrector(lenguaje, diccionario=None, distancia=2, tokenizador=None)

Bases: object

Constructor por defecto de la clase Corrector. Esta clase se encarga de realizar corrección ortográfica sobre textos.

Parámetros
  • lenguaje – (str) Lenguaje de los textos a los que se les va a aplicar corrección ortográfica. Para mayor información, consultar la sección de Lenguajes soportados.

  • diccionario – (dict, list o string) Valor por defecto: None. Diccionario (o string con ubicación del archivo JSON que lo contiene), o lista que permite modificar y agregar palabras. Si es una lista, contiene las palabras que serán consideradas como válidas o correctas. Si es un diccionario, las llaves del diccionario son las palabras que serán consideradas como válidas o correctas, y los valores del diccionario son las frecuencias de cada palabra en el diccionario. Las frecuencias son utilizadas como criterio de desempate, cuando una palabra incorrecta tiene más de una palabra candidata para la corrección. Si se deja este parámetro como None, se cargará el diccionario por defecto que trae la librería spellchecker para el lenguaje determinado.

  • distancia – (int) Valor por defecto: 2. Máxima distancia de Levenshtein que puede haber entre una palabra incorrecta (o no reconocida) y las palabras del diccionario para determinar si hay palabras candidatas para realizar la corrección.

  • tokenizador – Valor por defecto: None. Objeto encargado de la tokenización y detokenización de textos. Si el valor es “None”, se cargará por defecto una instancia de la clase TokenizadorNLTK.

actualizar_diccionario(diccionario)

Actualiza el diccionario que contiene las palabras válidas o reconocidas disponibles para realizar la corrección ortográfica. Las palabras contenidas en el argumento diccionario de esta función serán añadidas (o sus frecuencias serán actualizadas) en el diccionario que ya existe en el objeto de la clase Corrector.

Parámetros

diccionario – (dict, list o string) Diccionario (o string con ubicación del archivo JSON que lo contiene), o lista que permite modificar y agregar palabras. Si es una lista, contiene las palabras que serán consideradas como válidas o correctas. Si es un diccionario, las llaves del diccionario son las palabras que serán consideradas como válidas o correctas, y los valores del diccionario son las frecuencias de cada palabra en el diccionario. Las frecuencias son utilizadas como criterio de desempate, cuando una palabra incorrecta tiene más de una palabra candidata para la corrección.

agregar_palabras(palabras)

Añade al diccionario del corrector una o más palabras proporcionadas en el argumento palabras, haciendo que estas sean reconocidas como palabras válidas o correctas al momento de hacer corrección ortográfica.

Parámetros

palabras – (str o list) Palabra o lista de palabras que se desean añadir al diccionario del objeto de la clase Corrector, para que sean reconocidas como correctas al momento de hacer la corrección ortográfica.

correccion_ortografia(texto, limpieza=False)

Realiza corrección ortográfica sobre un texto de entrada, identificando las palabras que no están en el diccionario del corrector y cambiándolas por su candidata más frecuente o probable, siempre y cuando haya por lo menos una palabra candidata que cumpla con la máxima distancia de Levenshtein permitida.

Parámetros
  • texto – (str) Texto al cuál se desea aplicar corrección ortográfica.

  • limpieza – (bool) {True, False} Valor por defecto: False. Argumento opcional que define si se desea hacer una limpieza básica (aplicando la función limpieza_basica del módulo limpieza) al texto antes de aplicar la corrección ortográfica.

Devuelve

(str) Texto de entrada luego de la corrección ortográfica.

establecer_distancia(distancia)

Establece la distancia máxima que utilizará el algoritmo de corrección de ortografía para determinar si hay palabras candidatas para corregir una palabra incorrecta o no reconocida.

Parámetros

distancia – (int) Valor por defecto: 2. Máxima distancia de Levenshtein que puede haber entre una palabra incorrecta (o no reconocida) y las palabras del diccionario para determinar si hay palabras candidatas para realizar la corrección.

establecer_lenguaje(lenguaje)

Permite definir o cambiar el lenguaje de los textos sobre los cuales va a aplicarse el objeto de la clase Corrector.

Parámetros

lenguaje – (str) Lenguaje de los textos a los que se les va a aplicar corrección ortográfica. Para mayor información, consultar la sección de Lenguajes soportados.

frecuencia_palabra(palabra)

Para una palabra de entrada, devuelve la frecuencia de la misma, de acuerdo al diccionario del corrector. Si la palabra es desconocida (no se encuentra en el diccionario), la frecuencia retornada será de cero.

Parámetros

palabra – (str) Palabra para la cual se desea conocer la frecuencia de aparición en el diccionario del corrector.

Devuelve

(int) Número mayor o igual a cero que indica la frecuencia de la palabra consultada en el diccionario del corrector.

iniciar_corrector(diccionario)

Inicializa el objeto de la clase SpellChecker de la librería spellchecker, para el lenguaje definido previamente, y lo asigna al atributo «corrector» del objeto de clase Corrector.

Parámetros

diccionario – (dict, list o string) Diccionario (o string con ubicación del archivo JSON que lo contiene), o lista que permite modificar y agregar palabras. Si es una lista, contiene las palabras que serán consideradas como válidas o correctas. Si es un diccionario, las llaves del diccionario son las palabras que serán consideradas como válidas o correctas, y los valores del diccionario son las frecuencias de cada palabra en el diccionario. Las frecuencias son utilizadas como criterio de desempate, cuando una palabra incorrecta tiene más de una palabra candidata para la corrección.

palabras_candidatas(palabra)

Para una palabra de entrada, retorna un conjunto de palabras que podrían ser utilizadas para corregirla. Si la palabra de entrada es correcta (está dentro del diccionario del corrector) o no tienen ninguna palabra candidata con una distancia menor o igual a la establecida en el parámetro distancia de la clase Corrector, la función devolverá la misma palabra de entrada.

Parámetros

palabra – (str) Palabra para la que se quieren conocer palabras candidatas para su corrección ortográfica.

Devuelve

(set) Conjunto de palabras candidatas para corregir la palabra de entrada.

palabras_conocidas(texto)

A partir de un texto de entrada, devuelve un conjunto (objeto de clase set de Python) con las palabras del texto que se reconocen por estar presentes en el diccionario del corrector.

Parámetros

texto – (str) Texto para el que se desean hayar las palabras conocidas.

Devuelve

(set) Conjunto de palabras conocidas presentes en el texto de entrada.

palabras_desconocidas(texto)

A partir de un texto de entrada, devuelve un conjunto (objeto de clase set de Python) con las palabras del texto que no están incluidas en el diccionario del corrector y por lo tanto no se reconocen.

Parámetros

texto – (str) Texto para el que se desean hallar las palabras desconocidas.

Devuelve

(set) Conjunto de palabras desconocidas presentes en el texto de entrada.

probabilidad_palabra(palabra)

Para una palabra de entrada, devuelve la probabilidad de aparición de la misma, entendida como su frecuencia sobre la suma de las frecuencias de todas las palabras disponibles, de acuerdo al diccionario del corrector. Si la palabra es desconocida (no se encuentra en el diccionario), la probabilidad retornada será de cero.

Parámetros

palabra – (str) Palabra para la cual se desea conocer la probabilidad de aparición en el diccionario del corrector.

Devuelve

(float) Probabilidad, entre 0 y 1, de aparición de la palabra.

quitar_palabras(palabras)

Quita del diccionario del corrector una o más palabras proporcionadas en el argumento palabras, haciendo que estas ya no sean reconocidas como palabras válidas o correctas al momento de hacer corrección ortográfica.

Parámetros

palabras – (str o list) Palabra o lista de palabras que se desean quitar del diccionario del objeto de la clase Corrector, para que no sean recnocidas como correctas al momento de hacer la corrección ortográfica.

correccion.corregir_texto(texto, lenguaje='es', corrector=None, diccionario=None, distancia=2, limpieza=False, tokenizador=None)

Función que aprovecha la clase Corrector para realizar corrección ortográfica sobre un texto de entrada.

Parámetros
  • texto – (str) Texto al cuál se desea aplicar corrección ortográfica.

  • lenguaje – (str) Lenguaje de los textos a los que se les va a aplicar corrección ortográfica. Para mayor información, consultar la sección de Lenguajes soportados.

  • corrector – (Corrector) Parámetro opcional. Objeto de la clase Corrector para aplicar corrección ortográfica sobre el texto de entrada. Se puede utilizar para corregir varios textos a la vez, sin necesidad de inicializar una instancia de la clase Corrector en cada ocasión. Esto puede representar ahorro en tiempos al momento de aplicar la función.

  • diccionario – (dict, list o str) Valor por defecto: None. Diccionario (o string con ubicación del archivo JSON que lo contiene), o lista que permite modificar y agregar palabras. Si es una lista, contiene las palabras que serán consideradas como válidas o correctas. Si es un diccionario, las llaves del diccionario son las palabras que serán consideradas como válidas o correctas, y los valores del diccionario son las frecuencias de cada palabra en el diccionario. Las frecuencias son utilizadas como criterio de desempate, cuando una palabra incorrecta tiene más de una palabra candidata para la corrección. Si se deja este parámetro como None, se cargará el diccionario por defecto que trae la librería spellchecker para el lenguaje determinado.

  • distancia – (int) Valor por defecto: 2. Máxima distancia de Levenshtein que puede haber entre una palabra incorrecta (o no reconocida) y las palabras del diccionario para determinar si hay palabras candidatas para realizar la corrección.

  • limpieza – (bool) {True, False} Valor por defecto: False. Argumento opcional que define si se desea hacer una limpieza básica (aplicando la función limpieza_basica del módulo limpieza) al texto antes de aplicar la corrección ortográfica.

  • tokenizador – Valor por defecto: None. Objeto encargado de la tokenización y detokenización de textos. Si el valor es “None”, se cargará por defecto una instancia de la clase TokenizadorNLTK.

Devuelve

(str) Texto de entrada luego de la corrección ortográfica.