Preparazione dei dati di training

Natural Language Processing con spaCy

Azadeh Mobasher

Principal data scientist

Fasi del training

 

  1. Annota e prepara i dati di input
  2. Inizializza i pesi del modello
  3. Predici alcuni esempi con i pesi attuali
  4. Confronta le previsioni con le risposte corrette
  5. Usa l'ottimizzatore per calcolare pesi che migliorano le prestazioni
  6. Aggiorna leggermente i pesi
  7. Torna al passo 3.
Natural Language Processing con spaCy

Annotare e preparare i dati

  • Il primo passo è preparare i dati di training nel formato richiesto
  • Dopo aver raccolto i dati, li annotiamo
  • Annotazione significa etichettare intenti, entità, ecc.
  • Ecco un esempio di dato annotato:
annotated_data = {
"sentence": "An antiviral drugs used against influenza is neuraminidase inhibitors.",
"entities": {
             "label": "Medicine",
             "value": "neuraminidase inhibitors",
    }
}
Natural Language Processing con spaCy

Annotare e preparare i dati

  • Ecco un altro esempio di dato annotato:

 

annotated_data = {
"sentence": "Bill Gates visited the SFO Airport.",
"entities": [{"label": "PERSON", "value": "Bill Gates"}, 
             {"label": "LOC", "value": "SFO Airport"}]
}
Natural Language Processing con spaCy

Formato dei dati di training in spaCy

  • L'annotazione prepara i dati di training a ciò che vogliamo che il modello apprenda
  • Il dataset di training deve essere memorizzato come dizionario:
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": []})
]

Tre coppie di esempi:

  • Ogni coppia ha una frase come primo elemento
  • Il secondo elemento è la lista delle entità annotate con caratteri di inizio e fine
Natural Language Processing con spaCy

Dati dell'oggetto Example per il training

  • Non possiamo passare il testo grezzo direttamente a spaCy

  • Serve creare un oggetto Example per ogni esempio di training

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())
Natural Language Processing con spaCy

Esercitiamoci!

Natural Language Processing con spaCy

Preparing Video For Download...