Préparer les données d'entraînement

Traitement du langage naturel avec spaCy

Azadeh Mobasher

Principal data scientist

Étapes d'entraînement

 

  1. Annoter et préparer les données d'entrée
  2. Initialiser les poids du modèle
  3. Prédire quelques exemples avec les poids actuels
  4. Comparer les prédictions aux bonnes réponses
  5. Utiliser l'optimiseur pour calculer des poids qui améliorent les performances
  6. Mettre légèrement à jour les poids
  7. Revenir à l'étape 3.
Traitement du langage naturel avec spaCy

Annotation et préparation des données

  • Première étape : préparer les données d'entraînement au format requis
  • Après la collecte, on les annote
  • Annotation : attribuer des étiquettes à l'intention, aux entités, etc.
  • Exemple de données annotées :
annotated_data = {
"sentence": "An antiviral drugs used against influenza is neuraminidase inhibitors.",
"entities": {
             "label": "Medicine",
             "value": "neuraminidase inhibitors",
    }
}
Traitement du langage naturel avec spaCy

Annotation et préparation des données

  • Voici un autre exemple de données annotées :

 

annotated_data = {
"sentence": "Bill Gates visited the SFO Airport.",
"entities": [{"label": "PERSON", "value": "Bill Gates"}, 
             {"label": "LOC", "value": "SFO Airport"}]
}
Traitement du langage naturel avec spaCy

Format des données d'entraînement spaCy

  • L'annotation prépare les données à ce que le modèle doit apprendre
  • L'ensemble d'entraînement doit être stocké comme un dictionnaire :
training_data = [
("I will visit you in Austin.", {"entities": [(20, 26, "GPE")]}),
("I'm going to Sam's house.", {"entities": [(13,18, "PERSON"), (19, 24, "GPE")]}),
("I will go.", {"entities": []})
]

Trois paires d'exemples :

  • Chaque paire contient une phrase comme premier élément
  • Le second élément est la liste des entités annotées avec positions de début et de fin
Traitement du langage naturel avec spaCy

Données de l'objet Example pour l'entraînement

  • On ne peut pas donner le texte brut directement à spaCy

  • Il faut créer un objet Example pour chaque exemple d'entraînement

import spacy
from spacy.training import Example

nlp = spacy.load("en_core_web_sm")

doc = nlp("I will visit you in Austin.")

annotations = {"entities": [(20, 26, "GPE")]} example_sentence = Example.from_dict(doc, annotations)
print(example_sentence.to_dict())
Traitement du langage naturel avec spaCy

Passons à la pratique !

Traitement du langage naturel avec spaCy

Preparing Video For Download...