7 funciones de legibilidad para su próximo modelo de aprendizaje automático

En este artículo, aprenderá cómo extraer siete funciones útiles de legibilidad y complejidad del texto a partir de texto sin formato utilizando la biblioteca Textstat Python.

Los temas que cubriremos incluyen:

Cómo Textstat puede cuantificar la legibilidad y la complejidad del texto para tareas posteriores de aprendizaje automático. Cómo calcular siete métricas de legibilidad comúnmente utilizadas en Python. Cómo interpretar estas métricas cuando se utilizan como características para modelos de clasificación o regresión.

No perdamos más tiempo.

7 funciones de legibilidad para su próximo modelo de aprendizaje automático
Imagen del editor

Introducción

A diferencia de los datos tabulares totalmente estructurados, la preparación de datos de texto para modelos de aprendizaje automático normalmente implica tareas como tokenización, incrustaciones o análisis de sentimientos. Si bien estas son características indudablemente útiles, la complejidad estructural del texto (o su legibilidad, en realidad) también puede constituir una característica increíblemente informativa para tareas predictivas como la clasificación o la regresión.

Textstat, como su nombre indica, es una biblioteca de Python ligera e intuitiva que puede ayudarle a obtener estadísticas a partir de texto sin formato. A través de puntuaciones de legibilidad, proporciona características de entrada para modelos que pueden ayudar a distinguir entre una publicación informal en las redes sociales, un cuento de hadas para niños o un manuscrito de filosofía, por nombrar algunos.

Este artículo presenta siete ejemplos interesantes de análisis de texto que se pueden realizar fácilmente utilizando la biblioteca Textstat.

Antes de comenzar, asegúrese de tener instalado Textstat:

Si bien los análisis descritos aquí se pueden ampliar a un corpus de texto grande, los ilustraremos con un conjunto de datos de juguete que consta de una pequeña cantidad de textos etiquetados. Sin embargo, tenga en cuenta que para la inferencia y el entrenamiento de modelos de aprendizaje automático posteriores, necesitará un conjunto de datos suficientemente grande para fines de entrenamiento.

1. Aplicación de la fórmula de facilidad de lectura de Flesch

La primera métrica de análisis de texto que exploraremos es la fórmula Flesch Reading Ease, una de las primeras y más utilizadas métricas para cuantificar la legibilidad del texto. Evalúa un texto basándose en la longitud promedio de la oración y el número promedio de sílabas por palabra. Si bien conceptualmente está pensado para tomar valores en el rango de 0 a 100 (0 significa ilegible y 100 significa muy fácil de leer), su fórmula no está estrictamente limitada, como se muestra en los ejemplos siguientes:

Producción:

Así es como se ve la fórmula real:

$$ 206,835 – 1,015 \left( \frac{\text{total de palabras}}{\text{total de oraciones}} \right) – 84,6 \left( \frac{\text{total de sílabas}}{\text{total de palabras}} \right) $$

Las fórmulas ilimitadas como Flesch Reading Ease pueden dificultar el entrenamiento adecuado de un modelo de aprendizaje automático, lo cual es algo a tener en cuenta durante las tareas de ingeniería de funciones posteriores.

2. Calcular los niveles de grado de Flesch-Kincaid

A diferencia de la puntuación de facilidad de lectura, que proporciona un valor único de legibilidad, el nivel de grado de Flesch-Kincaid evalúa la complejidad del texto utilizando una escala similar a los niveles de grado de las escuelas de EE. UU. En este caso, valores más altos indican mayor complejidad. Sin embargo, tenga cuidado: esta métrica también se comporta de manera similar a la puntuación de Flesch Reading Ease, de modo que los textos extremadamente simples o complejos pueden producir puntuaciones por debajo de cero o valores arbitrariamente altos, respectivamente.

Producción:

3. Calcular el índice SMOG

Otra medida que tiene su origen en la evaluación de la complejidad de un texto es el índice SMOG, que estima los años de educación formal necesarios para comprender un texto. Esta fórmula es algo más limitada que otras, ya que tiene un mínimo matemático estricto ligeramente por encima de 3. El más simple de nuestros tres textos de ejemplo cae en el mínimo absoluto para esta medida en términos de complejidad. Tiene en cuenta factores como el número de palabras polisilábicas, es decir, palabras de tres o más sílabas.

Producción:

4. Calcular el índice de niebla disparada

Al igual que el índice SMOG, el índice Gunning Fog también tiene un mínimo estricto, en este caso igual a cero. La razón es sencilla: cuantifica el porcentaje de palabras complejas junto con la longitud promedio de la oración. Es una métrica popular para analizar textos comerciales y garantizar que el contenido técnico o de un dominio específico sea accesible para una audiencia más amplia.

Producción:

5. Calcular el índice de legibilidad automatizado

Las fórmulas vistas anteriormente tienen en cuenta el número de sílabas de las palabras. Por el contrario, el Índice de legibilidad automatizado (ARI) calcula los niveles de calificación en función del número de caracteres por palabra. Esto lo hace computacionalmente más rápido y, por lo tanto, una mejor alternativa al manejar grandes conjuntos de datos de texto o analizar datos en tiempo real. Es ilimitado, por lo que a menudo se recomienda escalar las características después de calcularlo.

Producción:

6. Calcular la puntuación de legibilidad de Dale-Chall

De manera similar al índice Gunning Fog, las puntuaciones de legibilidad de Dale-Chall tienen un mínimo estricto de cero, ya que la métrica también se basa en proporciones y porcentajes. La característica distintiva de esta métrica es su enfoque basado en el vocabulario, ya que funciona comparando todo el texto con una lista de búsqueda prediseñada que contiene miles de palabras familiares para los estudiantes de cuarto grado. Cualquier palabra que no esté incluida en esa lista se etiqueta como compleja. Si desea analizar texto destinado a niños o a un público amplio, esta métrica podría ser un buen punto de referencia.

Producción:

7. Uso del estándar de texto como métrica de consenso

¿Qué sucede si no está seguro de qué fórmula específica utilizar? textstat proporciona una métrica de consenso interpretable que reúne varios de ellos. A través de la función text_standard(), se aplican múltiples enfoques de legibilidad al texto, devolviendo un nivel de calificación consensuado. Como es habitual con la mayoría de las métricas, cuanto mayor sea el valor, menor será la legibilidad. Esta es una excelente opción para incorporar una función de resumen rápida y equilibrada en las tareas de modelado posteriores.

Producción:

Concluyendo

Exploramos siete métricas para analizar la legibilidad o complejidad de los textos utilizando la biblioteca Textstat de Python. Si bien la mayoría de estos enfoques se comportan de manera similar, comprender sus características matizadas y comportamientos distintivos es clave para elegir el correcto para su análisis o para casos de uso posteriores de modelado de aprendizaje automático.