18/10/2024

IA

Comment détecter un texte généré par IA ? Nous avons testé plusieurs outils !

I. Présentation

Dans cet article, je vous partage le fruit de mes recherches visant à savoir s'il existe des outils et méthodes pour détecter si un texte a été créé par une intelligence artificielle générative, ou LLM.

Le but de l'article n'est pas de remettre en cause l'utilisation de l'intelligence artificielle générative, qui est une évolution à laquelle nous devrons nous habituer qu'on le veuille ou non, mais de tenter de fournir des éléments concrets pour savoir si un texte a été créé par une IA. Nous ne discuterons pas non plus du côté éthique de l'utilisation de l'intelligence artificielle dans les différents cas d'usage que nous verrons, notamment parce que nombre de ces questions sont encore sujettes à débat.

Pour rappel, un LLM (Large Language Model), ou grand modèle de langage en français, est un modèle informatique capable de générer du langage ou d'effectuer d'autres tâches de traitement du langage naturel. En tant que modèles de langage, les LLM acquièrent ces capacités en apprenant des relations statistiques à partir de grandes quantités de texte au cours d'un processus d'apprentissage autosupervisé et semi-supervisé (Source : Wikipedia). Un LLM est donc un sous-ensemble de l'intelligence artificielle spécialisé dans le traitement et la génération de langage naturel.

II. Pourquoi chercher à savoir si un texte est généré par une IA ?

L'émergence fulgurante des intelligences artificielles de type LLM telles que ChatGPT, Mistral AI, Claude ou Gemini secoue un grand nombre de domaines qui reposent sur la capacité de l'être humain à générer du contenu (textuel, graphique ou audio) sur un sujet généraliste ou d'expertise. Il en devient difficile, voire impossible, de savoir si le texte, l'image, la vidéo ou la conversation que l'on a sous les yeux est réellement la production d'un être humain (ce qui est précisément le sujet du test de Turing au passage).

Les problèmes fréquents que l'on peut identifier dans un monde où tout ou partie du contenu que nous lisons ou voyons est généré par une intelligence artificielle portent notamment sur la faible qualité et profondeur du contenu généré, ainsi que le crédit que l'on peut accorder à son contenu, et donc à son prétendu auteur.

Il faut également savoir que cet "abus" de l'utilisation de l'intelligence artificielle pour la génération de contenu, et notamment de texte, peut-être un réel problème dans certains cas. Il existe, en effet, des contextes dans lesquels il est important de savoir si une intelligence artificielle ou un humain a généré un contenu donné. Pour n'en citer que quelques-uns :

  • Examen, recrutement et évaluation : dans le contexte d'un examen ou d'un recrutement, il est important de savoir si l'humain que l'on cherche à évaluer est bien l'auteur d'un contenu. Cela peut être une synthèse, un rapport d'audit, une analyse, ou une création artistique ou littéraire. Dans ces cas de figure, on cherche à valider que la personne évaluée est bien en capacité de réfléchir, d'analyser et de transmettre des connaissances ou des informations. Ainsi, l'utilisation de l'IA pour cela n'est ni bonne ni mauvaise, mais ne permet pas de confirmer que l'individu est capable, en l'absence d'IA, de mettre en œuvre son talent ou ses connaissances.
  • Protection contre les fausses informations : les campagnes de désinformation sont aujourd'hui fréquemment utilisées à des fins de déstabilisation dans un contexte géopolitique tendu. Dans de tels cas, il est fréquent de trouver des milliers de contenus générés par IA et diffusant de fausses informations sur Internet. Souvent, ces contenus se citent entre eux dans le but de renforcer leur crédit. Ainsi, savoir différencier le contenu généré par une IA de celui produit par des journalistes peut aider à garantir l'authenticité et l'intégrité des informations diffusées, et donc à mieux s'informer.
  • Protection le phishing et les arnaques : l'intelligence artificielle est aujourd'hui utilisée à bien des fins, bonnes ou mauvaises. On retrouve notamment l'usage des LLM pour générer des contenus visant à tromper une personne ou une masse d'utilisateurs (fausse facture, fausse amende, phishing). Savoir repérer si un texte généré par intelligence artificielle, souvent mieux construit que les e-mails ou documents de phishing "fait main", est aussi utile dans le contexte personnel que professionnel. Dans certains cas, les LLM ont même été utilisés dans le cadre d'arnaque via chatBot, audio ou même visio pour faire croire que la victime discutait avec une vraie personne.

Il ne s'agit là que d'exemples et il existe d'autres cas où il est important de pouvoir déterminer si un texte a été généré par IA ou non.

III. Les outils techniques : quelles performances ?

A. Méthodes de travail

Pour tenter de répondre à cette question, je suis parti à la recherche d'outils permettant d'effectuer cette "AI detection", voici ma démarche.

J'ai commencé par rechercher des outils gratuits à l'aide d'une recherche Google. J'ai pu observer durant mes recherches que bon nombre des applications et des projets de détection d'AI qui sont référencés par des blogs posts sont à présent hors ligne. Cela indique que ces outils ont une durée de vie assez courte, les évolutions rapides au niveau de la génération de texte amenant sûrement à des échecs de la détection, ce qui entraîne un abandon des projets (ce n'est que mon hypothèse).

Également, un grand nombre des sites proposés à la suite d'une recherche Google sont des scams (arnaques) qui proposent une version payante au bout de 1 essai alors que les performances ne sont pas au rendez-vous, prudence donc !


Pour détecter ces arnaques, soyez vigilants ! Tentez de savoir qui a mis en ligne le site, une entreprise, un projet open source, un étudiant ? Si vous n'avez pas facilement réponse à cette question, c'est que l'auteur se cache et qu'il n'est donc pas très honnête. Également, soyez méfiant des plateformes qui vous proposent l'achat de crédits ou un abonnement dès le deuxième essai alors que vous n'avez pas vraiment pu valider leurs performances.

J'ai donc retenu différents outils (référencement Google ou par d'autres blogs), ai vérifié leur pertinence et comparé leurs résultats. Pour cela, j'ai produit différentes « versions » d'un même texte afin de pouvoir comparer clairement et simplement les résultats d'analyse des outils, tout en sachant moi-même quelle version a été rédigée ou retouchée par un humain (moi-même) ou une IA (Mistral.AI ou ChatGPT). Pour chaque texte, j'ai donc généré les versions suivantes :

  • un texte que j'ai écrit moi-même
  • un texte que j'ai écrit moi-même, puis retouché par une IA (chatGPT 4) avec la phrase : "Peux-tu améliorer mon texte (dans la limite de XXX mots/paragraphes)."
  • un texte généré par chatGPT 4
  • un texte généré par Large 2 (IA de Mistral.ai)
  • un texte généré par une IA (chatGPT 4) et retouché par moi-même (ajout de fautes d'orthographe, réécriture des syntaxes trop formelles ou utilisant des superlatifs peu crédibles)

Ces textes sont au nombre de trois :

  • Un article de blog faisant le retour d'expérience du passage d'une certification en pentest. Pour les IA, généré à partir du prompt : "Peux tu m'écrire un blogpost dont l'intitulé est : Cybersécurité : mon retour d’expérience sur la certification CPTS proposée par Hack The Box"
  • Une lettre de motivation générée avec le prompt suivant : "Génère une lettre de motivation de 3 paragraphes pour le poste de pentester Senior dans une entreprise renommée Parisienne".
  • Une histoire fictive générée avec le prompt suivant : "Génère une brève histoire à propos d'Arthur le petit ourson qui part chercher le Graal avec ses amis (3 paragraphes)".

Cela nous m'a donc fait 15 textes différents à comparer en utilisant les outils retenus.

B. Résultats obtenus

Je partage ici avec vous les résultats obtenus par les différents outils utilisés. J'ai représenté graphiquement les données récupérées : le pourcentage en ordonnées représente la part du contenu rédigé par une IA estimée par chaque outil, qui sont eux présent en abscisse.

Voici donc les trois tableaux représentent les trois textes utilisés. Sur chaque graphique, j'ai entouré en bleu la zone la plus intéressante : celle où le score du texte "humain" est bien en deçà des scores des textes "IA" :

  • Résultats pour l'article de blog :
Comparaison des résultats de différents outils de détection de texte généré par IA sur un article de blog.
Comparaison des résultats de différents outils de détection de texte généré par IA sur un article de blog.
  • Résultat pour la lettre de motivation :
Comparaison des résultats de différents outils de détection de texte généré par IA sur une lettre de motivation.
Comparaison des résultats de différents outils de détection de texte généré par IA sur une lettre de motivation.
  • Résultat pour l'histoire fictive :
Comparaison des résultats de différents outils de détection de texte généré par IA sur une histoire fictive.
Comparaison des résultats de différents outils de détection de texte généré par IA sur une histoire fictive.

La première chose que l'on peut constater, c'est les résultats complètement erronés des solutions CrossPlage, CopyLeaks, Brandwell.ai et quillbot.com. Il s'agit vraisemblablement de faux projets (qui ont pourtant parfois une demande d'inscription ou d'abonnement). Les projets surferSEO.com et Writer.com ne s'en sortent pas trop mal dans le sens où les textes effectivement rédigés par une IA (courbes rouges/bordeaux) ou retouchés par une IA (courbe orange) ont un score plus élevé que ceux rédigés par un humain (courbe verte). En comparant les scores des textes "humain" et des textes "IA", on peut donc avoir un premier indicateur intéressant de détection d'une rédaction par une IA.

Enfin, les projets zerogpt.com et gptzero.me semblent les plus aptes à détecter la présence de contenu rédigé par IA. Même si le texte rédigé par un humain a un score qui va parfois jusqu'à 20%, on peut noter une vraie différence de score pour les textes rédigés par des IA.

Au-delà de la catégorisation "rédigé par une IA" ou "rédigé par un humain", il semble plus pertinent de s'attarder sur la différence de scoring entre deux textes. Ainsi, même si Writer.com passe de 1% (texte humain) à 8% (texte chatGPT 4) de contenu IA détecté, ce qui reste faible, on note une différence qui peut être un indicateur "fiable". Dans le fonctionnement des outils testés, cela signifie qu'il identifie 8% du contenu comme étant à coup sûr la production d'une IA, les 96% étant dont la production d'un humain.

Il semble également que le nombre de mots dans le texte analysé soit important. Par exemple, gptzero.me est assez fiable pour les textes 1 et 2 qui sont relativement longs, mais il indique un score de 88% de contenu IA dans le texte 3 (plus court) dans sa version rédigée par un humain, ce qui est donc un faux positif et ne permet pas de marquer une différence avec les autres textes qui ont aussi des scores élevés.

Dans l'ensemble et sans faire d'analyse approfondie, on peut donc dire que zerogpt.com et gptzero.me sont les deux meilleures solutions parmi celles testées.

C. Comment fonctionnent ces outils ?

Côté utilisation, tous les outils testés ont globalement le même fonctionnement : ils proposent un formulaire dans lequel on peut insérer du texte et cliquer sur bouton pour déclencher la détection. Tous n'ont en revanche pas les mêmes limitations. Certains outils sont limités en termes de nombre de mots, d'autres en nombre de caractères ou nombre d'utilisations pour une même adresse IP ou session.

Certains des outils testés limitent leur utilisation gratuite à 300 mots, ce qui paraît très faible pour une détection efficace. Plus le texte analysé est long, plus on aura de chance d'y trouver des redondances, des structures similaires, etc.

Voici un exemple de l'outil le plus "pertinent" d'après mes tests (GPTZero.com) :

Exemple d'interface d'outil en ligne de détection de texte généré par IA (GPTZero.com).
Exemple d'interface d'outil en ligne de détection de texte généré par IA (GPTZero.com).

En termes de résultat, il faut bien lire ce qui est affiché ! Certains des outils utilisés indiquent un pourcentage (estimé) de contenu rédigé par un humain dans le contenu analysé, alors que d'autres indiquent le pourcentage de contenu rédigé par une IA. Certaines solutions surlignent même les parties du texte qu'ils estiment comme provenant d'une IA.

Enfin, les solutions les moins fiables de mon panel de tests indiquent simplement un "rédigé par un humain" ou "rédigé par une IA", sans nuances ni précisions supplémentaires.

En conclusion, nous pouvons dire qu'il faut être très vigilant concernant les outils automatisés et gratuits pour réaliser cette tâche. Bien que le comparatif que j'ai réalisé pour cet article permet de faire ressortir deux solutions qui sont manifestement en capacité de donner des indicateurs intéressants, nous voyons bien que les résultats peuvent être très différents d'un outil à un autre, bien que tous se présentent comme étant la meilleure solution du marché. Après avoir fait vos propres tests, vous vous rendrez compte comme moi que, dans l'ensemble, aucune des solutions gratuites prétendant pouvoir détecter des textes générés par IA n'est vraiment fiable et leur fonctionnement est plutôt obscure, ou du moins pas assez clair pour être utilisées sérieusement dans des situations importantes.

Surtout, il ne faut pas sous-estimer les conséquences d'une catégorisation erronée d'un texte comme provenant d'une IA dans certains contextes (examen, recrutement, avis médical, etc.), ce n'est pas une chose à prendre à la légère.

Il existe certainement des solutions payantes plus efficaces que d'autres (si vous en connaissez, faites-nous un retour dans les commentaires), mais elles n'entrent pas dans le cadre de ce test.

Si l'on s'intéresse maintenant à la partie théorique de la détection d'un texte généré par l'intelligence artificielle, tous les outils testés sont bien entendus très secrets sur leurs méthodes détection, mais nous pouvons extraire quelques méthodes de cet article de 2022 du MIT : How to spot AI-generated text.

Les chercheurs indiquent, par exemple, que dans les textes générés par IA, l'occurrence de certains mots est anormalement élevée par rapport à un texte rédigé par un humain. Les exemples donnés parlent notamment de la répétition du mot "the". Cela, car les LLM fonctionnent par la probabilité d'apparition d'un mot à la suite d'un autre et que les mots "the", "it" et "is" sont les gagnants en termes de probabilité. Pour éviter les répétitions, un humain aura parfois tendance à utiliser des mots plus rares ou complexes. D'autres éléments comme la longueur des phrases ou la structure générale du texte sont utilisés.

Ce n'est bien sûr qu'une petite partie de ce qu'un algorithme d'identification des textes générés par IA peut regarder, mais cela tourne globalement autour de la vérification de la syntaxe, du choix des mots utilisés et des probabilités plus que du sens du texte en lui-même.

III. Les astuces logiques

En plus des outils "techniques" permettant de réaliser cette tâche, nous pouvons utiliser des outils "logiques" pour identifier un texte généré par IA.

A. Analyse du style rédactionnel

Une rédaction belle et agréable n'est pas à la portée de tous et requiert un bon savoir-faire, de la pratique et de l'expérience. Chaque personne possède son propre style rédactionnel, parfois imparfait, orienté ou rempli de "tic" (j'écris par exemple, beaucoup trop de fois « notamment », « comme suivant » ou « en cela » dans mes articles). En comparaison, les textes produits par les IA ont souvent le défaut d'être lisses, sans reliefs, impersonnels et "parfait" : bref, on s'ennuie généralement assez vite.

Ces textes se distinguent généralement par l'absence de syntaxes alambiquées, de fautes d'orthographe ou de typos (erreurs de frappe), mais également de spontanéité ou d'un rythme qui sied plus à l'oral qu'à l'écrit.

Même s'il faut noter que les intelligences artificielles ne font pas de fautes d'orthographe (sauf peut-être si on leur demande d'en faire), ce n'est pas le critère le plus important. La plupart des outils rédactionnels comme Word ou un simple navigateur intègrent, en effet, des outils de vérification orthographique et syntaxique. Il s'agit donc de moins en moins d'un critère très fiable et il peut fausser l'analyse.

Il est souvent plus pertinent de regarder la syntaxe et le style d'écriture. Il s'agit de critères moins évidents à analyser, mais qui ont l'avantage de pouvoir être comparés à d'autres textes écrits par le même auteur.

En outre, j'ai remarqué que les textes rédigés par des IA ont tendance à tout trouver absolument super : elles font un usage abusif des superlatifs que l'on retrouve généralement assez peu dans les rédactions humaines honnêtes. Également, les mots comme « crucial » et « essentiel » doivent vous mettre la puce à l'oreille (signature de ChatGPT pour les textes en français). Aussi, ces textes font systématiquement des conclusions, même s'ils n'ont écrit qu'une liste à puce de trois points, ou des transitions entre chaque idée si le texte est suffisamment long.

En cela, on peut faire un parallèle entre les images/vidéos et les textes générés par IA. Visuellement parlant, une image ou vidéo générée par IA est souvent trop parfaite pour être vraie, sans que l'on puisse réellement expliquer pourquoi.

B. Erreurs grossières et connaissances approfondies

Les IA sont de très bons vulgarisateurs, mais ne sont pas forcément expertes sur des sujets ou des questions très précises qui requièrent une expérience réelle. Un élément cruellement manquant dans les textes générés par l'IA est l'expérience personnelle de l'auteur, la petite anecdote personnelle qui aide à mieux comprendre ou qui permet de faire un parallèle avec un sujet qui à première vue n'a rien à voir, mais qui présente en fait des similitudes avec le sujet traité.

Cette "expertise" (ou son absence) peut aussi être plus facile à repérer dans les textes portant sur des sujets précis et complexes, dans lesquels des mots parfois inhabituels (dans la vie courante) et très spécifiques au sujet sont utilisés par des humains et pas par les IA dans leurs rédactions.

Dans le cas où vous êtes en interaction avec la personne ayant fourni le texte à analyser, le plus simple reste de lui poser des questions sur son propre texte pour voir s'il maîtrise son contenu.

À l'inverse, les intelligences artificielles et LLM sont tenus de générer du texte, pas de dire la vérité. Il est donc possible de détecter l'utilisation de l'intelligence artificielle en identifiant des faits manifestement faux voire fantaisistes dans un texte, qui plus est quand ils sont justifiés et argumentés (nous appelons cela une « hallucination » dans le domaine de l'IA).

C. Actualisation des connaissances

Bien sûr, un troisième élément à vérifier lorsque l'on échange avec une IA ou que l'on analyse un texte généré par une IA est son niveau de "mise à jour". La plupart des intelligences artificielles aujourd'hui sont entraînées avec des données générées jusqu'à une certaine date, ce qui peut les amener à donner des informations datées.

En effet, les LLM et intelligences artificielles sont des programmes complexes qui analysent un grand nombre de données pour apprendre. Cette "source de données" doit être maîtrisée et soigneusement choisie pour éviter que l'intelligence artificielle apprenne à partir de données erronées. En cela, il n'est pas envisageable de juste lui dire "apprends depuis Internet". Les concepteurs d'IA récupèrent effectivement des données depuis Internet, mais elles sont analysées et triées avant d'être utilisées. Mécaniquement, l'IA ne peut être au faîte des dernières actualités.

Ce principe de source de donnée et de sa sécurité sont très bien abordés dans le guide de l'ANSSI "Recommandations de sécurité pour un système d'IA générative" que je vous recommande de consulter. On retiendra notamment le scénario d'attaque suivant : "l’attaquant dispose d’un accès à une source de données et réalise au préalable un empoisonnement des données utilisées pour entraîner le modèle d’IA, ce qui permet de détourner son usage une fois le système d’IA en production (ex. : déclencher une action malveillante de manière cachée à partir d’une requête spécifique) ;"

Cet élément est cependant de moins en moins fiable puisque les IA commencent à pouvoir naviguer en direct sur Internet. Par exemple, les données fournies à ChatGPT pour son entraînement ont été récupérées en septembre 2021. Ainsi, on s'attendrait à ce qu'il ne soit pas en capacité de nous dire qui est le Premier Ministre actuel (en septembre 2024), mais ChatGPT peut accéder à Internet :

Comparaison du niveau de mise à jour entre deux LLM (ChatGPT et Mistral AI).
Comparaison du niveau de mise à jour entre deux LLM (ChatGPT et Mistral AI).

Contrairement à Mistral.ai (à droite), qui a une base de données plus récente, mais qui n'a pas accès à internet en temps réel.

V. Conclusion

J'ai partagé avec vous le fruit de mes recherches concernant la possibilité de détecter et de différencier un texte généré par une intelligence artificielle d'un texte généré par un humain. Il ne s'agit pas bien sûr d'une liste exhaustive et d'outils imparables, mais en conclusion, je pense qu'il est aujourd'hui encore possible, avec les bons outils et le bon entraînement, de détecter de tels textes.

L'article du MIT cité plus haut dans cet article mentionne d'ailleurs des programmes d'entraînement (en anglais), avec lesquels ils voient un net progrès des utilisateurs concernant la détection de textes générés par IA après quelques minutes d'entraînement :

Cependant, il ne faut pas sous-estimer la rapidité et la puissance des évolutions dans ce domaine, ChatGPT a été rendu public il y a seulement 2 ans et a déjà radicalement changé certains usages. Ses évolutions sur cette courte période sont facilement visibles et continueront certainement à ce rythme pendant quelque temps. Les techniques et outils d'aujourd'hui pourront donc ne plus fonctionner demain. Je n'ai d'ailleurs pas mentionné dans cet article les nombreuses "astuces" ou prompts que l'on peut trouver sur ChatGPT et Internet en vue "d'humaniser" un texte généré par IA afin de le rendre indétectable (comme pour la détection, je pense qu'il existe à ce sujet de nombreuses arnaques et faits non vérifiés).

Pour finir, nous pouvons souligner que Google, dans son article "Conseils de la recherche Google concernant le contenu généré par IA", n'indique pas que l'utilisation de l'IA est contraire à sa politique de référencement, sauf si c'est dans le but d'améliorer de manière artificielle le référencement d'un site (plutôt flou, tout article a pour ambition d'apparaître en premier d'une recherche Google). Google souligne que seuls les articles répondant au quatuor "l'expertise, l'expérience, la légitimité et la fiabilité" sont mis en avant. Il s'agit de critères qu'un humain averti est capable de juger également, si on lui propose les bons articles quand il fait une recherche bien sûr.

OpenAI quant lui recommande aux utilisateurs de ses modèles d'être transparents quant à l'origine des textes générés par IA (aucune obligation), tout en gardant son détecteur de texte généré par IA secret, car il serait trop mauvais pour son business (Source : Le Monde - OpenAI a créé un système capable de détecter les textes créés par ChatGPT, mais refuse de le déployer).

Affaire à suivre ! Pensez à partager vos astuces ou outils de détection si vous en connaissez des sérieux ou avez testé des outils payants, cela profitera à tous.

Le sujet de l'IA vous plaît ? Voici d'autres outils à découvrir :

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

1 commentaire sur “Comment détecter un texte généré par IA ? Nous avons testé plusieurs outils !

  • Excellent article, merci d’avoir pris le temps de tester tout ça !

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.