Začněte nyníZačněte zdarma

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

Zobrazit kurz

Pokyny k cvičení

  • Přidej EntityRuler do pipeline nlp před komponentu ner.
  • Definuj vzor entity pro token, který klasifikuje malými písmeny zapsaný výraz new york group jako ORG.
  • Přidej patterns do komponenty EntityRuler.
  • 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.____])
Upravit a spustit kód