Tabla de frecuencia de palabras
Un texto de 9 palabras con 6 distintas sale como tabla ordenada: la más repetida aparece 3 veces y supone un tercio del total. Cada palabra distinta tiene su propia fila con su recuento y su proporción, sin distinguir mayúsculas. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- The cat sat on the mat. The cat ran.
- Total de palabras
- 9
- Palabras únicas
- 6
Esta herramienta construye una tabla completa de frecuencia de palabras a partir de cualquier texto no vacío: tokeniza letras y dígitos, unifica mayúsculas y minúsculas para que Hello y hello se fusionen, cuenta cada aparición y ordena las filas de la más frecuente a la menos frecuente. Redactores, editores, docentes, profesionales de SEO, investigadores y desarrolladores usan tablas de frecuencia para detectar términos repetidos, comprobar el rango léxico, preparar rasgos bag-of-words, generar claves de corrección y revisar borradores antes de publicar. El motor es totalmente determinista—un pase de tokenización con Unicode, un mapa de conteos y una ordenación estable por conteo descendente y luego por palabra ascendente—de modo que el mismo texto siempre produce los mismos rangos, proporciones y totales. No hay llamadas de red, ni muestreo, ni atajos dependientes de la fecha.
Qué contiene una tabla de frecuencia de palabras y cómo se clasifican las filas
Una tabla de frecuencia de palabras responde a una pregunta práctica de producto: qué palabras dominan este pasaje, con qué frecuencia aparece cada una y qué proporción de todos los tokens representa cada palabra. No es lo mismo que el conteo de caracteres, que mide longitud, ni que la puntuación de densidad de palabras clave SEO frente a una sola frase objetivo.
Aquí cada palabra distinta se convierte en una fila con un rango, un conteo y una proporción igual al conteo dividido por el total de palabras, redondeada a seis decimales para goldens estables. Los tokens son secuencias de letras o dígitos Unicode, con segmentos opcionales de apóstrofe interno para que contracciones como don't y nombres como O'Brien permanezcan enteros cuando la fuente usa apóstrofes rectos. La puntuación, los símbolos y el espacio en blanco actúan como separadores y nunca reciben filas propias.
La coincidencia es siempre insensible a mayúsculas: Hello, HELLO y hello se fusionan en una clave en minúsculas para que el ruido de redacción no infle los conteos únicos. No hay stemming, ni lista de stop-words, ni detección de idioma, ni modelo de aprendizaje automático que pueda divergir entre hosts.
Dónde encajan las tablas de frecuencia en la redacción, la enseñanza y el software
Los estudiantes se encuentran con el trabajo de frecuencia de palabras cuando un enunciado de lengua pide qué términos dominan un discurso, cuando un laboratorio de corpus construye una tabla bag-of-words simple o cuando un ejercicio de programación exige conteos deterministas de tokens antes de graficar. Los docentes pueden pregenerar claves de respuesta con rangos y proporciones esperados sin confiar en fórmulas opacas de hoja de cálculo que dividen palabras con guion de forma distinta según el locale.
Editores y equipos de contenido pegan borradores en una tabla de frecuencia para detectar repetición accidental, clichés demasiado frecuentes o nombres de marca que apenas aparecen. Los estrategas de SEO y de contenido usan la lista clasificada como auditoría rápida de vocabulario antes de abrir un flujo completo de densidad de palabras clave: aquí el objetivo es la distribución completa de palabras, no la puntuación de una sola frase.
Los equipos de soporte y operaciones miden asuntos ruidosos de tickets y líneas de registro para que los paneles muestren las palabras de fallo más comunes sin analizadores a medida. Combínela con contadores de caracteres, herramientas de slug o ayudantes de densidad de palabras clave cuando construya un pequeño laboratorio de utilidades de texto gratuitas y deterministas para formularios, preparación CMS e higiene de datos en equipos que necesitan la misma tabla cada vez.
Qué puede hacer con ella
Detectar palabras repetidas en un borrador
Pegue un artículo o un correo y clasifique cada palabra por frecuencia para reducir la repetición y afinar el vocabulario antes de publicar.
Claves de respuesta para aula y laboratorio
Genere rangos, conteos y proporciones reproducibles para ejercicios de lengua, laboratorios de corpus y prácticas de programación que exigen tablas exactas.
Preguntas frecuentes
¿Cuánto cuesta crear una tabla de frecuencia de palabras?
Es gratis en su navegador en esta página.
¿Cómo se separan las palabras de la puntuación?
Los tokens son secuencias de letras o dígitos Unicode, con apóstrofes internos opcionales. Comas, puntos, símbolos y espacios separan palabras y nunca se convierten en filas.
¿La coincidencia distingue mayúsculas?
No. La tabla es siempre insensible a mayúsculas: Hello y hello cuentan como la misma palabra en minúsculas para que el ruido de redacción no infle los conteos únicos.
¿Qué ocurre si el texto no tiene palabras?
Proporcione texto no vacío que contenga al menos un token de letras o dígitos.
¿Cómo se decide el rango cuando dos palabras comparten conteo?
Las filas se ordenan por conteo descendente y luego por palabra ascendente, de modo que los empates se resuelven alfabéticamente y se mantienen estables entre ejecuciones.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/text/word-frequency-table \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"The cat sat on the mat. The cat ran."}'const res = await fetch("https://api.kit.forhosting.com/text/word-frequency-table", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "The cat sat on the mat. The cat ran."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/word-frequency-table",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "The cat sat on the mat. The cat ran."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/word-frequency-table", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"The cat sat on the mat. The cat ran."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"The cat sat on the mat. The cat ran."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/word-frequency-table", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "The cat sat on the mat. The cat ran."
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.word_frequency_table",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_tokens | 20000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
La entrada vacía, el pegado solo con espacios y el texto solo con puntuación se rechazan con invalid_input para que un formulario en blanco no se convierta en un éxito vacío silencioso.
Qué contiene una tabla de frecuencia de palabras y cómo se clasifican las filas
La respuesta repite el texto de origen, informa total_words como el número de tokens hallados, unique_words como el número de claves distintas, lista las filas de la tabla en orden de rango y marca method como word_frequency_table para pipelines multi-herramienta. El motor construye una tabla exacta dentro de la longitud admitida o rechaza la solicitud con invalid_input. Los casos rechazados incluyen un campo text ausente, un valor null, una cadena vacía, contenido solo con espacios, objetos y arrays que no son texto plano, cargas más largas que el máximo documentado de caracteres y cadenas que solo contienen puntuación sin tokens de letras o dígitos.
Cómo se lee el campo text y cómo las clasificaciones siguen siendo reproducibles
El valor debe ser una cadena no vacía tras una comprobación de contenido significativo; los números finitos y los bigints se convierten primero a cadena para que un código de producto tecleado como número siga produciendo un token de dígitos estable. Los espacios exteriores alrededor de palabras reales solo son separadores; no crean tokens fantasma. El conteo usa un solo pase de tokenización con Unicode, pone cada token en minúsculas, guarda los totales en un Map y aplica una ordenación por comparación pura—sin diccionario de red, sin tabla de locale que reordene letras de forma distinta entre hosts y sin muestreo aleatorio. Los empates se resuelven por palabra ascendente para que dos palabras con el mismo conteo nunca inviertan el orden entre ejecuciones. El campo preferido es text, pero se aceptan los alias input, string, value, content y s para que cadenas de consulta, hojas de cálculo y formularios reutilicen el mismo contrato sin renombrar columnas. Los booleanos, objetos planos y arrays se rechazan con un mensaje claro para que un cuerpo JSON equivocado no se convierta en la palabra true o en un volcado de objeto inútil. La cadena vacía y el pegado solo con espacios son siempre invalid_input: la promesa del producto es construir una tabla de frecuencia de cada palabra, no inventar un éxito cero para un envío en blanco. La longitud se limita a cien mil caracteres para que un pegado descontrolado no monopolice un Worker; las cargas más largas fallan con un mensaje de límite explícito en lugar de un recorte silencioso. Combine la ejecución gratuita en el navegador de esta página con la API de pago cuando necesite la misma tabla de frecuencia dentro de un pipeline automatizado sin enviar sus propios contadores de palabras ni fórmulas frágiles de hoja de cálculo.
Dónde encajan las tablas de frecuencia en la redacción, la enseñanza y el software
En esta página el trabajo se ejecuta por completo en su navegador; a través de la API cada análisis correcto cuesta $0.002, la validación fallida no se cobra y no se almacena nada tras devolver la respuesta. Esa división—exploración interactiva gratuita y API idéntica de pago—coincide con el resto del catálogo KIT de nivel A y le permite pasar de una demo de aula a un pipeline automatizado sin cambiar el resultado numérico.
Casos de integración
Fixtures de prueba bag-of-words
Construya tablas de frecuencia deterministas para CI, pruebas de índice de búsqueda y pipelines de datos sin enviar un tokenizador propio.