Optimiser son Copywriting grâce au Deep Learning
Sélectionnez un chapitre
Nos élèves en formation Fullstack, Florian, Julien, Sebastian & Thierry ont brillamment réussi leur projet soumis par l'entreprise Holi.io, outil de gestion des connaissances en entreprise. Cet outil permet de collecter l'ensemble des documents d'une entreprise et d'en faire un miniwebsite de l'entreprise. Découvrons ensemble les deux projets portant sur l'analyse de corpus de textes. Des projets, des plus passionnants !
Projet n°1 : Suggérer des mots-clés pour qualifier des textes
Florian Guillot & Julien Donche - Promotion Fullstack #13
La mis en place du pilote
Le besoin de Holi.io, la démarche à avoir
Le besoin de Holi.io best représenté sous différents axes :
- Thématisation : il s'agit de classifier de manière non biaisée, c'est-à-dire uniquement et objectivement avec l’ensemble de vos documents, les grandes typlogies de documents que l'entreprise a en sa possession.
- Extraction de mots-clés : pour un gain de temps de la recherche de document, le but est d'extraire à partir de chaque document des mots-clés.
Les deux manières de répondre à ce besoin :
- dans une application disponible pour l'ensemble de vos employées.
- dans une API pour vos développeurs, afin qu’ils puissent accéder aux résultats du modèle sans passer par les interfaces graphiques pour lier les résultats aux différentes applications que vous utilisez déjà dans l’entreprise.
Déroulement de notre démarche
- Thématisation : nous avons choisi le modèle LDA que l'on a entraîné sur 100 000 articles de presse au nom de Microsoft Mind. Nous avons demandé à notre modèle d’extraire un maximum de thèmes cohérents. Le modèle nous a sorti 25 thèmes cohérents.
- L'extraction de mots-clés : nous avons utilisé un modèle état de l’art, étant le meilleur modèle sur le marché. Nous nous sommes inspirés du modèle KeyBert, et avons la possibilité de prendre n’importe lequel des textes des entreprises clientes, et d’en extraire des mots-clés (un, deux ou plus de la même manière).
Il est extrêmement important de rendre une application disponible pour l'ensemble des employés des entreprises clients de Holi.io, en plus des développeurs.
Démonstration du pilote
Bienvenue sur l'application. Analysons les trois grandes pages :
- L’interface graphique permettant de tester ensemble les modèles.
- La documentation API
- L'inspection du modèle
Sur l'interface graphique, il est primordial de bien prendre en compte cette séparation :
A gauche nous récupérons la donnée et à droite, nous récupérons les résultats. Prenons un exemple, la définition de Ketchup dans Wikipédia. Voici les trois paramètres:
- Le nombre de mots-clés que nous souhaitons trouver dans le texte
- Pareillement, le nombre de phrase clés que nous souhaitons trouver dans le texte
- Enfin, le nombre de thématique que l'on veut trouver dans ce même texte. Ici, l'algorithme ira piocher dans les 25 thèmes extraits des 100 000 articles de presse sur lesquels il a été entraîné.
Voici les résultats :
Les mots-clés qui ont été trouvés sont en accord avec la définition du mot Ketchup (Heinz,Tomato, Meat). Concernant les thématiques, nous trouvons les termes liés à la cuisine, la nourriture et l’international. De plus, nous avons proposé grâce à un code couleur de pouvoir constater quels sont les termes dans ce document qui ont été associés aux différentes thématiques. Par exemple , "Potato", "Oignon", "Sugar". Tout les termes sont liés à la cuisine.
Découvrons la page de visualisation du modèle :
Ayant pris l'exemple d'une entreprise cliente de Holi.io, il est ressorti que dans le thème numéro 2, nous retrouvons des mots comme "cour suprême", "sentence", "coupable", "jurys". Ces mots font penser à des thématiques de la justice.
Projection dans le déploiement global
En prenant en compte uniquement les fonctionnalités, se projeter dans le futur est essentiel, car nous aurons à disposition une application, dans laquelle les clients de Holi.io pourront téléverser directement des documents, ou même des corpus de documents.
Qu'a t-on appris de l’amélioration continue ? Le modèle que nous avons utilisé sera adapté à vos documents. L’idée principale est d’avoir un modèle dynamique et fini.
La visualisation de graphes est une fonctionnalité plus technique. Imaginons que les documents ont des thèmes communs, que l'on peut donc relier. L’idée derrière cela est de rajouter une couche de visualisation de graphes pour que Holi.io & ses clients puisse relier les documents et relier des équipes qui à priori ne l'étaient pas.
La dernière fonctionnalité est celle de la wikification. C’est-à-dire la vérification automatique de l’ensemble des mots-clés et des thèmes. Qu'entend t-on par là ? Si le thème est "tomato-ketchup", le modèle varie sur Wikipédia, vérifie la cohérence de "tomato ketchup" et s'assure que ce thème existe pour en sortir uniquement ce qui a du sens et un impact.
Projet n°2 : Relier des textes à un ensemble de texte défini
Sebastien Paulo & Thierry Linde- Promotion Fullstack #13
La classification de textes peut-elle faciliter la gestion d’informations en entreprise ?
Dans un monde de plus en plus complexe, où l'information est de plus en plus volumineuse, comment peut-on aider les entreprises dans son Data Management ? Il s'agit de la diffusion du partage d’informations, de connaissances des entreprises auprès des salariés. Comment peut-on mettre en place un hub de connaissances, centralisé, personnalisé, disponible à tout moment auprès des salariés ? Comment peut-on mettre en place un système de recommandation qui suggère du contenu en fonction de chaque utilisateur ?
La classification supervisée
Afin de pouvoir réaliser ce projet, nous sommes partis de la classification supervisée, le fait d'associer des catégories et des classes à des données pour lesquelles au départ il n'y avait pas de catégories. Par ailleurs, nous sommes parti du dataset Mind qui a été mis à notre disposition et comportait 115 000 textes. Chaque texte était associé à des catégories. On en a tiré 17 catégories.
Le pipeline de classification pour mener à bien notre projet
Sur les 115 000 textes, nous on avons tiré cinq-mille. Nous les avons entraînés, nettoyé les données, procédé au preprocessing, finalement nous avons utilisé les techniques de tokenization d’embedding pour qu'un machine (ordinateur) puisse lire notre travail.
La principale conclusion que nous tirons de notre projet est l’importance de la qualité des données comparé au choix des modèles.
Nous remarquons dans le tableau ci-dessous que les modèles typiques pour la classification, ont une performance plutôt égale entre eux :
La clarté des catégories joue un rôle essentiel dans la performance des modèles. Comme le dataset Mind n’a pas été conçu explicitement pour un travail de classification, nous étions confrontés au problème qu’il y avait des catégories problématiques, car transversales et qui ont empêché une meilleure performance, notamment la catégorie "news" aux Etats-Unis qui est assez générale. Cela se voit également dans la matrice de confusion, qui est un moyen d’évaluer visuellement la performance d'une classification, en comparant la catégorie que le modèle a trouvé et la catégorie réelle.
Nous voyons dans le tableau ci-dessous que la diagonale est visible. Nous constatons que des modèles prédisent souvent la catégorie "news" aux Etats-Unis quand ce sont d’autres catégories, comme crime ou travel.
Nous avons, donc choisi de déligner la catégorie pour avoir un modèle plus clair.
La démonstration de l'application
Voici l’application de notre modèle classify texts :
Dans notre application, nous avons réalisé un texte set. La prédiction qui s’affiche correspond à notre régression logistique, qui fait la prédiction. Quant au modèle, celui-ci associe à chaque catégorie la probabilité pour ce test (à droite).
Sur le tableau de droite les mots-clés affichés correspondent à 100 % au domaine de l'automobile. Cette application est un outil performant permettant de tester un modèle et de reconnaître les fails du modèle, ainsi que les détails de chaque prédiction. Nous avons par la suite lancé notre journal basé dessus.
Dans notre journal, nous testons les prédictions sur les textes qui n’étaient pas présents dans le dataset Mind.
Les résultats sont ici très encourageants. En revanche, comme il n’y a pas de labels définitifs, on ne peut définir ce qui est vrai ou faux. Il faut apporter un jugement humain, afin d'évaluer la véracité de l'information. Une information à prendre en compte est qu’il y a un biais apparent pour une perspective qui vient des Etats-Unis. Par exemple, si les textes parlent de politique aux Etats-Unis, le mot-clé sera "politics", mais si nous parlons de la politique dans d’autres pays, dans ce cas le mot-clé sera "global news". Tout cela est lié à notre entraînement avec notre dataset.
Suggestion d’axes d’amélioration et de recommandation pour Holi.io
La qualité des labels est primordiale pour un classifieur de qualité. Concernant la question initiale qui nous a été posée au départ sur la classification de textes en entreprise, une conclusion principale est l'importance d'un dataset spécifique à un domaine d'activité. En outre, il peut être difficile pour des entreprises de trouver des données labellisées par des experts qui associent une catégorie à un texte.
La solution ? Utiliser le Transfer Learning, c'est-à-dire l’utilisation de modèles entraînés sur des grands dataset.
Si vous souhaitez acquérir les compétences en Data recherchées des recruteurs et réalisés des projets IA & Tech, n'hésitez pas à regarder nos formations en Data Science que nous enseignons, ainsi qu'à prendre rendez-vous avec notre team admissions pour plus d'informations.