Comment nettoyer une FAQ pour la rendre compréhensible par une IA

En tant que datascientist, nous sommes souvent confrontés à des données brutales que nous devons transformer en des données exploitables, afin de prendre des décisions éclairées. Mais ne vous inquiétez pas, nous sommes là pour nettoyer ce chaos et trouver des trésors cachés.

Lorsqu’il s’agit de travailler avec des données textuelles, la phase de prétraitement est cruciale. Imaginons que vous souhaitiez déterminer si un e-mail est un spam, une tentative de hameçonnage ou non, en se basant uniquement sur son contenu. Pour y parvenir, il est essentiel de transformer les données textuelles brutes en données numériques que les algorithmes de Machine Learning peuvent comprendre et exploiter.

Cette phase de prétraitement implique plusieurs étapes clés, telles que le nettoyage, la normalisation, la tokenisation, le stemming et la lemmatisation. Tout d’abord, nous nettoyons les données en supprimant les urls, les émojis et autres éléments indésirables. Ensuite, nous normalisons les données en les passant en minuscules, en supprimant les chiffres, la ponctuation, les symboles et les stopwords comme  “le, la; les…”.

qu’est-ce que la normalisation des données ?

La tokenisation est la prochaine étape, qui consiste à découper le texte en plusieurs morceaux appelés tokens (voir l’article sur les vecteurs). Par exemple, la phrase “Vous trouverez en pièce jointe le document en question” sera découpée en “Vous”, “trouverez”, “en pièce jointe”, “le document” et “en question”. Cette étape est importante car elle permet de capturer l’essence du texte et de le représenter de manière numérique. on parle de forme canonicale du mot ou sa racine.

Le stemming est une autre étape qui permet de réduire les variations des mots en ne conservant que leur racine. Par exemple, “trouverez” deviendrait “trouv”. La lemmatisation, quant à elle, est une méthode plus sophistiquée qui permet de supprimer uniquement les terminaisons inflexibles et d’isoler la forme canonique du mot, connue sous le nom de lemme. Par exemple, “trouvez” deviendrait “trouver”.

Enfin, il existe d’autres opérations de prétraitement telles que la suppression de chiffres des nombres, ponctuation et symboles, afin d’éliminer les données redondantes ou non pertinentes. transformer les emojis en mots. la normalisation des données est une étape cruciale dans le prétraitement du texte pour la classification : la normalisation est l’étape obligatoire dans le traitement des jeux de données.

En somme, la phase de prétraitement est un élément clé dans l’analyse de données textuelles. Elle permet de transformer des données brutes en données exploitables et représente souvent une étape fondamentale avant l’application des méthodes de Machine Learning.

Dans l’ensemble, le prétraitement des données textuelles est un processus complexe mais crucial pour les projets de NLP (Natural Language Processing). Il existe de nombreuses méthodes et approches pour transformer des données textuelles en données numériques. Les choix des méthodes dépendent des objectifs de l’analyse et des caractéristiques des données.

Alors, la prochaine fois que vous vous retrouverez face à un tas de données textuelles brutes, n’oubliez pas que le prétraitement est votre meilleur ami et qu’il peut vous aider à trouver les réponses que vous cherchez.

Paul.

Pourquoi passer de Bert et TFiDF au transformers une évolution rapide de la compréhension du texte

La technologie de traitement du langage naturel (NLP) a connu une évolution rapide ces dernières années. Les méthodes de représentation vectorielle de texte telles que Term-Frequency (TF) et Term Frequency-Inverse Document Frequency (TF-IDF) ont été utilisées avec succès pour de nombreux problèmes de NLP.

Cependant, ces méthodes présentent des limites, notamment le fait que certains mots sont par nature plus utilisés que d’autres, ce qui peut conduire à des résultats erronés. De plus, plus le vocabulaire du corpus est riche, plus la taille des vecteurs est grande, ce qui peut représenter un problème pour les modèles d’apprentissage utilisés dans l’étape suivante. Enfin, le comptage d’occurrence des mots ne permet pas de rendre compte de leur agencement et donc du sens des phrases.

L’efficacité de ces méthodes a été prouvé mais elles présente deux principales limites :

  • Plus la FAQ et le vocabulaire du corpus est riche, plus la taille des vecteurs est importante, ce qui peut représenter un véritable problème pour les modèles d’apprentissage
  • Le comptage d’occurrence des TAGs  ne permet pas de rendre compte de leur agencement et donc du sens des phrases. il est souhaitable d’ajouter d’autres algorithmes pour palier à cette insuffisance

Il existe une autre approche qui permet de remédier à ces problèmes :  Word Embedding. Elle consiste à construire des vecteurs de taille fixe qui prennent en compte le contexte dans lequel se trouvent les mots (sacs de mots). technologie longtemps utilisée au sein de TALKR La méthode de représentation vectorielle de texte a été développée il y a plusieurs années : Word Embedding. Cette méthode consiste à construire des vecteurs de taille fixe qui prennent en compte le contexte dans lequel se trouvent les mots. Ainsi, deux mots présents dans des contextes similaires auront des vecteurs plus proches (en termes de distance vectorielle). Cela permet de capturer à la fois les similarités sémantiques, syntaxiques ou thématiques des mots.

La technologie Transformer plus récente, et plus particulièrement le modèle GPT (Generative Pre-trained Transformer), utilise des réseaux de neurones profonds pour créer des représentations de mots et de phrases qui dépassent largement les performances de TF et TF-IDF. GPT a été pré-entraîné sur de vastes quantités de données textuelles, ce qui lui permet de produire des résultats plus précis et plus cohérents que les méthodes de représentation vectorielle de texte traditionnelles.

Les Transformer utilisent une architecture de réseau de neurones à mémoire à court terme, ou Memory-Attention, qui permet de prendre en compte les contextes locaux et globaux. Cette architecture est basée sur un mécanisme d’attention qui permet au modèle de pondérer l’importance de chaque mot dans la phrase en fonction de son contexte.

Les modèles de Transformer, tels que BERT et GPT, ont une architecture très sophistiquée qui utilise plusieurs mécanismes d’attention. Ces mécanismes incluent la Self-Attention et la Multi-Head Attention. La Self-Attention permet de calculer des vecteurs de poids qui sont appliqués à chaque mot de la phrase pour pondérer son importance relative dans le contexte. La Multi-Head Attention permet de réaliser plusieurs calculs de Self-Attention en parallèle, ce qui améliore la capacité du modèle à capturer les relations complexes entre les mots.

La formule de la Self-Attention est la suivante :

Attention(Q,K,V) = softmax(QK^T / sqrt(d_k)) V

Où :

Q est la matrice des requêtes ; K est la matrice des clés ; V est la matrice des valeurs ; d_k est la dimension des vecteurs de clé.

La formule de la Multi-Head Attention est la suivante :

MultiHead(Q,K,V) = Concat(head_1,…,head_h) W^O

Où :

head_i = Attention(QW_i^Q,KW_i^K,VW_i^V) W_i^Q, W_i^K et W_i^V sont les matrices de poids pour chaque tête i ; W^O est la matrice de poids de la sortie.

Ces formules permettent de mieux comprendre le fonctionnement des mécanismes d’attention utilisés dans les Transformer. Grâce à ces mécanismes, les modèles de Transformer peuvent capturer des relations sémantiques plus complexes que les modèles basés sur les méthodes de TF-IDF ou de Bag-Of-Words.

En résumé, les modèles de Transformer sont des modèles de NLP très puissants qui utilisent des mécanismes d’attention sophistiqués pour capturer les relations sémantiques complexes entre les mots d’une phrase. Ces modèles sont plus efficaces que les modèles basés sur les méthodes de TF-IDF ou de Bag-Of-Words pour résoudre des tâches complexes de NLP, telles que la génération de texte ou la traduction automatique. Bien que les méthodes de représentation vectorielle de texte telles que TF et TF-IDF aient été utilisées avec succès pour de nombreux problèmes de NLP, elles présentent des limites importantes. La technologie Transformer, et plus spécifiquement le modèle GPT, représente une avancée majeure dans le domaine de la NLP en permettant de capturer de manière plus précise les similarités sémantiques, syntaxiques et thématiques des mots et des phrases.