Analizador de frecuencia de palabras
TextoCuenta la frecuencia de palabras y n-gramas de caracteres — CJK mediante Intl.Segmenter, palabras latinas por letras Unicode o espacios — con tabla Top-N, porcentaje y exportación CSV.
No se recuperan URLs remotas; pega tu JSON directamente.
En esta página
¿Qué es un analizador de frecuencia de palabras?#
Un analizador de frecuencia de palabras lee un cuerpo de texto, cuenta cuántas veces aparece cada token y los ordena. Es la herramienta detrás de las comprobaciones de densidad de palabras clave para SEO, el descubrimiento de stopwords para índices de búsqueda, las estimaciones de tamaño de vocabulario para el aprendizaje de idiomas y el panel de «palabras más comunes» de cualquier editor de texto serio. Cuenta palabras a mano y te equivocarás; en cuanto entran en juego las mayúsculas, la puntuación y la segmentación CJK, la intuición falla.
Lo difícil es decidir qué cuenta como token. Esta herramienta ofrece cuatro modos de tokenización, porque la respuesta correcta depende del texto:
- Dividir por espacios: divide por cualquier espacio en blanco. Es agnóstico del idioma; trata
Hello,yhellocomo tokens distintos por la coma y la mayúscula. - Palabras (letras): secuencias máximas de letras Unicode (
\p{L}+). Descarta dígitos y puntuación, así queHello,pasa aHello. El valor por defecto correcto para prosa latina. - CJK (Intl.Segmenter): usa el
Intl.Segmenterdel navegador con granularidad de palabra para una segmentación lingüística adecuada del chino/japonés (我爱北京se divide por las fronteras reales de palabra, no por carácter). Cuando el navegador carece del segmentador, repliega a un recuento por carácter Han y te avisa. - N-grama de caracteres: n-gramas de caracteres de tamaño 2–5 sobre el flujo colapsado por espacios en blanco, para análisis de patrones repetidos y cúmulos de erratas.
Todo el recuento se ejecuta localmente; para entradas por encima de un megabyte pasa a un worker en segundo plano para que la página siga respondiendo.
Cómo se usa#
- Elige el Modo en la barra de herramientas: Dividir por espacios, Palabras (letras), CJK (Intl.Segmenter) o N-grama de caracteres.
- Ajusta el Top-N (por defecto 20, máximo 1000). Solo se muestran esas filas ordenadas, pero los totales bajo la tabla siempre reflejan todos los tokens.
- Si elegiste N-grama de caracteres, aparece un selector de Tamaño del n-grama (2, 3, 4 o 5): elige la longitud del grama.
- Marca o desmarca Sin distinguir mayúsculas (activado por defecto). Activado,
Theythese funden en un solo recuento. - Pega tu texto en el panel izquierdo, o pulsa Ejemplo para un pasaje incorporado.
- Lee el panel derecho: un resumen (tokens totales, tokens únicos) y una tabla ordenada de token / cantidad / porcentaje. Usa Copiar para la tabla o Descargar CSV para un archivo
token,count,shareque puedes abrir en cualquier hoja de cálculo.
Si el modo CJK tuvo que replegar porque tu navegador carece de Intl.Segmenter, aparece una pequeña nota bajo la tabla para que sepas que la segmentación es por carácter y no lingüística.
Características clave#
- Cuatro modos de tokenización. Dividir por espacios para recuentos en bruto, Palabras (letras) para recuentos limpios de palabras, CJK para segmentación adecuada de chino/japonés, N-grama de caracteres para descubrimiento de patrones, en vez de un único modo que falla en tres de cada cuatro textos.
- Segmentación CJK real. Usa
Intl.Segmentercongranularity: "word", el segmentador lingüístico integrado del navegador, así que我爱北京天安门se divide por fronteras de palabra, no troceado carácter a carácter. - Repliegue honrado. Cuando el segmentador no está disponible, la herramienta degrada a un recuento por carácter Han y te lo dice, en vez de producir en silencio números distintos.
- Porcentaje, no solo recuento. Cada fila muestra su porcentaje sobre todos los tokens, calculado sobre el texto completo, así que incluso un Top-20 de un documento de 10.000 palabras informa de porcentajes con sentido.
- Exportación CSV. Un clic descarga un archivo
token,count,share, listo para una hoja de cálculo o un gráfico. - Orden determinista. Los empates se deshacen alfabéticamente (token ascendente), así que volver a ejecutar sobre una entrada idéntica produce la misma salida en todos los navegadores y motores.
- Worker para entradas pesadas. Las entradas por encima de ~1 MB pasan a un worker en segundo plano, así que el hilo principal y el resto de la página siguen respondiendo.
- Local y seguro. Los tokens se renderizan solo con
textContent: el texto controlado por el usuario nunca puede salirse de una celda de la tabla.
Ejemplo práctico#
Pega esta línea corta en la entrada, con Modo = Dividir por espacios y Sin distinguir mayúsculas activado:
the quick brown fox the fox
El resumen informa de 6 tokens totales y 4 únicos. La tabla ordenada es:
| Token | Count | Share |
|---|---|---|
| fox | 2 | 33.33% |
| the | 2 | 33.33% |
| brown | 1 | 16.67% |
| quick | 1 | 16.67% |
Dos cosas a notar. Primera, fox aparece por encima de the a pesar de tener el mismo recuento, porque los empates se deshacen alfabéticamente. Segunda, los porcentajes suman el 100 % entre los cuatro tokens: están calculados sobre el total completo de tokens, no solo sobre las filas mostradas, así que siguen teniendo sentido incluso cuando el Top-N oculta la cola larga.
Ahora cambia el Modo a N-grama de caracteres con tamaño 2 sobre el mismo texto (espacios en blanco colapsados): el analizador produce bigramas como th, he, e , q…, permitiéndote ver qué pares de letras se repiten, que es como cazarías prefijos duplicados o un teclado atascado.
Preguntas frecuentes#
¿Qué modo debo usar para texto normal en inglés?#
Palabras (letras) es el valor por defecto correcto para prosa latina: elimina puntuación y dígitos, así que word,, word. y word cuentan como el mismo token, y obtienes un recuento limpio de vocabulario. Usa Dividir por espacios solo cuando la propia puntuación sea significativa (por ejemplo, al contar campos en bruto delimitados por espacios en blanco en un log).
¿Cómo divide realmente el chino el modo CJK?#
Llama al Intl.Segmenter del navegador con granularity: "word", un segmentador lingüístico real que sabe dónde empiezan y terminan las palabras chinas. Así que 我爱北京天安门 se divide en palabras reales en vez de en cinco caracteres sueltos. Si tu navegador no admite Intl.Segmenter, la herramienta repliega a un recuento por carácter y muestra una nota: los números siguen siendo utilizables para comparar densidades, solo que menos precisos lingüísticamente.
¿Para qué sirve el modo n-grama?#
Los n-gramas revelan subcadenas que se repiten. Una pasada de 2-gramas sobre un texto largo muestra qué pares de letras o caracteres dominan; una de 3-gramas o 4-gramas saca a la luz prefijos repetidos, morfemas comunes o cúmulos de erratas. Es la técnica estándar detrás de las auditorías de keyword-stuffing, el análisis de cifrados y la ordenación de autocompletado.
¿Por qué mis porcentajes se calculan sobre todos los tokens y no solo sobre el Top-N mostrado?#
Porque un porcentaje solo tiene sentido frente al total real. Si pides el Top 10 de palabras en un ensayo de 5.000, la cuota de cada palabra debería reflejar su porción del ensayo entero, no su porción de las 10 palabras mostradas. Calcular la razón sobre el total completo de tokens mantiene los números honrados incluso cuando la tabla está truncada.
¿Mi texto se sube a algún sitio?#
No. La tokenización, el recuento y la generación de CSV se ejecutan en tu navegador. Las entradas grandes pasan a un hilo worker en segundo plano, pero ese hilo sigue siendo parte de esta página: nada se envía a un servidor.