Clasifique el tono general de un texto con un léxico propio
En el mensaje de muestra, tres palabras formales, una urgente y una cercana dan un tono formal con una confianza de 0,6, es decir, 3 de 5 coincidencias. Usted escribe las listas de palabras, así que cada resultado se comprueba palabra por palabra. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.
Este clasificador de tono general compara un escrito con un léxico definido por usted. Proporcione listas de palabras formales, informales, urgentes y cordiales, y la herramienta contará coincidencias de palabras completas sin usar modelos ni realizar solicitudes de red. Obtendrá el tono dominante, los recuentos por categoría, las palabras detectadas, una proporción de confianza y la indicación de si se utilizó el valor predeterminado solicitado. Como una misma entrada y un mismo léxico siempre producen el mismo resultado, la salida sirve para controles editoriales, reglas de enrutamiento y pruebas repetibles.
Cree un léxico que refleje sus normas de redacción
Una clasificación útil empieza con un léxico adaptado al material que se revisará. Incluya en la categoría formal palabras que realmente indiquen formalidad en su organización; reserve expresiones coloquiales para la categoría informal, términos como “inmediatamente”, “plazo” o “crítico” para urgente, y palabras como “bienvenido”, “gracias” o “encantado” para cordial. Cada categoría es explícita, de modo que el equipo puede revisar y modificar la regla sin adivinar por qué un modelo oculto eligió una etiqueta.
Las entradas se comparan como palabras completas sin distinguir mayúsculas de minúsculas. Una palabra puede pertenecer a varias categorías; en ese caso, cada aparición suma en todas ellas. Las entradas duplicadas dentro de una categoría se consolidan para impedir que una repetición accidental multiplique su peso.
Elija términos suficientemente específicos para indicar tono en su ámbito. Las palabras frecuentes con poca carga tonal pueden ocultar señales más informativas. Se admiten hasta mil palabras por categoría, cantidad suficiente para diccionarios editoriales específicos y, al mismo tiempo, acotados y previsibles.
Interprete la puntuación y la regla determinista de desempate
El clasificador divide el texto en palabras y busca cada una en las cuatro listas. Las repeticiones del texto se cuentan de nuevo, porque la reiteración puede reforzar el tono percibido. El resultado contiene los recuentos formal, informal, urgente y cordial, además de las palabras distintas encontradas en cada categoría, por lo que la conclusión se puede auditar.
El tono dominante es la categoría con más coincidencias. La confianza se calcula dividiendo el recuento ganador entre todas las coincidencias; expresa qué proporción de los indicadores observados respalda la categoría elegida, no una probabilidad estadística sobre la intención del autor. Si varias categorías empatan, la prioridad estable es formal, informal, urgente y cordial.
Esta regla fija garantiza resultados idénticos en automatizaciones y en el navegador, aunque usted puede consultar los recuentos y aplicar otra política después. La puntuación y las mayúsculas no alteran las coincidencias normales. Cada entrada del léxico debe ser una sola palabra: las frases quedan deliberadamente fuera del contrato.
Para análisis semántico o por expresiones, conviene usar una herramienta basada en modelos.
Decida si un texto sin coincidencias debe fallar o usar un valor predeterminado
La ausencia de coincidencias aporta información. De forma predeterminada, el clasificador devuelve un error de entrada no válida cuando el texto no contiene ninguno de los indicadores proporcionados. Así se evita que un flujo etiquete silenciosamente un escrito neutro o fuera del vocabulario como si hubiera pruebas que respaldaran la decisión.
De este modo se distinguen las clasificaciones basadas en pruebas de las rutas de reserva sin una segunda solicitud. Durante el desarrollo del léxico suele ser útil omitir el valor predeterminado para descubrir vocabulario ausente y añadirlo solo tras evaluar el diccionario con textos representativos. La función no deduce sarcasmo, sintaxis, público ni contexto.
Su ventaja es la reproducibilidad: el mismo texto acotado y el mismo léxico siempre producen idénticos recuentos, etiqueta y estado de reserva.
Qué puede hacer con ella
Encaminar mensajes de soporte
Envíe a una cola rápida los mensajes dominados por vocabulario urgente y conserve como evidencia las palabras exactas encontradas.
Aplicar una guía de estilo
Compruebe los borradores con listas propias de palabras formales e informales antes de publicarlos.
Probar textos generados
Verifique una etiqueta de tono repetible en pruebas automatizadas sin depender de resultados variables de un modelo.
Preguntas frecuentes
¿Cuánto cuesta una clasificación?
La versión del navegador ejecuta localmente la misma lógica determinista.
¿Las coincidencias distinguen mayúsculas y minúsculas?
No. El texto y las entradas del léxico se convierten a minúsculas antes de comparar palabras completas.
¿Qué ocurre si dos tonos empatan?
La prioridad estable es formal, informal, urgente y cordial. Puede consultar todos los recuentos si prefiere aplicar después otra regla.
¿Puede una palabra pertenecer a varias categorías de tono?
Sí. Cada aparición suma una vez en todas las categorías que contienen la palabra, y el resultado la muestra en cada una.
¿Comprende el sarcasmo o el contexto?
No. Solo clasifica coincidencias explícitas de palabras. Esa limitación también hace que el resultado sea transparente y reproducible.
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/write/tone-word-classify \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Please review this document promptly. Your assistance is appreciated.","lexicon":{"formal":["please","document","appreciated"],"casual":["hey","cool","yeah"],"urgent":["promptly","immediately","urgent"],"friendly":["thanks","welcome","assistance"]}}'const res = await fetch("https://api.kit.forhosting.com/write/tone-word-classify", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Please review this document promptly. Your assistance is appreciated.",
"lexicon": {
"formal": [
"please",
"document",
"appreciated"
],
"casual": [
"hey",
"cool",
"yeah"
],
"urgent": [
"promptly",
"immediately",
"urgent"
],
"friendly": [
"thanks",
"welcome",
"assistance"
]
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/write/tone-word-classify",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Please review this document promptly. Your assistance is appreciated.",
"lexicon": {
"formal": [
"please",
"document",
"appreciated"
],
"casual": [
"hey",
"cool",
"yeah"
],
"urgent": [
"promptly",
"immediately",
"urgent"
],
"friendly": [
"thanks",
"welcome",
"assistance"
]
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/write/tone-word-classify", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Please review this document promptly. Your assistance is appreciated.","lexicon":{"formal":["please","document","appreciated"],"casual":["hey","cool","yeah"],"urgent":["promptly","immediately","urgent"],"friendly":["thanks","welcome","assistance"]}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Please review this document promptly. Your assistance is appreciated.","lexicon":{"formal":["please","document","appreciated"],"casual":["hey","cool","yeah"],"urgent":["promptly","immediately","urgent"],"friendly":["thanks","welcome","assistance"]}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/write/tone-word-classify", 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": "Please review this document promptly. Your assistance is appreciated.",
"lexicon": {
"formal": [
"please",
"document",
"appreciated"
],
"casual": [
"hey",
"cool",
"yeah"
],
"urgent": [
"promptly",
"immediately",
"urgent"
],
"friendly": [
"thanks",
"welcome",
"assistance"
]
}
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "write.tone_word_classify",
"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_chars | 100000 |
max_lexicon_words_per_tone | 1000 |
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
Decida si un texto sin coincidencias debe fallar o usar un valor predeterminado
Si su aplicación necesita encaminar todos los elementos, indique default_tone con una de las cuatro etiquetas admitidas. El resultado mostrará esa etiqueta, recuentos y confianza iguales a cero, y used_default con valor verdadero. Si un resultado sorprende, revise matched_words: la causa suele ser un término demasiado amplio, un uso propio del sector o una palabra compartida por varias categorías.
Preguntas técnicas
¿Qué ocurre cuando no hay coincidencias?
La solicitud devuelve invalid_input salvo que se indique default_tone. Con un valor predeterminado, used_default es verdadero y la confianza es cero.