ComenzarEmpieza gratis

Hacer match de un término único en spaCy

Los patrones de RegEx no son triviales de leer, escribir ni depurar. Pero no estás perdido: spaCy ofrece una alternativa legible y de nivel producción, la clase Matcher. La clase Matcher puede hacer match de reglas predefinidas con una secuencia de tokens en un contenedor Doc dado. En este ejercicio practicarás el uso de Matcher para encontrar una sola palabra.

Puedes acceder al texto correspondiente en example_text y usar nlp y doc para acceder, respectivamente, a un modelo de spaCy y al contenedor Doc de example_text.

Este ejercicio forma parte del curso

Procesamiento del Lenguaje Natural con spaCy

Ver curso

Instrucciones del ejercicio

  • Inicializa una clase Matcher.
  • Define un patrón para que haga match con witch en minúsculas en example_text.
  • Añade los patrones a la clase Matcher y encuentra los matches.
  • Itera por los matches e imprime los índices de tokens de inicio y fin y el span del texto que hizo match.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

nlp = spacy.load("en_core_web_sm")
doc = nlp(example_text)

# Initialize a Matcher object
matcher = Matcher(nlp.____)

# Define a pattern to match lower cased word witch
pattern = [{"lower" : ____}]

# Add the pattern to matcher object and find matches
matcher.add("CustomMatcher", [____])
matches = matcher(____)

# Print start and end token indices and span of the matched text
for match_id, start, end in matches:
    print("Start token: ", ____, " | End token: ", ____, "| Matched text: ", doc[____:____].text)
Editar y ejecutar código