EntityRuler pro NER
EntityRuler lze kombinovat s EntityRecognizer existujícího modelu a zvýšit tak jeho přesnost. V tomto cvičení si vyzkoušíš propojení komponenty EntityRuler s existující komponentou NER modelu en_core_web_sm. Model je již načtený jako nlp.
Pokud přidáš EntityRuler před komponentu NER, rozpoznávač entit bude respektovat stávající rozsahy entit a upraví své predikce na základě vzorů přidaných do EntityRuler, čímž se zvýší přesnost rozpoznávání pojmenovaných entit.
Toto cvičení je součástí kurzu
Zpracování přirozeného jazyka s knihovnou spaCy
Pokyny k cvičení
- Přidej
EntityRulerdo pipelinenlppřed komponentuner. - Definuj vzor entity pro token, který klasifikuje malými písmeny zapsaný výraz
new york groupjakoORG. - Přidej
patternsdo komponentyEntityRuler. - Spusť model a vypiš n-tice s textem a typem entit z kontejneru
Doc.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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.____])