Intermédiaire7 min de lectureMis à jour

Classification zero-shot : comment un modèle comprend des règles écrites en toutes lettres

Comment un modèle applique-t-il « Pas de spoilers » sans avoir appris cette règle ? Inférence en langage naturel et règles de modération sur mesure.

Le problème

Un classificateur classique ne connaît que les catégories sur lesquelles il a été entraîné. Mais chaque communauté a ses propres règles : pas de spoilers, pas de vente de comptes, seulement du football, pas de liens vers d'autres serveurs. Entraîner un nouveau modèle pour chaque règle de chaque communauté est impossible.

La classification zero-shot résout ce problème : le modèle reçoit la catégorie sous forme de phrase au moment de la requête et juge si le texte y correspond.

L'inférence en langage naturel (NLI)

Beaucoup de classificateurs zero-shot reposent sur une tâche appelée inférence en langage naturel. Le modèle reçoit deux textes :

  • une prémisse (ici : le message de la discussion),
  • une hypothèse (ici : une règle ou la description d'une catégorie),

et décide si la prémisse implique l'hypothèse, la contredit ou est neutre.

Prémisse (message)HypothèseRéponse
« mdr le chien meurt à la fin »« Ce message révèle l'intrigue d'un film ou d'une série. »implique
« quelqu'un a vu le final ? »« Ce message révèle l'intrigue d'un film ou d'une série. »n'implique pas
« je vends mon compte niveau 80, MP »« Ce message propose d'acheter ou de vendre des comptes de jeu. »implique

La probabilité de « implique » devient le score de la règle. Le même mécanisme gère aussi les catégories fixes : « insulte » n'est que l'hypothèse « Ce message insulte une personne ».

Pourquoi cela se généralise

Pendant l'entraînement, le modèle voit des centaines de milliers de paires prémisse–hypothèse sur toutes sortes de sujets. Il n'apprend pas les règles elles-mêmes : il apprend la compétence de vérifier si un texte correspond à une description. Cette compétence s'applique à des règles qu'il n'a jamais vues, dans toutes les langues qu'il connaît.

Écrire de bonnes règles

  • Le concret l'emporte sur l'abstrait. « Pas d'achat, de vente ou d'échange de comptes ou d'objets » marche mieux que « Respectez l'économie ».
  • Une idée par règle. Séparez « Pas de spam ni de politique » en deux règles.
  • Décrivez le comportement, pas une liste de mots. « Ne révélez pas la fin des films ou des séries » repère les spoilers, quelle que soit leur formulation.
  • Testez sur de vrais exemples et ajustez le seuil, comme pour toute catégorie.

Le contexte aide aussi les règles

« Il meurt à la fin » n'est un spoiler que si la discussion porte sur une série. Les modèles zero-shot qui lisent aussi les messages précédents peuvent juger des règles qui dépendent de la discussion ; voir le contexte dans la modération.

Dans VigiMod

Les règles sont envoyées avec chaque requête, jusqu'à 10, dans n'importe quelle langue :

"rules": {"no-spoilers": "Pas de spoilers sur les films ou les séries"}

Chaque règle renvoie son propre score et son signalement (rule:no-spoilers), à côté des catégories intégrées. Détails dans la documentation.

Testez-vous

Répondez aux questions, puis vérifiez vos réponses.

  1. 1. Que signifie ici « zero-shot » ?
  2. 2. En NLI, le message de la discussion joue le rôle de…
  3. 3. Quelle règle a le plus de chances de bien marcher ?
  4. 4. Pourquoi le modèle peut-il vérifier une règle qu'il n'a jamais vue ?

Tous les guides →

Voyez-le sur de vrais messages

Essayez la démo en direct ou lisez comment fonctionne l'API.