Pregătirea datelor de antrenament

Procesarea limbajului natural cu spaCy

Azadeh Mobasher

Principal data scientist

Pașii antrenamentului

 

  1. Adnotați și pregătiți datele de intrare
  2. Inițializați ponderile modelului
  3. Faceți predicții pe câteva exemple cu ponderile curente
  4. Comparați predicțiile cu răspunsurile corecte
  5. Utilizați optimizatorul pentru a calcula ponderi care îmbunătățesc performanța modelului
  6. Actualizați ușor ponderile
  7. Reveniți la pasul 3.
Procesarea limbajului natural cu spaCy

Adnotarea și pregătirea datelor

  • Primul pas este pregătirea datelor de antrenament în formatul necesar
  • După colectarea datelor, le adnotăm
  • Adnotarea înseamnă etichetarea intenției, entităților etc.
  • Exemplu de date adnotate:
annotated_data = {
"sentence": "An antiviral drugs used against influenza is neuraminidase inhibitors.",
"entities": {
             "label": "Medicine",
             "value": "neuraminidase inhibitors",
    }
}
Procesarea limbajului natural cu spaCy

Adnotarea și pregătirea datelor

  • Un alt exemplu de date adnotate:

 

annotated_data = {
"sentence": "Bill Gates visited the SFO Airport.",
"entities": [{"label": "PERSON", "value": "Bill Gates"}, 
             {"label": "LOC", "value": "SFO Airport"}]
}
Procesarea limbajului natural cu spaCy

Formatul datelor de antrenament spaCy

  • Adnotarea datelor pregătește datele de antrenament pentru ceea ce dorim ca modelul să învețe
  • Setul de date de antrenament trebuie stocat ca un dicționar:
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": []})
]

Trei perechi de exemple:

  • Fiecare pereche conține o propoziție ca prim element
  • Al doilea element al perechii este lista entităților adnotate cu pozițiile de început și sfârșit
Procesarea limbajului natural cu spaCy

Obiectul Example pentru antrenament

  • Nu putem furniza textul brut direct către spaCy

  • Trebuie să creăm un obiect Example pentru fiecare exemplu de antrenament

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())
Procesarea limbajului natural cu spaCy

Să exersăm!

Procesarea limbajului natural cu spaCy

Preparing Video For Download...