EntityRuler з порожньою моделлю spaCy
EntityRuler дає змогу додавати сутності до doc.ents. Його можна поєднувати з EntityRecognizer — компонентом конвеєра spaCy для розпізнавання іменованих сутностей — щоб підвищити точність, або використовувати окремо для побудови повністю правилової системи розпізнавання сутностей. У цій вправі ви потренуєтеся додавати компонент EntityRuler до порожньої англійської моделі spaCy та класифікувати іменовані сутності в заданому text, використовуючи суто правилове розпізнавання іменованих сутностей.
Пакет spaCy уже імпортовано, а порожню англійську модель spaCy підготовлено до використання як nlp. Список patterns для класифікації слів у нижньому регістрі OpenAI та Microsoft як ORG уже створено для вашого використання.
Ця вправа є частиною курсу
Обробка природної мови (NLP) зі spaCy
Інструкції до вправи
- Створіть і додайте компонент
EntityRulerдо конвеєра. - Додайте надані шаблони до компонента
EntityRuler. - Запустіть модель на заданому
textі створіть відповідний контейнерDoc. - Виведіть кортежі (текст сутності та її тип) для всіх сутностей у контейнері
Doc
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
nlp = spacy.blank("en")
patterns = [{"label": "ORG", "pattern": [{"LOWER": "openai"}]},
{"label": "ORG", "pattern": [{"LOWER": "microsoft"}]}]
text = "OpenAI has joined forces with Microsoft."
# Add EntityRuler component to the model
entity_ruler = nlp.____("entity_ruler")
# Add given patterns to the EntityRuler component
entity_ruler.____(____)
# Run the model on a given text
doc = nlp(____)
# Print entities text and type for all entities in the Doc container
print([(ent.____, ent.____) for ent in doc.____])