Générateur d'idées d'articles

Générateur d’idées d’articles

Si je devais choisir un 6ème sens, je prendrais la créativité. Mais comme je ne l’ai pas, j’ai longtemps utilisé des générateurs d’idées pour trouver de l’inspiration. C’est l’occasion de vous introduire le NLP pour générer des textes.

Générateur d'idées d'articles

Le principe est simple : j’entre un mot clé dans le générateur et un titre d’article s’affiche. Si j’entre ‘’machine learning’’ on me propose des articles comme ‘‘Que serait le monde sans machine learning ?’’ ou encore ‘’L’intelligence artificielle dominera-t-elle le monde ?’’. Peu inspiré par les idées générées je me suis plutôt demandé : comment ce générateur fonctionne-t-il ?

Même si ces générateurs utilisent souvent des structures toutes faites pour donner des propositions (donc rien d’intelligent), on peut utiliser une approche assistée par intelligence artificielle pour générer des titres et même plus inquiétant, pour générer des textes complets ! Voici comment ça marche.


Générer des textes : plusieurs défis à résoudre


Lorsque l’on veut générer automatiquement un texte par apprentissage, plusieurs problèmes se posent. D’abord, le langage humain est un système de communication très sophistiqué. Les règles de grammaire et de conjugaison varient d’une langue à l’autre et le sens que l’on donne aux mots dépend souvent du contexte.

Plus subtile encore, dans nos textes, nous employons souvent des figures de style qui peuvent être interprétées littéralement par la machine et engendrer des contresens. La plupart des systèmes de NLP (Natural Language Processing) actuelles ne permettent qu’une compréhension littérale mot à mot des textes. Même si des modèles comme les LSTM permettent de mieux considérer les relations entre les mots dans une même phrase.

Autre problème, qui relève cette fois du contenu et de l’idéologie dégagée plutôt que de la syntaxe, les textes que l’on fournit au départ à l’algorithme d’apprentissage peuvent être biaisés par les opinions personnelles de la personne qui les a écrits. Il faut donc que le processus d’apprentissage soit suivi avec soin. Afin que l’hooliganisme humain ne soit pas transmis à la machine.

Toutes ses difficultés rendent la génération de textes par IA beaucoup plus difficiles.

NLP pour générer des textes


Le NLP est un domaine du machine learning qui permet aux machines de comprendre le langage naturel (c’est aussi celui que je préfère).

Pour aller à l’essentiel, l’idée de base est de pouvoir estimer des probabilités de présence de chaque mot sachant que d’autres mots se trouvent dans le texte. L’objectif est de pouvoir ajouter les mots les uns après les autres en conservant un sens globale pour le texte qui est généré.

Word embeding

Avant de pouvoir créer un modèle de machine learning pour quoique ce soit, la question de l’encodage se pose. Pour les textes on a longtemps des encodages peu efficaces dans le sens où ils ne permettaient de construire une sémantique du langage précise.

Aujourd’hui, les systèmes d’encodage de données textuelles sont de plus en plus sophistiqués. Par exemple le modèle Word2vec permet de transformer n’importe quel mot d’un corpus en un vecteur. Ce qui permet de calculer des distances entre des mots.

Et le système est tellement efficace qu’il permet, avec des données d’entraînements assez fiables, de faire des calculs de ce types :

Roi + Reine = Homme + Femme
Bonjour + Au-revoir = 0

Si voulez apprendre à utiliser Word2vec lisez mon tutoriel sur la classification de phrases.

Les réseaux de neurones LSTM pour donner du sens aux phrases


Pouvoir étudier le sens des mots un à un est un départ intéressant, mais on veut pouvoir étudier les textes et donner à la machine la capacité de compréhension globale.

Pour cela les réseaux de neurones de types LSTM sont parfaits. LSTM est l’acronyme de Long-Short Term Memory.

Comme leur nom l’indique, ces réseaux sont constitués de neurones dont l’architecture permet de prendre en considération les mots voisins, et de façon plus générale, les séquences de mots. Ces réseaux on donner une nouvelle dimension au NLP. Les machines peuvent désormais avoir une compréhension plus globale des textes et des conversations.

Quid de la question éthique ?


Je suis un grand fan de littérature et, pour être honnête, même si toutes ces avancées en NLP me fascinent, je suis assez préoccupé par les questions éthiques qui en découlent.

Les algorithmes de génération de textes se développent à un rythme impressionnant. Aujourd’hui, certains algorithmes, comme GPT-2 d’OpenAI, sont capables de rédiger des essais entiers sur un sujet donné. (Update : ils ont sorti GPT-3 tout récemment). L’enchaînement d’arguments et d’exemples est parfaitement exécuté, on ne pourrait pas le différencier d’un écrit fait par un humain.


C’est le dilemme éternel de la technologie. Elle permet de faire des choses formidables qui profitent à l’humanité. Néanmoins lorsqu’elle est mise dans les mains de personnes mal-intentionnés elle peut s’avérer dangereuse.

Concernant cette question, nous avons tendance en Europe d’y répondre de façon trop radicale. Par exemple, beaucoup d’états parlent d’interdire les systèmes de reconnaissances faciales. Mais il me semble que cette approche soit plus dangereuse qu’il n’y paraisse. Le jour où ces techniques se démocratiseront, nous seront beaucoup trop en retard sur ces questions. Et nous risquons d’être contraint d’utiliser des technologies chinoise ou américaine. Comme toujours !