mercredi 2 décembre 2020

Micropole accompagne un acteur majeur de la Presse Quotidienne Régionale (PQR) française dans l’industrialisation de modèles de Text Mining

Par Patrice Michel, Manager Data Science chez WIDE Agency, Groupe Micropole

 

Nous présentons ici un use case de Text Mining réalisé pour un client, qui est un titre de Presse Quotidienne Régionale (PQR) française.

 

 

Qu’est-ce que la donnée textuelle ?

 

L’utilisation des données dites « structurées » fait partie de l’écosystème core des data scientists. Ces données, présentes dans des bases de données relationnelles par exemple, nous permettent de répondre aux besoins opérationnels : identifier les clients avec risque de départ, vendre des produits additionnels, segmenter les clients selon leur valeur ou leur potentiel, etc.

 

Mais 90% des données disponibles sont dites non-structurées, autrement dit elles ne s’intègrent pas aisément dans des bases de données relationnelles, et leur analyse est complexe, comme par exemple :

  • Les commentaires des clients lors d’enquêtes ;
  • Les avis donnés sur les sites internet sur un produit, un restaurant, etc. ;
  • Les commentaires sur les réseaux sociaux ;
  • Les conversations orales, retranscrites en texte après un traitement Speech To Text ;

 

 

Atteindre ses objectifs business et identifier les opportunités d’achats d’articles

 

Avec plusieurs millions de visiteurs mensuels, notre client est un acteur majeur de la Presse Quotidienne Régionale (PQR) française. Son objectif est d’offrir à ses lecteurs l’information la plus adaptée à leurs envies.

  • Une partie des articles est gratuite à la lecture, permettant ainsi d’être lisible pour l’ensemble de ses lecteurs.
  • Une autre partie de ces articles est exclusivement réservée à ses abonnés.

 

Les revenus issus de ces abonnements représentent une part significative du chiffre d’affaires. L’objectif est d’identifier en amont les articles permettant au mieux de convertir les lecteurs en abonnés pour les réserver aux abonnés, et par conséquent d’augmenter les revenus.

 

Chaque article contient, au-delà du texte brut, des métadonnées structurées et riches d’un grand nombre d’informations le concernant (ex : thèmes abordés).

 

La première étape a été de développer des modèles de Machine Learning pour identifier les articles avec la plus forte appétence pour convertir les lecteurs.

  • Tous les jours, un modèle est construit sur les articles publiés sur un passé récent pour identifier l’appétence à l’achat. Le modèle est constamment reconstruit pour tenir compte de l’actualité (ex : Megxit, Brexit, élections, etc.).
  • Ce modèle est ensuite exposé via une API. Chaque nouvel article demande, lors de sa publication, la recommandation du modèle. Cette recommandation est appliquée sur les sites internet et les réseaux sociaux : l’article est soit réservé aux abonnés, soit gratuit à la lecture.

 

 

 

Dans ce cas, nous parlons d’un modèle de Machine Learning supervisé : la cible est « identifiable », c’est-à-dire que l’article amène à une conversion.

 

Cette première étape a ainsi permis de développer et d’industrialiser un modèle de Machine Learning de prédiction.

 

Toutefois, ces modèles ne tiennent pas compte de la donnée initiale : l’article en lui-même. Dans un second temps, des travaux de Text Mining ont alors été développés.

 

 

Quels sont les principes du Text Mining ?

 

Rentrons un peu dans la technique pour démystifier le Text Mining. Ici, nous allons plus spécifiquement parler dans le cas d’un modèle supervisé.

 

Les étapes du Text Mining d’un modèle supervisé peuvent être synthétisées de la manière suivante :

 

 

1. La lexicométrie

 

La lexicométrie est l’étape initiale en Text Mining. Cette méthode permet de transformer une donnée non-structurée en une matrice exploitable d’un point de vue Data Science.

Les étapes de la lexicométrie sont :

  • Normalisation du texte : conversion du texte en minuscules, suppression de la ponctuation ;
  • Nettoyage : suppression des mots vides (les mots sans valeur : le, la, du, etc.) et les caractères spéciaux ;
  • Lemmatisation[1] : chaque mot est remplacé par son lemme, sa forme neutre canonique[2] (petites devient petit) ;
  • Création d’un tableau lexical (la matrice Documents-Termes) contenant tous les articles en ligne et tous les mots en colonne. Une cellule contient le nombre d’occurrences[3] du mot dans le document.

La lexicométrie conçoit le texte comme un « sac de mots »[4] : chaque mot garde la même valeur quelque que soit sa position dans le texte[5]. La lexicométrie ne tient pas compte du tissu textuel.

 

 

2. Statistiques descriptives

 

Il est fortement recommandé de réaliser quelques statistiques sur le comptage de mots, les mots les plus répartis, etc. pour maîtriser votre base de travail.

 

 

Classiquement, un word cloud est réalisé.

 

 

3. Pertinence de la base

 

L’objectif de la Data Science est d’identifier les informations cachées dans une base (l’inertie), encore faut-il qu’il y ait une information pertinente à trouver ! Cela peut effectivement arriver que la donnée identifiée ne soit pas suffisante pour en extraire une information significative.

 

Nous appliquons un modèle de Machine Learning pour déterminer si certains articles sont différents des autres, autrement dit s’il est possible de les distinguer grâce à leur thème.

 

Le Topic Modeling (modèle thématique) est un ensemble d’algorithmes permettant de créer une classification des textes selon des thèmes significatifs. Cela nous permet d’identifier les thèmes (ou mots) qui sont fortement utilisés dans une partie des textes, au-delà d’une utilisation usuelle, et nettement moins dans les autres textes.

 

L’algorithme le plus utilisé est la LDA (Latent Dirichlet Allocation)[6]. Une LDA permettra de voir si les textes étudiés contiennent des informations potentiellement pertinentes, c’est à dire que les textes disposent bien d’informations différentes entre eux.

Si la base de travail est pertinente, alors la LDA fournira des résultats probants.

 

 

4. Echantillon représentatif

 

La matrice Documents-Termes est particulière. Elle a nettement plus de colonnes que de lignes et elle a de nombreux éléments vides (tous les mots ne sont pas utilisés dans un document). Cette matrice peut dépasser rapidement 100 000 lignes pour 3 à 4 fois plus de colonnes.

 

Comme nous n’avons pas tous accès à un serveur Big Data[7], il peut être nécessaire alors de travailler sur des échantillons significatifs.

 

 

5. Sélection des variables

 

Puisque la matrice a plus de colonnes (mots) que de lignes (articles), il sera utile de réduire le nombre de mots :

  • Pour réduire la taille de matrices à injecter dans les modèles de Data Science après ;
  • Pour éviter un phénomène de sur-apprentissage, un grand nombre de variables pouvant en fait expliquer une observation.

 

Le sur-apprentissage représente le risque dans la construction d’un modèle de Data Science. Lorsque l’on construit un modèle pertinent sur une population, sa qualité peut se réduire drastiquement, voire disparaitre sur une autre population.

 

Nous cherchons donc à réduire le nombre de mots en supprimant ceux qui délivrent la même information.

 

 

6. Sélection des modèles optimaux

 

Dans notre recherche d’articles pouvant convertir les lecteurs du journal en abonnés, de nombreuses méthodes ont été testées et deux ont démontré une amélioration du score.

 

Le Support Vector Machine

 

L’algorithme de Data Science a été créé par Vladimir Vapnik.

 

L’idée innovante de cet algorithme est de considérer qu’un problème non-linéaire se transforme en problème linéaire dans un hyper-plan (plan de dimension supérieure).

Il suffit juste de connaître la fonction de passage de notre espace à l’hyper-plan (et réciproquement).

 

L’idée originale ici est de regarder sur un espace plus grand.

 

 

Le perceptron multicouche

 

Le perceptron multicouche est tout simplement le premier algorithme de Deep Learning.

 

Le Deep Learning consiste à réduire un problème complexe et un très grand nombre de problèmes simples, comme font les neurones de notre cerveau.

 

Il est parfaitement adapté aux problèmes de scoring.

 

 

6. Application

 

Un modèle efficace est avant tout un modèle applicable, à savoir un modèle industrialisé et exploité en production. Dans notre cas, cela signifie qu’il est exposé sur l’API du score.

 

La qualification d’un nouvel article se fera dans un délai extrêmement court, en quelques secondes. Le processus de publication d’un article n’est pas ralenti.

 

 

Remerciements

 

Le projet du client est un projet ambitieux, amenant à l’utilisation opérationnelle des travaux de Text Mining.

 

Nous remercions le responsable du pôle Data de notre client, pour nous avoir fait confiance dans la réalisation de ce projet.

 

Nous remercions Johann Martin, consultant Data Science à Micropole, Pol Cogranne, consultant Data Science au sein de l’agence Wide et Yohann Tran, stagiaire Data Science au sein de l’agence Wide. Leur investissement dans le projet a permis sa réalisation.

 

 

Bibliographie

 

Le domaine du Text Mining est un champ amenant de nombreuses recherches. Nous pouvons citer :

 

 

[1] Une autre méthode est la stemmatisation. Nous cherchons alors la racine du mot, cette racine n’étant pas systématiquement un mot lui-même

[2] La lemmatisation peut être fait à l’aide de l’outil TreeTagger développé à l’Université de Stuttgart

[3] Ce nombre est transformé selon le calcul TF-IDF (term frequency-inverse document frequency)

[4] Notion de bag of words en anglais

[5] Des méthodes cherchent à tenir compte d’une suite de mots : les n-gram

[6] Cette méthode part de la loi de probabilité de Dirichlet

[7] Spark est notamment un apport significatif dans ces cas-là. Mais c’est une autre histoire…