Vytvoření vlastní pojmenované entity v spaCy
Pokud nestačí vestavěné pojmenované entity spaCy, můžeš si vytvořit vlastní pomocí třídy EntityRuler().
EntityRuler() ti umožňuje definovat vlastní entity a přidat je do pipeline spaCy.
Začneš tím, že vytvoříš instanci EntityRuler() a předáš jí aktuální pipeline nlp.
Poté na instanci zavoláš add_patterns() a předáš jí slovník se vzorem pattern, který chceš označit jako entitu.
Jakmile vzor nastavíš, přidáš ho do pipeline nlp pomocí add_pipe().
Protože Acme je technologická společnost, rozhodneš se označit vzor "smartphone" tagem entity "PRODUCT".
spaCy je již naimportováno a existuje objekt doc obsahující přepsaný text ze souboru call_4_channel_2.wav file).
Toto cvičení je součástí kurzu
Zpracování mluveného jazyka v Pythonu
Pokyny k cvičení
- Importuj
EntityRulerzspacy.pipeline. - Přidej
"smartphone"jako hodnotu klíče"pattern". - Přidej instanci
EntityRuler(),ruler, do pipelinenlp. - 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.
# 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_)