rad / identificador.py
Moibe's picture
Buscador de palabras múltiples arreglado
d9436e3
import herramientas
import conceptos_busqueda
import time
def identifica_documento(textos_extraidos_simplificados):
"""
Busca el tipo de documento en el texto, probando con una lista de documentos.
Args:
textos_extraidos_simplificados (list): Lista de strings con el texto a analizar.
Returns:
str: El nombre del primer documento encontrado ('dni', 'pasaporte', etc.),
o None si ninguno de los documentos fue identificado.
"""
print("Estoy en identifica documento...")
documentos = ['ine', 'dni', 'pasaporte']
for tipo_documento in documentos:
print("Revisando tipo de documento: ", tipo_documento)
# Usamos 'getattr' para acceder dinámicamente al atributo correcto
# del objeto 'conceptos_busqueda', como 'conceptos_busqueda.dni'.
conceptos_actuales = getattr(conceptos_busqueda, tipo_documento)
# Llama a la función de búsqueda para el tipo de documento actual
indice, textos_corregidos = herramientas.buscaIndexMultiplesPalabras(
textos_extraidos_simplificados,
conceptos_actuales
)
# Si la búsqueda encuentra un resultado, salimos inmediatamente y retornamos
# el nombre del documento.
if indice is not None:
# Puedes retornar el tipo_documento y los textos corregidos
# return tipo_documento, textos_corregidos
# O simplemente el tipo de documento, como en tu ejemplo
return tipo_documento
# Si el bucle termina sin encontrar ningún documento, retornamos None
return None
def identifica_ine(textos_extraidos_simplificados):
#Identifica si una INE es nueva o antigüa edición.
#Buscaré los dos campos que tienen SOLO las INE antigüas: localidad y municipio.
#Municipio
conceptos_busqueda = [{
'preferida': 'municipio',
#'alternativas': ['']
}]
print("Entrando a busqueda de municipio en buscar multiples palabras: ")
indice, textos_extraidos_corregidos = herramientas.buscaIndexMultiplesPalabras(textos_extraidos_simplificados, conceptos_busqueda)
print("Salí de la búsqueda...")
municipio_existe = True if indice is not None else False
print("Municipio existe: ", municipio_existe)
#Localidad
conceptos_busqueda = [{'preferida': 'localidad', 'alternativas': ['']}]
indice, textos_extraidos_corregidos = herramientas.buscaIndexMultiplesPalabras(textos_extraidos_simplificados, conceptos_busqueda)
localidad_existe = True if indice is not None else False
print("Localidad existe: ", localidad_existe)
if municipio_existe and localidad_existe:
tipo_ine = 'ine_antes'
else:
tipo_ine = 'ine_actual'
print("INE detectada es: ", tipo_ine)
return tipo_ine