09 - TAL 1

5 mars 2020

Parmi les autres applications de la programmation qui peuvent être pertinentes pour les journalistes, on trouve ce qu'on appelle le traitement automatique du langage naturel (TALN, qu'on raccourcit aussi à TAL). Vous rencontrerez, en anglais, l'expression NLP pour Natural Language Processing.

Il arrive souvent, en journalisme, qu'on veuille extraire du sens d'un important corpus de texte (des articles ou chroniques, des transcriptions de débats parlementaires, des tweets, etc.). C'est possible, grâce au TAL.

Mais avant de procéder, on va falloir faire un peu de théorie sur cette discipline en abordant les différentes étapes de pré-traitement qu'on peut faire subir à un corpus de textes et en définissant certaines notions telles que :

  • l'analyse lexicale (ou tokenization)

  • la lemmatisation (ou lemmatization)

  • la racinisation (ou stemming)

  • l'étiquettage morpho-syntaxique (ou part-of-speech tagging)

  • les mots-vides (ou stopwords)

  • les entités nommées (ou named entities)

  • l'analyse de sentiment (ou sentiment analysis)

  • la modélisation thématique (ou topic modeling)

  • la reconnaissance optique des caractères (ou OCR)

On va aller au-delà du simple nuage de mots. Car comme le disait le linguiste britannique John R. Firth, un mot seul n'est rien sans son contexte. Les mots seuls peuvent avoir plusieurs significations. C'est en regardant quels sont les mots qui se trouvent avant et après qu'ils prennent tout leur sens.

John Rupert Firth (1890-1960)

« You shall know a word by the company it keeps »

-- John Rupert Firth (1890-1960)

La semaine prochaine, nous allons plonger dans le concret. Mais auparavant, il faudra installer deux choses. Dans une fenêtre de terminal de Visual Studio, entrez la commande suivante :

$ conda install -c conda-forge spacy

Vous allez peut-être voir le message suivant:

The following packages will be DOWNGRADED:

  anaconda                                   2019.07-py37_0 --> custom-py37_1


Proceed ([y]/n)? 

À la question Proceed ([y]/n)? répondez y.

Une fois spaCy installé, vous devrez y ajouter quelque chose qui lui permettra d'analyser du texte en français. Cette chose est un «CNN». Et ça n'a rien à voir avec le Cable News Network.

Il s'agit plutôt d'un Convolutional Neural Network, un réseau neuronal convolutif, qui est en fait un modèle pré-entraîné avec du texte français, essentiellement extrait de Wikipédia, pour reconnaître les caractéristiques des mots et des phrases que vous soumettrez à spaCy.

$ python -m spacy download fr_core_news_md

On va donc, dans cette partie-ci du cours, se servir d'une forme d'intelligence artificielle pour faire nos analyses de textes. Mais attention. Le modèle n'est pas parfait, comme vous pouvez le constater dans sa description. N'oubliez jamais que les outils informatiques ont leurs limites.

Mis à jour

Ce contenu vous a-t-il été utile ?