Підготовка тренувальних даних

Обробка природної мови (NLP) зі spaCy

Azadeh Mobasher

Principal data scientist

Кроки навчання

 

  1. Розмітьте й підготуйте вхідні дані
  2. Ініціалізуйте ваги моделі
  3. Передбачте кілька прикладів з поточними вагами
  4. Порівняйте прогноз із правильними відповідями
  5. Використайте оптимізатор, щоб обчислити ваги для покращення моделі
  6. Трохи оновіть ваги
  7. Поверніться до кроку 3.
Обробка природної мови (NLP) зі spaCy

Розмітка та підготовка даних

  • Спершу підготуйте тренувальні дані у потрібному форматі
  • Після збирання даних ми їх розмічаємо
  • Розмітка — це присвоєння наміру, сутностей тощо
  • Приклад розмічених даних:
annotated_data = {
"sentence": "An antiviral drugs used against influenza is neuraminidase inhibitors.",
"entities": {
             "label": "Medicine",
             "value": "neuraminidase inhibitors",
    }
}
Обробка природної мови (NLP) зі spaCy

Розмітка та підготовка даних

  • Ось ще один приклад розмічених даних:

 

annotated_data = {
"sentence": "Bill Gates visited the SFO Airport.",
"entities": [{"label": "PERSON", "value": "Bill Gates"}, 
             {"label": "LOC", "value": "SFO Airport"}]
}
Обробка природної мови (NLP) зі spaCy

Формат тренувальних даних у spaCy

  • Розмітка готує тренувальні дані до того, чого ми навчаємо модель
  • Тренувальні дані мають зберігатися як словник:
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": []})
]

Три пари прикладів:

  • У кожній парі першим елементом є речення
  • Другий елемент — список розмічених сутностей із початковими та кінцевими індексами
Обробка природної мови (NLP) зі spaCy

Дані об'єкта Example для навчання

  • Не можна подавати сирий текст безпосередньо в spaCy

  • Потрібно створити об'єкт 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())
Обробка природної мови (NLP) зі spaCy

Давайте потренуємось!

Обробка природної мови (NLP) зі spaCy

Preparing Video For Download...