EntityRuler z pustym modelem spaCy
EntityRuler pozwala dodawać encje do doc.ents. Można go łączyć z EntityRecognizer – komponentem potoku spaCy do rozpoznawania nazwanych encji – w celu zwiększenia dokładności, lub używać samodzielnie jako czysto regułowego systemu rozpoznawania encji. W tym ćwiczeniu przećwiczysz dodawanie komponentu EntityRuler do pustego modelu angielskiego spaCy i klasyfikowanie nazwanych encji w podanym text przy użyciu wyłącznie reguł.
Pakiet spaCy jest już zaimportowany, a pusty angielski model spaCy jest dostępny jako nlp. Lista patterns klasyfikująca OpenAI i Microsoft (pisane małymi literami) jako ORG jest już gotowa do użycia.
To ćwiczenie jest częścią kursu
Przetwarzanie języka naturalnego z użyciem spaCy
Instrukcje do ćwiczenia
- Utwórz komponent
EntityRuleri dodaj go do potoku. - Dodaj podane wzorce do komponentu
EntityRuler. - Uruchom model na podanym
texti utwórz odpowiadający mu kontenerDoc. - Wyświetl krotki zawierające tekst i typ każdej encji z kontenera
Doc.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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.____])