AIdeaText commited on
Commit
a5c66de
1 Parent(s): d924549

Update modules/discourse/discourse_interface.py

Browse files
modules/discourse/discourse_interface.py CHANGED
@@ -128,6 +128,7 @@ def display_discourse_interface(lang_code, nlp_models, discourse_t):
128
 
129
 
130
  #####################################################################################################################
 
131
  def display_discourse_results(result, lang_code, discourse_t):
132
  """
133
  Muestra los resultados del análisis del discurso
@@ -183,98 +184,98 @@ def display_discourse_results(result, lang_code, discourse_t):
183
 
184
  # Documento 1
185
  with col1:
186
- with st.expander(discourse_t.get('doc1_title', 'Documento 1'), expanded=True):
187
- st.subheader(discourse_t.get('key_concepts', 'Conceptos Clave'))
188
- if 'key_concepts1' in result:
189
- concepts_html = f"""
190
- <div class="concepts-container">
191
- {''.join([
192
- f'<div class="concept-item"><span class="concept-name">{concept}</span>'
193
- f'<span class="concept-freq">({freq:.2f})</span></div>'
194
- for concept, freq in result['key_concepts1']
195
- ])}
196
- </div>
197
- """
198
- st.markdown(concepts_html, unsafe_allow_html=True)
199
 
200
- if 'graph1' in result:
201
- with st.container():
202
- st.markdown('<div class="graph-container">', unsafe_allow_html=True)
203
- st.pyplot(result['graph1'])
204
-
205
- # Botones y controles
206
- button_col1, spacer_col1 = st.columns([1,4])
207
- with button_col1:
208
- if 'graph1_bytes' in result:
209
- st.download_button(
210
- label="📥 " + discourse_t.get('download_graph', "Download"),
211
- data=result['graph1_bytes'],
212
- file_name="discourse_graph1.png",
213
- mime="image/png",
214
- use_container_width=True
215
- )
216
-
217
- with st.expander("📊 " + discourse_t.get('graph_help', "Graph Interpretation")):
218
- st.markdown("""
219
- - 🔀 Las flechas indican la dirección de la relación entre conceptos
220
- - 🎨 Los colores más intensos indican conceptos más centrales en el texto
221
- - ⭕ El tamaño de los nodos representa la frecuencia del concepto
222
- - ↔️ El grosor de las líneas indica la fuerza de la conexión
223
- """)
224
-
225
- st.markdown('</div>', unsafe_allow_html=True)
226
- else:
227
- st.warning(discourse_t.get('graph_not_available', 'Gráfico no disponible'))
228
  else:
229
- st.warning(discourse_t.get('concepts_not_available', 'Conceptos no disponibles'))
 
 
230
 
231
  # Documento 2
232
  with col2:
233
- with st.expander(discourse_t.get('doc2_title', 'Documento 2'), expanded=True):
234
- st.subheader(discourse_t.get('key_concepts', 'Conceptos Clave'))
235
- if 'key_concepts2' in result:
236
- concepts_html = f"""
237
- <div class="concepts-container">
238
- {''.join([
239
- f'<div class="concept-item"><span class="concept-name">{concept}</span>'
240
- f'<span class="concept-freq">({freq:.2f})</span></div>'
241
- for concept, freq in result['key_concepts2']
242
- ])}
243
- </div>
244
- """
245
- st.markdown(concepts_html, unsafe_allow_html=True)
246
 
247
- if 'graph2' in result:
248
- with st.container():
249
- st.markdown('<div class="graph-container">', unsafe_allow_html=True)
250
- st.pyplot(result['graph2'])
251
-
252
- # Botones y controles
253
- button_col2, spacer_col2 = st.columns([1,4])
254
- with button_col2:
255
- if 'graph2_bytes' in result:
256
- st.download_button(
257
- label="📥 " + discourse_t.get('download_graph', "Download"),
258
- data=result['graph2_bytes'],
259
- file_name="discourse_graph2.png",
260
- mime="image/png",
261
- use_container_width=True
262
- )
263
-
264
- with st.expander("📊 " + discourse_t.get('graph_help', "Graph Interpretation")):
265
- st.markdown("""
266
- - 🔀 Las flechas indican la dirección de la relación entre conceptos
267
- - 🎨 Los colores más intensos indican conceptos más centrales en el texto
268
- - ⭕ El tamaño de los nodos representa la frecuencia del concepto
269
- - ↔️ El grosor de las líneas indica la fuerza de la conexión
270
- """)
271
-
272
- st.markdown('</div>', unsafe_allow_html=True)
273
- else:
274
- st.warning(discourse_t.get('graph_not_available', 'Gráfico no disponible'))
275
  else:
276
- st.warning(discourse_t.get('concepts_not_available', 'Conceptos no disponibles'))
 
 
277
 
278
  # Nota informativa sobre la comparación
279
  st.info(discourse_t.get('comparison_note',
280
- 'La funcionalidad de comparación detallada estará disponible en una próxima actualización.'))
 
128
 
129
 
130
  #####################################################################################################################
131
+
132
  def display_discourse_results(result, lang_code, discourse_t):
133
  """
134
  Muestra los resultados del análisis del discurso
 
184
 
185
  # Documento 1
186
  with col1:
187
+ st.subheader(discourse_t.get('doc1_title', 'Documento 1'))
188
+ st.markdown(discourse_t.get('key_concepts', 'Conceptos Clave'))
189
+ if 'key_concepts1' in result:
190
+ concepts_html = f"""
191
+ <div class="concepts-container">
192
+ {''.join([
193
+ f'<div class="concept-item"><span class="concept-name">{concept}</span>'
194
+ f'<span class="concept-freq">({freq:.2f})</span></div>'
195
+ for concept, freq in result['key_concepts1']
196
+ ])}
197
+ </div>
198
+ """
199
+ st.markdown(concepts_html, unsafe_allow_html=True)
200
 
201
+ if 'graph1' in result:
202
+ st.markdown('<div class="graph-container">', unsafe_allow_html=True)
203
+ st.pyplot(result['graph1'])
204
+
205
+ # Botones y controles
206
+ button_col1, spacer_col1 = st.columns([1,4])
207
+ with button_col1:
208
+ if 'graph1_bytes' in result:
209
+ st.download_button(
210
+ label="📥 " + discourse_t.get('download_graph', "Download"),
211
+ data=result['graph1_bytes'],
212
+ file_name="discourse_graph1.png",
213
+ mime="image/png",
214
+ use_container_width=True
215
+ )
216
+
217
+ # Interpretación como texto normal sin expander
218
+ st.markdown("**📊 Interpretación del grafo:**")
219
+ st.markdown("""
220
+ - 🔀 Las flechas indican la dirección de la relación entre conceptos
221
+ - 🎨 Los colores más intensos indican conceptos más centrales en el texto
222
+ - ⭕ El tamaño de los nodos representa la frecuencia del concepto
223
+ - ↔️ El grosor de las líneas indica la fuerza de la conexión
224
+ """)
225
+
226
+ st.markdown('</div>', unsafe_allow_html=True)
 
 
227
  else:
228
+ st.warning(discourse_t.get('graph_not_available', 'Gráfico no disponible'))
229
+ else:
230
+ st.warning(discourse_t.get('concepts_not_available', 'Conceptos no disponibles'))
231
 
232
  # Documento 2
233
  with col2:
234
+ st.subheader(discourse_t.get('doc2_title', 'Documento 2'))
235
+ st.markdown(discourse_t.get('key_concepts', 'Conceptos Clave'))
236
+ if 'key_concepts2' in result:
237
+ concepts_html = f"""
238
+ <div class="concepts-container">
239
+ {''.join([
240
+ f'<div class="concept-item"><span class="concept-name">{concept}</span>'
241
+ f'<span class="concept-freq">({freq:.2f})</span></div>'
242
+ for concept, freq in result['key_concepts2']
243
+ ])}
244
+ </div>
245
+ """
246
+ st.markdown(concepts_html, unsafe_allow_html=True)
247
 
248
+ if 'graph2' in result:
249
+ st.markdown('<div class="graph-container">', unsafe_allow_html=True)
250
+ st.pyplot(result['graph2'])
251
+
252
+ # Botones y controles
253
+ button_col2, spacer_col2 = st.columns([1,4])
254
+ with button_col2:
255
+ if 'graph2_bytes' in result:
256
+ st.download_button(
257
+ label="📥 " + discourse_t.get('download_graph', "Download"),
258
+ data=result['graph2_bytes'],
259
+ file_name="discourse_graph2.png",
260
+ mime="image/png",
261
+ use_container_width=True
262
+ )
263
+
264
+ # Interpretación como texto normal sin expander
265
+ st.markdown("**📊 Interpretación del grafo:**")
266
+ st.markdown("""
267
+ - 🔀 Las flechas indican la dirección de la relación entre conceptos
268
+ - 🎨 Los colores más intensos indican conceptos más centrales en el texto
269
+ - ⭕ El tamaño de los nodos representa la frecuencia del concepto
270
+ - ↔️ El grosor de las líneas indica la fuerza de la conexión
271
+ """)
272
+
273
+ st.markdown('</div>', unsafe_allow_html=True)
 
 
274
  else:
275
+ st.warning(discourse_t.get('graph_not_available', 'Gráfico no disponible'))
276
+ else:
277
+ st.warning(discourse_t.get('concepts_not_available', 'Conceptos no disponibles'))
278
 
279
  # Nota informativa sobre la comparación
280
  st.info(discourse_t.get('comparison_note',
281
+ 'La funcionalidad de comparación detallada estará disponible en una próxima actualización.'))