Génération automatique de contenu : obtenir une première structure éditoriale

Génération automatique de contenu : obtenir une première structure éditoriale

De très nombreuses techniques existent pour générer du contenu, notamment la génération automatiquse de textes à partir de données chiffrées. Malgré tout l’attrait de cette linguistique computationnelle, nos travaux vont nous conduire à générer du contenu via des algorithmes de résumé.

Avant toute chose, précisons que l’outil évoqué n’a pas été conçu pour remplacer le travail rédactionnel à proprement parler. L’objectif initial était de parvenir à créer un outil permettant de générer une première esquisse rédactionnelle sur des sujets spécifiques ou par manque d’expertise (sauf si vous connaissez par coeur le fonctionnement d’une tronçonneuse thermique ou encore que vous connaissez l’ensemble des étapes nécessaires pour installer une verrière dans une cuisine …).

Il s’agit donc de générer des résumés sur des multi-documents thématiques. Résumer un texte est très difficile car en tant qu’humains, pour résumer un texte, nous le lisons habituellement entièrement pour développer notre compréhension puis nous rédigeons un résumé mettant en évidence ses principaux points. Dès lors, nous pouvons faire en sorte de gagner du temps via l’automatisation.

L’objectif est donc de parvenir à générer des résumés de manière automatique, similaires à des résumés rédigés par des humains. La tâche la plus complexe revient à introduire la sémantique, critère de jugement de la qualité par les humains et non maitrisé par l’informatique (l’outil développé ne contient pas encore cette caractéristique. Vous êtes prévenus si vous souhaitez le tester 🙂 ).

Etape 0 : les principales caractéristiques de l’outil

  1. On scrape du contenu sur un SERP spécifique (google.co.uk, google.es …) en réponse à une demande d’information spécifique sur un sujet, formulé par l’utilisateur.
  2. On procède à un traitement spécifique pour extraire uniquement le contenu thématique.
  3. On calcule, pour chaque paragraphe identifié, un score d’importance.
  4. On regroupe les paragraphes proches sémantiquement.
  5. On procède à une traduction des contenus.

Etape 1 : récupérer du contenu existant

Ici, c’est la composition du SERP qui est importante. Avant de se lancer dans la génération du contenu, il faut étudier la manière dont s’affichent les résultats et quelles sont les pages positionnées sur les deux premières pages de résultats (car ce sont ces pages que nous allons extraire) afin de comprendre comment rédiger sa requête dans l’outil.

Etape 2 : extraire le contenu à forte valeur ajoutée

Pour une requête donnée, nous devons récupérer du contenu afin de procéder à un traitement visant à n’en récupérer que la substantielle moelle. Cela implique donc de ne pas tenir compte de certains sites comme les forums par exemple, les pages YouTube, les pages listes Amazon, etc. Le traitement implique également le fait de se débarrasser du bruit sémantique : éléments textuels sans lien direct avec le contenu lié à la requête (éléments textuels rattachés au menu, à des paragraphes hors propos, etc.).

Egalement, en fonction des localités, la qualité du contenu peut différer. Par exemple, les Belges auront tendance à avoir un contenu de meilleure qualité sur la bière (et pas sur le foot) que les Français, etc. Nous avons donc pris en compte cette composante afin de récupérer le contenu au « bon » endroit.

Construire une représentation intermédiaire du texte d’entrée qui exprime les principaux aspects du texte

Chaque système de résumé crée une représentation intermédiaire du texte qu’il a l’intention de résumer et trouve le contenu prépondérant basé sur cette représentation.

La représentation du sujet

La représentation du sujet peut se faire au travers de la mesure de la fréquence ou via une approche bayésienne.

S’agissant des mesures de la fréquence, on retrouve la probabilité d’un mot, et une notion bien connue : le TF-IDF.

De nombreuses méthodes de résumé multi-documents montrent des limites notamment le fait de considérer les phrases comme indépendantes les unes des autres. Le contexte n’est donc pas pris en compte. C’est là où l’approche par la statistique bayésienne intervient. Les modèles bayésiens sont des modèles probabilistes qui permettent de découvrir les sujets des documents. Ils sont assez puissants car ils représentent les informations qui se perdent dans les autres approches. L’avantage réside dans le fait de prendre en compte les différences et les similitudes des multi-documents utilisés pour le résumé.

La représentation des indicateurs

Les approches de représentation des indicateurs visent à modéliser la représentation du texte à partir d’un ensemble de caractéristiques et à les utiliser pour classer directement les phrases plutôt que de représenter les sujets du texte d’entrée. Les méthodes graphiques et les techniques de machine learning (dont la classification naïve bayésienne) sont souvent utilisées pour déterminer les phrases importantes à inclure dans le résumé.

Etape 3 : déterminer un score d’importance

Dans les approches de représentation multi-documents, le score d’importance représente à quel point la phrase explique certains des sujets les plus importants du texte. Dans la plupart des méthodes, le score est calculé en agrégeant les données probantes provenant de différents indicateurs. D’ailleurs, les techniques de machine learning sont souvent utilisées pour trouver des poids aux indicateurs.

Nous allons nous intéresser à différentes techniques de résumé, que vous pourrez utiliser, au choix, via l’outil.

Analyse sémantique latente

Ma méthode favorite 🙂 Elle attrait au traitement des langues naturelles qui implique la linguistique et l’intelligence artificielle. Cette méthode fait aussi appel à la représentation vectorielle de documents, introduite par Gérard Salton.

On utilise ici une matrice qui recoupe les occurrences entre les termes et les multi-documents.

Luhn

Du nom de Hans Peter Luhn, ingénieur chez IBM dans les années 40 (je profite de ce focus temporel pour vous conseiller les lectures sur les avancées de la linguistique et des techniques du traitement du langage dans ces années-là).

Cette méthode accorde un score aux phrases selon la fréquence des mots dans les multi-documents.

Edmundson

Harold Edmundson a développé la méthode de Luhn en incorporant dans le scoring des phrases, les mots-indices et la position des phrases dans les multi-documents. Il a élaboré trois dictionnaires regroupant les mots-indices positifs, négatifs et neutres.

LexRank

L’approche est basée sur le concept de centralité des vecteurs dans une représentation graphique des phrases. Dans ce modèle, une matrice de connectivité basée sur la similarité du cosinus intra-phrase est utilisée comme matrice de contiguïté de la représentation graphique des phrases.

Si je vous dit que la technique de résumé LexRank est liée à la notion de PageRank, cela vous intéressera forcément davantage. En effet, la méthode de calcul du LexRank est directement inspirée de celle du PageRank.

Pour s’assurer que la matrice de similarité soit toujours irréductible et apériodique, Larry Page (1998, 4. Propriétés de convergence) suggère de réserver une faible probabilité au fait de sauter à n’importe quel nœud du graphique.

Une marche aléatoire sur un graphique est un processus stochastique où, à une étape temporelle donnée, nous sommes à un nœud particulier du graphique et choisissons une sortie de façon uniforme et aléatoire pour déterminer le nœud à visiter à l’étape temporelle suivante.

Si nous attribuons une probabilité uniforme de saut à n’importe quel nœud du graphique, il nous reste la version de l’équation connue sous le nom de PageRank.

Etape 4 : regroupement des paragraphes

Utilisation de la méthode doc2vec

Le principe est d’établir une représentation numérique des documents, sans tenir compte du volume de contenu qu’ils contiennent. Le vecteur du document a pour but de représenter le contexte d’un document.

Utilisation de la méthode des k-moyennes

Cette méthode nous permet de réunir sous un même label les paragraphes en K groupes.

Méthode des k-moyennes

Etape 5 : traduction des contenus

On utilise TextBlob, qui lui-même utilise l’API de Google Traduction. Les résultats, comme vous pourrez le voir au cours de vos tests sont satisfaisants, bien que certains termes sont parfois mal traduits.

Installation et utilisation de l’outil

Décompressez l’archive que vous venez de télécharger, et placer là sur votre bureau.

Outil de génération

Ensuite, ouvrez le terminal et entrer les commandes suivantes :

pip install -r requirements.txt 
# cela vous permet d'installer rapidement l'ensemble des librairies requises

python -c "import nltk; nltk.download('punkt')"

Ensuite, rejoignez le répertoire « generer_tool » et lancer la commande suivante :

python3 generate.py [lang_src] [lang_tar] [methode]

[lang_src] fait référence à la langue dans laquelle vous souhaitez récupérer le contenu. Les langues suivantes sont disponibles : fr, es, de, en-uk et en-us.

[lang_target] fait référence à la langue dans laquelle vous souhaitez que le contenu soit généré : fr, en, es, de.

Et enfin, [methode] renvoie à la méthode de résumé que vous souhaitez utiliser parmi celles décrites plus haut : Luhn [luhn], LSA [lsa], Edmundson [edm] et LexRank [lex].

generer-tool-3

Patientez quelques secondes et récupérez le fichier « nom-de-votre-recherche.txt » dans le sous-dossier « data ».

Evolutions

Au-delà des améliorations que nous pouvons apporter au contenu généré en tant que tel, nous allons désormais nous intéresser au scraping des données de Google Shopping (cela fait notamment écho à la conférence d’Erlé de juin 2017 au Web2Day) afin d’extraire les caractéristiques liées aux produits, etc.

Google Shopping

Le développement de cet outil a été fait avec Pierre, brillant étudiant en Science des données.

Laisser un commentaire

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

Up Next:

Réaliser une analyse des entités et des sentiments avec son propre crawler

Réaliser une analyse des entités et des sentiments avec son propre crawler