Funciones de las métricas¶
Facilidad de lectura de Flesch¶
ests.readability_stats.calc_flesch_reading_easy()
Cálculo de la facilidad de lectura de Flesch con coeficientes para el español. Cuanto mayor es el valor, más fácil es leer el texto; la escala va de 0 a 100.
Los coeficientes por defecto son los de la fórmula de perspicuidad de Szigriszt-Pazos (1993), que Barrio-Cantalejo et al. (2008) validaron con textos para pacientes y dotaron de la escala INFLESZ:
| Valor | Nivel | Tipo de texto |
|---|---|---|
80-100 |
muy fácil | cómics, libros infantiles |
65-80 |
bastante fácil | libros de texto de primaria |
55-65 |
normal | prensa general |
40-55 |
algo difícil | libros de texto de secundaria |
0-40 |
muy difícil | textos científicos y técnicos |
Los coeficientes de Fernández Huerta (1959) están disponibles con el preajuste classic. Él imprimió el último término como 1.02 por el número de frases por cada 100 palabras; Law (2011) mostró que eso invierte la fracción de la fórmula de Flesch en la que se basó la adaptación, así que se usa la longitud media de la oración, como en koRpus y textstat.
Fórmula:
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
n_syllables |
int | - |
Número de sílabas |
n_words |
int | - |
Número de palabras |
n_sents |
int | - |
Número de oraciones |
a |
float | 1.0 |
Coeficiente a, de la longitud media de la oración |
b |
float | 62.3 |
Coeficiente b, de la longitud media de la palabra en sílabas |
c |
float | 206.835 |
Coeficiente c, la constante |
Fuentes: Szigriszt Pazos, F. Sistemas predictivos de legibilidad del mensaje escrito: fórmula de perspicuidad. Universidad Complutense de Madrid, 1993. Barrio-Cantalejo, I. M. et al. Validación de la Escala INFLESZ para evaluar la legibilidad de los textos dirigidos a pacientes. Anales del Sistema Sanitario de Navarra, 31(2), 2008. Fernández Huerta, J. Medidas sencillas de lecturabilidad. Consigna, 214, 1959. Law, G. Error in the Fernández Huerta readability formula. LINGUIST List 22.2332, 2011.
Comprensibilidad de Gutiérrez de Polini¶
ests.readability_stats.calc_gutierrez_polini_index()
Cálculo de la fórmula de comprensibilidad de Gutiérrez de Polini (1972), la primera fórmula concebida para el español y no adaptada del inglés. Cuanto mayor es el valor, más fácil es el texto. Se ajustó con textos escolares de sexto grado y no tiene escala propia: los valores de la prosa corriente están entre 30 y 50, y un texto por encima de 70 lo lee un niño pequeño.
Fórmula:
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
n_letters |
int | - |
Número de letras |
n_words |
int | - |
Número de palabras |
n_sents |
int | - |
Número de oraciones |
Fuente: Gutiérrez de Polini, L. E. Investigación sobre lectura en Venezuela. Ministerio de Educación, Caracas, 1972.
Grado de Crawford¶
ests.readability_stats.calc_crawford_grade()
Cálculo de la fórmula de Crawford (1989): los años de escolaridad necesarios para leer el texto, ajustada con lecturas de primaria de los cursos 1-6, por lo que los valores altos se saturan. Cuanto mayor es el valor, más difícil es el texto.
Fórmula:
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
n_syllables |
int | - |
Número de sílabas |
n_words |
int | - |
Número de palabras |
n_sents |
int | - |
Número de oraciones |
Fuente: Crawford, A. N. Fórmula y gráfico para determinar la comprensibilidad de textos del nivel primario en castellano. Lectura y Vida, 10(4), 1989.
Legibilidad µ¶
ests.readability_stats.calc_mu_index()
Cálculo de la Legibilidad µ de Muñoz Baquedano y Muñoz Urra (2006), que mide la variabilidad de la longitud de las palabras: la media del número de letras por palabra dividida por su varianza. La varianza es la muestral, dividida por n − 1, que es la cuasivarianza de los autores: la varianza poblacional multiplicada por el factor n / (n − 1) que lleva su fórmula impresa. Leído así, el ejemplo resuelto de su manual sale exacto (18 palabras, media 6.9444, varianza 13.5844, µ = 51.12); aplicar el factor una segunda vez, sobre la varianza muestral, daría 54.13. Las palabras sin letras (los números) quedan fuera; con menos de dos palabras o sin variabilidad el índice no está definido (nan). Cuanto mayor es el valor, más fácil es el texto:
| Valor | Nivel |
|---|---|
91-100 |
muy fácil |
81-90 |
fácil |
71-80 |
un poco fácil |
61-70 |
adecuado |
51-60 |
un poco difícil |
31-50 |
difícil |
0-30 |
muy difícil |
Fórmula:
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
c_letters |
dict[int, int] | - |
Distribución de las palabras por número de letras (BasicStats.c_letters) |
Fuente: Muñoz Baquedano, M. Legibilidad y variabilidad de los textos. Boletín de Investigación Educacional, 21(2), 2006; el programa y el manual en legibilidadmu.cl.
Índice SMOG¶
ests.readability_stats.calc_smog_index()
Cálculo del índice SMOG de McLaughlin (1969), donde las palabras polisílabas son las de tres o más sílabas. Ajustado para el inglés; para el español es la entrada de la fórmula SOL.
Fórmula:
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
n_complex |
int | - |
Número de palabras de tres o más sílabas |
n_sents |
int | - |
Número de oraciones |
a |
float | 1.043 |
Coeficiente a |
b |
float | 3.1291 |
Coeficiente b |
Grado SOL¶
ests.readability_stats.calc_sol_grade()
Cálculo del grado SOL. Contreras et al. (1999) aplicaron el índice SMOG a textos en español y a sus traducciones al inglés y ajustaron la conversión E = −2.51 + 0.74·S, donde S es el índice SMOG del texto español y E el grado de la escala inglesa, los años de escolaridad; las fórmulas SOL deben su nombre a la palabra española sol. Cuanto mayor es el valor, más difícil es el texto.
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
n_complex |
int | - |
Número de palabras de tres o más sílabas |
n_sents |
int | - |
Número de oraciones |
a |
float | 0.74 |
Coeficiente a, del índice SMOG |
b |
float | -2.51 |
Coeficiente b, la constante |
Fuente: Contreras, A., García-Alonso, R., Echenique, M., Daye-Contreras, F. The SOL formulas for converting SMOG readability scores between health education materials written in Spanish, English, and French. Journal of Health Communication, 4(1), 1999.
Índice de legibilidad LIX¶
ests.readability_stats.calc_lix()
Cálculo del índice de legibilidad LIX de Björnsson (1968), que no depende de la lengua. Cuanto mayor es el valor, más difícil es el texto:
| Valor | Nivel de dificultad |
|---|---|
0-30 |
textos muy fáciles, libros infantiles |
30-40 |
textos fáciles, narrativa, artículos de periódico |
40-50 |
textos de dificultad media, artículos de revista |
50-60 |
textos difíciles, divulgación científica, textos oficiales |
60-100 |
textos muy difíciles, leyes y lenguaje burocrático |
Una palabra larga tiene más de seis letras, así que ReadabilityStats pasa el número de palabras de siete o más letras.
Fórmula:
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
n_long_words |
int | - |
Número de palabras largas |
n_words |
int | - |
Número de palabras |
n_sents |
int | - |
Número de oraciones |
Índice de legibilidad RIX¶
ests.readability_stats.calc_rix()
Cálculo del índice de legibilidad RIX (Anderson, 1983), el compañero simplificado de LIX: palabras largas por oración. Cuanto mayor es el valor, más difícil es el texto:
| Valor | Curso |
|---|---|
< 0.2 |
1 |
0.2-0.5 |
2 |
0.5-0.8 |
3 |
0.8-1.3 |
4 |
1.3-1.8 |
5 |
1.8-2.4 |
6 |
2.4-3.0 |
7 |
3.0-3.7 |
8 |
3.7-4.5 |
9 |
4.5-5.3 |
10 |
5.3-6.2 |
11 |
6.2-7.2 |
12 |
> 7.2 |
universidad |
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
n_long_words |
int | - |
Número de palabras largas |
n_sents |
int | - |
Número de oraciones |
Nivel de la facilidad de lectura¶
ests.readability_stats.flesch_reading_easy_to_level()
El nivel de una escala para la facilidad de lectura de Flesch. Las escalas de ests.constants.READING_EASE_SCALES: inflesz (Barrio-Cantalejo et al., 2008, cinco niveles para los coeficientes de Szigriszt-Pazos), szigriszt (Szigriszt-Pazos, 1993, niveles enteros: muy difícil 0-15, árido 16-35, bastante difícil 36-50, normal 51-65, bastante fácil 66-75, fácil 76-85, muy fácil 86-100) y fernandez_huerta (Fernández Huerta, 1959: muy difícil por debajo de 30, difícil 30-50, bastante difícil 50-60, normal 60-70, bastante fácil 70-80, fácil 80-90, muy fácil por encima de 90).
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
flesch_reading_easy |
float | - |
Valor de la facilidad de lectura |
scale |
str | inflesz |
Nombre de la escala; ReadabilityStats.describe_level pasa la escala del preajuste |
Ejemplo
from ests.readability_stats import flesch_reading_easy_to_level
flesch_reading_easy_to_level(53.5), flesch_reading_easy_to_level(53.5, "szigriszt")
# ('algo difícil', 'normal')
Nivel µ¶
ests.readability_stats.mu_to_level()
El nivel de la escala µ de Muñoz Baquedano y Muñoz Urra (2006) para la Legibilidad µ; un índice no definido (nan) no tiene nivel y devuelve una cadena vacía.
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
mu_index |
float | - |
Valor de la Legibilidad µ |
De facilidad de lectura a grado¶
ests.readability_stats.flesch_reading_easy_to_grade()
Conversión de la facilidad de lectura de Flesch en años de escolaridad, usada para incluir la facilidad de lectura en el grado de consenso por analogía con text_standard de textstat. Los umbrales son los de la escala del preajuste, porque el mismo valor significa cosas distintas en cada escala.
Con el preajuste general, a través de los tipos de texto de los niveles INFLESZ y las etapas escolares de España:
| Valor | Grado | Tipo de texto |
|---|---|---|
80-100 |
3 | cómics y libros infantiles, primaria cursos 1-3 |
65-80 |
5 | libros de texto de primaria, cursos 4-6 |
55-65 |
8 | prensa general, ESO |
40-55 |
11 | libros de texto de secundaria, bachillerato |
menos de 40 |
13 | textos científicos, universidad |
Con el preajuste classic, a través de la tabla de interpretación de Flesch, cuyos niveles conservó Fernández Huerta: 90-100 - 5, 80-90 - 6, 70-80 - 7, 60-70 - 8.5, 50-60 - 10, 40-50 - 11, 30-40 - 12, por debajo de 30 - 13.
Los valores por encima de 100 corresponden al primer grado de la escala.
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
flesch_reading_easy |
float | - |
Valor de la facilidad de lectura |
preset |
str | general |
Preajuste de coeficientes cuya escala se lee |
Grado de consenso¶
ests.readability_stats.calc_consensus_grade()
Cálculo del grado de consenso: la mediana de los valores redondeados de las fórmulas de grado, por analogía con text_standard de textstat, que usa la moda; la mediana resiste mejor una fórmula desviada. Los valores se redondean con el medio hacia arriba. La facilidad de lectura se convierte con flesch_reading_easy_to_grade según la escala del preajuste y se añade sin redondear.
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
grades |
list[float] | - |
Valores de las fórmulas de grado |
flesch_reading_easy |
float | None |
Valor de la facilidad de lectura |
preset |
str | general |
Preajuste de coeficientes de la facilidad de lectura |
Ejemplo
from ests.readability_stats import calc_consensus_grade
calc_consensus_grade([5.813, 9.258], 53.545)
# 9.0
De grado a edad¶
ests.readability_stats.grade_to_age()
La etapa escolar y la edad del lector según el valor de una fórmula de grado, por las etapas del sistema educativo español contadas en años de escolaridad desde el primer curso de primaria a los seis años (véase la tabla de la interpretación). El valor se redondea con el medio hacia arriba, los valores por debajo de 1 corresponden a los cursos 1-3.
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
grade |
float | - |
Valor de una fórmula de grado |
Ejemplo
from ests.readability_stats import grade_to_age
grade_to_age(9.0)
# 'ESO (12-16 years)'
Tiempo de lectura¶
ests.readability_stats.calc_reading_time()
Cálculo del tiempo de lectura de un texto en minutos. La velocidad por defecto es la de lectura silenciosa de los adultos en español, 278 palabras por minuto: la media de seis estudios en el metaanálisis de Brysbaert (2019), donde la lectura en voz alta da 191. Las normas por curso del metaanálisis de Ripoll, Tapia y Aguado (2020) están en ests.constants.READING_SPEED_NORMS como pares (en voz alta, en silencio):
| Norma | En voz alta | En silencio |
|---|---|---|
grade_1 |
49 | 30 |
grade_2 |
73 | 79 |
grade_3 |
85 | 95 |
grade_4 |
104 | 125 |
grade_5 |
114 | 137 |
grade_6 |
124 | 155 |
grade_7 |
134 | 180 |
grade_8 |
136 | 176 |
grade_9 |
143 | 180 |
grade_10 |
164 | 200 |
grade_11 |
161 | 186 |
adult |
191 | 278 |
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
n_words |
int | - |
Número de palabras |
wpm |
int | 278 |
Velocidad de lectura, palabras por minuto |
Fuentes: Brysbaert, M. How many words do we read per minute? A review and meta-analysis of reading rate. Journal of Memory and Language, 109, 2019. Ripoll, J. C., Tapia, M. M., Aguado, G. Velocidad lectora en alumnado hispanohablante: un metaanálisis. Revista de Psicodidáctica, 25(2), 2020.