Update app.py
Browse files
app.py
CHANGED
@@ -87,7 +87,6 @@ def tag_sentence(text):
|
|
87 |
predictions = predict_ner_labels(model, tokenizer, text)
|
88 |
|
89 |
# Obtenez les probabilités associées aux prédictions
|
90 |
-
# Vous devrez adapter cette partie en fonction de la sortie de votre modèle
|
91 |
inputs = tokenizer(text, truncation=True, return_tensors="pt")
|
92 |
outputs = model(**inputs)
|
93 |
probs = torch.nn.functional.softmax(outputs.logits, dim=-1)
|
@@ -95,9 +94,10 @@ def tag_sentence(text):
|
|
95 |
# Calcul des probabilités que le tag prédit soit correct
|
96 |
word_tags = []
|
97 |
for i, tag in enumerate(predictions):
|
98 |
-
tag_id = id2tag.
|
99 |
-
|
100 |
-
|
|
|
101 |
|
102 |
# Créez un DataFrame avec les colonnes dans l'ordre spécifié
|
103 |
df = pd.DataFrame(word_tags, columns=['word', 'tag', 'probability'])
|
|
|
87 |
predictions = predict_ner_labels(model, tokenizer, text)
|
88 |
|
89 |
# Obtenez les probabilités associées aux prédictions
|
|
|
90 |
inputs = tokenizer(text, truncation=True, return_tensors="pt")
|
91 |
outputs = model(**inputs)
|
92 |
probs = torch.nn.functional.softmax(outputs.logits, dim=-1)
|
|
|
94 |
# Calcul des probabilités que le tag prédit soit correct
|
95 |
word_tags = []
|
96 |
for i, tag in enumerate(predictions):
|
97 |
+
tag_id = id2tag.get(tag, -1) # Vérifiez si la clé existe, sinon utilisez -1 comme indice
|
98 |
+
if tag_id != -1:
|
99 |
+
prob = np.round(probs[0, i, tag_id].item() * 100, 2)
|
100 |
+
word_tags.append((tokenizer.decode(inputs['input_ids'][0][i].item()), tag, prob))
|
101 |
|
102 |
# Créez un DataFrame avec les colonnes dans l'ordre spécifié
|
103 |
df = pd.DataFrame(word_tags, columns=['word', 'tag', 'probability'])
|