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

EntityRuler для NER

EntityRuler можна поєднувати з EntityRecognizer наявної моделі, щоб підвищити її точність. У цій вправі ви попрактикуєтеся поєднувати компонент EntityRuler і наявний компонент NER моделі en_core_web_sm. Модель уже завантажено як nlp.

Коли EntityRuler додано перед компонентом NER, розпізнавач сутностей враховує наявні проміжки сутностей і коригує свої передбачення на основі взірців, доданих до EntityRuler, щоб поліпшити точність завдання розпізнавання іменованих сутностей.

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

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

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

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

  • Додайте EntityRuler до nlp перед компонентом ner.
  • Визначте взірець сутності за токенами, щоб класифікувати запис у нижньому регістрі new york group як ORG.
  • Додайте patterns до компонента EntityRuler.
  • Запустіть модель і виведіть кортеж із текстом і типом сутностей для контейнера Doc.

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

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

nlp = spacy.load("en_core_web_sm")
text = "New York Group was built in 1987."

# Add an EntityRuler to the nlp before NER component
ruler = nlp.____("entity_ruler", ____="ner")

# Define a pattern to classify lower cased new york group as ORG
patterns = [{"label": "ORG", "pattern": [{"lower": ____}]}]

# Add the patterns to the EntityRuler component
ruler.____(____)

# Run the model and print entities text and type for all the entities
doc = ____
print([(ent.____, ent.____) for ent in doc.____])
Редагувати та запускати код