File size: 1,337 Bytes
c58df45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#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