import streamlit as st import spacy import networkx as nx import matplotlib.pyplot as plt from .semantic_analysis import ( create_concept_graph, visualize_concept_graph, identify_key_concepts, POS_COLORS, POS_TRANSLATIONS, ENTITY_LABELS ) def compare_semantic_analysis(text1, text2, nlp, lang): doc1 = nlp(text1) doc2 = nlp(text2) # Identificar conceptos clave para ambos documentos key_concepts1 = identify_key_concepts(doc1) key_concepts2 = identify_key_concepts(doc2) # Crear grafos de conceptos para ambos documentos G1 = create_concept_graph(doc1, key_concepts1) G2 = create_concept_graph(doc2, key_concepts2) # Visualizar los grafos de conceptos fig1 = visualize_concept_graph(G1, lang) fig2 = visualize_concept_graph(G2, lang) # Añadir títulos específicos para cada documento fig1.suptitle("Documento 1: Relaciones Conceptuales", fontsize=16, fontweight='bold') fig2.suptitle("Documento 2: Relaciones Conceptuales", fontsize=16, fontweight='bold') return fig1, fig2, key_concepts1, key_concepts2 def perform_discourse_analysis(text1, text2, nlp, lang): graph1, graph2, key_concepts1, key_concepts2 = compare_semantic_analysis(text1, text2, nlp, lang) # Aquí puedes añadir más análisis de discurso si lo necesitas # Por ejemplo, podrías comparar los conceptos clave entre los dos textos return { 'graph1': graph1, 'graph2': graph2, 'key_concepts1': key_concepts1, 'key_concepts2': key_concepts2 }