Spaces:
Running
Running
| #modules/morphosyntax/morphosyntax_process.py | |
| from ..text_analysis.morpho_analysis import perform_advanced_morphosyntactic_analysis | |
| from ..database.database_oldFromV2 import store_morphosyntax_result | |
| import streamlit as st | |
| def process_morphosyntactic_input(user_input, lang_code, nlp_models, t): | |
| if user_input.startswith('/analisis_morfosintactico'): | |
| # Extraer el texto entre corchetes | |
| text_to_analyze = user_input.split('[', 1)[1].rsplit(']', 1)[0] | |
| # Realizar el análisis morfosintáctico | |
| result = perform_advanced_morphosyntactic_analysis(text_to_analyze, nlp_models[lang_code]) | |
| if result is None: | |
| response = t.get('morphosyntactic_analysis_error', 'Error in morphosyntactic analysis') | |
| return response, None, None | |
| # Preparar la respuesta | |
| response = t.get('morphosyntactic_analysis_completed', 'Morphosyntactic analysis completed') | |
| # Obtener todos los diagramas de arco | |
| visualizations = result['arc_diagram'] | |
| return response, visualizations, result | |
| else: | |
| # Para otros tipos de input, simplemente devolver la respuesta del chatbot | |
| chatbot = st.session_state.morphosyntax_chatbot | |
| response = chatbot.generate_response(user_input, lang_code) | |
| return response, None, None | |