ÎncepețiÎncepe gratuit

Crearea unei entități numite personalizate în spaCy

Dacă entitățile numite predefinite din spaCy nu sunt suficiente, îți poți crea propriile entități folosind clasa EntityRuler() din spaCy.

EntityRuler() îți permite să definești entități proprii pe care să le adaugi într-un pipeline spaCy.

Începi prin a crea o instanță a clasei EntityRuler() și a-i transmite pipeline-ul curent, nlp.

Apoi poți apela add_patterns() pe instanță și îi transmiți un dicționar cu textul pattern pe care vrei să îl etichetezi cu o entitate.

Odată ce ai configurat un pattern, îl poți adăuga în pipeline-ul nlp folosind add_pipe().

Deoarece Acme este o companie de tehnologie, decizi să etichetezi patternul "smartphone" cu tag-ul de entitate "PRODUCT".

spaCy a fost deja importat, iar un doc există deja și conține textul transcris din fișierul call_4_channel_2.wav (fișier).

Acest exercițiu face parte din cursul

Procesarea limbajului vorbit în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă EntityRuler din spacy.pipeline.
  • Adaugă "smartphone" ca valoare pentru cheia "pattern".
  • Adaugă instanța EntityRuler(), ruler, în pipeline-ul nlp.
  • Afișează atributele entităților conținute în doc.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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_)
Editează și rulează codul