Classez le ton général d’un texte avec votre lexique
Dans le message d’exemple, trois mots formels, un urgent et un amical donnent un registre formel avec une confiance de 0,6, soit 3 occurrences sur 5. Vous rédigez les listes de mots : chaque résultat se vérifie mot par mot. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Ce classificateur de ton général compare un texte à un lexique que vous maîtrisez. Fournissez des listes de mots formels, familiers, urgents et cordiaux : l’outil comptera les mots entiers, sans modèle ni requête réseau. Il renvoie le ton dominant, le total par catégorie, les mots repérés, un indice de confiance et l’éventuel recours à la valeur par défaut demandée. Une même entrée associée au même lexique produisant toujours le même résultat, cette sortie convient aux contrôles éditoriaux, aux règles d’acheminement et aux tests reproductibles.
Constituez un lexique fidèle à vos règles rédactionnelles
Une classification pertinente commence par un lexique adapté aux contenus examinés. Placez dans la catégorie formelle les termes qui signalent réellement la formalité dans votre organisation. Réservez les tournures relâchées à la catégorie familière, les mots tels que « immédiatement », « échéance » ou « critique » à l’urgence, et « bienvenue », « merci » ou « heureux » à la cordialité.
Chaque catégorie étant explicite, vos équipes peuvent contrôler et modifier la règle sans devoir deviner pourquoi un modèle opaque a choisi une étiquette. Les entrées sont recherchées comme des mots entiers, sans tenir compte des majuscules. Un même mot peut figurer dans plusieurs catégories : chacune de ses occurrences contribue alors à toutes ces catégories.
Les doublons d’une liste sont supprimés afin qu’une répétition accidentelle n’augmente pas son influence. Choisissez des termes assez précis pour caractériser le ton dans votre domaine. Les mots très courants et peu expressifs risquent de masquer un indice plus rare mais plus révélateur.
Chaque catégorie accepte jusqu’à mille mots, ce qui permet de bâtir un dictionnaire éditorial ciblé tout en maintenant un traitement borné et prévisible.
Interprétez le score et la règle de départage
Le classificateur découpe le texte en mots, puis recherche chacun d’eux dans les quatre listes. Les répétitions présentes dans le texte sont comptées à chaque fois, car elles peuvent renforcer le ton perçu. Le résultat fournit les totaux formel, familier, urgent et cordial, ainsi que les mots distincts repérés par catégorie : la conclusion reste donc vérifiable.
Le ton dominant correspond au total le plus élevé. La confiance est le rapport entre ce total gagnant et l’ensemble des occurrences. Elle décrit la part des indices observés qui soutient la catégorie retenue, et non une probabilité statistique portant sur l’intention de l’auteur.
En cas d’égalité, l’ordre stable est formel, familier, urgent, puis cordial. Cette convention garantit un résultat identique dans le navigateur et dans une automatisation ; vous pouvez néanmoins consulter les totaux et appliquer ensuite votre propre règle. La ponctuation et la casse n’affectent pas les correspondances ordinaires.
Une entrée de lexique doit contenir un seul mot : les expressions et l’analyse sémantique relèvent plutôt d’un outil fondé sur un modèle.
Choisissez entre une erreur et une valeur par défaut sans occurrence
L’absence de correspondance est en elle-même une information. Par défaut, le classificateur renvoie une erreur d’entrée incorrecte lorsque le texte ne contient aucun indicateur du lexique. Un processus ne peut ainsi attribuer silencieusement une étiquette à un texte neutre ou hors vocabulaire comme si des éléments la justifiaient.
Les décisions fondées sur des indices restent donc distinctes des choix de repli, sans deuxième requête. Lors de la mise au point du lexique, il est souvent préférable d’omettre la valeur par défaut afin de repérer le vocabulaire manquant, puis de ne l’ajouter qu’après une évaluation sur des contenus représentatifs. La fonction ne déduit ni sarcasme, ni syntaxe, ni public, ni contexte.
Sa force est sa reproductibilité absolue.
Cas d’usage
Acheminer les demandes d’assistance
Envoyez les messages dominés par un vocabulaire urgent vers une file prioritaire tout en conservant les mots exacts comme preuve.
Faire respecter une charte éditoriale
Contrôlez les brouillons avec vos listes de termes formels et familiers avant leur publication.
Tester des textes générés
Vérifiez une étiquette de ton reproductible dans vos tests automatisés sans dépendre des variations d’un modèle.
Questions fréquentes
Combien coûte une classification ?
La version du navigateur exécute localement la même logique déterministe.
La recherche distingue-t-elle les majuscules ?
Non. Le texte et les entrées du lexique sont convertis en minuscules avant la comparaison des mots entiers.
Que se passe-t-il si deux tons sont à égalité ?
L’ordre stable est formel, familier, urgent, puis cordial. Tous les totaux restent disponibles si vous préférez une autre règle en aval.
Un mot peut-il appartenir à plusieurs catégories ?
Oui. Chaque occurrence contribue une fois à toutes les catégories qui contiennent ce mot, et le résultat l’affiche dans chacune.
L’outil comprend-il l’ironie ou le contexte ?
Non. Il classe uniquement les occurrences explicites de mots, ce qui rend précisément son résultat transparent et reproductible.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"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"
]
}
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "write.tone_word_classify",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_chars | 100000 |
max_lexicon_words_per_tone | 1000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Choisissez entre une erreur et une valeur par défaut sans occurrence
Si votre application doit acheminer chaque élément, renseignez default_tone avec l’une des quatre étiquettes autorisées. Le résultat indiquera cette étiquette, des totaux et une confiance à zéro, ainsi que used_default à vrai. Si un classement vous surprend, examinez matched_words : un terme trop général, un emploi propre à votre secteur ou un mot partagé entre catégories en est souvent la cause.
Questions techniques
Que se passe-t-il lorsqu’aucun mot ne correspond ?
La requête renvoie invalid_input sauf si default_tone est fourni. Avec ce repli, used_default vaut vrai et la confiance est nulle.