Skip to content

Commit 78ea2cb

Browse files
authored
Change titles levels (#381)
* change level * premiers chaptres * clelan * level types * change * noebooks clean * Change title levels again (#382) * rm file * autres fichiers * model * Title level NLP part (#383) * change titles * word2vec
1 parent a45e543 commit 78ea2cb

File tree

19 files changed

+153
-168
lines changed

19 files changed

+153
-168
lines changed

content/course/NLP/01_intro/index.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ de bénéficier d'une base solide pour approfondir tel ou tel
6161
sujet.
6262

6363

64-
# Base d'exemple
64+
## Base d'exemple
6565

6666
La base d'exemple est le *Comte de Monte Cristo* d'Alexandre Dumas.
6767
Il est disponible

content/course/NLP/02_exoclean/index.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ fig.get_figure()
407407
```
408408

409409

410-
## Premier *wordcloud*
410+
### Premier *wordcloud*
411411

412412
Pour aller plus loin dans l'analyse du champ lexical de chaque auteur,
413413
on peut représenter un `wordcloud` qui permet d'afficher chaque mot avec une

content/course/NLP/03_lda/index.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,6 @@ Plus les barres sont loin les unes des autres, plus elles sont différentes. Un
405405
* 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.
406406

407407

408-
# Références
408+
## Références
409409

410410
* Le [poly d'Alberto Brietti](http://alberto.bietti.me/files/rapport-lda.pdf)

content/course/NLP/04_word2vec/index.qmd

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ import gensim.downloader
131131
from sentence_transformers import SentenceTransformer
132132
```
133133

134-
# Nettoyage des données
134+
## Nettoyage des données
135135

136136
Nous allons ainsi à nouveau utiliser le jeu de données `spooky`:
137137

@@ -147,7 +147,7 @@ spooky_df.head()
147147
```
148148

149149

150-
## Preprocessing
150+
### Preprocessing
151151

152152
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).
153153

@@ -205,7 +205,7 @@ spooky_df.head()
205205
```
206206

207207

208-
## Encodage de la variable à prédire
208+
### Encodage de la variable à prédire
209209

210210
On réalise un simple encodage de la variable à prédire :
211211
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` :
227227
le.classes_
228228
```
229229

230-
## Construction des bases d'entraînement et de test
230+
### Construction des bases d'entraînement et de test
231231

232232
On met de côté un échantillon de test (20 %) avant toute analyse (même descriptive).
233233
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`
266266
print(y_train[0], le.inverse_transform([y_train[0]])[0])
267267
```
268268

269-
# Statistiques exploratoires
269+
## Statistiques exploratoires
270270

271-
## Répartition des labels
271+
### Répartition des labels
272272

273273
Refaisons un graphique que nous avons déjà produit précédemment pour voir
274274
la répartition de notre corpus entre auteurs:
@@ -288,7 +288,7 @@ fig.get_figure()
288288
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.
289289
L'écart n'est pas dramatique, mais on essaiera d'en tenir compte dans l'analyse en choisissant une métrique d'évaluation pertinente.
290290

291-
## Mots les plus fréquemment utilisés par chaque auteur
291+
### Mots les plus fréquemment utilisés par chaque auteur
292292

293293
On va supprimer les *stopwords* pour réduire le bruit dans notre jeu
294294
de données.
@@ -366,14 +366,14 @@ en termes de vocabulaire,
366366
ce qui laisse penser qu'il est envisageable de prédire les auteurs à partir
367367
de leurs textes dans une certaine mesure.
368368

369-
# Prédiction sur le set d'entraînement
369+
## Prédiction sur le set d'entraînement
370370

371371
Nous allons à présent vérifier cette conjecture en comparant
372372
plusieurs modèles de vectorisation,
373373
_i.e._ de transformation du texte en objets numériques
374374
pour que l'information contenue soit exploitable dans un modèle de classification.
375375

376-
## Démarche
376+
### Démarche
377377

378378
Comme nous nous intéressons plus à l'effet de la vectorisation qu'à la tâche de classification en elle-même,
379379
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.
412412
L'avantage de ce choix est qu'il permet de tenir compte des différences
413413
de fréquences des différentes classes.
414414

415-
## Pipeline de prédiction
415+
### Pipeline de prédiction
416416

417417
On va utiliser un *pipeline* `scikit` ce qui va nous permettre d'avoir
418418
un code très concis pour effectuer cet ensemble de tâches cohérentes.
@@ -453,7 +453,7 @@ def fit_vectorizers(vectorizer):
453453
return grid_search
454454
```
455455

456-
# Approche _bag-of-words_
456+
## Approche _bag-of-words_
457457

458458
On commence par une approche __"bag-of-words"__,
459459
i.e. qui revient simplement à représenter chaque document par un vecteur
@@ -463,7 +463,7 @@ qui compte le nombre d'apparitions de chaque mot du vocabulaire dans le document
463463
cv_bow = fit_vectorizers(CountVectorizer)
464464
```
465465

466-
# TF-IDF
466+
## TF-IDF
467467

468468
On s'intéresse ensuite à l'approche __TF-IDF__,
469469
qui permet de tenir compte des fréquences *relatives* des mots.
@@ -483,7 +483,7 @@ ce qui montre la pertinence de cette technique.
483483
cv_tfidf = fit_vectorizers(TfidfVectorizer)
484484
```
485485

486-
# Word2vec avec averaging
486+
## Word2vec avec averaging
487487

488488
On va maintenant explorer les techniques de vectorisation basées sur les
489489
*embeddings* de mots, et notamment la plus populaire : `Word2Vec`.
@@ -592,7 +592,7 @@ cv_w2vec = fit_w2v_avg(w2v_model.wv)
592592
La performance chute fortement ;
593593
la faute à la taille très restreinte du corpus, comme annoncé précédemment.
594594

595-
# Word2vec pré-entraîné + averaging
595+
## Word2vec pré-entraîné + averaging
596596

597597
Quand on travaille avec des corpus de taille restreinte,
598598
c'est généralement une mauvaise idée d'entraîner son propre modèle `word2vec`.
@@ -676,7 +676,7 @@ Cela a plusieurs limites :
676676
- lorsque les documents sont longs, la moyennisation peut créer
677677
des représentation bruitées.
678678

679-
# Contextual embeddings
679+
## Contextual embeddings
680680

681681
Les *embeddings* contextuels visent à pallier les limites des *embeddings*
682682
traditionnels évoquées précédemment.

content/course/getting-started/01_installation/index.qmd

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ certain nombre d'éléments supplémentaires à `Python`. La suite
8686
de ce chapitre permettra de décrire les configurations à mettre
8787
en oeuvre pour être en mesure d'exploiter la richesse de l'écosystème `Python`.
8888

89-
# Installer un environnement adapté à la *data-science* sur son ordinateur personnel {#local}
89+
## Installer un environnement adapté à la *data-science* sur son ordinateur personnel {#local}
9090

9191
Cette partie présente plusieurs éléments de configuration d'un environnement
9292
en local. Cependant, cette approche est de moins en moins fréquente. En effet,
@@ -100,7 +100,7 @@ distant, est de plus en plus fréquent.
100100

101101

102102

103-
## Installer `Python` en local
103+
### Installer `Python` en local
104104

105105
Pour installer `Python`, il est recommandé d'utiliser
106106
la distribution [Anaconda](https://docs.anaconda.com/anaconda/install/)
@@ -124,7 +124,7 @@ Passer par `Anaconda` permet:
124124
de certaines librairies qui nécessitent l'usage de langages externes (par exemple
125125
du `C++`).
126126

127-
## Installer un environnement de développement
127+
### Installer un environnement de développement
128128

129129
Les *notebooks* `Jupyter` (extension `.ipynb`)
130130
sont très utilisés en *data science*. Ils sont en
@@ -154,7 +154,7 @@ interface `Git`, etc.
154154
* fonctionalités classiques d'un IDE dont manque `Jupyter`: autocomplétion, diagnostic du code, etc.
155155
* intégration avec les environnements `Conda`
156156

157-
## Installation de `Git`
157+
### Installation de `Git`
158158

159159
Le principe de `Git` ainsi que son usage avec `Python` sont présentés dans
160160
une [partie dédiée](/course/git). Cette partie se concentre ainsi sur la question
@@ -167,7 +167,7 @@ externes, notamment les interfaces de développement comme
167167
`Visual Studio`, pourront l'utiliser.
168168

169169

170-
# Exécution dans un environnement temporaire sur un serveur distant
170+
## Exécution dans un environnement temporaire sur un serveur distant
171171

172172
Comme évoqué précedemment, les technologies dominantes dans
173173
le domaine du traitement des données ont amené à une évolution des pratiques
@@ -249,7 +249,8 @@ de garder à l'esprit qu'elles sont également temporaires.
249249

250250
{{% /box %}}
251251

252-
## SSP-Cloud [![Onyxia](https://img.shields.io/badge/SSPcloud-Tester%20via%20SSP--cloud-informational&color=yellow?logo=Python)](https://datalab.sspcloud.fr/launcher/ide/jupyter-python?autoLaunch=true&onyxia.friendlyName=«python-datascientist»&resources.requests.memory=«4Gi»&security.allowlist.enabled=false&git.repository=«https%3A%2F%2Fgithub.com%2Flinogaliana%2Fpython-datascientist.git)
252+
### SSP-Cloud <a href="https://datalab.sspcloud.fr/launcher/ide/jupyter-python?autoLaunch=true&onyxia.friendlyName=%C2%ABpython-datascience%C2%BB&init.personalInit=%C2%ABhttps%3A%2F%2Fraw.githubusercontent.com%2Flinogaliana%2Fpython-datascientist%2Fmaster%2Fsspcloud%2Finit-jupyter.sh%C2%BB&init.personalInitArgs=%C2%ABmanipulation%2001_numpy%C2%BB&security.allowlist.enabled=false" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/SSPcloud-Tester%20via%20SSP--cloud-informational&amp;color=yellow?logo=Python" alt="Onyxia"></a><br>
253+
253254

254255
`Onyxia`, l'autre petit nom du SSP-Cloud,
255256
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.
267268
Dans cet environnement, `Jupyter` et `Visual Studio` sont tous deux
268269
disponibles.
269270

270-
## Google collaboratory [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](http://colab.research.google.com/github/linogaliana/python-datascientist/blob/master)
271+
### Google collaboratory <a href="http://colab.research.google.com/github/linogaliana/python-datascientist/blob/master/notebooks/course/manipulation/01_numpy.ipynb" target="_blank" rel="noopener"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a>
272+
271273

272274
Google met à disposition une plateforme de calculs basée sur le format `Jupyter Notebook`.
273275
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 à
278280
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
279281
fournit un raccourci pour lancer le notebook dans un environnement dédié.
280282

281-
## Github Visual Studio Editor [![githubdev](https://open.vscode.dev/badges/open-in-vscode.svg)](https://github.dev/linogaliana/python-datascientist)
283+
### Github Visual Studio Editor <a href="https://github.dev/linogaliana/python-datascientist/notebooks/course/manipulation/01_numpy.ipynb" target="_blank" rel="noopener"><img src="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+
282285

283286
`Microsoft` qui possède à la fois `Github` et `Visual Studio` a récemment
284287
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*
289292
d'un dépôt `Github`.
290293

291294

292-
## Binder [![Binder](https://img.shields.io/badge/Launch-Binder-E66581.svg?logo=data:image/png;base64,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)](https://mybinder.org/v2/gh/linogaliana/python-datascientist/master)
293-
294-
En cliquant sur cette icône
295-
[![Binder](https://img.shields.io/badge/Launch-Binder-E66581.svg?logo=data:image/png;base64,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)](https://mybinder.org/v2/gh/linogaliana/python-datascientist/master),
296-
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-
306295

307-
## La technologie en arrière-plan: Docker <i class="fab fa-docker"></i></a>
296+
### La technologie en arrière-plan: Docker <i class="fab fa-docker"></i></a>
308297

309298
[Docker](https://www.docker.com/) est l'outil open-source de référence
310299
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
341330
pérenne).
342331

343332

344-
# Installer des packages supplémentaires
333+
## Installer des packages supplémentaires
345334

346335
Un module est un script qui a vocation à définir des objets utilisés
347336
postérieurement par un interpréteur. C'est un script `.py` autosuffisant,
@@ -378,7 +367,7 @@ en apprenant à chercher dans la documentation ;
378367
- 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
379368
pas la réponse sans comprendre la solution.
380369

381-
## Les gestionnaires de packages
370+
### Les gestionnaires de packages
382371

383372
Les packages d'un langage *open-source* sont mis à disposition sur
384373
des dépôts. Le CTAN est ainsi le dépôt `\(\LaTeX\)` le plus connu, le
@@ -438,7 +427,7 @@ dans les entreprises.
438427

439428
{{% /box %}}
440429

441-
## Comment installer des packages
430+
### Comment installer des packages
442431

443432
Avec Anaconda, il faut passer par la ligne de commande et taper
444433

0 commit comments

Comments
 (0)