|
|
|
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 |
|
|
|
|
|
def format_analysis_response(result, t, lang_code): |
|
|
|
|
|
|
|
pass |