Spaces:
Sleeping
Sleeping
Update secciones/procesar_textos.py
Browse files- secciones/procesar_textos.py +14 -15
secciones/procesar_textos.py
CHANGED
@@ -155,10 +155,10 @@ def predecir_suicidio_con_info(texto, modelo, tfidf_vectorizador):
|
|
155 |
|
156 |
# Confianza y nivel de riesgo
|
157 |
confianza = abs(pred_proba[1] - pred_proba[0])
|
158 |
-
nivel_riesgo = '
|
159 |
-
accion = 'Se recomienda buscar ayuda profesional inmediatamente.' if nivel_riesgo == '
|
160 |
else 'Se sugiere monitorear los sentimientos y considerar hablar con un profesional.' \
|
161 |
-
if nivel_riesgo == '
|
162 |
else 'Probablemente no hay riesgo inmediato, pero mant茅n una actitud positiva.'
|
163 |
|
164 |
# Traducciones de las etiquetas de polaridad y emociones al espa帽ol
|
@@ -180,7 +180,7 @@ def predecir_suicidio_con_info(texto, modelo, tfidf_vectorizador):
|
|
180 |
emocion_traducida = traducciones_emociones.get(emocion, emocion)
|
181 |
|
182 |
return {
|
183 |
-
"clasificacion": '
|
184 |
"probabilidad_suicidio": pred_proba[1],
|
185 |
"confianza": confianza,
|
186 |
"nivel_riesgo": nivel_riesgo,
|
@@ -195,9 +195,6 @@ def procesar_textos():
|
|
195 |
"""
|
196 |
Funci贸n principal para procesar textos en la aplicaci贸n Streamlit. Permite al usuario
|
197 |
ingresar o subir un texto, y luego utiliza el modelo y el vectorizador para analizarlo.
|
198 |
-
|
199 |
-
:param modelo: Modelo de machine learning para la predicci贸n.
|
200 |
-
:param tfidf_vectorizador: Vectorizador TF-IDF utilizado en el modelo.
|
201 |
"""
|
202 |
st.title("Analizar Texto")
|
203 |
modelo, tfidf_vectorizador = cargar_modelo_y_vectorizador()
|
@@ -222,24 +219,26 @@ def procesar_textos():
|
|
222 |
resultado = predecir_suicidio_con_info(text_to_process, modelo, tfidf_vectorizador)
|
223 |
|
224 |
# Estilos personalizados seg煤n el nivel de riesgo
|
225 |
-
if resultado['nivel_riesgo'] == '
|
226 |
color = "red"
|
227 |
-
elif resultado['nivel_riesgo'] == '
|
228 |
color = "orange"
|
229 |
else:
|
230 |
color = "green"
|
231 |
|
232 |
# Mostrar los resultados con estilos
|
233 |
st.markdown(f"<h2 style='color: {color};'>Resultado del An谩lisis:</h2>", unsafe_allow_html=True)
|
234 |
-
st.markdown(f"<b>
|
235 |
unsafe_allow_html=True)
|
236 |
st.markdown(f"<b>Polaridad:</b> {resultado['polaridad']}", unsafe_allow_html=True)
|
237 |
-
st.markdown(f"<b>Emoci贸n:</b> {resultado['emocion']}", unsafe_allow_html=True)
|
238 |
-
st.markdown(f"<b>Clasificaci贸n:</b> {resultado['clasificacion']}", unsafe_allow_html=True)
|
239 |
-
st.markdown(f"<b>
|
240 |
unsafe_allow_html=True)
|
241 |
-
st.markdown(f"<b>
|
242 |
|
243 |
-
st.markdown(f"<b>
|
|
|
244 |
else:
|
245 |
st.warning("Por favor, ingrese texto o suba un archivo.")
|
|
|
|
155 |
|
156 |
# Confianza y nivel de riesgo
|
157 |
confianza = abs(pred_proba[1] - pred_proba[0])
|
158 |
+
nivel_riesgo = 'ALTO' if pred_proba[1] > 0.75 else 'MODERADO' if pred_proba[1] > 0.5 else 'BAJO'
|
159 |
+
accion = 'Se recomienda buscar ayuda profesional inmediatamente.' if nivel_riesgo == 'ALTO' \
|
160 |
else 'Se sugiere monitorear los sentimientos y considerar hablar con un profesional.' \
|
161 |
+
if nivel_riesgo == 'MODERADO' \
|
162 |
else 'Probablemente no hay riesgo inmediato, pero mant茅n una actitud positiva.'
|
163 |
|
164 |
# Traducciones de las etiquetas de polaridad y emociones al espa帽ol
|
|
|
180 |
emocion_traducida = traducciones_emociones.get(emocion, emocion)
|
181 |
|
182 |
return {
|
183 |
+
"clasificacion": 'Alerta de riego suicida' if pred[0] == 1 else 'Ausencia de riego de suicidio',
|
184 |
"probabilidad_suicidio": pred_proba[1],
|
185 |
"confianza": confianza,
|
186 |
"nivel_riesgo": nivel_riesgo,
|
|
|
195 |
"""
|
196 |
Funci贸n principal para procesar textos en la aplicaci贸n Streamlit. Permite al usuario
|
197 |
ingresar o subir un texto, y luego utiliza el modelo y el vectorizador para analizarlo.
|
|
|
|
|
|
|
198 |
"""
|
199 |
st.title("Analizar Texto")
|
200 |
modelo, tfidf_vectorizador = cargar_modelo_y_vectorizador()
|
|
|
219 |
resultado = predecir_suicidio_con_info(text_to_process, modelo, tfidf_vectorizador)
|
220 |
|
221 |
# Estilos personalizados seg煤n el nivel de riesgo
|
222 |
+
if resultado['nivel_riesgo'] == 'ALTO':
|
223 |
color = "red"
|
224 |
+
elif resultado['nivel_riesgo'] == 'MODERADO':
|
225 |
color = "orange"
|
226 |
else:
|
227 |
color = "green"
|
228 |
|
229 |
# Mostrar los resultados con estilos
|
230 |
st.markdown(f"<h2 style='color: {color};'>Resultado del An谩lisis:</h2>", unsafe_allow_html=True)
|
231 |
+
st.markdown(f"<b>Grado de Riesgo:</b> <span style='color: {color};'>{resultado['nivel_riesgo']}</span>",
|
232 |
unsafe_allow_html=True)
|
233 |
st.markdown(f"<b>Polaridad:</b> {resultado['polaridad']}", unsafe_allow_html=True)
|
234 |
+
st.markdown(f"<b>Emoci贸n dominante:</b> {resultado['emocion']}", unsafe_allow_html=True)
|
235 |
+
st.markdown(f"<b>Clasificaci贸n de riesgo:</b> {resultado['clasificacion']}", unsafe_allow_html=True)
|
236 |
+
st.markdown(f"<b>Indice de riesgo de suicidio:</b> {resultado['probabilidad_suicidio']:.4f}",
|
237 |
unsafe_allow_html=True)
|
238 |
+
st.markdown(f"<b>Fiabilidad del an谩lisis:</b> {resultado['confianza']:.4f}", unsafe_allow_html=True)
|
239 |
|
240 |
+
st.markdown(f"<b>Recomendaciones de seguimiento:</b> {resultado['sugerencia_accion']}",
|
241 |
+
unsafe_allow_html=True)
|
242 |
else:
|
243 |
st.warning("Por favor, ingrese texto o suba un archivo.")
|
244 |
+
|