You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/course/NLP/03_lda/index.qmd
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -405,6 +405,6 @@ Plus les barres sont loin les unes des autres, plus elles sont différentes. Un
405
405
* Les **barres rouges** représentent une estimation du nombre de termes générés dans un sujet précis. La barre rouge la plus longue correspond au mot le plus utilisé dans ce sujet.
406
406
407
407
408
-
# Références
408
+
##Références
409
409
410
410
* Le [poly d'Alberto Brietti](http://alberto.bietti.me/files/rapport-lda.pdf)
Copy file name to clipboardExpand all lines: content/course/NLP/04_word2vec/index.qmd
+15-15Lines changed: 15 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -131,7 +131,7 @@ import gensim.downloader
131
131
from sentence_transformers import SentenceTransformer
132
132
```
133
133
134
-
# Nettoyage des données
134
+
##Nettoyage des données
135
135
136
136
Nous allons ainsi à nouveau utiliser le jeu de données `spooky`:
137
137
@@ -147,7 +147,7 @@ spooky_df.head()
147
147
```
148
148
149
149
150
-
## Preprocessing
150
+
###Preprocessing
151
151
152
152
En NLP, la première étape est souvent celle du *preprocessing*, qui inclut notamment les étapes de tokenization et de nettoyage du texte. Comme celles-ci ont été vues en détail dans le précédent chapitre, on se contentera ici d'un *preprocessing* minimaliste : suppression de la ponctuation et des *stop words* (pour la visualisation et les méthodes de vectorisation basées sur des comptages).
153
153
@@ -205,7 +205,7 @@ spooky_df.head()
205
205
```
206
206
207
207
208
-
## Encodage de la variable à prédire
208
+
###Encodage de la variable à prédire
209
209
210
210
On réalise un simple encodage de la variable à prédire :
211
211
il y a trois catégories (auteurs), représentées par des entiers 0, 1 et 2.
@@ -227,7 +227,7 @@ On peut vérifier les classes de notre `LabelEncoder` :
227
227
le.classes_
228
228
```
229
229
230
-
## Construction des bases d'entraînement et de test
230
+
###Construction des bases d'entraînement et de test
231
231
232
232
On met de côté un échantillon de test (20 %) avant toute analyse (même descriptive).
233
233
Cela permettra d'évaluer nos différents modèles toute à la fin de manière très rigoureuse,
@@ -266,9 +266,9 @@ la méthode `inverse_transform`
Refaisons un graphique que nous avons déjà produit précédemment pour voir
274
274
la répartition de notre corpus entre auteurs:
@@ -288,7 +288,7 @@ fig.get_figure()
288
288
On observe une petite asymétrie : les passages des livres d'Edgar Allen Poe sont plus nombreux que ceux des autres auteurs dans notre corpus d'entraînement, ce qui peut être problématique dans le cadre d'une tâche de classification.
289
289
L'écart n'est pas dramatique, mais on essaiera d'en tenir compte dans l'analyse en choisissant une métrique d'évaluation pertinente.
290
290
291
-
## Mots les plus fréquemment utilisés par chaque auteur
291
+
###Mots les plus fréquemment utilisés par chaque auteur
292
292
293
293
On va supprimer les *stopwords* pour réduire le bruit dans notre jeu
294
294
de données.
@@ -366,14 +366,14 @@ en termes de vocabulaire,
366
366
ce qui laisse penser qu'il est envisageable de prédire les auteurs à partir
367
367
de leurs textes dans une certaine mesure.
368
368
369
-
# Prédiction sur le set d'entraînement
369
+
##Prédiction sur le set d'entraînement
370
370
371
371
Nous allons à présent vérifier cette conjecture en comparant
372
372
plusieurs modèles de vectorisation,
373
373
_i.e._ de transformation du texte en objets numériques
374
374
pour que l'information contenue soit exploitable dans un modèle de classification.
375
375
376
-
## Démarche
376
+
###Démarche
377
377
378
378
Comme nous nous intéressons plus à l'effet de la vectorisation qu'à la tâche de classification en elle-même,
379
379
nous allons utiliser un algorithme de classification simple (un SVM linéaire), avec des paramètres non fine-tunés (c'est-à-dire des paramètres pas nécessairement choisis pour être les meilleurs de tous).
@@ -412,7 +412,7 @@ puis on calcule le `score F1` sur ces données agrégées.
412
412
L'avantage de ce choix est qu'il permet de tenir compte des différences
413
413
de fréquences des différentes classes.
414
414
415
-
## Pipeline de prédiction
415
+
###Pipeline de prédiction
416
416
417
417
On va utiliser un *pipeline*`scikit` ce qui va nous permettre d'avoir
418
418
un code très concis pour effectuer cet ensemble de tâches cohérentes.
est une plateforme libre service mutualisée de traitement
@@ -267,7 +268,8 @@ Elle est aussi utilisé à des fins de formations et d’auto-formations.
267
268
Dans cet environnement, `Jupyter` et `Visual Studio` sont tous deux
268
269
disponibles.
269
270
270
-
## Google collaboratory [](http://colab.research.google.com/github/linogaliana/python-datascientist/blob/master)
271
+
### Google collaboratory <ahref="http://colab.research.google.com/github/linogaliana/python-datascientist/blob/master/notebooks/course/manipulation/01_numpy.ipynb"target="_blank"rel="noopener"><imgsrc="https://colab.research.google.com/assets/colab-badge.svg"alt="Open In Colab"></a>
272
+
271
273
272
274
Google met à disposition une plateforme de calculs basée sur le format `Jupyter Notebook`.
273
275
Un grand avantage de cette solution est la mise à disposition gratuite de
@@ -278,7 +280,8 @@ Il est possible de connecter les *notebooks* ouverts à Google Drive ou à
278
280
[](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
279
281
fournit un raccourci pour lancer le notebook dans un environnement dédié.
280
282
281
-
## Github Visual Studio Editor [](https://github.dev/linogaliana/python-datascientist)
283
+
### Github Visual Studio Editor <ahref="https://github.dev/linogaliana/python-datascientist/notebooks/course/manipulation/01_numpy.ipynb"target="_blank"rel="noopener"><imgsrc="https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc"alt="githubdev"></a>
284
+
282
285
283
286
`Microsoft` qui possède à la fois `Github` et `Visual Studio` a récemment
284
287
lancé une offre `Github dev` qui permet d'ouvrir et lancer un notebook
@@ -289,22 +292,8 @@ Cette interface permet également de gérer les *issues* et *pull request*
qu'on peut retrouver un peu partout dans ce site ou sur le dépôt
297
-
{{< githubrepo >}}, vous pouvez lancer un environnement propre,
298
-
et disposant d'une copie
299
-
(un *clone* en langage `Git`) du dépôt `Github`. Celui-ci n'intègre
300
-
pas forcément les dépendances nécessaires pour un chapitre, il est
301
-
alors nécessaire de les installer. Malheureusement, les environnements `binder`
302
-
peuvent mettre du temps à se lancer et il est plutôt recommandé de privilégier
303
-
une autre approche.
304
-
305
-
306
295
307
-
## La technologie en arrière-plan: Docker <iclass="fab fa-docker"></i></a>
296
+
###La technologie en arrière-plan: Docker <iclass="fab fa-docker"></i></a>
308
297
309
298
[Docker](https://www.docker.com/) est l'outil open-source de référence
310
299
en matière de création d'environnements isolés et auto-suffisants (
@@ -341,7 +330,7 @@ le mot de passe `test` (défini plus haut), on peut ainsi accéder
341
330
pérenne).
342
331
343
332
344
-
# Installer des packages supplémentaires
333
+
##Installer des packages supplémentaires
345
334
346
335
Un module est un script qui a vocation à définir des objets utilisés
347
336
postérieurement par un interpréteur. C'est un script `.py` autosuffisant,
@@ -378,7 +367,7 @@ en apprenant à chercher dans la documentation ;
378
367
- en cas d'erreur : copiez-collez l'erreur sur votre moteur de recherche préféré. Quelqu'un aura déjà posé la question, sans doute sur `stackoverflow`. Néanmoins, ne copiez-collez
379
368
pas la réponse sans comprendre la solution.
380
369
381
-
## Les gestionnaires de packages
370
+
###Les gestionnaires de packages
382
371
383
372
Les packages d'un langage *open-source* sont mis à disposition sur
384
373
des dépôts. Le CTAN est ainsi le dépôt `\(\LaTeX\)` le plus connu, le
@@ -438,7 +427,7 @@ dans les entreprises.
438
427
439
428
{{% /box %}}
440
429
441
-
## Comment installer des packages
430
+
###Comment installer des packages
442
431
443
432
Avec Anaconda, il faut passer par la ligne de commande et taper
0 commit comments