Spaces:
Running
Running
#modules/morphosyntax/morphosyntax_process.py | |
import streamlit as st | |
from ..text_analysis.morpho_analysis import perform_advanced_morphosyntactic_analysis | |
from ..database.morphosintax_mongo_db import store_student_morphosyntax_result | |
from ..chatbot.chatbot import process_chat_input | |
def process_morphosyntactic_input(user_input, lang_code, nlp_models, t): | |
if user_input.startswith('/analisis_morfosintactico'): | |
text_to_analyze = user_input.split('[', 1)[1].rsplit(']', 1)[0] | |
result = perform_advanced_morphosyntactic_analysis(text_to_analyze, nlp_models[lang_code]) | |
if result is None or 'arc_diagrams' not in result: | |
response = t.get('morphosyntactic_analysis_error', 'Error in morphosyntactic analysis') | |
return response, None, None | |
response = t.get('morphosyntactic_analysis_completed', 'Morphosyntactic analysis completed') | |
visualizations = result['arc_diagrams'] | |
store_student_morphosyntax_result( | |
st.session_state.username, | |
text_to_analyze, | |
visualizations | |
) | |
return response, visualizations, result | |
else: | |
chatbot = st.session_state.morphosyntax_chat_input | |
response = chatbot.generate_response(user_input, lang_code) | |
return response, None, None | |