Настройка моделей spaCy

Обработка естественного языка с помощью spaCy

Azadeh Mobasher

Principal data scientist

Зачем обучать модели spaCy?

  • Хорошо справляются с общими задачами NLP
  • Но могут не включать данные из узких областей, например:
    • данные Twitter
    • медицинские данные

Пример NER в медицинской области

Обработка естественного языка с помощью spaCy

Зачем обучать модели spaCy?

 

  • Лучшие результаты в конкретной предметной области
  • Необходимо для классификации текста в узких областях

 

Перед обучением ответьте на следующие вопросы:

  • Достаточно ли хорошо модели spaCy работают с нашими данными?
  • Содержит ли наша область много меток, отсутствующих в моделях spaCy?
Обработка естественного языка с помощью spaCy

Качество моделей на наших данных

  • Достаточно ли хорошо модели spaCy работают с нашими данными?
  • Oxford Street неправильно классифицируется с меткой GPE:
import spacy
nlp = spacy.load("en_core_web_sm")

text = "The car was navigating to the Oxford Street."
doc = nlp(text)
print([(ent.text, ent.label_) for ent in doc.ents])
[('the Oxford Street', 'ORG')]
Обработка естественного языка с помощью spaCy

Метки в моделях spaCy

  • Содержит ли наша область много меток, отсутствующих в моделях spaCy?

Пример NER: общая и медицинская области

Обработка естественного языка с помощью spaCy

Метки в моделях spaCy

 

Если требуется обучение собственной модели, следуйте этим шагам:

  • Соберите данные в вашей предметной области
  • Разметьте данные
  • Решите: дообучить существующую модель или обучить с нуля
Обработка естественного языка с помощью spaCy

Давайте потренируемся!

Обработка естественного языка с помощью spaCy

Preparing Video For Download...