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).____])