IniziaInizia gratis

Debug di pattern (2)

Entrambi i pattern in questo esercizio contengono errori e non faranno match come previsto. Riesci a correggerli?

nlp e un doc sono già stati creati per te. Se ti blocchi, prova a stampare i token nel doc per vedere come il testo viene suddiviso e adatta il pattern in modo che ogni dizionario rappresenti un token.

Questo esercizio fa parte del corso

NLP avanzato con spaCy

Visualizza il corso

Istruzioni dell'esercizio

  • Modifica pattern1 in modo che corrisponda correttamente a tutte le occorrenze (case-insensitive) di "Amazon" più un nome proprio in maiuscoletto iniziale (Title Case).
  • Modifica pattern2 in modo che corrisponda correttamente a tutte le occorrenze (case-insensitive) di "ad-free", più il sostantivo successivo.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Create the match patterns
pattern1 = [{'LOWER': 'Amazon'}, {'IS_TITLE': True, 'POS': 'PROPN'}]
pattern2 = [{'LOWER': 'ad-free'}, {'POS': 'NOUN'}]

# Initialize the Matcher and add the patterns
matcher = Matcher(nlp.vocab)
matcher.add('PATTERN1', None, pattern1)
matcher.add('PATTERN2', None, pattern2)

# Iterate over the matches
for match_id, start, end in matcher(doc):
    # Print pattern string name and text of matched span
    print(doc.vocab.strings[match_id], doc[start:end].text)
Modifica ed esegui il codice