Tema
Tokenización y normalización
- Lenguaje natural y modelos de lenguaje
- Nivel base
Tokenizar es partir una cadena de texto en las unidades discretas que el modelo cuenta y predice, y normalizar es decidir qué diferencias de escritura se borran antes de contar.
Nombre en inglés
Tokenization and text normalization
Intuición
Conviene imaginar el texto como una cinta continua y la tokenización como las tijeras que deciden dónde cortar. Cada corte fija el vocabulario y, con él, qué distinciones podrá hacer el modelo, de modo que si se pasa todo a minúsculas las palabras Bolsa y bolsa dejan de ser distintas para siempre y ninguna capa posterior recupera esa diferencia.
Fórmula
TTR = |V| / N, con |V| tipos distintos y N ocurrencias totales
Ejemplo resuelto
Sea el texto El Dr. Ruiz pagó 3.5 pesos. No volvió. Al cortar por espacios salen 8 tokens y aparecen dos defectos, porque Dr. y pesos. arrastran su punto y 3.5 corre el riesgo de partirse en dos si el punto se trata como signo aparte. Una tokenización que protege abreviaturas y decimales entrega 10 tokens, dos de los cuales son el mismo punto final, de manera que hay 9 tipos distintos y la razón de tipos a ocurrencias vale 0.9. Esa cifra tan alta solo se ve en textos muy cortos y cae por debajo de 0.1 en corpus de más de 100 000 palabras.
Errores frecuentes
- Tokenizar con una expresión regular de palabras y perder toda la puntuación, omisión que borra los límites de oración y arruina cualquier tarea que dependa de ellos, como el etiquetado de secuencias.
- Pasar a minúsculas y quitar tildes por costumbre, decisión que en español funde él con el y sí con si, dos pares que cambian el sentido de la oración.
- Comparar el tamaño del vocabulario de dos corpus de longitudes distintas, comparación sin sentido porque el vocabulario crece cerca de la raíz del número de palabras y siempre gana el corpus grande.
Ejercicio
Un corpus de 200 palabras tiene 120 tipos distintos. Tras pasar todo a minúsculas quedan 110 tipos. ¿Cuánto vale la razón de tipos a ocurrencias antes y después del cambio?
Ver la solución
La razón divide los tipos entre las ocurrencias, de modo que antes vale 120 / 200 = 0.6 y después 110 / 200 = 0.55. Los 10 tipos que desaparecen son palabras que aparecían con mayúscula inicial al principio de oración y también en minúscula dentro de ella, como El frente a el. En consecuencia, la normalización junta esas dos formas en un solo tipo y reduce el vocabulario sin tocar la longitud del corpus.
Respuesta: 0.6 y 0.55