LoslegenKostenlos loslegen

Effizientes Phrasen-Matching

Manchmal ist es effizienter, exakte Strings zu matchen, statt Muster für einzelne Tokens zu schreiben. Das gilt besonders für endliche Kategorien – zum Beispiel alle Länder der Welt.

Wir haben bereits eine Liste von Ländern. Lass uns diese als Grundlage für unser Information-Extraction-Skript verwenden. Eine Liste von String-Namen ist als Variable COUNTRIES verfügbar. Das nlp-Objekt und ein Test-doc wurden bereits erstellt und doc.text wurde in der Shell ausgegeben.

Diese Übung ist Teil des Kurses

Fortgeschrittenes NLP mit spaCy

Kurs anzeigen

Anleitung zur Übung

  • Importiere den PhraseMatcher und initialisiere ihn mit dem gemeinsamen vocab als Variable matcher.
  • Füge die Phrasenmuster hinzu und rufe den Matcher auf dem doc auf.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Import the PhraseMatcher and initialize it
from spacy.____ import ____
matcher = ____(____)

# Create pattern Doc objects and add them to the matcher
# This is the faster version of: [nlp(country) for country in COUNTRIES]
patterns = list(nlp.pipe(COUNTRIES))
matcher.add('COUNTRY', None, *patterns)

# Call the matcher on the test document and print the result
matches = ____(____)
print([doc[start:end] for match_id, start, end in matches])
Code bearbeiten und ausführen