Распознавание именованных сущностей

Конструирование признаков для NLP на Python

Rounak Banik

Data Scientist

Применение

  • Эффективные алгоритмы поиска
  • Ответы на вопросы
  • Классификация новостных статей
  • Клиентский сервис
Конструирование признаков для NLP на Python

Распознавание именованных сущностей

  • Выявление и классификация именованных сущностей по заранее определённым категориям.
  • Категории: персона, организация, страна и др.
    "John Doe is a software engineer working at Google. He lives in France."
    
  • Именованные сущности
  • John Doe → персона
  • Google → организация
  • France → страна (геополитическая единица)
Конструирование признаков для NLP на Python

NER с помощью spaCy

import spacy
string = "John Doe is a software engineer working at Google. He lives in France."

# Load model and create Doc object
nlp = spacy.load('en_core_web_sm')
doc = nlp(string)

# Generate named entities ne = [(ent.text, ent.label_) for ent in doc.ents] print(ne)
[('John Doe', 'PERSON'), ('Google', 'ORG'), ('France', 'GPE')]
Конструирование признаков для NLP на Python

Аннотации NER в spaCy

Документация spaCy по аннотациям NER

Конструирование признаков для NLP на Python

Важное замечание

  • Не идеальны
  • Качество зависит от обучающих и тестовых данных
  • Для нестандартных случаев обучайте модели на специализированных данных
  • Зависят от языка
Конструирование признаков для NLP на Python

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

Конструирование признаков для NLP на Python

Preparing Video For Download...