File size: 1,887 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 52 53 54 55 56 57 58 59 |
from typing import Dict, Any
import base64
from io import BytesIO
from matplotlib.figure import Figure
class FlexibleAnalysisHandler:
def __init__(self, analysis_data):
self.data = analysis_data
def get_key_concepts(self):
return self.data.get('key_concepts', [])
def get_concept_graph(self):
return self.data.get('concept_graph')
def get_entity_graph(self):
return self.data.get('entity_graph')
# Método genérico para obtener cualquier tipo de grafo
def get_graph(self, graph_type):
return self.data.get(graph_type)
# Agrega más métodos según sea necesario
'''
class FlexibleAnalysisHandler:
def __init__(self, analysis_data: Dict[str, Any]):
self.data = analysis_data
def get_key_concepts(self):
if 'key_concepts' in self.data:
return self.data['key_concepts']
elif 'word_count' in self.data:
# Convertir word_count a un formato similar a key_concepts
return [(word, count) for word, count in self.data['word_count'].items()]
return []
def get_graph(self):
if 'graph' in self.data:
# Decodificar la imagen base64
image_data = base64.b64decode(self.data['graph'])
return BytesIO(image_data)
elif 'arc_diagrams' in self.data:
# Devolver el primer diagrama de arco como SVG
return self.data['arc_diagrams'][0]
return None
def get_pos_analysis(self):
return self.data.get('pos_analysis', [])
def get_morphological_analysis(self):
return self.data.get('morphological_analysis', [])
def get_sentence_structure(self):
return self.data.get('sentence_structure', [])
# Agregar más métodos según sea necesario para otros tipos de análisis
''' |