Skip to content

Commit

Permalink
Kimmontalibet coquilles (etalab#99)
Browse files Browse the repository at this point in the history
* fix bug mise en forme

* remove double word paragraph

* correct exemple NER in lexique
  • Loading branch information
KimMontalibet authored Nov 6, 2020
1 parent 8c69997 commit 53cf153
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 12 deletions.
13 changes: 9 additions & 4 deletions annotation/2-preparer-campagne-annotation.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ En fonction de la complexité du projet, le chef de projet pourra faire appel à
### Le data scientist : l'expert technique
Un profil de type data scientist permettra, en complément du suivi qualitatif assuré par l'expert métier, de mettre en oeuvre un suivi de l'avancement et de la qualité des annotations par des méthodes de data science (plus de détails sur les métriques de qualité dans la suite). L'avantage de ce type de suivi est d'être généralisable à un grand nombre de documents annotés sans nécessiter de coût humain supplémentaire. Par opposition, le suivi qualitatif de l'expert métier permettra de prendre en compte les cas particuliers et les spécificités métier mais le temps nécessaire au suivi sera proportionnel au nombre de documents vérifiés. Les deux types de suivi sont donc complémentaires.

Le data scientist pourra également mettre en oeuvre des méthodes informatiques ou de machine learning afin de pré-annoter les documents et permettre d'accélérer le processus d'annotation (plus de détails à ce sujet dans la partie [Conduire votre campagne d'annotation](3-conduire-campagne-annotation.md), au paragraphele paragraphe **Etape 6 : Accéler le processus d'annotation**).
Le data scientist pourra également mettre en oeuvre des méthodes informatiques ou de machine learning afin de pré-annoter les documents et permettre d'accélérer le processus d'annotation (plus de détails à ce sujet dans la partie [Conduire votre campagne d'annotation](3-conduire-campagne-annotation.md), au paragraphe **Etape 6 : Accéler le processus d'annotation**).

Les attributions du profil de type data scientist sont de :
- S'assurer de la qualité des annotations (par des tests de cohérence sur les données annotées)
Expand Down Expand Up @@ -69,13 +69,17 @@ Le schéma d'annotation est un modèle qui permet de décrire les annotations de
La problématique métier à laquelle le projet répond est souvent complexe, avec beaucoup de cas particuliers ou d'exceptions aux règles usuelles. Etablir un schéma d'annotation implique souvent un travail de simplification (qui a également pour conséquence une perte d'information ou de précision). Il est important cependant ne pas simplifier à l'extrême, et donc de trouver un bon équilibre entre simplicité et adéquation à la problématique métier. Afin de trouver cet équilibre, un processus itératif est généralement la meilleure méthode à adopter. Si l'annotation a pour objectif d'entraîner un algorithme d'intelligence artificielle, il ne faut pas exclure a priori des spécificités ou des consignes qui seraient trop difficiles à reproduire par une solution automatique.


::: tip Exemple du choix des catégories pour pseudonymiser les décisions de justice: afin de limiter au maximum le risque de réidentification, il faut se demander quelles informations doivent être retirées et comment les catégoriser. Un nombre restreint de catégories (nom, prénom, adresse, date de naissance par exemple) aura pour avantage des consignes d'annotations plus simples, alors qu'une catégorisation plus fine (personnes physiques, personnes morales, adresse complète, lieu de résidence par exemple) permettra de mieux cibler certaines informations sensibles. :::
::: tip Exemple du choix des catégories pour pseudonymiser les décisions de justice:
Afin de limiter au maximum le risque de réidentification, il faut se demander quelles informations doivent être retirées et comment les catégoriser. Un nombre restreint de catégories (nom, prénom, adresse, date de naissance par exemple) aura pour avantage des consignes d'annotations plus simples, alors qu'une catégorisation plus fine (personnes physiques, personnes morales, adresse complète, lieu de résidence par exemple) permettra de mieux cibler certaines informations sensibles.
:::

Il est important d'évaluer la clarté du schéma d'annotation ainsi que la reproductibilité des tâches d'annotation entre différents annotateurs. En effet des consignes d'annotation peu claires ou intéreprétables de façon différente par différents annotateurs auront pour conséquences :
- De rendre inopérable l'évaluation de la qualité des annotations
- De compromettre l'automatisation de la tâche par un algorithme d'intelligence artificielle

::: tip Exemple: Analyse de l'ironie dans des tweet. Des interprétations différentes du langage, des prises en compte différentes du contexte peuvent amener deux personnes différentes à percevoir différemment le caractère ironique ou non d'un tweet. [Ce papier](https://hal.archives-ouvertes.fr/hal-01429673/document) de chercheurs en traitement automatique du langage présente un schéma d'annotation permettant d'analyser l'ironie dans les tweets. :::
::: tip Exemple: Analyse de l'ironie dans des tweet.
Des interprétations différentes du langage, des prises en compte différentes du contexte peuvent amener deux personnes différentes à percevoir différemment le caractère ironique ou non d'un tweet. [Ce papier](https://hal.archives-ouvertes.fr/hal-01429673/document) de chercheurs en traitement automatique du langage présente un schéma d'annotation permettant d'analyser l'ironie dans les tweets.
:::


### Le cycle schéma / annotations
Expand All @@ -84,7 +88,8 @@ Elaborer un schéma d'annotation nécessite de prendre en compte à la fois la p

![cycle iteration 1](./images/cycle_iteration_1.png)

::: tip Par exemple, pour un projet d'annotation de réponses à un questionnaire en texte libre, on peut avoir une idée a priori des thématiques abordées, ce qui permet d'élaborer une première version du schéma d'annotation, mais l'annotation des réponses pourra faire émerger de nouvelles thématiques qui pourront venir compléter ou modifier le schéma d'annotation. :::
::: tip Par exemple, pour un projet d'annotation de réponses à un questionnaire en texte libre, on peut avoir une idée a priori des thématiques abordées, ce qui permet d'élaborer une première version du schéma d'annotation, mais l'annotation des réponses pourra faire émerger de nouvelles thématiques qui pourront venir compléter ou modifier le schéma d'annotation.
:::



Expand Down
15 changes: 10 additions & 5 deletions annotation/3-conduire-campagne-annotation.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ La formation et la mobilisation des annotateurs est un aspect très important. L

En amont du projet, il est important de bien expliquer les enjeux du projet à l'équipe d'annotateurs ainsi que le rôle clé de l'annotation dans le projet. Cet *on-boarding* peut aussi être l'opportunité d'acculturer les annotateurs à l'Intelligence Artificielle.

::: tip C'est notamment le pari fait par le projet collaboratif [PIAF](https://piaf.etalab.studio/) (voir l'exemple présenté en partie [Mon projet nécessite-t-il une phase d'annotation et quelle stratégie d'annotation adopter ?](1-annotation-ia.md)), pour lequel ont été organisés des *annotathons* dont le but était de former les annotateurs à l'IA tout en récoltant des contributions au projet d'annotation. [Cet article](https://piaf.etalab.studio/enseignements-contributions/) détaille la méthodologie adoptée pour ce projet. :::
::: tip C'est notamment le pari fait par le projet collaboratif [PIAF](https://piaf.etalab.studio/) (voir l'exemple présenté en partie [Mon projet nécessite-t-il une phase d'annotation et quelle stratégie d'annotation adopter ?](1-annotation-ia.md)), pour lequel ont été organisés des *annotathons* dont le but était de former les annotateurs à l'IA tout en récoltant des contributions au projet d'annotation. [Cet article](https://piaf.etalab.studio/enseignements-contributions/) détaille la méthodologie adoptée pour ce projet.
:::

Il peut aussi être bénéfique au projet d'impliquer les annotateurs dans l'élaboration du schéma d'annotation, dans la mesure où cette élaboration passe par une phase d'itérations entre définition du schéma et annotation de documents. L'implication des annotateurs aura également pour avantage une meilleure appropriation de leur part des tâches à effectuer.

Expand Down Expand Up @@ -44,8 +45,8 @@ D'autre part, le jeu de données "Gold Standard" peut servir de jeu de données


::: lexique Jeu de données d'apprentissage et jeu de données de test

Afin de développer un modèle d'apprentissage supervisé, un jeu de données labélisées est nécessaire. Ce jeu de données est alors divisé en deux (en général par un échantillonnage aléatoire) : un jeu de données d'apprentissage et un jeu de données de test. Le **jeu d'apprentissage**, comme son nom l'indique, est utilisé pendant la phase d'apprentissage, afin de trouver une fonction qui permette de prédire le label à partir des variables en entrée. Afin de s'assurer que l'algorithme ait de bonnes performances sur des exemples différents de ceux utilisés lors de la phase d'apprentissage, les différentes métriques de performance de l'algorithme (justesse, précision, rappel, ...) sont calculées sur le **jeu de données de test**. ::
Afin de développer un modèle d'apprentissage supervisé, un jeu de données labélisées est nécessaire. Ce jeu de données est alors divisé en deux (en général par un échantillonnage aléatoire) : un jeu de données d'apprentissage et un jeu de données de test. Le **jeu d'apprentissage**, comme son nom l'indique, est utilisé pendant la phase d'apprentissage, afin de trouver une fonction qui permette de prédire le label à partir des variables en entrée. Afin de s'assurer que l'algorithme ait de bonnes performances sur des exemples différents de ceux utilisés lors de la phase d'apprentissage, les différentes métriques de performance de l'algorithme (justesse, précision, rappel, ...) sont calculées sur le **jeu de données de test**.
:::

### Faire annoter une partie des documents par plusieurs annotateurs

Expand All @@ -69,7 +70,9 @@ Calculer ces métriques suppose cependant des choix méthodologiques plus ou moi

L'annotation manuelle étant un processus long et couteux en temps, il est souvent judicieux d'employer des méthodes automatiques ou semi-automatiques afin d'accélérer le processus d'annotation.

::: lexique La pré-annotation consiste à annoter de façon automatique les documents, afin que l’annotateur les vérifie, en les complétant ou en les corrigeant si nécessaire. :::
::: lexique La pré-annotation
La pré-annotation consiste à annoter de façon automatique les documents, afin que l’annotateur les vérifie, en les complétant ou en les corrigeant si nécessaire.
:::

Plusieurs possibilités sont envisageables pour mettre en œuvre la pré-annotation, détaillées dans les deux paragraphes ci-dessous.

Expand All @@ -92,7 +95,9 @@ Ce type de méthodes nécessite un premier jeu de données annotées. Une fois q

Dans un projet d'annotation, les documents à annoter sont souvent sélectionnés aléatoirement parmi l'ensemble des documents.

::: lexique L'active learning est un champ de l'apprentissage automatique qui fait interagir l'algorithme d'apprentissage avec le système en charge de la labélisation (l'annotateur dans notre cas). Cette méthode est particulièrement utile dans les situations où l'obtention de labels est coûteuse. Au fur et à mesure de l'annotation, l'algorithme va apprendre à prioriser les documents à faire annoter afin de maximiser le gain d'information du nouveau document annoté, et ainsi permettre de minimiser le nombre de documents nécessaires pour entraîner un algorithme avec de bonnes performances. :::
::: lexique Active learning
L'active learning est un champ de l'apprentissage automatique qui fait interagir l'algorithme d'apprentissage avec le système en charge de la labélisation (l'annotateur dans notre cas). Cette méthode est particulièrement utile dans les situations où l'obtention de labels est coûteuse. Au fur et à mesure de l'annotation, l'algorithme va apprendre à prioriser les documents à faire annoter afin de maximiser le gain d'information du nouveau document annoté, et ainsi permettre de minimiser le nombre de documents nécessaires pour entraîner un algorithme avec de bonnes performances.
:::

L'idée sous-jacente est que tous les documents n'apporteront pas la même contribution à l'algorithme d'apprentissage. Pour plus d'informations à ce sujet, [cet article](https://pdfs.semanticscholar.org/799c/1a76e9ef45d543cb0b0169550e761376e975.pdf?_ga=2.78090388.1614533376.1600861526-210375121.1588074514) détaille comment implémenter des méthodes d'active learning appliquées à l'annotation de documents textuels.

Expand Down
3 changes: 2 additions & 1 deletion annotation/4-les-logiciels-d-annotation.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ La facilité d'installation du logiciel d'annotation est également un critère
- *Saas* ou *on premise* : un logiciel *SaaS* (Software as a Service) est directement utilisable en ligne alors qu'un logiciel *on premise* aura son architecture hébergée sur votre propre serveur
- Docker ou non : Docker permet de faciliter le déploiement du logiciel sur un serveur

::: lexique [Docker](https://www.docker.com/) est un logiciel libre permettant de lancer des applications dans des conteneurs logiciels. Il permet ainsi de faciliter le déploiement d'une application sur un serveur.
::: lexique Docker
[Docker](https://www.docker.com/) est un logiciel libre permettant de lancer des applications dans des conteneurs logiciels. Il permet ainsi de faciliter le déploiement d'une application sur un serveur.
:::

Les solutions *Saas* présentent l'avantage de ne nécessiter ni serveur ni installation. Si les données à annoter sont sensibles, il faudra cependant s'assurer que les modalités de stockage des données sur la solution en ligne sont conformes aux exigences de sécurité et de protection des données.
4 changes: 3 additions & 1 deletion annotation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ Par opposition, vous aurez probablement besoin d’annoter vos données si elles

La phase d’annotation, qui consiste à assigner une ou plusieurs étiquettes à des éléments d’un jeu de données, permet ainsi la constitution d’un jeu de données structuré, rendant possible l’entraînement d’algorithmes supervisés.

::: lexique L'annotation est la tâche qui consiste à attribuer à chaque donnée le label qui lui correspond. Par exemple, à attribuer le label « chien » ou « chat » à une base de photographies d'animaux. Ou encore à attribuer le label correct entre « nom », « prénom », « adresse », « date » ou « aucun » à chacun des mots d'un document. On distinguera **l'annotation manuelle**, lorsque cette tâche est effectuée par un humain, de **l'annotation automatique**, lorsque cette tâche est effectuée par un programme informatique. :::
::: lexique
L'annotation est la tâche qui consiste à attribuer à chaque donnée le label qui lui correspond. Par exemple, à attribuer le label « chien » ou « chat » à une base de photographies d'animaux. Ou encore à attribuer le label correct entre « nom », « prénom », « adresse », « date » ou « aucun » à chacun des mots d'un document. On distinguera **l'annotation manuelle**, lorsque cette tâche est effectuée par un humain, de **l'annotation automatique**, lorsque cette tâche est effectuée par un programme informatique.
:::

La pertinence et la performance de votre solution d’IA dépendra fortement de la qualité des données, dont la qualité des étiquettes est une dimension importante ; même si d’autres aspects qualitatifs peuvent entrer en jeu (complétude des variables explicatives, valeurs aberrantes, etc.). La phase d’annotation doit donc être réalisée en veillant à obtenir des étiquettes de bonne qualité. Ce guide présente les étapes clés et quelques bonnes pratiques afin d’y parvenir.

Expand Down
2 changes: 1 addition & 1 deletion pseudonymisation/4-lexique.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Le [guide de la CNIL sur l'anonymisation des données](https://www.cnil.fr/fr/la

### Reconnaissance d'entités nommées

La reconnaissance d'entités nommées, ou *Named Entity Recognition* (NER) en anglais, est une tâche d'apprentissage supervisée où les données d'entrées sont chacun des mots d'un document et le label qu'on leur attribue est une catégorie sémantique à laquelle il se rattache : par exemple « verbe », « adjectif » ou « adverbe » dans un cas général et « nom », « prénom », « adresse », « date » pour une tâche de pseudonymisation.
La reconnaissance d'entités nommées, ou *Named Entity Recognition* (NER) en anglais, est une tâche d'apprentissage supervisée où les données d'entrées sont chacun des mots d'un document et le label qu'on leur attribue est une catégorie sémantique à laquelle il se rattache : par exemple « nom », « prénom », « adresse », « date ».

### Reconnaissance optique de caractères

Expand Down

0 comments on commit 53cf153

Please sign in to comment.