EntityRuler s více vzory v spaCy
EntityRuler ti umožňuje přidávat entity do doc.ents a zlepšovat výkon rozpoznávání pojmenovaných entit. V tomto cvičení si procvičíš přidání komponenty EntityRuler do existujícího pipeline nlp, aby byly více entity správně klasifikovány.
Model en_core_web_sm je už načtený a dostupný jako nlp. Ukázkový text najdeš v proměnné example_text; pomocí nlp a doc pak přistoupíš k modelu spaCy a kontejneru Doc pro example_text.
Toto cvičení je součástí kurzu
Zpracování přirozeného jazyka s knihovnou spaCy
Pokyny k cvičení
- Vypiš seznam n-tic obsahujících text a typ entit v
example_textpomocí modelunlp. - Definuj více vzorů pro párování slov
brotherasisters(malými písmeny) s návěštímPERSON. - Přidej komponentu
EntityRulerdo pipelinenlpa přidej do nípatterns. - Vypiš n-tice textu a typů entit pro
example_texts použitím modelunlp.
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_md")
# Print a list of tuples of entities text and types in the example_text
print("Before EntityRuler: ", [____ for ____ in nlp(____).____], "\n")
# Define pattern to add a label PERSON for lower cased sisters and brother entities
patterns = [{"label": ____, "pattern": [{"lower": ____}]},
{"label": ____, "pattern": [{"lower": ____}]}]
# Add an EntityRuler component and add the patterns to the ruler
ruler = nlp.____("entity_ruler")
ruler.____(____)
# Print a list of tuples of entities text and types
print("After EntityRuler: ", [(ent.____, ent.____) for ent in nlp(example_text).____])