File size: 1,244 Bytes
22e19aa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import streamlit as st
import spacy
import networkx as nx
import matplotlib.pyplot as plt
from collections import defaultdict
from .semantic_analysis import visualize_semantic_relations

def compare_semantic_analysis(text1, text2, nlp, lang):
    doc1 = nlp(text1)
    doc2 = nlp(text2)
    
    fig1 = visualize_semantic_relations(doc1, lang)
    fig2 = visualize_semantic_relations(doc2, lang)
    
    # Create a new figure with two subplots side by side
    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(72, 27))
    
    # Get the contents of fig1 and fig2
    fig1.axes[0].get_children()
    for child in fig1.axes[0].get_children():
        ax1.add_artist(child.copy())
    ax1.set_title("Documento 1: Relaciones Semánticas Relevantes", fontsize=24, fontweight='bold')
    ax1.axis('off')
    
    fig2.axes[0].get_children()
    for child in fig2.axes[0].get_children():
        ax2.add_artist(child.copy())
    ax2.set_title("Documento 2: Relaciones Semánticas Relevantes", fontsize=24, fontweight='bold')
    ax2.axis('off')
    
    plt.tight_layout()
    
    return fig

def perform_discourse_analysis(text1, text2, nlp, lang):
    comparison_graph = compare_semantic_analysis(text1, text2, nlp, lang)
    return comparison_graph