Kom igångKom igång gratis

Skapa en anpassad namngiven entitet i spaCy

Om spaCys inbyggda namngivna entiteter inte räcker kan du skapa egna med hjälp av spaCys EntityRuler()-klass.

EntityRuler() låter dig definiera egna entiteter och lägga till dem i en spaCy-pipeline.

Du börjar med att skapa en instans av EntityRuler() och skickar in den aktuella pipelinen, nlp.

Därefter kan du anropa add_patterns() på instansen och skicka in ett lexikon med det textmönster (pattern) du vill märka med en entitet.

När du har ställt in ett mönster lägger du till det i nlp-pipelinen med add_pipe().

Eftersom Acme är ett teknikföretag väljer du att märka mönstret "smartphone" med entitetsetiketten "PRODUCT".

spaCy har redan importerats och ett doc-objekt finns redan, som innehåller den transkriberade texten från call_4_channel_2.wav fil).

Den här övningen är en del av kursen

Taligenkänning i Python

Visa kurs

Övningsinstruktioner

  • Importera EntityRuler från spacy.pipeline.
  • Lägg till "smartphone" som värde för nyckeln "pattern".
  • Lägg till EntityRuler()-instansen ruler i nlp-pipelinen.
  • Skriv ut entitetsattributen i doc.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Import EntityRuler class
from spacy.pipeline import ____

# Create EntityRuler instance
ruler = EntityRuler(nlp)

# Define pattern for new entity
ruler.add_patterns([{"label": "PRODUCT", "pattern": ____}])

# Update existing pipeline
nlp.add_pipe(____, before="ner")

# Test new entity
for entity in doc.____:
  print(entity.text, entity.label_)
Redigera och kör kod