Bắt đầu ngayBắt đầu miễn phí

EntityRuler cho NER

EntityRuler có thể kết hợp với EntityRecognizer của một mô hình hiện có để tăng độ chính xác. Trong bài tập này, bạn sẽ thực hành kết hợp một thành phần EntityRuler với thành phần NER sẵn có của mô hình en_core_web_sm. Mô hình đã được nạp sẵn dưới tên nlp.

Khi EntityRuler được thêm trước thành phần NER, bộ nhận diện thực thể sẽ tôn trọng các span thực thể đã có và điều chỉnh dự đoán dựa trên các mẫu được thêm vào EntityRuler để cải thiện độ chính xác của nhiệm vụ nhận diện thực thể có tên.

Bài tập này là một phần của khóa học

Xử lý ngôn ngữ tự nhiên với spaCy

Xem khóa học

Hướng dẫn bài tập

  • Thêm một EntityRuler vào nlp trước thành phần ner.
  • Định nghĩa một mẫu thực thể theo token để phân loại new york group (chữ thường) là ORG.
  • Thêm patterns vào thành phần EntityRuler.
  • Chạy mô hình và in ra tuple gồm văn bản thực thể và kiểu cho container Doc.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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.____])
Chỉnh sửa và Chạy Mã