Accédez en illimité à
tous nos livres & vidéos, sur l'IA, le dev, les réseaux... Cliquez ici
Bibliothèque Numérique ENI :
tous nos livres & vidéos, en accès illimité 24h/24. Cliquez ici

Modéliser le texte et l’image

La modélisation du texte

Le traitement du langage naturel (NLP, pour Natural Language Processing) est un domaine essentiel de la data science, visant à permettre aux machines d’interagir efficacement avec le langage humain. Comme évoqué dans le chapitre Analyse des données, les phases de prétraitement et de vectorisation sont cruciales pour préparer les données textuelles et réaliser une modélisation efficace.

Pour celles et ceux qui n’ont pas parcouru le chapitre Analyse des données, voici un schéma récapitulatif des étapes de prétraitement :

images/08El02.png

Python propose plusieurs modules pour cette préparation, parmi lesquels NLTK, TextBlob et spaCy.

1. Les modules du NLP

Les modules Python de NLP facilitent grandement la préparation des textes en offrant un vaste éventail de fonctions pour transformer et enrichir les données textuelles. Cependant, ils varient de manière assez importante en termes de fonctionnalités, d’ergonomie et de performances.

a. NLTK

Conçu en 2005, NLTK, pour Natural Language Toolkit, est l’un des premiers outils développés pour le langage naturel. Il offre une grande variété de fonctionnalités et constitue un choix robuste pour les tâches linguistiques complexes.

Voici la commande pour l’installer :

pip install nltk 

Lors de l’importation, il est important de télécharger les ressources nécessaires de NLTK pour le rendre pleinement opérationnel. Cela peut se faire en chargeant les ressources les plus populaires de la manière suivante :

import nltk 
nltk.download('popular') 

Il peut également être opportun de télécharger des ressources spécifiques en fonction de nos besoins, telles que les corpus pour l’analyse de sentiment ou les modèles pour le balisage des parties du discours. Voici quelques exemples :

# Ressource de tokenisation 
nltk.download('punkt') 
 
# Ressource pour baliser les parties du discours 
nltk.download('averaged_perceptron_tagger') 
 
# Ressource pour la lemmatisation 
nltk.download('wordnet') 
 
# Ressource pour les mots à exclure 
nltk.download('stopwords') 

Bien que nous privilégierons...

La modélisation des images

Dans un monde inondé par les images, les besoins en termes de modélisation sont très importants. Comme pour le NLP, c’est une discipline à part entière en data science qui est très riche en termes de possibilités. Les opérations de modélisation sont communes aux autres domaines mais nécessitent un prétraitement qui peut s’avérer extrêmement complexe dans certains cas. En effet, pour extraire correctement l’information contenue dans les images, il est souvent nécessaire d’appliquer diverses transformations, telles que le redimensionnement, la conversion de formats, et l’application de filtres ou d’algorithmes spécifiques.

L’introduction des Convolutional Neural Networks (CNN) a marqué un tournant décisif dans ce domaine. Conceptualisés dans les années 80, les CNN ont connu un essor majeur à partir de 2012, révolutionnant le domaine de la vision par ordinateur. Ils automatisent une grande partie des étapes complexes de prétraitement des images, permettant ainsi d’extraire directement les caractéristiques à partir des données brutes. Cette automatisation simplifie considérablement le processus d’analyse des données visuelles et améliore significativement les performances de classification.

Néanmoins, tout le monde ne cherche pas forcément à automatiser complètement le traitement d’images et les modules classiques restent encore largement utilisés car elles permettent, dans certains domaines applicatifs, de gérer finement chaque étape de transformation.

Nous allons donc commencer par un tour d’horizon des modules Python dédiés au traitement d’images, en explorant ensuite leurs fonctionnalités pratiques à travers des exemples concrets. Enfin, nous aborderons les Convolutional Neural Networks (CNN), en montrant comment s’initier facilement à cette technologie.

1. Les solutions de Machine Learning destinées aux images

Parmi les nombreux modules dédiés à l’image, nous allons explorer trois solutions qui permettent de s’initier de manière progressive au traitement d’images : Pillow...