NLP en r et en français
1
Préambule
1.1
Cours et séminaires
1.2
La structure du livre
1.3
Les jeux de données
1.4
Les ressources
1.4.1
Les packages
1.5
Disponibilité
2
Introduction
2.1
Une réflexion ancienne et un nouveau champ méthodologique
2.1.1
Langue, langage et texte parole
2.1.2
Syntaxe et grammaire générative
2.1.3
Sémantique : La conception distributionnelle
2.1.4
L’approche pragmatique : les fonctions et acte du langage
2.1.5
La linguistique computationnelle
2.2
Les facteurs de développement de l’usage en science sociale
2.2.1
Une lingua franca
2.2.2
La multiplication des sources de données.
2.2.3
Une communauté
2.3
De nouvelles méthodologies pour les sciences sociales
2.3.1
Nouveaux terrains :
2.3.2
Nouvelles méthodes :
2.4
Un nouvel objet :
2.4.1
Sociologie et histoire
2.4.2
Psychologie
2.4.3
Management
2.4.4
Economie
2.5
Des comptables à l’industrie de la langue
2.6
Conclusion
3
La diversité et la nature des corpus
3.1
Différents types de corpus
3.2
Problèmes d’échantillon
4
Constitution du corpus
4.1
La gestion des documents numériques
4.1.1
Extraire du texte des pdf
4.1.2
La numérisation et l’OCR
4.1.3
Du speech au texte
4.2
L’exploitation de base de données textuelles
4.2.1
le cas europresse
4.2.2
Jouer avec les bases bibliographiques
4.3
Lire le web : Scrapping
4.3.1
rvest avec r
4.3.2
Des problèmes pratiques, juridiques et éthiques
4.4
L’importance croissante des API
4.4.1
Un tour d’horizon
4.4.2
un point de vue plus technique
4.4.3
Un exemple avec Rtweet
4.4.4
Un autre exemple
4.5
Conclusion
5
Explorer et visualiser le corpus
5.1
Kwic
5.2
Explorer le corpus
5.2.1
reprendre le topic de revtools
6
Préparation des données
6.1
Manipuler des chaines de caractères
6.1.1
Les opérations sur les chaînes de caractères
6.1.2
La technique des expressions régulières (regex)
6.1.3
Un fondement profond et ancien
6.1.4
Des applications très pratiques
6.2
Nettoyer le texte
6.3
Corriger le texte
6.3.1
La correction orthographique automatique
6.3.2
Analyse ciblée par les regex
6.4
Identifier les sources
6.4.1
Identifier la langue
6.4.2
Identifier les plagiats et réutilisations
6.4.3
Identifier les fakes
6.4.4
Identifier les trolls
6.4.5
Identifier les bots
7
Une première analyse quantitative
7.1
Comptons les mots
7.2
la production dans le temps
7.3
Lisibilité et complexité lexicale
7.3.1
Les indices de lisibilité
7.3.2
Les indices de complexité lexicale
7.4
Comptons les mots
7.4.1
Les nuages de mots
7.4.2
Des lollyplots
7.4.3
La mesure de la concentration des termes
7.5
Conclusion
8
Analyse du sentiment
8.1
Un exemple avec syuzhet
8.1.1
Valence et expression
8.2
La généralisation par le Liwc
8.3
Encore d’autres généralisations
8.4
construire son propre dictionnaire
9
Tokenisation
9.1
Objectifs du chapitre
9.2
Les outils
9.3
Introduction
9.4
Tokeniser un corpus
9.4.1
Les lettres
9.4.2
Les mots
9.4.3
Les phrases
9.5
N-grammes
9.5.1
Propriétés statistiques des n-grammes
9.6
Choisir des n-grammes pertinents
9.6.1
Créer les
tokens
avec ‘quanteda’
9.6.2
Identifier les noms propres
9.6.3
Composer des
tokens
à partir d’expressions multi-mots
9.6.4
Identifier les autres concepts
9.7
Conclusion
10
Annotations lexicales et syntaxiques
10.1
Stemmatisation, lemmatisation et synonymisation
10.1.1
la stemmatisation et la lemmatisation
10.1.2
Synonymisation
10.2
Part of Speech (POS)
10.3
Dépendances syntaxiques
10.3.1
Arbre syntaxique
10.3.2
Vers des application plus générale
10.4
reconnaissance d’entités nommées
10.5
co-reférence
11
Gestion des données textuelles
11.1
Jouer avec les tokens
11.2
Les DTM
11.2.1
Codage
11.2.2
Des représentations tidy
11.3
Les ctm
11.3.1
cooccurence
11.3.2
une application à l’analyse des similarités
11.3.3
une application au clustering
12
Le retour des méthodes factorielles
12.1
Objectifs du chapitre
12.2
Les outils
12.3
Introduction
12.4
Méthodes & Données
12.4.1
Principes généraux
12.4.2
Données
12.5
Analyse par Composantes Principales (ACP/PCA)
12.6
Analyse des Correspondances
12.6.1
Table de contingence
12.6.2
Modèle
12.6.3
explor
12.7
Classification Hiérarchique
12.7.1
Classification Hiérarchique Ascendante
12.7.2
Classification Hiérarchique Ascendante Double
12.8
Classification Hiérarchique Descendante : Wordfish
13
Réseaux sémantiques
13.1
Des analyses de proximités
13.1.1
les classiques
13.1.2
modèles de force
13.1.3
tsne
13.2
igraph et les cartes sémantiques
13.2.1
gérer les liens
13.2.2
gérer les noeuds
13.2.3
gérer les labels
13.3
propriétés des graphes et détection de communauté
13.4
la question du temps
14
Analyse Sémantique Latente (ASL/LSA)
14.0.1
Non-negative Matrix Factorization
14.1
Conclusion
15
Vectorisation du corpus
15.1
Application avec Word2vec
15.1.1
Préparer et annoter grammaticalement les données
15.1.2
WordVectors au travail
15.2
Exploiter le modèle
15.3
Un clustering et une projection tsne
15.4
les perspectives
16
Topic Analysis
16.1
Objectifs du chapitre
16.2
Les outils
16.3
Introduction
16.3.1
Latent Dirichlet Allocation : Le modèle original de Blei
16.3.2
Structural Topic Modeling
16.4
LDA : Une application aux commentaires trip advisor
16.4.1
La détermination du nombre optimal de topics
16.4.2
LDA
theory driven
16.5
STM
16.5.1
Préparation des données
16.5.2
Identification du nombre de
topics
optimal
16.6
Interprétation du modèle retenu
16.6.1
Le modèle retenu
16.6.2
Corrélation entre les
topics
16.7
Conclusion
17
Machine learning supervisé et NLP
17.1
Le principe et ses applications
17.2
Une première application
17.2.1
Constituer le dataset
17.2.2
On va nettoyer le texte
17.2.3
caret sur la scène
17.2.4
Un modèle naive bayes
17.3
Passons à un réseau de neurones et un RF
17.3.1
neuralnetwook
17.3.2
multilayer
17.4
Comparons les modèles
17.4.1
Une analyse plus précise de la performance
17.5
Mais il faut expliquer
17.6
Pour finir un exercice de fine tuning
18
Deep Learning
18.1
L’environnement keras
18.1.1
Les fonctions principales
18.1.2
Un premier exemple
18.1.3
Un deuxième exemple
18.2
Les architectures du texte : RNN, LTSM, Transformer et Reformer
18.2.1
rnn
18.2.2
ltsm
18.2.3
transformer
18.2.4
reformer
18.3
Les cas d’applications remarquables
18.3.1
Detection d’intention
18.3.2
détection de toxicité des contenus
18.3.3
la detection des trolls
18.3.4
détection des sophismes et autres fallacies
18.3.5
La détection du sarcasme et de l’ironie
18.3.6
L’extraction d’arguments
19
Modèles génératifs
19.1
simples models
19.1.1
Naives bayes
19.1.2
elastic net
19.1.3
RF
19.2
art of featuring
References
20
Annexes : quelques problèmes très techniques
20.1
La question de l’encodage
20.2
Jouer avec les formats de données
20.2.1
des formats exotiques
20.3
Adopter des formats “propres” (tidy)
20.4
Les limites du calcul
21
Etudes de cas
21.1
Sommaire
21.1.1
Cas 1
21.1.2
Cas 2
21.1.3
Cas 3
Published with bookdown
NLP avec r et en français - un Manuel synthétique
Chapitre 19
Modèles génératifs
19.1
simples models
19.1.1
Naives bayes
19.1.2
elastic net
19.1.3
RF
19.2
art of featuring
utiliser les plongements