-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtp_col_vide.py
103 lines (85 loc) · 4.81 KB
/
tp_col_vide.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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import random
import spacy
from spacy.training.example import Example
from tqdm import tqdm
def trouver_indices_mot(mot, chaine, label):
indices = []
indice_debut = chaine.find(mot)
while indice_debut != -1:
indice_fin = indice_debut + len(mot)
indices.append((indice_debut, indice_fin, label))
indice_debut = chaine.find(mot, indice_fin + 1)
return indices
def chercher_et_modifier_couleurs(chaine):
# Liste des couleurs à rechercher
couleurs = ["bleu", "rouge", "jaune", "vert","noire", "rose", "turquoise", "orange", "blanc", "violet", "doré", "mosaïque", "beige", "rougeâtre", "brun", "multicolores"]
entites_couleur = []
for couleur in couleurs:
indices = trouver_indices_mot(couleur, chaine, "COLOR")
entites_couleur.extend(indices)
return chaine, entites_couleur
chaines = [
"Le ciel était d'un bleu profond, et les fleurs étaient d'un rouge éclatant.",
"La pomme est rouge et délicieuse.",
"La forêt était d'un vert profond et mystérieux, cachant ses secrets dans l'ombre des arbres.",
"Le coucher de soleil peignait le ciel de nuances d'orange et de rose.",
"Le champ de blé ondulait sous le vent doré, éclatant de jaune.",
"La balle de tennis est jaune.",
"Les tulipes dans le jardin étaient d'un rouge vif, apportant une touche de couleur au paysage.",
"Le ciel nocturne était parsemé d'étoiles scintillantes, brillant comme des diamants.",
"La cascade rugissait, créant un mélange apaisant de bleu et de blanc.",
"La fumée est vert.",
"Les plumes du paon étaient d'un bleu électrique, un spectacle de couleurs éclatantes.",
"Les montagnes enneigées brillaient d'un blanc pur, contraste avec le ciel bleu glacial.",
"Les feuilles d'automne étaient d'un mélange de jaune, d'orange et de rouge, créant un tapis coloré.",
"Le coucher de soleil plongeait la ville dans une lueur doré.",
"Les rose du jardin sont rose.",
"La pluie tombait doucement, faisant ressortir le vert vif des feuilles des arbres.",
"Le tapis moelleux était d'un bleu profond, apportant une ambiance chaleureuse à la pièce.",
"La voiture de sport était d'un rouge vif, attirant tous les regards.",
"Le parapluie était d'un jaune éclatant, un point lumineux sous la pluie.",
"Le canapé en velours était d'un violet royal, ajoutant une touche d'élégance à la pièce.",
"Le lac était d'un bleu serein, reflétant le ciel sans nuages.",
"Le tournesol était d'un jaune vibrant, tournant son visage vers le soleil.",
"La mosaïque colorée sur le sol de la basilique était une œuvre d'art en soi.",
"Le chaton blanc était d'une douceur immaculée, ses yeux bleu comme des saphirs.",
"Les oiseaux dans le parc étaient d'un vert chatoyant, un spectacle de couleurs dans les arbres.",
"Le chapeau de paille était d'un beige naturel, parfait pour une journée ensoleillée.",
"Le papillon était d'un orange flamboyant, dansant parmi les fleurs.",
"La guitare vintage était d'un rouge profond, racontant une histoire à travers sa musique.",
"Le voilier était d'un blanc éclatant, glissant sur l'eau bleu.",
"Le feu de camp créait une lueur rouge dans la nuit noire.",
"Le livre ancien était d'un brun cuir, chargé d'histoires du passé.",
"Le drapeau national était d'un bleu, blanc et rouge patriotique.",
"La robe de mariée était d'un blanc immaculé, symbole de pureté et d'amour.",
"La tasse de café était d'un brun foncé, réchauffant les mains par une journée froide.",
"Le pommier était plein de pommes rouge prêtes à être récoltées.",
"La nuit étoilée était d'un bleu profond, la Voie lactée tracée à travers le ciel.",
"Les ballons multicolores flottaient dans le ciel, égayant la fête.",
"La licorne légendaire était d'un blanc étincelant, une créature mythique de rêve."
]
train_data = []
for chaine in chaines:
chaine_modifiee, entites_couleur = chercher_et_modifier_couleurs(chaine)
if entites_couleur:
resultat = (chaine_modifiee, {'entities': entites_couleur})
train_data.append(resultat)
nlp = spacy.blank("en")
ner = nlp.add_pipe("ner")
ner.add_label("COLOR")
epochs = 20
other_pipes = [pipe for pipe in nlp.pipe_names if pipe != 'ner']
with nlp.disable_pipes(*other_pipes):
# Initialize the optimizer for training.
optimizer = nlp.begin_training()
for i in tqdm(range(epochs)):
# Shuffle the training data for randomness.
random.shuffle(train_data)
for text, annotation in train_data:
doc = nlp.make_doc(text)
example = Example.from_dict(doc, annotation)
nlp.update([example])
nlp.to_disk('nlp_col_vid')
doc = nlp('the blue sky')
for ent in doc.ents:
print(ent.label, ent.text)