Appariement de phrases efficace
Il est parfois plus efficace de faire correspondre des chaînes exactes plutôt que d’écrire des motifs décrivant les jetons individuellement. C’est particulièrement vrai pour des catégories finies d’éléments, comme la liste des pays du monde.
Nous avons déjà une liste de pays ; utilisons-la comme base de notre script d’extraction d’informations. Une liste de noms sous forme de chaînes est disponible dans la variable COUNTRIES. L’objet nlp et un doc de test ont déjà été créés, et doc.text a été affiché dans le terminal.
Cet exercice fait partie du cours
NLP avancé avec spaCy
Instructions
- Importez
PhraseMatcheret initialisez-le avec levocabpartagé sous le nom de variablematcher. - Ajoutez les motifs de phrases et appelez le matcher sur le
doc.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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])