-
Notifications
You must be signed in to change notification settings - Fork 374
/
Copy pathsolution_02_13.py
27 lines (23 loc) · 1.08 KB
/
solution_02_13.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import spacy
from spacy.matcher import Matcher
nlp = spacy.load("fr_core_news_sm")
doc = nlp(
"Twitch Prime, le programme pour les membres d'Amazon destiné aux "
"fans de jeux vidéos, arrête l'une de ses fonctionnalités les plus "
"appréciées de cette offre tout-compris : l'absence de publicité. "
"La nouvelle ne concerne pas les fans d'Amazon Music ni le programme "
"pour enfants Amazon Kids. Mais cette décision montre à quel point "
"l'intérêt des offres tout-compris peut rapidement évoluer quand les "
"services proposés viennent à être modifiés."
)
# Crée les motifs de correspondance
pattern1 = [{"LOWER": "amazon"}, {"IS_TITLE": True}]
pattern2 = [{"POS": "NOUN"}, {"LOWER": "tout-compris"}]
# Initialise le Matcher et ajoute les motifs
matcher = Matcher(nlp.vocab)
matcher.add("PATTERN1", [pattern1])
matcher.add("PATTERN2", [pattern2])
# Itère sur les correspondances
for match_id, start, end in matcher(doc):
# Affiche le nom de la chaine et le texte de la portion en correspondance
print(doc.vocab.strings[match_id], doc[start:end].text)