Сумісні тренувальні дані
Пам'ятайте, що не можна передавати сирий текст безпосередньо в spaCy. Замість цього потрібно створити об'єкт Example для кожного тренувального прикладу. У цій вправі ви потренуєтеся перетворювати training_data з одним анотованим реченням на список об'єктів Example.
Модель en_core_web_sm уже імпортовано і вона готова до використання як nlp. Клас Example також імпортовано для вашої роботи.
Ця вправа є частиною курсу
Обробка природної мови (NLP) зі spaCy
Інструкції до вправи
- Ітеруйтеся через текст і анотації в
training_data, перетворіть текст на контейнерDocі збережіть його вdoc. - Створіть об'єкт
Example, використовуючи об'єктdocі анотації кожного елемента тренувальних даних, та збережіть його вexample_sentence. - Додайте
example_sentenceдо спискуall_examples.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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(____))