Préparation des 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 la prédiction 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

Annoter et préparer les données

  • Première étape : préparer les données d'entraînement au format requis
  • Après collecte, on les annote
  • L'annotation consiste à étiqueter l'intention, les 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

Annoter et préparer les données

  • 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
  • Le jeu 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 d'objet Example pour l'entraînement

  • On ne peut pas envoyer 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...