Update app.py
Browse filesFix classify_text
app.py
CHANGED
|
@@ -60,21 +60,54 @@ def classify_text(text):
|
|
| 60 |
Función para clasificar texto y detectar coloquialismos cubanos
|
| 61 |
"""
|
| 62 |
if not text or text.strip() == "":
|
| 63 |
-
return "Por favor, ingresa un texto para clasificar."
|
| 64 |
|
| 65 |
try:
|
|
|
|
| 66 |
results = classifier(text)
|
| 67 |
-
# Ordenar por score (de mayor a menor)
|
| 68 |
-
results.sort(key=lambda x: x['score'], reverse=True)
|
| 69 |
|
| 70 |
-
#
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
|
| 77 |
return output
|
|
|
|
| 78 |
except Exception as e:
|
| 79 |
return f"❌ Error en clasificación: {str(e)}"
|
| 80 |
|
|
|
|
| 60 |
Función para clasificar texto y detectar coloquialismos cubanos
|
| 61 |
"""
|
| 62 |
if not text or text.strip() == "":
|
| 63 |
+
return "⚠️ Por favor, ingresa un texto para clasificar."
|
| 64 |
|
| 65 |
try:
|
| 66 |
+
# Obtener resultados del modelo
|
| 67 |
results = classifier(text)
|
|
|
|
|
|
|
| 68 |
|
| 69 |
+
# El resultado es una lista de diccionarios con 'label' y 'score'
|
| 70 |
+
# Ejemplo: [{'label': 'LABEL_1', 'score': 0.99}, {'label': 'LABEL_0', 'score': 0.01}]
|
| 71 |
+
|
| 72 |
+
# Obtener el resultado con mayor confianza
|
| 73 |
+
top_result = results[0] # Ya viene ordenado por score (mayor a menor)
|
| 74 |
+
label = top_result['label']
|
| 75 |
+
score = top_result['score']
|
| 76 |
+
|
| 77 |
+
# Determinar si es coloquial (LABEL_1 = coloquial, LABEL_0 = no coloquial)
|
| 78 |
+
if label == "LABEL_1":
|
| 79 |
+
es_coloquial = True
|
| 80 |
+
emoji = "🇨🇺"
|
| 81 |
+
tipo = "**COLOQUIAL CUBANO**"
|
| 82 |
+
descripcion = "✅ Este texto contiene expresiones típicas del dialecto cubano."
|
| 83 |
+
else: # LABEL_0
|
| 84 |
+
es_coloquial = False
|
| 85 |
+
emoji = "📚"
|
| 86 |
+
tipo = "**NO COLOQUIAL / ESTÁNDAR**"
|
| 87 |
+
descripcion = "ℹ️ Este texto usa lenguaje estándar, sin expresiones coloquiales cubanas."
|
| 88 |
+
|
| 89 |
+
# Construir la salida formateada
|
| 90 |
+
output = f"""
|
| 91 |
+
### {emoji} Resultado: {tipo}
|
| 92 |
+
|
| 93 |
+
**Confianza:** {score:.2%}
|
| 94 |
+
|
| 95 |
+
{descripcion}
|
| 96 |
+
|
| 97 |
+
---
|
| 98 |
+
### 📊 Detalle de clasificación:
|
| 99 |
+
|
| 100 |
+
| Etiqueta | Probabilidad |
|
| 101 |
+
|----------|--------------|
|
| 102 |
+
| 🇨🇺 Coloquial | {results[0]['score']:.2%} (LABEL_1) |
|
| 103 |
+
| 📚 No coloquial | {results[1]['score']:.2%} (LABEL_0) |
|
| 104 |
+
|
| 105 |
+
---
|
| 106 |
+
💡 **Nota:** El modelo analiza si el texto contiene expresiones típicas del dialecto cubano.
|
| 107 |
+
"""
|
| 108 |
|
| 109 |
return output
|
| 110 |
+
|
| 111 |
except Exception as e:
|
| 112 |
return f"❌ Error en clasificación: {str(e)}"
|
| 113 |
|