AIdeaText commited on
Commit
868baa2
·
verified ·
1 Parent(s): 7064761

Update modules/morphosyntax/morphosyntax_interface.py

Browse files
modules/morphosyntax/morphosyntax_interface.py CHANGED
@@ -31,7 +31,7 @@ from ..database.morphosintaxis_export import export_user_interactions
31
  import logging
32
  logger = logging.getLogger(__name__)
33
 
34
- def display_morphosyntax_interface(lang_code, nlp_models, t):
35
  """
36
  Interfaz para el análisis morfosintáctico
37
  Args:
@@ -109,7 +109,7 @@ def display_morphosyntax_interface(lang_code, nlp_models, t):
109
  st.info(morpho_t.get('morpho_initial_message', 'Enter text to begin analysis'))
110
 
111
  ############################################################################################################
112
- def display_morphosyntax_results(result, lang_code, t):
113
  """
114
  Muestra los resultados del análisis morfosintáctico.
115
  Args:
@@ -283,6 +283,7 @@ def display_morphosyntax_results(result, lang_code, t):
283
  with st.expander(morpho_t.get('arc_diagram', 'Syntactic analysis: Arc diagram'), expanded=True):
284
  sentences = list(doc.sents)
285
  arc_diagrams = []
 
286
  for i, sent in enumerate(sentences):
287
  st.subheader(f"{morpho_t.get('sentence', 'Sentence')} {i+1}")
288
  html = displacy.render(sent, style="dep", options={"distance": 100})
@@ -302,99 +303,3 @@ def display_morphosyntax_results(result, lang_code, t):
302
  file_name="morphosyntax_analysis.pdf",
303
  mime="application/pdf"
304
  )
305
-
306
- '''
307
- if user_input:
308
- # Añadir el mensaje del usuario al historial
309
- st.session_state.morphosyntax_chat_history.append({"role": "user", "content": user_input})
310
-
311
- # Procesar el input del usuario nuevo al 26-9-2024
312
- response, visualizations, result = process_morphosyntactic_input(user_input, lang_code, nlp_models, t)
313
-
314
- # Mostrar indicador de carga
315
- with st.spinner(t.get('processing', 'Processing...')):
316
- try:
317
- # Procesar el input del usuario
318
- response, visualizations, result = process_morphosyntactic_input(user_input, lang_code, nlp_models, t)
319
-
320
- # Añadir la respuesta al historial
321
- message = {
322
- "role": "assistant",
323
- "content": response
324
- }
325
- if visualizations:
326
- message["visualizations"] = visualizations
327
- st.session_state.morphosyntax_chat_history.append(message)
328
-
329
- # Mostrar la respuesta más reciente
330
- with st.chat_message("assistant"):
331
- st.write(response)
332
- if visualizations:
333
- for i, viz in enumerate(visualizations):
334
- st.markdown(f"**Oración {i+1} del párrafo analizado**")
335
- st.components.v1.html(
336
- f"""
337
- <div style="width: 100%; overflow-x: auto; white-space: nowrap;">
338
- <div style="min-width: 1200px;">
339
- {viz}
340
- </div>
341
- </div>
342
- """,
343
- height=350,
344
- scrolling=True
345
- )
346
- if i < len(visualizations) - 1:
347
- st.markdown("---") # Separador entre diagramas
348
-
349
- # Si es un análisis, guardarlo en la base de datos
350
- if user_input.startswith('/analisis_morfosintactico') and result:
351
- store_morphosyntax_result(
352
- st.session_state.username,
353
- user_input.split('[', 1)[1].rsplit(']', 1)[0], # texto analizado
354
- result.get('repeated_words', {}),
355
- visualizations,
356
- result.get('pos_analysis', []),
357
- result.get('morphological_analysis', []),
358
- result.get('sentence_structure', [])
359
- )
360
-
361
-
362
- except Exception as e:
363
- st.error(f"{t['error_processing']}: {str(e)}")
364
-
365
-
366
-
367
- # Forzar la actualización de la interfaz
368
- st.rerun()
369
-
370
- # Botón para limpiar el historial del chat
371
- if st.button(t['clear_chat'], key=generate_unique_key('morphosyntax', 'clear_chat')):
372
- st.session_state.morphosyntax_chat_history = []
373
- st.rerun()
374
- '''
375
-
376
-
377
- '''
378
- ############ MODULO PARA DEPURACIÓN Y PRUEBAS #####################################################
379
- def display_morphosyntax_interface(lang_code, nlp_models, t):
380
- st.subheader(t['morpho_title'])
381
-
382
- text_input = st.text_area(
383
- t['warning_message'],
384
- height=150,
385
- key=generate_unique_key("morphosyntax", "text_area")
386
- )
387
-
388
- if st.button(
389
- t['results_title'],
390
- key=generate_unique_key("morphosyntax", "analyze_button")
391
- ):
392
- if text_input:
393
- # Aquí iría tu lógica de análisis morfosintáctico
394
- # Por ahora, solo mostraremos un mensaje de placeholder
395
- st.info(t['analysis_placeholder'])
396
- else:
397
- st.warning(t['no_text_warning'])
398
- ###
399
- #################################################
400
- '''
 
31
  import logging
32
  logger = logging.getLogger(__name__)
33
 
34
+ def display_morphosyntax_interface(lang_code, nlp_models, morpho_t):
35
  """
36
  Interfaz para el análisis morfosintáctico
37
  Args:
 
109
  st.info(morpho_t.get('morpho_initial_message', 'Enter text to begin analysis'))
110
 
111
  ############################################################################################################
112
+ def display_morphosyntax_results(result, lang_code, morpho_t):
113
  """
114
  Muestra los resultados del análisis morfosintáctico.
115
  Args:
 
283
  with st.expander(morpho_t.get('arc_diagram', 'Syntactic analysis: Arc diagram'), expanded=True):
284
  sentences = list(doc.sents)
285
  arc_diagrams = []
286
+
287
  for i, sent in enumerate(sentences):
288
  st.subheader(f"{morpho_t.get('sentence', 'Sentence')} {i+1}")
289
  html = displacy.render(sent, style="dep", options={"distance": 100})
 
303
  file_name="morphosyntax_analysis.pdf",
304
  mime="application/pdf"
305
  )