Příprava trénovacích dat

Zpracování přirozeného jazyka s knihovnou spaCy

Azadeh Mobasher

Principal data scientist

Kroky trénování

 

  1. Anotace a příprava vstupních dat
  2. Inicializace vah modelu
  3. Predikce několika příkladů s aktuálními váhami
  4. Porovnání predikce se správnými odpověďmi
  5. Výpočet vah pro zlepšení výkonu modelu pomocí optimalizátoru
  6. Mírná aktualizace vah
  7. Návrat ke kroku 3.
Zpracování přirozeného jazyka s knihovnou spaCy

Anotace a příprava dat

  • Prvním krokem je příprava trénovacích dat v požadovaném formátu
  • Po shromáždění dat je anotujeme
  • Anotace znamená označení záměru, entit atd.
  • Příklad anotovaných dat:
annotated_data = {
"sentence": "An antiviral drugs used against influenza is neuraminidase inhibitors.",
"entities": {
             "label": "Medicine",
             "value": "neuraminidase inhibitors",
    }
}
Zpracování přirozeného jazyka s knihovnou spaCy

Anotace a příprava dat

  • Další příklad anotovaných dat:

 

annotated_data = {
"sentence": "Bill Gates visited the SFO Airport.",
"entities": [{"label": "PERSON", "value": "Bill Gates"}, 
             {"label": "LOC", "value": "SFO Airport"}]
}
Zpracování přirozeného jazyka s knihovnou spaCy

Formát trénovacích dat spaCy

  • Anotace dat připravuje trénovací data pro to, co má model naučit
  • Trénovací datová sada musí být uložena jako slovník:
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": []})
]

Tři příklady dvojic:

  • Každá dvojice obsahuje větu jako první prvek
  • Druhý prvek dvojice je seznam anotovaných entit s počátečními a koncovými znaky
Zpracování přirozeného jazyka s knihovnou spaCy

Objekt Example pro trénování

  • Surový text nelze předat spaCy přímo

  • Pro každý trénovací příklad je nutné vytvořit objekt Example

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())
Zpracování přirozeného jazyka s knihovnou spaCy

Pojďme procvičovat!

Zpracování přirozeného jazyka s knihovnou spaCy

Preparing Video For Download...