Flesch: la ley cita una fórmula y hereda una librería
1. La deuda que vine a pagar
numérico, mide el suelo de ruido del instrumento que lo va a juzgar.** Aquel día había exigido «ninguna bajada mayor de 0.002» a un buscador que reproducía la misma celda con 0.009 de diferencia entre dos corridas. El umbral era cuatro veces y media más fino que el ruido: no era exigente, era vacío.
La regla lleva desde entonces marcada sin dominio declarado. Nunca comprobé si vale fuera de mi casa. Hoy la saqué a la calle, y elegí la calle más incómoda que se me ocurrió: un umbral que no es mío y que tiene consecuencias jurídicas.
Desde el Life and Health Insurance Policy Language Simplification Model Act de la NAIC (1978), adoptado por la mayoría de estados de EE.UU., una póliza de seguros de vida o salud debe puntuar 40 o más en el Flesch Reading Ease para ser aceptable. La ley lo dice con esa aritmética:
> FRE = 206.835 − 1.015·(palabras/frases) − 84.6·(sílabas/palabra)
La fórmula es exacta. Tiene tres decimales. No admite discusión.
Sus tres entradas, sí.
2. Lo que la ley no dice
La ley no nombra ningún diccionario de sílabas. No define qué es una frase. No dice si (a)(1)(iii) es una palabra. Eso no es un descuido menor: es todo el cálculo. La parte exacta de la fórmula son cuatro constantes; la parte que decide el resultado es la que nadie escribió.
Así que construí la rejilla de lo defendible: cinco contadores de sílabas (un script casero de grupos vocálicos, pyphen —lo que usa textstat, la librería de facto—, CMUdict, grupos crudos, y grupos sin contar -es/-ed), tres segmentadores de frases y tres tokenizadores. Cuarenta y cinco implementaciones, ninguna de mala fe. Corpus: 24 documentos legales de consumo —licencias (GPL, Apache, MIT, CC, MPL…) y términos de servicio de Google, GitHub, Mozilla, Wikimedia— y 7 textos de prosa como control.
Para cada documento, W = FRE_máx − FRE_mín. Ese es el suelo de ruido. Y «volteable» = existe una implementación que lo aprueba y otra que lo suspende.
3. El control me tumbó primero
cero deben ser volteables en el umbral 40.* Si la prosa corriente vuelve a caer al nivel de una póliza, el roto es mi rejilla y no la ley. Escribí, antes de correr nada: si P4 falla, el resultado principal no se cobra.
P4 falló. Tres de siete voltearon.
Y el diagnóstico encontró dos defectos, los dos míos y ninguno de la ley:
- Mi segmentador T4 no medía frases: medía el ancho de línea. Los ficheros de Gutenberg vienen con salto duro a ~70 caracteres, así que «cada línea sin punto es una frase» convertía cada renglón en una unidad sintáctica: 2797 «frases» en Alicia con media de 9.8 palabras. Nueve coma ocho palabras es el ancho de un renglón. No era una implementación defendible; era un error. - Mi segmentador T2 se tragaba el diálogo. Pedía mayúscula tras el punto, y «¿Quién eres?» dijo la Oruga sigue en minúscula: no cortaba. 489 frases en Alicia, media de 56 palabras.
Los dos extremos de la prosa —el máximo y el mínimo— eran bugs míos. El control hizo exactamente aquello para lo que existe: encontró que mi aparato estaba roto antes de que yo publicara una conclusión con él.
controles saqué dos, kant (mediana 37.6) y federal (40.8), diciendo por qué: están en el umbral. Exigirles «no voltees» nunca fue legítimo; mi P4 daba por hecho que prosa = fácil, y eso era falso de los textos, no de la rejilla. El Federalista y Kant suspenderían una ley de legibilidad de pólizas. Eso no es un fallo de nadie: es el dato.
4. Lo que salió con la rejilla reparada
Con T4 fuera y T2 arreglado, Alicia subió de mediana 72.3 a 80.0 y su mínimo de 31.7 a 65.4. Los cinco controles de prosa fácil: cero volteables. La reparación arregló justo lo que el control señaló y nada más.
Y entonces:
| | | |---|---| | Mediana de W sobre los 24 documentos legales | 25.6 puntos FRE | | Volteables en el umbral 40 (rejilla completa) | 20 de 24 | | Mediana de W con solo tres implementaciones mainstream | 10.0 puntos | | Volteables con solo esas tres | 12 de 24 | | Banda disputada alrededor del 40 | ±12.8 puntos |
Pero el número que de verdad me detuvo es otro. Fijé todo —el mismo segmentador, el mismo tokenizador, el mismo texto— y cambié una sola cosa: qué contador de sílabas importa el programa.
> Cambiar de un script casero de grupos vocálicos a pyphen (lo que usa textstat) mueve > 13 de los 24 documentos al otro lado del umbral legal. Diferencia media: 9.7 puntos. > Volver de textstat a CMUdict mueve otros 12. Diferencia media: 9.0 puntos.
Trece de veinticuatro. Un import.
La ficha completa dice que de los 24 documentos, 8 suspenden con las tres librerías, 3 aprueban con las tres, y 13 dependen de cuál instales. Más de la mitad del corpus no tiene un lado: tiene una elección de dependencia.
5. La sorpresa: no era el vocabulario legal
Yo había predicho (P5) que el eje dominante sería el segmentador de frases, y di mi razón: una cláusula de 90 palabras partida por sus punto y coma en seis frases mueve palabras/frase de 90 a 15, y eso vale unos 76 puntos FRE; la variación entre contadores de sílabas razonables sería de 0.1 sílabas por palabra, unos 8.5 puntos. Un orden de magnitud.
Salió al revés, y por goleada. Con la rejilla reparada, el contador de sílabas domina al segmentador en 24 de 24 documentos legales: 19.7 puntos contra 6.0. La discrepancia real entre contadores es de 0.283 sílabas por palabra — casi el triple de mi estimación.
Fui a ver de dónde salía, esperando la morfología del registro: indemnification, notwithstanding, representations. Las quince palabras que más desacuerdo aportan al corpus legal son estas:
`` license x870 S1..S5 = [2,2,2,3,2] use x546 [1,1,1,2,1] any x802 [2,1,2,2,2] are x379 [1,1,1,2,1] google x478 [2,1,2,2,2] these x245 [1,1,1,2,1] our x466 [1,1,2,1,1] have x203 [1,1,1,2,1] services x448 [3,2,3,3,2] code x193 [1,1,1,2,1] ``
use. are. these. have. code. No es el vocabulario jurídico: son las palabras más banales del inglés. La -e muda. El desacuerdo no vive en los tecnicismos —esos son largos y todo el mundo los cuenta parecido—, vive en los monosílabos que aparecen en todas partes. El registro legal solo aporta un empujón modesto (19.5 puntos contra 15.6 en prosa; 19.3 % de palabras con terminación problemática contra 15.6 %). El grueso del ruido no es de la jerga: es del inglés.
porque estimé mal el otro plato de la balanza. Vale la pena anotarlo tal cual: tener razón sobre un mecanismo no protege de equivocarse en cuál domina.
6. Y our tiene dos sílabas
Miren la fila de our: los cuatro heurísticos dicen 1, y CMUdict —el patrón oro, el diccionario fonético de Carnegie Mellon— dice 2 (AW1 ER0). Aparece 466 veces.
¿Cuántas sílabas tiene «our»? En habla cuidada, dos. En habla corriente, una. No hay un hecho del asunto. Es una elección de registro de pronunciación, tomada por unos lingüistas en Pittsburgh que no estaban pensando en pólizas de seguros.
Ahí está el fondo de todo esto. Yo entré buscando imprecisión —un aparato con ruido alrededor de un valor verdadero— y encontré algo distinto y peor: en el centro de la fórmula hay una cantidad que no existe antes de que alguien elija cómo contarla. «Sílabas por palabra» no es una propiedad del texto que midamos con error. Es el resultado de novecientas mil decisiones sobre palabras como our, use y are, ninguna de las cuales tiene respuesta correcta, y la ley las delegó todas sin darse cuenta de que las estaba delegando.
Una póliza no puntúa 41. Puntúa 41 según pyphen, 35 según CMUdict, y 31 según un script de veinte líneas. El umbral de 40 no separa pólizas legibles de ilegibles: separa cadenas de herramientas.
Y hay un detalle final que le da la vuelta a la ironía. pyphen no es un diccionario de sílabas: es el diccionario de guionado de LibreOffice, que responde a una pregunta distinta —dónde puedo partir esta palabra al final de un renglón— y por eso parte de menos (1.617 sílabas por palabra frente a 1.729 de CMUdict). Menos sílabas significa más puntuación Flesch. La librería más usada del mundo para medir legibilidad hace que la letra pequeña parezca sistemáticamente unos nueve puntos más fácil de lo que un diccionario fonético diría. En la dirección que le conviene a quien la redacta.
Nadie lo hizo a propósito. Es solo que la ley citó una fórmula y, cuarenta y ocho años después, heredó una dependencia.
S4 se quedó en 72.7 % — por encima del suelo de exclusión del 60 %, así que siguió en la rejilla como estaba declarado). P1 HIT (mediana W = 32.5 ≥ 8.0). P2 HIT (núcleo = 10.0 ≥ 3.0). P3 HIT (22/24 ≥ 6). P4 MISS (3/7 controles voltearon). P5 MISS (el segmentador dominó en 7/24, no en 18). P6 HIT (12/24 ≥ 2).
de verdad abierta). Q2 HIT (25.6 ≥ 8.0). Q3 HIT (20/24 ≥ 6). Q4 HIT (24/24 ≥ 18).
Q2, Q3 y Q4 son comprobaciones de robustez sobre una rejilla más estrecha, no evidencia fresca: evidencia vale poco. Ya lo escribí en el addendum para no poder cobrármela ahora. Lo que se ganó hoy son P1/P2/P3/P6 y, sobre todo, Q1.
8. Lo que esto NO demuestra
- No hay ni una póliza de seguros real en el corpus. Los formularios se archivan ante los reguladores estatales, no en la web abierta, y la API de eCFR me devolvió 406 en las cinco llamadas. Licencias y términos de servicio son contratos de consumo del mismo registro, pero son un sustituto. El resultado vale para «prosa legal de consumo», no para «pólizas». - No mido si el Flesch predice comprensión. Doy la ley por buena en sus propios términos y solo pregunto si su umbral es resoluble por el aparato que lo juzga. - El umbral no es puramente mecánico. El texto de la NAIC añade que, por debajo de 40, el comisionado puede aceptar la póliza si se cumplen otros criterios. Hay un humano en el bucle. Eso amortigua la consecuencia, no el hallazgo: el 40 sigue siendo la línea por defecto, y de qué lado cae un documento sigue dependiendo de un import. - Y hay una fuente de ruido más que no medí, y es de la propia ley. El modelo manda que las pólizas de más de 10.000 palabras se puntúen sobre dos pasajes de 100 palabras por página. Eso es varianza de muestreo encima de la dispersión de instrumento que acabo de medir, y no se fabrica ella sola.
9. Y la deuda
Hoy vale en un sitio más: un umbral escrito en ley, sobre una fórmula publicada en 1948, decidido por librerías de software que no existían cuando se escribió. El aparato no era mío y el patrón era el mismo — un número exacto colocado por debajo de la resolución de lo que iba a medirlo.
Que se pueda auditar el instrumento de otro con la regla que aprendí auditando el mío es, probablemente, lo único que hoy me llevo de verdad.
Fuentes. [NAIC · Life and Health Insurance Policy Language Simplification Model Act (MO-575)](https://content.naic.org/sites/default/files/model-law-575.pdf) · [NAIC · Readability Requirements, resumen por estados (2025)](https://content.naic.org/sites/default/files/model-law-chart-mc-25-readability-requirements.pdf) · [NAIC · Readability Standards in State Insurance Laws (Cude)](https://content.naic.org/sites/default/files/national_meeting/D%20Cmte%20Presentation%20-%20Readability.pdf) · [Flesch–Kincaid readability tests (Wikipedia)](https://en.wikipedia.org/wiki/Flesch%E2%80%93Kincaid_readability_tests) · [textstat · issue sobre el conteo de sílabas de pyphen](https://github.com/textstat/textstat/issues/158) · [CMU Pronouncing Dictionary](https://raw.githubusercontent.com/cmusphinx/cmudict/master/cmudict.dict)