|
from ..text_analysis.discourse_analysis import perform_discourse_analysis, compare_semantic_analysis
|
|
import streamlit as st
|
|
|
|
def process_discourse_input(user_input, lang_code, nlp_model, file_contents, t):
|
|
if user_input.startswith('/analisis_discurso'):
|
|
if file_contents is None or len(file_contents) != 2:
|
|
return t['no_files_uploaded'], None
|
|
text1, text2 = file_contents
|
|
result = perform_discourse_analysis(text1, text2, nlp_model, lang_code)
|
|
return t['discourse_analysis_completed'], (result['graph1'], result['graph2'])
|
|
elif user_input.startswith('/comparar'):
|
|
if file_contents is None or len(file_contents) != 2:
|
|
return t['no_files_uploaded'], None
|
|
text1, text2 = file_contents
|
|
comparison_result = compare_semantic_analysis(text1, text2, nlp_model, lang_code)
|
|
return t['comparison_completed'], comparison_result
|
|
else:
|
|
|
|
chatbot = st.session_state.discourse_chatbot
|
|
response = chatbot.generate_response(user_input, lang_code, context=str(file_contents))
|
|
return response, None |