v3 / modules /semantic /semantic_process.py
AIdeaText's picture
Upload 216 files
c58df45 verified
raw
history blame
2.25 kB
import logging
import io
import base64
import matplotlib.pyplot as plt
from ..text_analysis.semantic_analysis import perform_semantic_analysis
from .flexible_analysis_handler import FlexibleAnalysisHandler
logger = logging.getLogger(__name__)
def encode_image_to_base64(image_data):
return base64.b64encode(image_data).decode('utf-8')
def process_semantic_analysis(file_contents, nlp_model, lang_code):
logger.info(f"Starting semantic analysis processing for language: {lang_code}")
try:
result = perform_semantic_analysis(file_contents, nlp_model, lang_code)
concept_graph = result['concept_graph']
entity_graph = result['entity_graph']
key_concepts = result['key_concepts']
# Convertir los gráficos a base64
concept_graph_base64 = encode_image_to_base64(concept_graph)
entity_graph_base64 = encode_image_to_base64(entity_graph)
logger.info("Semantic analysis processing completed successfully")
logger.debug(f"Concept graph base64 (first 100 chars): {concept_graph_base64[:100]}")
return concept_graph_base64, entity_graph_base64, key_concepts
except Exception as e:
logger.error(f"Error in semantic analysis processing: {str(e)}")
return None, None, []
'''
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.DEBUG)
def process_semantic_analysis(file_contents, nlp_model, lang_code):
logger.info(f"Starting semantic analysis for language: {lang_code}")
try:
logger.debug("Calling perform_semantic_analysis")
result = perform_semantic_analysis(file_contents, nlp_model, lang_code)
logger.debug(f"Result keys: {result.keys()}")
logger.debug(f"Type of concept_graph: {type(result['concept_graph'])}")
logger.debug(f"Type of entity_graph: {type(result['entity_graph'])}")
logger.debug(f"Number of key_concepts: {len(result['key_concepts'])}")
logger.info("Semantic analysis completed successfully")
return result['concept_graph'], result['entity_graph'], result['key_concepts']
except Exception as e:
logger.error(f"Error in semantic analysis: {str(e)}")
raise
'''