Cuando la RAE publica una nueva versión del DLE, anuncia las incorporaciones más llamativas (el año pasado fue farlopa, streaming y bocachancla), pero no dice nada sobre los miles de cambios silenciosos que hace por debajo: acepciones retocadas, etimologías corregidas, sinónimos y antónimos añadidos, locuciones que aparecen o desaparecen. No existe un changelog del DLE.
Iedra ahora llena ese hueco. Desde hoy, la ficha de cada palabra que haya cambiado entre el DLE 23.7 y el 23.8.1 muestra un desplegable con los cambios detectados, y la búsqueda avanzada permite filtrar por tipo de cambio.
Qué se compara (y qué no)
El DLE tiene copyright, así que Iedra no puede almacenar ni mostrar definiciones completas. Lo que hace es comparar metadatos: número de acepciones, marcas lexicográficas, sinónimos, antónimos, locuciones, combinaciones estables y etimologías. Las definiciones se representan internamente como hashes: si el hash de una acepción cambia entre versiones, sabemos que algo cambió, aunque no podamos mostrar el texto exacto.
Las etimologías sí se muestran completas, porque son datos factuales (no prosa de autor). Si la RAE corrigió la etimología de una palabra, el comparador muestra el texto antiguo y el nuevo.
Qué muestra la ficha de cada palabra
En la ficha de cualquier palabra que haya cambiado, aparece un nuevo apartado «Cambios en el DLE (23.7 → 23.8.1)» con un botón para desplegar los detalles. Dentro:
- Etimología: si cambió, muestra el texto anterior y el nuevo. Por ejemplo, en adagio se ve cómo pasó de «Voz italiana» a «Del lat. adagium».
- Acepciones: cuántas permanecen sin cambios, cuántas se añadieron, eliminaron o modificaron. En chapa se ve «20 sin cambios, +6 nuevas».
- Marcas: qué marcas lexicográficas se añadieron o eliminaron.
- Sinónimos y antónimos: el conteo anterior y el nuevo, con los nombres concretos que se añadieron o eliminaron. Directo, por ejemplo, ganó 7 antónimos que antes no tenía.
- Locuciones y combinaciones estables: igual, con los nombres concretos.
Para las palabras nuevas del DLE 23.8.1 (como streaming o hashtag), el desplegable simplemente indica que es una palabra nueva, con su número de acepciones y locuciones.
Buscar por tipo de cambio
La búsqueda avanzada tiene un nuevo grupo de filtros: «Cambios entre versiones del DLE». Ocho checkboxes que permiten buscar palabras según el tipo de cambio que sufrieron:
- Palabras nuevas (263)
- Etimología modificada (454)
- Acepciones añadidas (173)
- Acepciones eliminadas (21)
- Acepciones modificadas (1.896)
- Sinónimos modificados (4.428)
- Antónimos modificados (3.188)
- Locuciones modificadas (49)
Los filtros se combinan entre sí y con el resto de la búsqueda avanzada. Se puede buscar, por ejemplo, palabras de origen árabe cuya etimología haya cambiado, o verbos que hayan ganado acepciones.
Los números
De las ~90.000 palabras del DLE, unas 10.100 tienen algún tipo de cambio entre la versión 23.7 y la 23.8.1. La mayoría son ajustes menores (sinónimos y antónimos añadidos), pero hay unas 450 con cambios en etimología y casi 1.900 con acepciones modificadas.
El cambio más masivo, como comenté en el post anterior, fue la incorporación silenciosa de casi 3.000 antónimos nuevos. Un trabajo de enriquecimiento que solo se detecta comparando versiones así.
Cómo funciona por dentro
Para quien tenga curiosidad técnica: el comparador no almacena las definiciones, sino un hash MD5 de cada acepción normalizada. «Normalizada» significa que se eliminan diferencias que son artefactos del proceso de extracción (nuestro parser del DLE cambió entre versiones, y cosas como la capitalización de marcas, los números de homógrafos en las referencias cruzadas o los superíndices unicode se procesan de forma distinta). Sin esa normalización, el comparador reportaba casi 2.000 falsos positivos: palabras que parecían tener acepciones modificadas cuando en realidad lo único que había cambiado era cómo nuestro código las extraía. También hay un centenar de palabras (sobre todo unidades de medida como amperio, voltio o hercio) donde la diferencia entre versiones es tan específica que es más limpio excluirlas directamente que intentar normalizar el artefacto.
El resultado final son snapshots de metadatos por versión almacenados en Elasticsearch. El diff se calcula al vuelo cuando alguien visita la ficha de una palabra. El sistema está preparado para incorporar futuras versiones del DLE sin cambios de código: basta con añadir el JSON de la nueva versión y reindexar.
Si encuentras algún cambio que parezca incorrecto o que falte, escríbeme.