IniziaInizia gratis

Corrispondenza di frasi efficiente

A volte è più efficiente cercare corrispondenze su stringhe esatte invece di scrivere pattern che descrivono i singoli token. Questo vale soprattutto per categorie finite di elementi, come tutti i paesi del mondo.

Abbiamo già un elenco di paesi, quindi usiamolo come base per il nostro script di estrazione di informazioni. Un elenco di nomi di stringhe è disponibile nella variabile COUNTRIES. L'oggetto nlp e un doc di test sono già stati creati e doc.text è stato stampato nel terminale.

Questo esercizio fa parte del corso

NLP avanzato con spaCy

Visualizza il corso

Istruzioni dell'esercizio

  • Importa PhraseMatcher e inizializzalo con il vocab condiviso nella variabile matcher.
  • Aggiungi i pattern di frasi ed esegui il matcher su doc.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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])
Modifica ed esegui il codice