EntityRuler với mô hình spaCy trống
EntityRuler cho phép bạn thêm các thực thể vào doc.ents. Nó có thể được kết hợp với EntityRecognizer (một thành phần trong pipeline của spaCy dùng cho nhận dạng thực thể có tên) để cải thiện độ chính xác, hoặc dùng độc lập để xây dựng hệ thống nhận dạng thực thể thuần theo luật. Trong bài tập này, bạn sẽ luyện tập thêm một thành phần EntityRuler vào mô hình tiếng Anh spaCy trống và phân loại các thực thể có tên trong text được cung cấp bằng phương pháp nhận dạng thực thể thuần theo luật.
Gói spaCy đã được import và một mô hình tiếng Anh spaCy trống đã sẵn sàng dưới tên nlp. Một danh sách patterns để phân loại openai và microsoft viết thường thành ORG cũng đã được chuẩn bị để bạn sử dụng.
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
Hướng dẫn bài tập
- Tạo và thêm một thành phần
EntityRulervào pipeline. - Thêm các pattern đã cho vào thành phần
EntityRuler. - Chạy mô hình trên
textđã cho và tạoDoctương ứng. - In ra các bộ (văn bản thực thể, loại thực thể) cho tất cả thực thể trong
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.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.____])