ÎncepețiÎncepe gratuit

RegEx cu EntityRuler în spaCy

Expresiile regulate, sau RegEx, sunt folosite pentru extragerea de informații bazată pe reguli, prin tipare complexe de potrivire a șirurilor de caractere. RegEx poate fi utilizat pentru a găsi tipare într-un șir sau pentru a înlocui tiparele identificate cu alte șiruri. În acest exercițiu, vei exersa utilizarea EntityRuler în spaCy pentru a găsi adrese de email într-un text dat.

Pachetul spaCy este deja importat. Poți folosi \d pentru a potrivi tipare de șiruri care reprezintă un metacaracter ce identifică orice cifră de la 0 la 9.

Un tipar spaCy poate folosi REGEX ca atribut. În acest caz, tiparul va avea forma [{"TEXT": {"REGEX": "<un tipar dat>"}}].

Acest exercițiu face parte din cursul

Procesarea limbajului natural cu spaCy

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește un tipar pentru a potrivi numere de telefon de forma 8888888888, care să fie folosit de EntityRuler.
  • Încarcă un model spaCy gol pentru limba engleză și adaugă o componentă EntityRuler la pipeline.
  • Adaugă tiparul compilat la componenta EntityRuler.
  • Rulează modelul și afișează tuplul cu textul și tipul entităților identificate pentru text-ul dat.

Exercițiu interactiv practic

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

text = "Our phone number is 4251234567."

# Define a pattern to match phone numbers
patterns = [{"label": "PHONE_NUMBERS", "pattern": [{"TEXT": {"REGEX": "(____){____}"}}]}]

# Load a blank model and add an EntityRuler
nlp = spacy.____("en")
ruler = nlp.____("entity_ruler")

# Add the compiled patterns to the EntityRuler
ruler.____(patterns)

# Print the tuple of entities texts and types for the given text
doc = ____(____)
print([(ent.____, ent.____) for ent in doc.____])
Editează și rulează codul