Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Data Scientist et langage R
  3. Traitement du langage naturel
Extrait - Data Scientist et langage R Autoformation aux bases de l'intelligence artificielle dans l'univers de la data (3e édition)
Extraits du livre
Data Scientist et langage R Autoformation aux bases de l'intelligence artificielle dans l'univers de la data (3e édition)
1 avis
Revenir à la page d'achat du livre

Traitement du langage naturel

Positionnement du problème

L’importance des applications de text mining n’a cessé d’augmenter ces dernières années. L’émergence des réseaux sociaux a intensifié ce phénomène. La principale caractéristique des données textuelles, et qui les différencie des données semi-structurées (fichiers XML ou JSON) ou structurées (bases de données), réside dans la nécessité d’avoir à fouiller de façon non déterministe au sein de chaque item de données.

Les données textuelles peuvent être traitées à différents niveaux de profondeur :

  • Identification de mots appartenant à des listes de mots (bag of words).

  • Identification de chaînes de mots (phrases ou expressions).

  • Identification d’éléments sémantiques (reconnaissance des mots par leur sens).

Une autre des caractéristiques, typique d’un texte, réside dans la proportion très faible entre le nombre de mots d’un texte et le nombre total de mots possibles dans une langue ou un jargon. Cela crée des structures de données très lacunaires, en particulier quand on cherche à représenter l’information sous forme de structure comme des tableaux (sparse matrix).

Dans ce chapitre, nous allons focaliser notre attention...

Analyse sémantique latente et SVD

1. Aspects théoriques

Dénommée LSA (Latent Semantic Analysis) en anglais, l’analyse sémantique latente s’appuie sur la constitution d’une matrice comportant les valeurs d’une fonction particulière calculée à partir des occurrences des différents termes (mots) présents dans les différents documents.

Les documents peuvent être des textes, des mails, des tweets, des contributions de blog, des CV...

Chaque terme envisagé fait l’objet d’une ligne de cette matrice, et chaque colonne de la matrice correspond à un document.

À l’intersection des lignes et des colonnes se trouve le résultat du calcul d’une fonction. Ce résultat est d’autant plus grand que le nombre d’occurrences du terme est élevé dans le document et que le terme est rare en général. Les packages sont fournis avec différentes fonctions classiques, mais votre problème nécessitera peut-être que vous mettiez au point votre propre fonction. Une telle fonction doit toujours au moins refléter le fait qu’un terme rare est plus significatif qu’un terme courant.

La fonction qui mesure le plus couramment l’importance d’un terme dans un document en fonction du corpus se nomme TF-IDF (Term Frequency-Inverse Document Frequency). Elle s’appuie sur la loi de Zipf qui traite de la fréquence des mots dans un texte et dont l’interprétation théorique fait appel à la notion d’entropie.

L’utilisation de l’entropie est un excellent signe d’objectivité. C’est également une bonne nouvelle concernant le nombre d’hypothèses empiriques à vérifier sur la qualité du corpus.

Pour autant, vous devrez envisager sérieusement de concevoir votre propre fonction si votre problème est un peu particulier.

Quand on dispose de plusieurs corpus et de plusieurs "fonctions d’importance", il peut être extrêmement efficace d’effectuer des analyses croisées sur ces différents aspects en ne retenant que peu de features à chaque croisement.

Les features obtenues sont parfois complémentaires, relativement indépendantes et hautement interprétables....