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

Vytvoření vlastní pojmenované entity ve spaCy

Pokud ti vestavěné pojmenované entity ve spaCy nestačí, můžeš si vytvořit vlastní pomocí komponenty pipeline entity_ruler.

Komponenta entity_ruler ti umožní vytvořit vlastní entity a přidat je do pipeline spaCy.

Nejdřív přidáš komponentu do existující pipeline pomocí nlp.add_pipe() a umístíš ji before komponentu "ner", aby se tvá pravidla použila jako první. add_pipe() vrací komponentu, kterou přidal.

Poté na komponentě zavoláš add_patterns() a předáš jí slovník s textovým pattern, který chceš označit entitou.

Jelikož je Acme technologická společnost, rozhodneš se označit vzor "smartphone" entitním tagem "PRODUCT".

spaCy je už naimportovaná a nlp obsahuje načtený model en_core_web_sm. Jelikož změna pipeline nemá vliv na už existující dokumenty, jakmile bude nová komponenta na místě, znovu vytvoříš doc z přepsaného textu souboru call_4_channel_2.wav file.

Toto cvičení je součástí kurzu

Zpracování mluveného jazyka v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Přidej komponentu "entity_ruler" do pipeline nlp, před komponentu "ner", a ulož ji do proměnné ruler.
  • Jako hodnotu klíče "pattern" přidej "smartphone".
  • Vypiš atributy entit obsažených v 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.

# Add an entity_ruler component to the pipeline, before ner
ruler = nlp.add_pipe(____, before=____)

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

# Recreate the doc so it uses the updated pipeline
doc = nlp(call_4_channel_2_text)

# Test new entity
for entity in doc.____:
  print(entity.text, entity.label_)
Upravit a spustit kód