Spaces:
Sleeping
Sleeping
File size: 2,245 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
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
''' |