Förberedelse av träningsdata

Naturlig språkbehandling med spaCy

Azadeh Mobasher

Principal data scientist

Träningssteg

 

  1. Annotera och förbered indata
  2. Initiera modellvikterna
  3. Gör prediktioner på några exempel med aktuella vikter
  4. Jämför prediktioner med korrekta svar
  5. Använd optimeraren för att beräkna vikter som förbättrar modellen
  6. Uppdatera vikterna något
  7. Gå tillbaka till steg 3.
Naturlig språkbehandling med spaCy

Annotering och förberedelse av data

  • Första steget är att förbereda träningsdata i rätt format
  • Efter datainsamling annoterar vi datan
  • Annotering innebär att märka upp intent, entiteter m.m.
  • Här är ett exempel på annoterad data:
annotated_data = {
"sentence": "An antiviral drugs used against influenza is neuraminidase inhibitors.",
"entities": {
             "label": "Medicine",
             "value": "neuraminidase inhibitors",
    }
}
Naturlig språkbehandling med spaCy

Annotering och förberedelse av data

  • Här är ytterligare ett exempel på annoterad data:

 

annotated_data = {
"sentence": "Bill Gates visited the SFO Airport.",
"entities": [{"label": "PERSON", "value": "Bill Gates"}, 
             {"label": "LOC", "value": "SFO Airport"}]
}
Naturlig språkbehandling med spaCy

spaCy:s träningsdataformat

  • Dataannoteringen förbereder träningsdata för det vi vill att modellen ska lära sig
  • Träningsdatamängden måste lagras som en ordbok:
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 exempelpar:

  • Varje exempelpar innehåller en mening som första element
  • Parets andra element är en lista med annoterade entiteter samt start- och sluttecken
Naturlig språkbehandling med spaCy

Example-objekt för träning

  • Vi kan inte mata in rå text direkt till spaCy

  • Vi behöver skapa ett Example-objekt för varje träningsexempel

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())
Naturlig språkbehandling med spaCy

Nu kör vi en övning!

Naturlig språkbehandling med spaCy

Preparing Video For Download...