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

EntityRuler із кількома шаблонами в spaCy

EntityRuler дає змогу додавати сутності до doc.ents і підсилювати якість розпізнавання іменованих сутностей. У цій вправі ви потренуєтеся додавати компонент EntityRuler до наявного конвеєра nlp, щоб переконатися, що кілька сутностей класифікуються коректно.

Модель en_core_web_sm уже завантажено й доступно як nlp. Ви можете звернутися до прикладного тексту в example_text і використати nlp та doc, щоб отримати відповідно модель spaCy та об'єкт Doc для example_text.

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

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

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

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

  • Виведіть список кортежів із текстами сутностей та їхніми типами в example_text за допомогою моделі nlp.
  • Задайте кілька шаблонів, щоб зіставляти слова в нижньому регістрі brother і sisters з міткою PERSON.
  • Додайте компонент EntityRuler до конвеєра nlp і додайте patterns до EntityRuler.
  • Виведіть кортежі з текстом і типом сутностей для example_text за допомогою моделі nlp.

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

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

nlp = spacy.load("en_core_web_md")

# Print a list of tuples of entities text and types in the example_text
print("Before EntityRuler: ", [____ for ____ in nlp(____).____], "\n")

# Define pattern to add a label PERSON for lower cased sisters and brother entities
patterns = [{"label": ____, "pattern": [{"lower": ____}]},
            {"label": ____, "pattern": [{"lower": ____}]}]

# Add an EntityRuler component and add the patterns to the ruler
ruler = nlp.____("entity_ruler")
ruler.____(____)

# Print a list of tuples of entities text and types
print("After EntityRuler: ", [(ent.____, ent.____) for ent in nlp(example_text).____])
Редагувати та запускати код