# Tokenización, subpalabras y representación textual

Un sistema informático recibe el texto escrito como una secuencia codificada cuyos elementos almacenados pueden coincidir o no con las unidades que la lingüística emplea para describir una lengua. Un fonema es una unidad distintiva del sistema sonoro y un morfema, una unidad mínima con función gramatical o significado; la palabra y la oración pertenecen a otros niveles de organización. Identificar cualquiera de estas categorías exige un análisis ajeno al formato con que se guarda un archivo.

La tokenización es una convención computacional que segmenta una representación del texto en unidades llamadas tokens. Según el procedimiento, un token puede corresponder a una palabra completa, a una parte de ella, a un signo o a una unidad de codificación. Su utilidad depende del sistema que lo consume. Llamar «palabra» a cualquier token supone una equivalencia que debe comprobarse, sobre todo cuando se trabaja con vocabularios de subpalabras.

Como ejemplo didáctico, la cadena `mesas` admite la segmentación `mesa | s` y también `me | sas`. La primera coincide aquí con un análisis morfológico sencillo, en tanto que la segunda puede ser una partición computacional perfectamente definida que ese análisis no reconoce. Observar dos segmentos establece una propiedad de la salida; interpretarlos como raíz y marca de plural requiere información lingüística adicional sobre la palabra y sobre la lengua.

La observación de una partición y su explicación son cosas distintas, pues las reglas del tokenizador permiten explicar por qué produjo una partición concreta y la teoría lingüística describe otras relaciones. Este texto recorre las decisiones que conectan codificación, segmentación e identificación de unidades antes de introducir probabilidades sobre sus secuencias; en cada paso precisa qué representación se transforma y qué información sigue disponible.

## Carácter, grafema, byte y punto de código

La palabra *carácter* suele usarse de manera informal para nombrar una letra, un signo o una posición de texto, por lo que una descripción técnica debe precisar la unidad. Un codepoint, o punto de código, es un valor del espacio de códigos de Unicode, escrito habitualmente con la notación `U+`. Un byte es una unidad de ocho bits. La codificación UTF-8 establece cómo se codifican los valores escalares de Unicode (todos los puntos de código salvo los sustitutos) mediante secuencias de bytes de longitud variable.

Un grafema es una unidad del sistema de escritura. Para manipular texto, los sistemas suelen aproximar las unidades que percibe el usuario mediante clústeres de grafemas, definidos por las reglas de segmentación del anexo UAX #29 (Unicode Consortium, 2026b). Como una unidad visual puede estar formada por varios puntos de código, contar clústeres y contar puntos de código da resultados distintos; el número de bytes, a su vez, puede superar al de letras. Cualquier conteo depende tanto de la unidad elegida como de la representación concreta que se examina.

El ejemplo didáctico de `ñ` permite distinguir estos niveles. Puede representarse mediante `U+00F1` o mediante `U+006E U+0303`, es decir, una `n` seguida de una tilde combinante; la primera representación contiene un punto de código y la segunda, dos. En UTF-8, `U+00F1` se codifica como `C3 B1` y `a`, que corresponde a `U+0061`, como `61`. Estas secuencias hexadecimales describen bytes. Los segmentos lingüísticos pertenecen a otro nivel de análisis.

Un grafema puede ocupar, por tanto, varios puntos de código y un punto de código puede requerir varios bytes. Las formas de normalización descritas en UAX #15 (Unicode Consortium, 2026a) permiten relacionar ciertas representaciones equivalentes. Antes de medir longitudes o asignar posiciones debe declararse si se cuentan bytes, puntos de código o unidades percibidas, ya que sin esa declaración dos conteos distintos pueden parecer contradictorios aunque ambos sean correctos.

## NFC, NFKC y pérdidas en la normalización Unicode

La normalización Unicode transforma secuencias de puntos de código según reglas explícitas de equivalencia, para producir representaciones uniformes de ciertas relaciones que define el estándar. Según UAX #15, NFC aplica una descomposición canónica seguida de una composición canónica, en tanto que NFKC aplica una descomposición de compatibilidad seguida de la misma composición canónica. Las dos formas difieren en las equivalencias que admiten al descomponer, que determinan qué distinciones conserva el resultado.

En un ejemplo didáctico, la forma precompuesta `é` (`U+00E9`) y la secuencia `e` más `U+0301` convergen en NFC. La diferencia entre ambas codificaciones desaparece en la salida normalizada y el acento se conserva, dado que el resultado sigue siendo la letra acentuada. NFC y NFKC mantienen en general las tildes; quitar las marcas diacríticas exige otras operaciones y responde a una decisión distinta.

La compatibilidad introduce transformaciones adicionales. Con NFKC, la ligadura `ﬁ` se convierte en `fi`, lo que en este ejemplo didáctico borra la distinción entre la ligadura y la secuencia de letras, de manera que quien conserve solo el resultado ya no puede saber cuál de esas entradas lo produjo. La uniformidad facilita búsquedas y comparaciones, si bien la conveniencia de aplicarla depende del documento y de lo que deba preservarse en él.

La elección depende de qué diferencias sean pertinentes para la aplicación. En un archivo que deba preservar la forma original puede ser necesario guardar la entrada junto con su versión normalizada; en una cadena de procesamiento deben registrarse además las transformaciones previas a la tokenización. Reconstruir el texto normalizado equivale a recuperar esa versión procesada, que puede diferir del original. Cuando varias entradas convergen en una misma salida, la reversibilidad requiere información adicional que permita distinguirlas.

## Espacios, puntuación y contracciones

Un espacio es un signo de separación en la representación escrita cuya función depende de la escritura y de las convenciones del texto. Algunas escrituras no separan regularmente las palabras con espacios. Donde sí aparecen, los espacios dan una primera segmentación que todavía requiere análisis lingüístico, porque dividir una cadena por espacios produce unidades gráficas útiles para ciertas tareas cuyas fronteras pueden no coincidir con las de las palabras lingüísticas.

Las contracciones españolas ilustran esa diferencia. `del` corresponde a la combinación de `de` y `el`; `al`, a la de `a` y `el`. Un procedimiento puede conservar cada contracción como unidad gráfica o representarla mediante sus componentes, según su finalidad. La forma `dámelo` incorpora pronombres clíticos unidos al verbo, cuya separación exige reglas que van más allá de localizar espacios y es una operación distinta de la segmentación estadística en subpalabras.

La puntuación plantea otra decisión. En un ejemplo hipotético, un procedimiento podría segmentar `Hola, Ana.` como `Hola | , | Ana | .` y otro podría dejar los signos unidos a los fragmentos vecinos; ninguna de estas salidas se atribuye aquí a un tokenizador real. Lo observable es la diferencia de fronteras, cuya explicación está en las reglas escogidas. Para interpretar un signo como límite de oración hay que atender además al contexto, dado que un mismo signo puede tener funciones distintas.

Para reconstruir la entrada es necesario saber cómo se representaron las separaciones. Eliminar espacios múltiples, sustituir saltos de línea o insertar espacios alrededor de los signos puede borrar información. Concatenar los tokens o unirlos con un espacio fijo recupera el original solo bajo condiciones específicas, por lo que una política de preprocesamiento debe indicar qué conserva y qué modifica, sobre todo si después se necesitan posiciones exactas o una reproducción fiel del documento recibido.

## Palabra, token y tipo

Una palabra gráfica es una unidad delimitada según convenciones de escritura, a menudo mediante espacios y signos. Un token, entendido como ocurrencia, es cada aparición de una unidad dentro de una secuencia segmentada; un tipo es la clase que agrupa las ocurrencias consideradas iguales según un criterio establecido. La distinción separa cuántas unidades aparecen de cuántas unidades diferentes hay, dos conteos que dependen de cómo se haya segmentado y normalizado el texto.

En el ejemplo didáctico `la casa y la mesa`, una segmentación por espacios produce cinco tokens (`la | casa | y | la | mesa`) y cuatro tipos (`la`, `casa`, `y` y `mesa`). Las dos apariciones de `la` son tokens distintos porque ocupan posiciones distintas, aunque pertenecen al mismo tipo. La identidad de tipo atañe aquí a la forma escrita y deja de lado las demás propiedades que una palabra puede tener.

La relación entre tokens y tipos describe aspectos diferentes de una muestra. Otra aparición de `la` aumentaría el número de tokens sin ampliar el conjunto de tipos, mientras que una forma nueva podría aumentar ambos. Si se agrupan mayúsculas y minúsculas o se sustituyen las formas flexionadas por una representación común, cambia el criterio de identidad, de modo que un conteo de tipos solo es interpretable cuando se conocen las operaciones que lo preceden.

En un tokenizador de subpalabras, las unidades contadas pueden ser fragmentos internos de palabras gráficas. Una palabra puede generar varios tokens y un mismo fragmento puede aparecer en palabras diferentes. Los términos siguen siendo útiles siempre que se apliquen al nivel correcto, ya que comparar conteos obtenidos con segmentaciones distintas sin declarar sus reglas mezcla medidas que pueden tener objetos diferentes.

## Vocabulario y unidades fuera de vocabulario

El vocabulario de un tokenizador es un conjunto finito de unidades disponibles, normalmente acompañado de una tabla de identificadores o IDs. Cada ID permite que el sistema consulte una unidad mediante un valor numérico cuya asignación es arbitraria respecto del significado, pues dos identificadores consecutivos pueden designar unidades muy distintas. Si los números se cambian de manera consistente, las relaciones lingüísticas entre las formas representadas siguen siendo las mismas.

Una unidad fuera de vocabulario es una entrada que el procedimiento no puede representar con sus unidades disponibles bajo las reglas de segmentación adoptadas. Algunos sistemas recurren entonces a un token desconocido, habitualmente denominado `UNK`. En un ejemplo hipotético, un vocabulario de palabras que no contenga `mesitas` podría sustituirla por `UNK`; si otras palabras reciben la misma sustitución, la secuencia resultante pierde la distinción entre sus formas originales, salvo que esa información se conserve aparte.

Las subpalabras reducen esta dificultad al permitir combinar unidades menores para representar formas que no figuran como palabras completas. En un vocabulario ficticio, `mesitas` podría componerse de fragmentos ya disponibles. Esa posibilidad depende del repertorio básico y de las reglas de aplicación, ya que un símbolo no cubierto o una implementación que restrinja ciertas composiciones pueden producir todavía una salida desconocida. La cobertura mejora mucho con las subpalabras sin llegar a ser completa en general.

También hay que distinguir la cobertura de la familiaridad del modelo con una cadena, pues la posibilidad de codificar una cadena dice poco sobre si el modelo aprendió a interpretarla bien. El vocabulario fija qué unidades pueden representarse y el entrenamiento determina cómo se usan sus representaciones. Para evaluar una pérdida concreta hay que identificar dónde ocurrió (la sustitución por desconocido, la normalización previa o la eliminación de contenido), pues cada una de esas operaciones tiene consecuencias distintas para la reconstrucción y para el análisis posterior.

## Segmentación por caracteres

La segmentación por caracteres divide el texto en unidades de escritura o de codificación definidas de antemano. El nombre requiere una precisión. Un sistema puede trabajar con puntos de código y otro, agruparlos en unidades percibidas como caracteres. Esta elección determina el repertorio y las longitudes obtenidas, de modo que hablar de segmentación por caracteres sin declarar la base resulta ambiguo cuando aparecen marcas combinantes u otras secuencias de varios puntos de código.

En el ejemplo didáctico `mesas`, las letras aparecen como `m | e | s | a | s`, cinco caracteres bajo una convención que aquí coincide con cinco puntos de código. Frente a un vocabulario de palabras completas, el repertorio puede ser pequeño porque reutiliza las mismas unidades en numerosas formas. Dentro del repertorio admitido, cualquier combinación de esas unidades puede representarse sin agregar al vocabulario una palabra completa nueva.

Esa ausencia de unidades fuera de vocabulario vale solo dentro del repertorio; una letra o un signo no incluido requiere alguna política adicional. Las secuencias, además, suelen alargarse respecto de una segmentación que reúna fragmentos mayores. Cada unidad aporta menos información léxica que una palabra completa, aunque su contexto puede permitir identificar la palabra. Estas son propiedades del nivel de representación. El rendimiento de un modelo que trabaje con ellas es una cuestión empírica distinta.

La elección cambia el lugar donde debe aprenderse la composición. Con caracteres, el modelo recibe unidades pequeñas y necesita relacionarlas a lo largo de la secuencia para representar estructuras mayores; con palabras completas, el tokenizador ya fija parte de esa agrupación. Como la calidad final depende de muchos otros factores, la comparación entre ambas opciones exige mantener explícitos el repertorio, la normalización y los criterios de evaluación, sin atribuir de antemano una ventaja al tamaño de la unidad.

## BPE y el aprendizaje de fusiones

BPE (*byte pair encoding*) era en su origen un algoritmo de compresión que fusiona pares adyacentes frecuentes. Sennrich y colaboradores (2016) lo adaptaron a la segmentación en subpalabras para que un sistema de traducción automática neuronal pudiera codificar palabras raras y desconocidas como secuencias de unidades menores. El ejemplo siguiente, didáctico y ficticio, cuenta cada par según la frecuencia de su palabra y marca con `_` el fin de palabra. El corpus es `mesa×5, mesas×3, masa×2`, con el estado inicial `m e s a _ (5); m e s a s _ (3); m a s a _ (2)` y los conteos de pares `(s,a)=10; (m,e)=8; (e,s)=8; (a,_)=7; (a,s)=5; (s,_)=3; (m,a)=2`. En cada paso se elige el par más frecuente y se actualizan sus apariciones antes de volver a contar.

La fusión 1 es `s+a→sa (10)`, que deja el estado `m e sa _ (5); m e sa s _ (3); m a sa _ (2)` con los conteos `(m,e)=8; (e,sa)=8; (sa,_)=7; (sa,s)=3; (s,_)=3; (m,a)=2; (a,sa)=2`. En la fusión 2 hay un empate, que aquí se resuelve con la regla didáctica de la primera aparición, por lo que se elige `m+e→me`. El estado pasa a ser `me sa _ (5); me sa s _ (3); m a sa _ (2)`, con los conteos `(me,sa)=8; (sa,_)=7; (sa,s)=3; (s,_)=3; (m,a)=2; (a,sa)=2`. El criterio de desempate hace reproducible esta elección y es una convención propia del ejemplo.

La fusión 3, `me+sa→mesa (8)`, produce el estado `mesa _ (5); mesa s _ (3); m a sa _ (2)` con los conteos `(mesa,_)=5; (mesa,s)=3; (s,_)=3; (m,a)=2; (a,sa)=2; (sa,_)=2`. La fusión 4 es `mesa+_→mesa_ (5)`. Cada conteo corresponde al estado inmediatamente anterior a su fusión y debe recalcularse en cada paso, puesto que una unidad recién creada cambia los vecinos disponibles y las frecuencias de sus pares.

Al aplicar a `mesas` las fusiones en el orden aprendido resulta `mesa s _`, dado que la última fusión no procede cuando `mesa` no está junto a `_`; la salida se explica por la adyacencia y el orden de las reglas, sin recurrir a un análisis morfológico. El ejemplo es ficticio y no corresponde a ningún tokenizador real.

## WordPiece y la separación entre vocabulario y segmentación

WordPiece designa un enfoque de tokenización con vocabularios de subpalabras. Comparte con BPE la posibilidad de representar palabras mediante unidades menores, aunque su aplicación a textos nuevos puede prescindir de una lista ordenada de fusiones. Kudo (2018) lo trata como una variante de BPE que también construye el vocabulario de manera incremental, con un criterio de verosimilitud allí donde BPE usa la frecuencia de los pares. Para describirlo hay que separar la construcción del vocabulario de la regla que aplica ese vocabulario a textos nuevos, porque dos segmentaciones visualmente parecidas pueden proceder de procedimientos distintos.

Una implementación concreta permite precisar la comparación. El tokenizador original de BERT, publicado por Google Research (s. f.), busca desde cada posición la pieza más larga presente en su vocabulario; es una búsqueda voraz que acepta la coincidencia local y continúa desde su final. Las piezas que aparecen después del comienzo de la palabra llevan en el vocabulario la marca `##`. Si no logra completar la segmentación, esta implementación devuelve un token desconocido para la palabra entera y descarta el prefijo que había reconocido.

Considérese un vocabulario didáctico inventado que contiene `mesa`, `me`, `##sa` y `##s`, con el cual la regla escoge para `mesas` primero `mesa` (la coincidencia inicial más larga) y después `##s`. Si se retirara `mesa` del vocabulario podrían obtenerse `me`, `##sa` y `##s`, mientras que con `mesax` la falta de una continuación adecuada impediría completar el recorrido. Las marcas identifican la función de las piezas dentro del vocabulario y desaparecen al reconstruir la palabra. Estos resultados ilustran la regla con unidades estipuladas y son ajenos al vocabulario real de BERT.

El código de aplicación describe cómo se usan las unidades disponibles; la forma en que se aprendieron depende del procedimiento de entrenamiento. Sus convenciones pertenecen, además, a esa implementación y pueden variar en otras que también se llaman WordPiece. Para reproducir una tokenización hay que conservar el vocabulario, las reglas de segmentación y el preprocesamiento, ya que el nombre de la familia orienta la descripción y son esos componentes los que explican una salida particular.

## Modelo de lenguaje unigram

Un modelo unigram de subpalabras asigna probabilidades a las unidades de un vocabulario. Para una cadena pueden existir varias segmentaciones candidatas, es decir, distintas secuencias de unidades cuya concatenación reproduce esa cadena. En la formulación de Kudo (2018), estas alternativas permiten entrenar con más de una segmentación mediante la regularización por subpalabras, que muestrea segmentaciones de forma probabilística durante el entrenamiento. La segmentación deja de ser entonces una partición fija producida de antemano para cada forma escrita.

Sea $s=(u_1,\ldots,u_k)$ una segmentación con $k$ unidades, donde $u_j$ es la unidad en la posición $j$ y $p(u_j)$ su probabilidad. Bajo la hipótesis unigram de independencia, su probabilidad es $P(s)=\prod_{j=1}^{k}p(u_j)$, una hipótesis que pertenece al modelo de segmentación y nada dice sobre la independencia de las palabras de una lengua. Para comparar candidatas de una misma cadena se consideran sus productos y, cuando corresponde, se normalizan entre las alternativas compatibles.

En un ejemplo numérico hipotético, un vocabulario ficticio asigna `p(mesa)=0,20`, `p(s)=0,10`, `p(me)=0,15` y `p(sas)=0,05`; el resto del vocabulario reúne la masa restante de `0,50`. Para `mesas`, la candidata `mesa | s` obtiene `0,20 × 0,10 = 0,020` y `me | sas` obtiene `0,15 × 0,05 = 0,0075`, de modo que, entre estas dos, la primera es la más probable según los valores definidos.

Esos productos todavía no son probabilidades condicionadas que sumen uno entre las dos opciones mostradas. Para obtenerlas habría que normalizar y comprobar si existen más candidatas. Seleccionar la mejor segmentación y muestrear alternativas son operaciones distintas; la regularización usa esa diversidad de representaciones durante el entrenamiento. Kudo (2018) informó mejoras consistentes con ella en experimentos de traducción con varios corpus, sobre todo en escenarios de pocos recursos y fuera de dominio, resultados que corresponden a sus datos y modelos.

## SentencePiece como biblioteca de tokenización

SentencePiece es una biblioteca para la tokenización y detokenización de subpalabras, descrita por Kudo y Richardson (2018). Una biblioteca reúne herramientas y opciones de implementación, en tanto que un algoritmo especifica un procedimiento. Como SentencePiece admite BPE y unigram, entre otras opciones configurables, saber que un texto se tokenizó con esa biblioteca todavía no identifica el algoritmo empleado ni los detalles de la transformación aplicada.

Una propiedad central de la biblioteca es que entrena modelos de subpalabras directamente sobre oraciones sin presegmentar, de manera que ningún componente previo necesita fijar las fronteras de palabra (Kudo & Richardson, 2018). La implementación descrita en el artículo de 2018 aplica por defecto una normalización basada en NFKC y sustituye los espacios por la marca `▁` (U+2581). Son decisiones de procesamiento que deben documentarse junto con la configuración usada, porque trabajar sobre texto sin presegmentar todavía implica transformar la entrada.

La reconstrucción debe evaluarse respecto de la cadena procesada. Si la normalización convierte dos formas distintas en una misma salida o colapsa espacios, la detokenización recupera la versión procesada y pierde esas diferencias originales. La marca de espacio facilita reconstruir las separaciones conservadas. Un token `UNK`, en cambio, confunde todos los caracteres desconocidos que hayan recibido la misma sustitución. La fidelidad exige comprobar qué transformaciones se aplicaron y si el repertorio y las reglas preservaron la información necesaria. Conservar el modelo y su configuración permite reproducir la operación, aunque una pérdida de información ya ocurrida es irreversible.

## Bytes y cobertura

La segmentación por bytes toma como unidades los valores posibles de un byte. Como cada byte contiene ocho bits, existen 256 valores distintos. Un repertorio que los incluya todos puede representar cualquier secuencia de bytes sin recurrir a una unidad desconocida por falta de valores básicos. Esta cobertura pertenece al nivel de codificación y es distinta de la validez del contenido como texto en una codificación particular.

En UTF-8, el ejemplo didáctico `ñ` se codifica como `C3 B1` y `€` como `E2 82 AC`, por lo que una segmentación estrictamente por bytes produce dos unidades para la primera forma y tres para la segunda. Un byte aislado de esas secuencias puede no corresponder a un carácter UTF-8 completo; para interpretar el texto hay que reunir los bytes en el orden correcto y aplicar la decodificación correspondiente a la secuencia.

La longitud resultante depende de cuántos bytes requieran los caracteres de la escritura considerada. Frente a unidades mayores, trabajar con bytes puede aumentar el número de posiciones que procesa el modelo. Los sistemas que construyen subpalabras sobre una base de bytes pueden agruparlos, así que son distintos de una segmentación que mantiene siempre cada byte separado. La base de cobertura y el tamaño de las unidades finales son decisiones relacionadas y distintas.

La cobertura completa de las entradas es una propiedad técnica. Los segmentos resultantes pueden carecer de significado lingüístico y algunas escrituras pueden recibir representaciones menos compactas que otras, mientras que la comprensión de esas cadenas por parte del modelo es una cuestión aparte. Si la entrada es texto UTF-8 válido y se conservan íntegramente sus bytes, la decodificación recupera esa representación. Una normalización anterior puede haber borrado diferencias del original, por reversible que sea la etapa de bytes respecto de lo que recibió.

## Offsets, reconstrucción y pérdidas de preprocesamiento

Un offset es una posición usada para localizar un fragmento dentro de una representación del texto. Habitualmente se registran un inicio y un fin. También debe declararse qué unidad se cuenta y sobre qué cadena se mide, ya que los offsets pueden contar bytes, puntos de código u otras unidades del entorno y pueden señalar el texto original o el normalizado. Sin estas precisiones, un intervalo numérico admite varias lecturas.

En el ejemplo didáctico `mesas` se cuentan puntos de código desde cero y se usa un intervalo semiabierto, que incluye el inicio y excluye el fin. La segmentación hipotética `mesa | s` asigna entonces a `mesa` el intervalo `[0,4)` y a `s` el intervalo `[4,5)`, que permiten extraer exactamente las dos partes de esta cadena. Si el sistema contara desde uno o incluyera el extremo final, los mismos números tendrían otro significado y deberían interpretarse con otra convención.

La normalización puede alterar estas correspondencias. Una letra representada por dos puntos de código puede pasar a uno, con lo cual cambian las posiciones posteriores; convertir mayúsculas en minúsculas, colapsar espacios múltiples o aplicar equivalencias de compatibilidad también puede borrar distinciones. En esos casos, la posición de un token en la cadena procesada puede diferir de su posición en el original. Un mapa de correspondencias que registre cómo se relacionan los fragmentos antes y después de la transformación permite recuperar la correspondencia.

La reconstrucción exacta exige conservar suficiente información para invertir las transformaciones pertinentes. Concatenar piezas basta cuando las reglas preservan el contenido y las separaciones, pero las diferencias ya eliminadas quedan fuera de su alcance. Guardar el original permite consultarlo y guardar offsets válidos permite señalarlo, dos funciones distintas de la detokenización. Una evaluación de fidelidad debe indicar qué cadena pretende recuperar y compararse con esa referencia. La equivalencia normalizada y la identidad literal son criterios distintos.

## Fragmentación multilingüe y longitud

La longitud en tokens es el número de unidades que produce un tokenizador para una cadena determinada. Es una propiedad de la pareja formada por el mensaje y el tokenizador, ajena a cualquier medida universal de extensión lingüística, que depende del vocabulario, de las reglas de segmentación y del preprocesamiento. La longitud cambia también entre idiomas, dado que sus formas escritas y su presencia en los datos usados para construir el vocabulario pueden distribuirse de manera desigual.

Un ejemplo hipotético usa un vocabulario ficticio para dos frases equivalentes en este contexto, `La casa azul` y `The blue house`. Para la primera se estipula la salida `La | ␠casa | ␠azul`, con tres tokens; para la segunda se estipula `T | he | ␠b | lue | ␠h | ou | se`, con siete. El símbolo `␠` marca aquí un espacio inicial conservado dentro de la pieza. Estas salidas son inventadas y no describen ningún tokenizador real.

La observación es una diferencia de longitud bajo las reglas ficticias indicadas, cuya explicación inmediata está en las unidades disponibles para cada cadena. Una conclusión sobre la complejidad de las lenguas o sobre la cantidad de contenido de cada frase requeriría otra clase de datos. La equivalencia de traducción depende del contexto y tampoco vuelve intercambiables las palabras de ambas frases. Para comparar la fragmentación entre lenguas hacen falta muestras y criterios de equivalencia definidos con claridad.

La longitud puede relacionarse con los costos cuando el servicio cobra por token y con las restricciones cuando el modelo impone un límite de contexto, relaciones que deben verificarse en cada sistema concreto. La relación entre fragmentación y calidad exige un análisis propio. Aun si se observara una correlación entre ambas, atribuirle causalidad requeriría descartar explicaciones alternativas y evaluar el modelo, sus datos y la tarea considerada.

## Nombres propios, morfología y privacidad

Un nombre propio puede representarse mediante una sola unidad o fragmentarse en varias, según el vocabulario y las reglas del tokenizador. Una forma poco frecuente como unidad completa puede necesitar piezas menores, aunque la segmentación visible es solo una parte del problema. Hay que distinguirla del reconocimiento de la forma como nombre y de la información que el modelo pueda vincular con la persona o entidad designada.

La relación con la morfología también exige cautela. Un morfema es una unidad con significado o función gramatical, mientras que una subpalabra computacional se define por el procedimiento que la obtiene. En el ejemplo didáctico `mesas = mesa + s`, la segmentación coincide con una base y una marca de plural. Esa coincidencia es compatible con un tokenizador que nunca aprendió un análisis morfológico general, pues otras particiones pueden atravesar fronteras morfológicas o reunir material con funciones distintas.

La privacidad atañe al tratamiento y la protección de la información sobre personas. La tokenización conserva la información personal del texto, ya que sustituir un nombre por IDs produce una representación que puede revertirse mediante el vocabulario y las reglas correspondientes; tampoco agrega datos personales nuevos. La exposición depende del contenido recibido, de los accesos y de las operaciones del sistema. Un identificador fragmentado sigue permitiendo identificar a alguien.

Observar tokens permite estudiar una interfaz de representación, distinta del funcionamiento interno del modelo. Las unidades visibles explican solo una parte de una respuesta, porque en su producción intervienen relaciones internas que la segmentación no muestra. Una afirmación sobre sesgo, reconocimiento de nombres o riesgo de privacidad necesita evidencia adecuada a esa cuestión. Dentro de ese alcance, el análisis de tokenización aporta una descripción verificable de las entradas.

## De los identificadores a las probabilidades

Después de tokenizar, una cadena puede representarse como una secuencia de identificadores, cada uno de los cuales remite a una unidad del vocabulario y permite suministrarla a un modelo probabilístico. El número asignado sigue siendo arbitrario respecto del significado, de modo que un ID mayor carece de relación con la intensidad o con una posición semántica superior. El modelo vincula sus representaciones con esos identificadores mediante mecanismos aprendidos, ajenos a la distancia aritmética entre los números.

Sea $(t_1,\ldots,t_n)$ una secuencia de $n$ tokens o de sus IDs, donde $t_i$ designa el elemento en la posición $i$. La regla de la cadena permite escribir su probabilidad conjunta mediante probabilidades condicionadas; aquí $P$ es una distribución de probabilidad y el contexto anterior al primer elemento es vacío. La expresión conserva las dependencias con todos los elementos precedentes sin introducir aún ninguna hipótesis de independencia entre posiciones.

$$
P(t_1,\ldots,t_n)=\prod_{i=1}^{n}P(t_i\mid t_1,\ldots,t_{i-1})
$$

Cada factor expresa la probabilidad de un token dado su prefijo. Un modelo estima esas distribuciones según su arquitectura y su entrenamiento. Esta formulación es distinta del producto unigram usado para puntuar segmentaciones, que suponía probabilidades independientes de las unidades, pues aquí cada término depende del contexto anterior. Confundir ambos productos ocultaría la diferencia entre un modelo de segmentación y un modelo que asigna probabilidades a secuencias contextualizadas.

La tokenización condiciona qué eventos se modelan y cuántas posiciones tiene la secuencia. Cambiarla modifica el espacio de unidades sobre el que se expresan las probabilidades, por lo que la comparación de valores debe atender a esa representación. La factorización matemática es una identidad, mientras que la calidad predictiva y la comprensión lingüística requieren evaluaciones propias. Para relacionar las probabilidades de los tokens con el texto original hay que considerar también las reglas de decodificación y cualquier pérdida introducida antes de obtener los IDs.

## Referencias y lecturas

- Google Research. (s. f.). *tokenization.py* [Código fuente, clase WordpieceTokenizer]. Repositorio google-research/bert, GitHub. https://github.com/google-research/bert/blob/master/tokenization.py
- Kudo, T. (2018). Subword regularization: Improving neural network translation models with multiple subword candidates. En *Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)* (pp. 66–75). Association for Computational Linguistics. https://doi.org/10.18653/v1/P18-1007
- Kudo, T., & Richardson, J. (2018). SentencePiece: A simple and language independent subword tokenizer and detokenizer for neural text processing. En *Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations* (pp. 66–71). Association for Computational Linguistics. https://doi.org/10.18653/v1/D18-2012
- Sennrich, R., Haddow, B., & Birch, A. (2016). Neural machine translation of rare words with subword units. En *Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)* (pp. 1715–1725). Association for Computational Linguistics. https://doi.org/10.18653/v1/P16-1162
- Unicode Consortium. (2026a). *Unicode Standard Annex #15: Unicode normalization forms* (K. Whistler, Ed.; Unicode 18.0.0, revisión 58). https://www.unicode.org/reports/tr15/
- Unicode Consortium. (2026b). *Unicode Standard Annex #29: Unicode text segmentation* (J. Hadley, Ed.; Unicode 18.0.0, revisión 49). https://www.unicode.org/reports/tr29/

