ПочатиПочніть безкоштовно

Створення власної іменованої сутності в spaCy

Якщо вбудованих іменованих сутностей spaCy недостатньо, ви можете створити власні за допомогою класу EntityRuler() у spaCy.

EntityRuler() дає змогу створювати власні сутності й додавати їх до конвеєра spaCy.

Почніть зі створення екземпляра EntityRuler() і передайте йому поточний конвеєр nlp.

Потім викличте add_patterns() для цього екземпляра та передайте словник із текстовим pattern, який ви хочете позначити сутністю.

Після того як налаштуєте взірець, додайте його до конвеєра nlp за допомогою add_pipe().

Оскільки Acme — технологічна компанія, ви вирішили позначити взірець "smartphone" тегом сутності "PRODUCT".

spaCy вже імпортовано, а doc містить транскрибований текст із call_4_channel_2.wav file).

Ця вправа є частиною курсу

Обробка усного мовлення в Python

Переглянути курс

Інструкції до вправи

  • Імпортуйте EntityRuler з spacy.pipeline.
  • Додайте "smartphone" як значення для ключа "pattern".
  • Додайте екземпляр EntityRuler(), ruler, до конвеєра nlp.
  • Виведіть атрибути сутностей, що містяться в doc.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Import EntityRuler class
from spacy.pipeline import ____

# Create EntityRuler instance
ruler = EntityRuler(nlp)

# Define pattern for new entity
ruler.add_patterns([{"label": "PRODUCT", "pattern": ____}])

# Update existing pipeline
nlp.add_pipe(____, before="ner")

# Test new entity
for entity in doc.____:
  print(entity.text, entity.label_)
Редагувати та запускати код