Compatibele trainingsdata
Bedenk dat je de ruwe tekst niet rechtstreeks aan spaCy kunt voeren. In plaats daarvan moet je voor elk trainingsvoorbeeld een Example-object maken. In deze oefening ga je oefenen met het omzetten van training_data met één geannoteerde zin naar een lijst met Example-objecten.
Het en_core_web_sm-model is al geïmporteerd en klaar voor gebruik als nlp. De Example-klasse is ook voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Natural Language Processing met spaCy
Oefeninstructies
- Doorloop de tekst en annotaties in
training_data, zet de tekst om naar eenDoc-container en sla die op indoc. - Maak een
Example-object met hetdoc-object en de annotaties van elk trainingsdatapunt, en sla dit op alsexample_sentence. - Voeg
example_sentencetoe aan een lijstall_examples.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
example_text = 'A patient with chest pain had hyperthyroidism.'
training_data = [(example_text, {'entities': [(15, 25, 'SYMPTOM'), (30, 45, 'DISEASE')]})]
all_examples = []
# Iterate through text and annotations and convert text to a Doc container
for text, annotations in training_data:
doc = nlp(____)
# Create an Example object from the doc contianer and annotations
example_sentence = ____.____(doc, ____)
print(example_sentence.to_dict(), "\n")
# Append the Example object to the list of all examples
all_examples.append(____)
print("Number of formatted training data: ", len(____))