Initial commit - FLUJOS codebase (production branch)
Includes: FLUJOS app (Node/Flask/Python), FLUJOS_DATOS scripts (scrapers, Keras, Django) Excludes: MongoDB, scraped data, Wikipedia/WikiLeaks dumps, Python venv, node_modules
This commit is contained in:
commit
a40b946163
158 changed files with 196645 additions and 0 deletions
43
FLUJOS_DATOS/COMPARACIONES/dividendos.py
Executable file
43
FLUJOS_DATOS/COMPARACIONES/dividendos.py
Executable file
|
|
@ -0,0 +1,43 @@
|
|||
import os
|
||||
|
||||
def dividir_archivo_grande(input_file, output_dir, lineas_por_archivo=1000000):
|
||||
try:
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
with open(input_file, 'r') as f_in:
|
||||
archivo_indice = 1
|
||||
f_out = open(os.path.join(output_dir, f'parte_{archivo_indice}.txt'), 'w')
|
||||
for i, linea in enumerate(f_in):
|
||||
if i % lineas_por_archivo == 0 and i > 0:
|
||||
f_out.close()
|
||||
archivo_indice += 1
|
||||
f_out = open(os.path.join(output_dir, f'parte_{archivo_indice}.txt'), 'w')
|
||||
f_out.write(linea)
|
||||
f_out.close()
|
||||
print(f"Archivo '{input_file}' dividido en {archivo_indice} partes en '{output_dir}'")
|
||||
except Exception as e:
|
||||
print(f"Error al dividir el archivo '{input_file}': {e}")
|
||||
|
||||
def procesar_comparaciones():
|
||||
# Directorio base
|
||||
base_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'FLUJOS_DATOS', 'COMPARACIONES')
|
||||
|
||||
# Definir los nombres de las comparaciones y sus carpetas correspondientes
|
||||
comparaciones = {
|
||||
'wikipedia_vs_noticias': 'wikipedia_vs_noticias.txt',
|
||||
'wikipedia_vs_torrents': 'wikipedia_vs_torrents.txt',
|
||||
'torrents_vs_noticias': 'torrents_vs_noticias.txt'
|
||||
}
|
||||
|
||||
# Configurar las rutas de salida
|
||||
for nombre_carpeta, nombre_archivo in comparaciones.items():
|
||||
input_file = os.path.join(base_dir, nombre_archivo)
|
||||
output_dir = os.path.join(base_dir, nombre_carpeta)
|
||||
|
||||
# Verificar si el archivo de entrada existe
|
||||
if os.path.exists(input_file):
|
||||
dividir_archivo_grande(input_file, output_dir, lineas_por_archivo=1000000)
|
||||
else:
|
||||
print(f"El archivo '{input_file}' no existe. No se puede dividir.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
procesar_comparaciones()
|
||||
254
FLUJOS_DATOS/COMPARACIONES/pipeline_completo.py
Executable file
254
FLUJOS_DATOS/COMPARACIONES/pipeline_completo.py
Executable file
|
|
@ -0,0 +1,254 @@
|
|||
import os
|
||||
import re
|
||||
import logging
|
||||
from logging.handlers import RotatingFileHandler
|
||||
from collections import Counter
|
||||
from datetime import datetime
|
||||
from pymongo import MongoClient
|
||||
from tqdm import tqdm
|
||||
from multiprocessing import Pool, cpu_count
|
||||
import psutil
|
||||
import string
|
||||
import nltk
|
||||
from nltk.corpus import stopwords
|
||||
|
||||
# Descargar stopwords la primera vez
|
||||
nltk.download('stopwords')
|
||||
stop_words = set(stopwords.words('spanish'))
|
||||
|
||||
# Parámetros de configuración
|
||||
SIMILARITY_THRESHOLD = 4.0
|
||||
LOG_FILE = "pipeline_mongolo.log"
|
||||
NUM_PROCESOS = 4 # Limitar a 4 procesos
|
||||
|
||||
# Configuración de logging con rotación de archivos
|
||||
logger = logging.getLogger()
|
||||
logger.setLevel(logging.INFO)
|
||||
|
||||
handler = RotatingFileHandler(LOG_FILE, maxBytes=10*1024*1024, backupCount=5) # 10 MB por archivo, 5 archivos de respaldo
|
||||
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
|
||||
handler.setFormatter(formatter)
|
||||
|
||||
logger.addHandler(handler)
|
||||
|
||||
# Función para iniciar un cliente MongoDB
|
||||
def init_mongo_client():
|
||||
"""Inicializa un nuevo cliente MongoDB para cada proceso."""
|
||||
return MongoClient('localhost', 27017)
|
||||
|
||||
# Función para preprocesar el texto
|
||||
def preprocesar_texto(texto):
|
||||
# Eliminar signos de puntuación
|
||||
texto = texto.translate(str.maketrans('', '', string.punctuation))
|
||||
# Convertir a minúsculas
|
||||
texto = texto.lower()
|
||||
# Eliminar stop words
|
||||
palabras = texto.split()
|
||||
palabras = [word for word in palabras if word not in stop_words]
|
||||
return ' '.join(palabras)
|
||||
|
||||
# Función para asignar tema y subtema basado en el contenido del texto
|
||||
def asignar_tema_y_subtema(texto):
|
||||
tematicas = {
|
||||
'inteligencia y seguridad': ['inteligencia', 'ciberseguridad', 'espionaje', 'seguridad nacional', 'contraterrorismo'],
|
||||
'cambio climático': ['cambio climático', 'desastres naturales', 'conservación', 'energía renovable', 'escasez de agua'],
|
||||
'guerra global': ['conflictos internacionales', 'guerras civiles', 'terrorismo', 'armas', 'alianzas militares'],
|
||||
'demografía y sociedad': ['sobrepoblación', 'enfermedades', 'migraciones', 'urbanización', 'despoblación rural'],
|
||||
'economía y corporaciones': ['economía global', 'corporaciones multinacionales', 'comercio internacional', 'organismos financieros', 'desigualdad económica']
|
||||
}
|
||||
|
||||
texto_lower = texto.lower()
|
||||
for tema, palabras_clave in tematicas.items():
|
||||
for palabra_clave in palabras_clave:
|
||||
if palabra_clave in texto_lower:
|
||||
return tema, palabra_clave
|
||||
return 'otros', 'general'
|
||||
|
||||
# Función para extraer la fecha del nombre del archivo
|
||||
def extraer_fecha_de_nombre(nombre_archivo):
|
||||
try:
|
||||
fecha_str = re.search(r'\d{4}-\d{2}-\d{2}', nombre_archivo).group(0)
|
||||
return datetime.strptime(fecha_str, '%Y-%m-%d')
|
||||
except:
|
||||
return None
|
||||
|
||||
# Función para contar palabras en un archivo tokenizado
|
||||
def contar_palabras(nombre_archivo):
|
||||
try:
|
||||
with open(nombre_archivo, 'r', encoding='utf-8') as f:
|
||||
palabras = f.read().split()
|
||||
return Counter(palabras)
|
||||
except Exception as e:
|
||||
logging.error(f"Error al contar palabras en {nombre_archivo}: {e}")
|
||||
return Counter()
|
||||
|
||||
# Función para comparar dos archivos y calcular el porcentaje de similitud
|
||||
def comparar_archivos(archivo1, archivo2):
|
||||
try:
|
||||
conteo1 = contar_palabras(archivo1)
|
||||
conteo2 = contar_palabras(archivo2)
|
||||
|
||||
palabras_comunes = set(conteo1.keys()) & set(conteo2.keys())
|
||||
num_palabras_comunes = sum(min(conteo1[p], conteo2[p]) for p in palabras_comunes)
|
||||
num_palabras_totales = sum(conteo1.values()) + sum(conteo2.values())
|
||||
|
||||
if num_palabras_totales == 0:
|
||||
return 0
|
||||
|
||||
porcentaje_similitud = (num_palabras_comunes / num_palabras_totales) * 100
|
||||
return porcentaje_similitud
|
||||
except Exception as e:
|
||||
logging.error(f"Error al comparar archivos {archivo1} y {archivo2}: {e}", exc_info=True)
|
||||
return 0 # Retornar 0 en caso de error
|
||||
|
||||
# Función paralelizada para manejar las comparaciones
|
||||
def manejar_comparacion_multiproceso(pair):
|
||||
archivo1, archivo2 = pair
|
||||
try:
|
||||
# Inicia MongoDB dentro del proceso
|
||||
client = init_mongo_client()
|
||||
db = client['FLUJOS_DATOS']
|
||||
comparaciones_collection = db['comparaciones']
|
||||
|
||||
nombre_archivo1 = os.path.basename(archivo1)
|
||||
nombre_archivo2 = os.path.basename(archivo2)
|
||||
|
||||
porcentaje = comparar_archivos(archivo1, archivo2)
|
||||
comparacion = {
|
||||
'noticia1': nombre_archivo1,
|
||||
'noticia2': nombre_archivo2,
|
||||
'porcentaje_similitud': porcentaje
|
||||
}
|
||||
|
||||
comparaciones_collection.insert_one(comparacion)
|
||||
logging.info(f"Guardada comparación entre {nombre_archivo1} y {nombre_archivo2} con {porcentaje:.2f}% de similitud.")
|
||||
except Exception as e:
|
||||
logging.error(f"Error al manejar comparación {archivo1} vs {archivo2}: {e}", exc_info=True)
|
||||
finally:
|
||||
client.close()
|
||||
|
||||
# Función para verificar si el documento ya fue procesado
|
||||
def documento_ya_subido(nombre_archivo, collection):
|
||||
return collection.find_one({"archivo": nombre_archivo}) is not None
|
||||
|
||||
# Función para subir documentos a MongoDB
|
||||
def subir_documento_a_mongodb(nombre_archivo, tema, subtema, fecha, texto, collection):
|
||||
documento = {
|
||||
'archivo': nombre_archivo,
|
||||
'tema': tema,
|
||||
'subtema': subtema,
|
||||
'fecha': fecha,
|
||||
'texto': texto # Subimos el texto original
|
||||
}
|
||||
try:
|
||||
collection.insert_one(documento)
|
||||
logging.info(f"Subido documento: {nombre_archivo} con tema: {tema}, subtema: {subtema}.")
|
||||
except Exception as e:
|
||||
logging.error(f"Error al subir documento {nombre_archivo}: {e}")
|
||||
|
||||
# Función para procesar documentos y subirlos a MongoDB
|
||||
def procesar_documentos(directorio, collection):
|
||||
archivos = [os.path.join(directorio, f) for f in os.listdir(directorio)]
|
||||
print(f"Procesando {len(archivos)} archivos en el directorio: {directorio}")
|
||||
|
||||
# Subir documentos a MongoDB
|
||||
with tqdm(total=len(archivos), desc=f"Subiendo documentos a MongoDB ({collection.name})", ncols=100) as pbar:
|
||||
for archivo in archivos:
|
||||
nombre_archivo = os.path.basename(archivo)
|
||||
if documento_ya_subido(nombre_archivo, collection):
|
||||
logging.info(f"Saltando {nombre_archivo}, ya está subido.")
|
||||
pbar.update(1)
|
||||
continue
|
||||
|
||||
fecha = extraer_fecha_de_nombre(nombre_archivo)
|
||||
|
||||
try:
|
||||
with open(archivo, 'r', encoding='utf-8') as f:
|
||||
texto_original = f.read()
|
||||
texto_preprocesado = preprocesar_texto(texto_original)
|
||||
tema, subtema = asignar_tema_y_subtema(texto_preprocesado)
|
||||
subir_documento_a_mongodb(nombre_archivo, tema, subtema, fecha, texto_original, collection)
|
||||
except Exception as e:
|
||||
logging.error(f"Error al procesar archivo {archivo}: {e}")
|
||||
|
||||
pbar.update(1)
|
||||
|
||||
def manejar_comparaciones_multiproceso(directorios_tokenized):
|
||||
try:
|
||||
archivos_tokenizados = []
|
||||
for directorio in directorios_tokenized:
|
||||
archivos_directorio = [os.path.join(directorio, f) for f in os.listdir(directorio)]
|
||||
archivos_tokenizados.append(archivos_directorio)
|
||||
|
||||
# Generar pares de archivos para comparar (combinaciones entre directorios)
|
||||
pairs = []
|
||||
for i in range(len(archivos_tokenizados)):
|
||||
for j in range(i+1, len(archivos_tokenizados)):
|
||||
for archivo1 in archivos_tokenizados[i]:
|
||||
for archivo2 in archivos_tokenizados[j]:
|
||||
pairs.append((archivo1, archivo2))
|
||||
|
||||
total_pairs = len(pairs)
|
||||
logging.info(f"Total de pares a comparar: {total_pairs}")
|
||||
|
||||
# Procesar las comparaciones en lotes más pequeños para reducir el uso de memoria
|
||||
batch_size = 1000 # Tamaño del lote
|
||||
num_batches = (total_pairs // batch_size) + 1
|
||||
|
||||
logging.info(f"Procesando en {num_batches} lotes de {batch_size} pares cada uno.")
|
||||
|
||||
for batch_num in range(num_batches):
|
||||
batch_start = batch_num * batch_size
|
||||
batch_end = min(batch_start + batch_size, total_pairs)
|
||||
batch_pairs = pairs[batch_start:batch_end]
|
||||
|
||||
logging.info(f"Procesando lote {batch_num + 1}/{num_batches}")
|
||||
|
||||
with Pool(processes=NUM_PROCESOS) as pool:
|
||||
list(tqdm(pool.imap_unordered(manejar_comparacion_multiproceso, batch_pairs), total=len(batch_pairs), desc=f"Comparando archivos (Lote {batch_num + 1})", ncols=100))
|
||||
except Exception as e:
|
||||
logging.error(f"Error en manejar_comparaciones_multiproceso: {e}", exc_info=True)
|
||||
|
||||
def main():
|
||||
try:
|
||||
# Rutas absolutas de los archivos en formato txt
|
||||
carpeta_noticias_txt = '/var/www/theflows.net/flujos/FLUJOS_DATOS/NOTICIAS/articulos'
|
||||
carpeta_wikipedia_txt = '/var/www/theflows.net/flujos/FLUJOS_DATOS/WIKIPEDIA/articulos_wikipedia'
|
||||
carpeta_torrents_txt = '/var/www/theflows.net/flujos/FLUJOS_DATOS/TORRENTS/TORRENTS_WIKILEAKS_COMPLETO/txt'
|
||||
|
||||
# Carpetas con los archivos tokenizados para hacer las comparaciones
|
||||
carpeta_noticias_tokenized = '/var/www/theflows.net/flujos/FLUJOS_DATOS/NOTICIAS/tokenized'
|
||||
carpeta_wikipedia_tokenized = '/var/www/theflows.net/flujos/FLUJOS_DATOS/WIKIPEDIA/articulos_tokenizados'
|
||||
carpeta_torrents_tokenized = '/var/www/theflows.net/flujos/FLUJOS_DATOS/TORRENTS/TORRENTS_WIKILEAKS_COMPLETO/tokenized'
|
||||
|
||||
# Iniciar cliente MongoDB
|
||||
client = init_mongo_client()
|
||||
|
||||
# Omitir la subida de documentos
|
||||
print("Subiendo archivos originales de Noticias a MongoDB...")
|
||||
logging.info("Iniciando subida de noticias a MongoDB")
|
||||
procesar_documentos(carpeta_noticias_txt, client['FLUJOS_DATOS']['noticias'])
|
||||
logging.info("Finalizada subida de noticias a MongoDB")
|
||||
|
||||
# print("Subiendo archivos originales de Wikipedia a MongoDB...")
|
||||
logging.info("Iniciando subida de Wikipedia a MongoDB")
|
||||
procesar_documentos(carpeta_wikipedia_txt, client['FLUJOS_DATOS']['wikipedia'])
|
||||
logging.info("Finalizada subida de Wikipedia a MongoDB")
|
||||
|
||||
# print("Subiendo archivos originales de TORRENTS a MongoDB...")
|
||||
logging.info("Iniciando subida de TORRENTS a MongoDB")
|
||||
procesar_documentos(carpeta_torrents_txt, client['FLUJOS_DATOS']['torrents'])
|
||||
logging.info("Finalizada subida de TORRENTS a MongoDB")
|
||||
|
||||
# Comparar archivos tokenizados y guardar comparaciones en MongoDB
|
||||
print("Comparando textos tokenizados entre Noticias, Wikipedia y TORRENTS...")
|
||||
logging.info("Iniciando comparaciones entre textos tokenizados")
|
||||
manejar_comparaciones_multiproceso([carpeta_noticias_tokenized, carpeta_wikipedia_tokenized, carpeta_torrents_tokenized])
|
||||
logging.info("Finalizadas comparaciones entre textos tokenizados")
|
||||
|
||||
except Exception as e:
|
||||
logging.error(f"Error en la ejecución del script: {e}", exc_info=True)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
577
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.log.1
Normal file
577
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.log.1
Normal file
|
|
@ -0,0 +1,577 @@
|
|||
2025-08-09 00:44:56,478 - INFO - Guardada comparación entre Hammer Film Productions.txt y Sanción.txt con 1.47% de similitud.
|
||||
2025-08-09 00:44:56,482 - INFO - Guardada comparación entre Hammer Film Productions.txt y Saúl Luciano Lliuya.txt con 9.36% de similitud.
|
||||
2025-08-09 00:44:56,486 - INFO - Guardada comparación entre Hammer Film Productions.txt y Antiprotestantismo.txt con 14.38% de similitud.
|
||||
2025-08-09 00:44:56,489 - INFO - Guardada comparación entre Big Water.txt y Desigualdad de ingreso en Estados Unidos.txt con 17.72% de similitud.
|
||||
2025-08-09 00:44:56,494 - INFO - Guardada comparación entre Big Water.txt y Iberos.txt con 3.69% de similitud.
|
||||
2025-08-09 00:44:56,497 - INFO - Guardada comparación entre Big Water.txt y .km.txt con 9.94% de similitud.
|
||||
2025-08-09 00:44:56,501 - INFO - Guardada comparación entre Big Water.txt y Censura internacional china.txt con 11.17% de similitud.
|
||||
2025-08-09 00:44:56,504 - INFO - Guardada comparación entre Big Water.txt y Alfarería en la provincia de Almería.txt con 9.97% de similitud.
|
||||
2025-08-09 00:44:56,507 - INFO - Guardada comparación entre Big Water.txt y Acuerdo de Prespa.txt con 12.30% de similitud.
|
||||
2025-08-09 00:44:56,510 - INFO - Guardada comparación entre Big Water.txt y Segunda Cumbre BRIC 2010.txt con 15.52% de similitud.
|
||||
2025-08-09 00:44:56,514 - INFO - Guardada comparación entre Big Water.txt y Santa Marina del Rey.txt con 15.99% de similitud.
|
||||
2025-08-09 00:44:56,517 - INFO - Guardada comparación entre Big Water.txt y Omaira Montoya Henao.txt con 17.75% de similitud.
|
||||
2025-08-09 00:44:56,520 - INFO - Guardada comparación entre Big Water.txt y Biodiversidad Virtual.txt con 14.38% de similitud.
|
||||
2025-08-09 00:44:56,523 - INFO - Guardada comparación entre Big Water.txt y Estudios de ciencia, tecnología y género.txt con 14.04% de similitud.
|
||||
2025-08-09 00:44:56,527 - INFO - Guardada comparación entre Big Water.txt y Representación (política).txt con 15.18% de similitud.
|
||||
2025-08-09 00:44:56,530 - INFO - Guardada comparación entre Big Water.txt y Roxana Campos.txt con 12.54% de similitud.
|
||||
2025-08-09 00:44:56,534 - INFO - Guardada comparación entre Big Water.txt y Reforma económica china.txt con 5.09% de similitud.
|
||||
2025-08-09 00:44:56,538 - INFO - Guardada comparación entre Big Water.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 11.66% de similitud.
|
||||
2025-08-09 00:44:56,541 - INFO - Guardada comparación entre Big Water.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 12.70% de similitud.
|
||||
2025-08-09 00:44:56,544 - INFO - Guardada comparación entre Big Water.txt y Oswald Pohl.txt con 16.83% de similitud.
|
||||
2025-08-09 00:44:56,547 - INFO - Guardada comparación entre Big Water.txt y Empresa Nacional Siderúrgica.txt con 12.94% de similitud.
|
||||
2025-08-09 00:44:56,551 - INFO - Guardada comparación entre Big Water.txt y Certificate Signing Request.txt con 9.49% de similitud.
|
||||
2025-08-09 00:44:56,554 - INFO - Guardada comparación entre Big Water.txt y Antônio de Sousa Neto.txt con 15.57% de similitud.
|
||||
2025-08-09 00:44:56,557 - INFO - Guardada comparación entre Big Water.txt y Unión Ortodoxa.txt con 14.92% de similitud.
|
||||
2025-08-09 00:44:56,561 - INFO - Guardada comparación entre Big Water.txt y Emisora móvil.txt con 7.31% de similitud.
|
||||
2025-08-09 00:44:56,564 - INFO - Guardada comparación entre Big Water.txt y Demografía de la República Democrática del Congo.txt con 18.31% de similitud.
|
||||
2025-08-09 00:44:56,568 - INFO - Guardada comparación entre Big Water.txt y Desigualdad de ingreso.txt con 7.10% de similitud.
|
||||
2025-08-09 00:44:56,572 - INFO - Guardada comparación entre Big Water.txt y Terrorismo de extrema izquierda.txt con 7.89% de similitud.
|
||||
2025-08-09 00:44:56,577 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Iberos.txt con 6.21% de similitud.
|
||||
2025-08-09 00:44:56,580 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 21.25% de similitud.
|
||||
2025-08-09 00:44:56,584 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Censura internacional china.txt con 17.78% de similitud.
|
||||
2025-08-09 00:44:56,587 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Alfarería en la provincia de Almería.txt con 16.25% de similitud.
|
||||
2025-08-09 00:44:56,591 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Ingeniería comercial.txt con 18.38% de similitud.
|
||||
2025-08-09 00:44:56,594 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Chevrolet Cobalt.txt con 3.03% de similitud.
|
||||
2025-08-09 00:44:56,597 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Código Unificado de Punto de Suministro.txt con 15.82% de similitud.
|
||||
2025-08-09 00:44:56,601 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 18.41% de similitud.
|
||||
2025-08-09 00:44:56,604 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Estación de tratamiento de agua potable.txt con 10.93% de similitud.
|
||||
2025-08-09 00:44:56,607 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Militar.txt con 19.62% de similitud.
|
||||
2025-08-09 00:44:56,611 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Demografía de Canadá.txt con 16.88% de similitud.
|
||||
2025-08-09 00:44:56,614 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y EToro.txt con 16.90% de similitud.
|
||||
2025-08-09 00:44:56,617 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Ambiente biofísico.txt con 15.47% de similitud.
|
||||
2025-08-09 00:44:56,621 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Juego ganar ganar.txt con 14.11% de similitud.
|
||||
2025-08-09 00:44:56,624 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 19.18% de similitud.
|
||||
2025-08-09 00:44:56,628 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 21.31% de similitud.
|
||||
2025-08-09 00:44:56,631 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Oswald Pohl.txt con 14.69% de similitud.
|
||||
2025-08-09 00:44:56,634 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Empresa Nacional Siderúrgica.txt con 20.01% de similitud.
|
||||
2025-08-09 00:44:56,638 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Teletón El Salvador.txt con 19.31% de similitud.
|
||||
2025-08-09 00:44:56,641 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Antônio de Sousa Neto.txt con 11.44% de similitud.
|
||||
2025-08-09 00:44:56,645 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Mercenarios (BattleTech).txt con 17.65% de similitud.
|
||||
2025-08-09 00:44:56,648 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Efecto cis.txt con 16.17% de similitud.
|
||||
2025-08-09 00:44:56,652 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Demografía de la República Democrática del Congo.txt con 15.63% de similitud.
|
||||
2025-08-09 00:44:56,656 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Desigualdad de ingreso.txt con 11.47% de similitud.
|
||||
2025-08-09 00:44:56,659 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Terrorismo de extrema izquierda.txt con 12.34% de similitud.
|
||||
2025-08-09 00:44:56,664 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Iberos.txt con 1.94% de similitud.
|
||||
2025-08-09 00:44:56,667 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y .km.txt con 10.83% de similitud.
|
||||
2025-08-09 00:44:56,670 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Asesoría Jurídica Internacional.txt con 14.67% de similitud.
|
||||
2025-08-09 00:44:56,674 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Desarrollo de videojuegos independiente.txt con 3.77% de similitud.
|
||||
2025-08-09 00:44:56,677 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Ingeniería comercial.txt con 13.31% de similitud.
|
||||
2025-08-09 00:44:56,680 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Chevrolet Cobalt.txt con 5.68% de similitud.
|
||||
2025-08-09 00:44:56,684 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Código Unificado de Punto de Suministro.txt con 11.82% de similitud.
|
||||
2025-08-09 00:44:56,688 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 7.66% de similitud.
|
||||
2025-08-09 00:44:56,692 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Estación de tratamiento de agua potable.txt con 12.92% de similitud.
|
||||
2025-08-09 00:44:56,696 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Militar.txt con 8.73% de similitud.
|
||||
2025-08-09 00:44:56,700 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Demografía de Canadá.txt con 6.70% de similitud.
|
||||
2025-08-09 00:44:56,703 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y EToro.txt con 10.03% de similitud.
|
||||
2025-08-09 00:44:56,707 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Ambiente biofísico.txt con 13.47% de similitud.
|
||||
2025-08-09 00:44:56,710 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Juego ganar ganar.txt con 11.59% de similitud.
|
||||
2025-08-09 00:44:56,714 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Alejandro VII.txt con 7.87% de similitud.
|
||||
2025-08-09 00:44:56,718 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Violencia obstétrica.txt con 11.91% de similitud.
|
||||
2025-08-09 00:44:56,722 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Torrente Gros.txt con 9.15% de similitud.
|
||||
2025-08-09 00:44:56,726 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Guerra de Reforma.txt con 6.67% de similitud.
|
||||
2025-08-09 00:44:56,729 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Certificate Signing Request.txt con 5.69% de similitud.
|
||||
2025-08-09 00:44:56,733 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Antônio de Sousa Neto.txt con 15.13% de similitud.
|
||||
2025-08-09 00:44:56,736 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Unión Ortodoxa.txt con 9.59% de similitud.
|
||||
2025-08-09 00:44:56,740 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Efecto cis.txt con 10.54% de similitud.
|
||||
2025-08-09 00:44:56,743 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Sanción.txt con 5.65% de similitud.
|
||||
2025-08-09 00:44:56,747 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Saúl Luciano Lliuya.txt con 14.35% de similitud.
|
||||
2025-08-09 00:44:56,751 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Antiprotestantismo.txt con 9.08% de similitud.
|
||||
2025-08-09 00:44:56,754 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Desigualdad de ingreso en Estados Unidos.txt con 6.27% de similitud.
|
||||
2025-08-09 00:44:56,757 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Club Deportivo La Equidad (Femenino).txt con 7.70% de similitud.
|
||||
2025-08-09 00:44:56,760 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y .km.txt con 8.42% de similitud.
|
||||
2025-08-09 00:44:56,763 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Asesoría Jurídica Internacional.txt con 10.96% de similitud.
|
||||
2025-08-09 00:44:56,767 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Desarrollo de videojuegos independiente.txt con 2.18% de similitud.
|
||||
2025-08-09 00:44:56,770 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Ingeniería comercial.txt con 7.98% de similitud.
|
||||
2025-08-09 00:44:56,773 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Chevrolet Cobalt.txt con 8.85% de similitud.
|
||||
2025-08-09 00:44:56,776 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Código Unificado de Punto de Suministro.txt con 6.75% de similitud.
|
||||
2025-08-09 00:44:56,779 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 4.03% de similitud.
|
||||
2025-08-09 00:44:56,782 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Estación de tratamiento de agua potable.txt con 9.89% de similitud.
|
||||
2025-08-09 00:44:56,785 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Militar.txt con 5.92% de similitud.
|
||||
2025-08-09 00:44:56,788 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Demografía de Canadá.txt con 4.05% de similitud.
|
||||
2025-08-09 00:44:56,792 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y EToro.txt con 6.73% de similitud.
|
||||
2025-08-09 00:44:56,796 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Ambiente biofísico.txt con 8.19% de similitud.
|
||||
2025-08-09 00:44:56,800 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Juego ganar ganar.txt con 7.92% de similitud.
|
||||
2025-08-09 00:44:56,803 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 4.29% de similitud.
|
||||
2025-08-09 00:44:56,806 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 4.87% de similitud.
|
||||
2025-08-09 00:44:56,809 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Oswald Pohl.txt con 9.97% de similitud.
|
||||
2025-08-09 00:44:56,813 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Empresa Nacional Siderúrgica.txt con 5.66% de similitud.
|
||||
2025-08-09 00:44:56,816 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Teletón El Salvador.txt con 4.97% de similitud.
|
||||
2025-08-09 00:44:56,819 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Antônio de Sousa Neto.txt con 10.74% de similitud.
|
||||
2025-08-09 00:44:56,822 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Mercenarios (BattleTech).txt con 4.41% de similitud.
|
||||
2025-08-09 00:44:56,825 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Efecto cis.txt con 5.29% de similitud.
|
||||
2025-08-09 00:44:56,828 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Sanción.txt con 5.90% de similitud.
|
||||
2025-08-09 00:44:56,835 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Saúl Luciano Lliuya.txt con 9.67% de similitud.
|
||||
2025-08-09 00:44:56,839 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Terrorismo de extrema izquierda.txt con 2.81% de similitud.
|
||||
2025-08-09 00:44:56,844 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Iberos.txt con 3.14% de similitud.
|
||||
2025-08-09 00:44:56,846 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y .km.txt con 10.28% de similitud.
|
||||
2025-08-09 00:44:56,849 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Asesoría Jurídica Internacional.txt con 16.83% de similitud.
|
||||
2025-08-09 00:44:56,853 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Censura internacional china.txt con 9.20% de similitud.
|
||||
2025-08-09 00:44:56,856 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Alfarería en la provincia de Almería.txt con 8.87% de similitud.
|
||||
2025-08-09 00:44:56,859 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Acuerdo de Prespa.txt con 13.96% de similitud.
|
||||
2025-08-09 00:44:56,862 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Segunda Cumbre BRIC 2010.txt con 13.66% de similitud.
|
||||
2025-08-09 00:44:56,865 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Santa Marina del Rey.txt con 16.36% de similitud.
|
||||
2025-08-09 00:44:56,868 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Omaira Montoya Henao.txt con 18.10% de similitud.
|
||||
2025-08-09 00:44:56,871 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Biodiversidad Virtual.txt con 13.74% de similitud.
|
||||
2025-08-09 00:44:56,875 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Estudios de ciencia, tecnología y género.txt con 12.73% de similitud.
|
||||
2025-08-09 00:44:56,878 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Representación (política).txt con 13.59% de similitud.
|
||||
2025-08-09 00:44:56,881 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Roxana Campos.txt con 15.90% de similitud.
|
||||
2025-08-09 00:44:56,885 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Reforma económica china.txt con 3.33% de similitud.
|
||||
2025-08-09 00:44:56,889 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 9.83% de similitud.
|
||||
2025-08-09 00:44:56,892 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 11.27% de similitud.
|
||||
2025-08-09 00:44:56,895 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Oswald Pohl.txt con 17.99% de similitud.
|
||||
2025-08-09 00:44:56,898 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Empresa Nacional Siderúrgica.txt con 12.18% de similitud.
|
||||
2025-08-09 00:44:56,902 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Teletón El Salvador.txt con 11.70% de similitud.
|
||||
2025-08-09 00:44:56,904 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Antônio de Sousa Neto.txt con 17.30% de similitud.
|
||||
2025-08-09 00:44:56,908 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Mercenarios (BattleTech).txt con 10.49% de similitud.
|
||||
2025-08-09 00:44:56,911 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Efecto cis.txt con 12.67% de similitud.
|
||||
2025-08-09 00:44:56,914 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Sanción.txt con 3.61% de similitud.
|
||||
2025-08-09 00:44:56,917 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Saúl Luciano Lliuya.txt con 15.50% de similitud.
|
||||
2025-08-09 00:44:56,920 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Antiprotestantismo.txt con 12.49% de similitud.
|
||||
2025-08-09 00:44:56,923 - INFO - Guardada comparación entre Puebla de Segur.txt y Desigualdad de ingreso en Estados Unidos.txt con 18.11% de similitud.
|
||||
2025-08-09 00:44:56,927 - INFO - Guardada comparación entre Puebla de Segur.txt y Club Deportivo La Equidad (Femenino).txt con 15.07% de similitud.
|
||||
2025-08-09 00:44:56,930 - INFO - Guardada comparación entre Puebla de Segur.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 16.31% de similitud.
|
||||
2025-08-09 00:44:56,933 - INFO - Guardada comparación entre Puebla de Segur.txt y Asesoría Jurídica Internacional.txt con 12.21% de similitud.
|
||||
2025-08-09 00:44:56,937 - INFO - Guardada comparación entre Puebla de Segur.txt y Desarrollo de videojuegos independiente.txt con 14.01% de similitud.
|
||||
2025-08-09 00:44:56,940 - INFO - Guardada comparación entre Puebla de Segur.txt y Ingeniería comercial.txt con 15.45% de similitud.
|
||||
2025-08-09 00:44:56,943 - INFO - Guardada comparación entre Puebla de Segur.txt y Chevrolet Cobalt.txt con 2.86% de similitud.
|
||||
2025-08-09 00:44:56,947 - INFO - Guardada comparación entre Puebla de Segur.txt y Código Unificado de Punto de Suministro.txt con 15.26% de similitud.
|
||||
2025-08-09 00:44:56,950 - INFO - Guardada comparación entre Puebla de Segur.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 19.28% de similitud.
|
||||
2025-08-09 00:44:56,954 - INFO - Guardada comparación entre Puebla de Segur.txt y Estación de tratamiento de agua potable.txt con 9.33% de similitud.
|
||||
2025-08-09 00:44:56,957 - INFO - Guardada comparación entre Puebla de Segur.txt y Militar.txt con 16.46% de similitud.
|
||||
2025-08-09 00:44:56,960 - INFO - Guardada comparación entre Puebla de Segur.txt y Demografía de Canadá.txt con 18.26% de similitud.
|
||||
2025-08-09 00:44:56,963 - INFO - Guardada comparación entre Puebla de Segur.txt y EToro.txt con 15.76% de similitud.
|
||||
2025-08-09 00:44:56,967 - INFO - Guardada comparación entre Puebla de Segur.txt y Ambiente biofísico.txt con 14.46% de similitud.
|
||||
2025-08-09 00:44:56,971 - INFO - Guardada comparación entre Puebla de Segur.txt y Juego ganar ganar.txt con 13.89% de similitud.
|
||||
2025-08-09 00:44:56,974 - INFO - Guardada comparación entre Puebla de Segur.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 18.19% de similitud.
|
||||
2025-08-09 00:44:56,978 - INFO - Guardada comparación entre Puebla de Segur.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 19.30% de similitud.
|
||||
2025-08-09 00:44:56,981 - INFO - Guardada comparación entre Puebla de Segur.txt y Oswald Pohl.txt con 13.09% de similitud.
|
||||
2025-08-09 00:44:56,984 - INFO - Guardada comparación entre Puebla de Segur.txt y Empresa Nacional Siderúrgica.txt con 21.23% de similitud.
|
||||
2025-08-09 00:44:56,988 - INFO - Guardada comparación entre Puebla de Segur.txt y Teletón El Salvador.txt con 18.86% de similitud.
|
||||
2025-08-09 00:44:56,991 - INFO - Guardada comparación entre Puebla de Segur.txt y Antônio de Sousa Neto.txt con 10.77% de similitud.
|
||||
2025-08-09 00:44:56,995 - INFO - Guardada comparación entre Puebla de Segur.txt y Mercenarios (BattleTech).txt con 17.89% de similitud.
|
||||
2025-08-09 00:44:56,998 - INFO - Guardada comparación entre Puebla de Segur.txt y Efecto cis.txt con 16.19% de similitud.
|
||||
2025-08-09 00:44:57,002 - INFO - Guardada comparación entre Puebla de Segur.txt y Sanción.txt con 1.66% de similitud.
|
||||
2025-08-09 00:44:57,005 - INFO - Guardada comparación entre Puebla de Segur.txt y Saúl Luciano Lliuya.txt con 11.21% de similitud.
|
||||
2025-08-09 00:44:57,009 - INFO - Guardada comparación entre Puebla de Segur.txt y Antiprotestantismo.txt con 18.46% de similitud.
|
||||
2025-08-09 00:44:57,012 - INFO - Guardada comparación entre Trabajo de mierda.txt y Desigualdad de ingreso en Estados Unidos.txt con 9.31% de similitud.
|
||||
2025-08-09 00:44:57,015 - INFO - Guardada comparación entre Trabajo de mierda.txt y Club Deportivo La Equidad (Femenino).txt con 8.60% de similitud.
|
||||
2025-08-09 00:44:57,018 - INFO - Guardada comparación entre Trabajo de mierda.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 9.67% de similitud.
|
||||
2025-08-09 00:44:57,021 - INFO - Guardada comparación entre Trabajo de mierda.txt y Asesoría Jurídica Internacional.txt con 12.23% de similitud.
|
||||
2025-08-09 00:44:57,025 - INFO - Guardada comparación entre Trabajo de mierda.txt y Desarrollo de videojuegos independiente.txt con 3.62% de similitud.
|
||||
2025-08-09 00:44:57,028 - INFO - Guardada comparación entre Trabajo de mierda.txt y Ingeniería comercial.txt con 12.03% de similitud.
|
||||
2025-08-09 00:44:57,031 - INFO - Guardada comparación entre Trabajo de mierda.txt y Chevrolet Cobalt.txt con 7.14% de similitud.
|
||||
2025-08-09 00:44:57,034 - INFO - Guardada comparación entre Trabajo de mierda.txt y Código Unificado de Punto de Suministro.txt con 9.32% de similitud.
|
||||
2025-08-09 00:44:57,037 - INFO - Guardada comparación entre Trabajo de mierda.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 6.35% de similitud.
|
||||
2025-08-09 00:44:57,040 - INFO - Guardada comparación entre Trabajo de mierda.txt y Estación de tratamiento de agua potable.txt con 11.96% de similitud.
|
||||
2025-08-09 00:44:57,044 - INFO - Guardada comparación entre Trabajo de mierda.txt y Militar.txt con 7.77% de similitud.
|
||||
2025-08-09 00:44:57,047 - INFO - Guardada comparación entre Trabajo de mierda.txt y Demografía de Canadá.txt con 5.70% de similitud.
|
||||
2025-08-09 00:44:57,050 - INFO - Guardada comparación entre Trabajo de mierda.txt y EToro.txt con 9.27% de similitud.
|
||||
2025-08-09 00:44:57,054 - INFO - Guardada comparación entre Trabajo de mierda.txt y Ambiente biofísico.txt con 12.41% de similitud.
|
||||
2025-08-09 00:44:57,057 - INFO - Guardada comparación entre Trabajo de mierda.txt y Juego ganar ganar.txt con 10.54% de similitud.
|
||||
2025-08-09 00:44:57,060 - INFO - Guardada comparación entre Trabajo de mierda.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 6.02% de similitud.
|
||||
2025-08-09 00:44:57,064 - INFO - Guardada comparación entre Trabajo de mierda.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 6.85% de similitud.
|
||||
2025-08-09 00:44:57,067 - INFO - Guardada comparación entre Trabajo de mierda.txt y Oswald Pohl.txt con 10.33% de similitud.
|
||||
2025-08-09 00:44:57,071 - INFO - Guardada comparación entre Trabajo de mierda.txt y Empresa Nacional Siderúrgica.txt con 7.64% de similitud.
|
||||
2025-08-09 00:44:57,074 - INFO - Guardada comparación entre Trabajo de mierda.txt y Teletón El Salvador.txt con 6.53% de similitud.
|
||||
2025-08-09 00:44:57,077 - INFO - Guardada comparación entre Trabajo de mierda.txt y Antônio de Sousa Neto.txt con 12.06% de similitud.
|
||||
2025-08-09 00:44:57,081 - INFO - Guardada comparación entre Trabajo de mierda.txt y Mercenarios (BattleTech).txt con 6.10% de similitud.
|
||||
2025-08-09 00:44:57,084 - INFO - Guardada comparación entre Trabajo de mierda.txt y Efecto cis.txt con 8.20% de similitud.
|
||||
2025-08-09 00:44:57,087 - INFO - Guardada comparación entre Trabajo de mierda.txt y Demografía de la República Democrática del Congo.txt con 7.03% de similitud.
|
||||
2025-08-09 00:44:57,091 - INFO - Guardada comparación entre Trabajo de mierda.txt y Desigualdad de ingreso.txt con 3.57% de similitud.
|
||||
2025-08-09 00:44:57,095 - INFO - Guardada comparación entre Trabajo de mierda.txt y Terrorismo de extrema izquierda.txt con 3.82% de similitud.
|
||||
2025-08-09 00:44:57,100 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Iberos.txt con 3.82% de similitud.
|
||||
2025-08-09 00:44:57,103 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y .km.txt con 8.17% de similitud.
|
||||
2025-08-09 00:44:57,107 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Censura internacional china.txt con 11.96% de similitud.
|
||||
2025-08-09 00:44:57,110 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Alfarería en la provincia de Almería.txt con 11.60% de similitud.
|
||||
2025-08-09 00:44:57,114 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Acuerdo de Prespa.txt con 11.31% de similitud.
|
||||
2025-08-09 00:44:57,117 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Segunda Cumbre BRIC 2010.txt con 18.12% de similitud.
|
||||
2025-08-09 00:44:57,120 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Santa Marina del Rey.txt con 16.52% de similitud.
|
||||
2025-08-09 00:44:57,123 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Omaira Montoya Henao.txt con 20.37% de similitud.
|
||||
2025-08-09 00:44:57,127 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Biodiversidad Virtual.txt con 16.44% de similitud.
|
||||
2025-08-09 00:44:57,130 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Estudios de ciencia, tecnología y género.txt con 15.68% de similitud.
|
||||
2025-08-09 00:44:57,133 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Representación (política).txt con 18.18% de similitud.
|
||||
2025-08-09 00:44:57,136 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Roxana Campos.txt con 15.74% de similitud.
|
||||
2025-08-09 00:44:57,141 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Reforma económica china.txt con 4.59% de similitud.
|
||||
2025-08-09 00:44:57,144 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Alejandro VII.txt con 15.90% de similitud.
|
||||
2025-08-09 00:44:57,147 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Violencia obstétrica.txt con 18.63% de similitud.
|
||||
2025-08-09 00:44:57,150 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Torrente Gros.txt con 16.83% de similitud.
|
||||
2025-08-09 00:44:57,154 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Guerra de Reforma.txt con 12.69% de similitud.
|
||||
2025-08-09 00:44:57,157 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Certificate Signing Request.txt con 8.53% de similitud.
|
||||
2025-08-09 00:44:57,161 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Katalin Bogyay.txt con 12.49% de similitud.
|
||||
2025-08-09 00:44:57,164 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Unión Ortodoxa.txt con 16.91% de similitud.
|
||||
2025-08-09 00:44:57,168 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Emisora móvil.txt con 7.67% de similitud.
|
||||
2025-08-09 00:44:57,171 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Sanción.txt con 3.08% de similitud.
|
||||
2025-08-09 00:44:57,174 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Saúl Luciano Lliuya.txt con 15.63% de similitud.
|
||||
2025-08-09 00:44:57,177 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Antiprotestantismo.txt con 15.88% de similitud.
|
||||
2025-08-09 00:44:57,180 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Desigualdad de ingreso en Estados Unidos.txt con 11.10% de similitud.
|
||||
2025-08-09 00:44:57,183 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Club Deportivo La Equidad (Femenino).txt con 12.95% de similitud.
|
||||
2025-08-09 00:44:57,190 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 13.28% de similitud.
|
||||
2025-08-09 00:44:57,194 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Censura internacional china.txt con 8.00% de similitud.
|
||||
2025-08-09 00:44:57,197 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Alfarería en la provincia de Almería.txt con 7.17% de similitud.
|
||||
2025-08-09 00:44:57,200 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Acuerdo de Prespa.txt con 12.88% de similitud.
|
||||
2025-08-09 00:44:57,203 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Segunda Cumbre BRIC 2010.txt con 11.54% de similitud.
|
||||
2025-08-09 00:44:57,206 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Santa Marina del Rey.txt con 13.59% de similitud.
|
||||
2025-08-09 00:44:57,209 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Omaira Montoya Henao.txt con 15.78% de similitud.
|
||||
2025-08-09 00:44:57,212 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Biodiversidad Virtual.txt con 12.24% de similitud.
|
||||
2025-08-09 00:44:57,216 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Estudios de ciencia, tecnología y género.txt con 10.17% de similitud.
|
||||
2025-08-09 00:44:57,219 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Demografía de Canadá.txt con 8.06% de similitud.
|
||||
2025-08-09 00:44:57,222 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Roxana Campos.txt con 14.53% de similitud.
|
||||
2025-08-09 00:44:57,226 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Reforma económica china.txt con 2.90% de similitud.
|
||||
2025-08-09 00:44:57,229 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Alejandro VII.txt con 10.44% de similitud.
|
||||
2025-08-09 00:44:57,233 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Violencia obstétrica.txt con 12.64% de similitud.
|
||||
2025-08-09 00:44:57,236 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Torrente Gros.txt con 12.99% de similitud.
|
||||
2025-08-09 00:44:57,239 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Guerra de Reforma.txt con 8.15% de similitud.
|
||||
2025-08-09 00:44:57,243 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Certificate Signing Request.txt con 6.07% de similitud.
|
||||
2025-08-09 00:44:57,246 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Katalin Bogyay.txt con 6.74% de similitud.
|
||||
2025-08-09 00:44:57,249 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Unión Ortodoxa.txt con 11.21% de similitud.
|
||||
2025-08-09 00:44:57,253 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Emisora móvil.txt con 5.01% de similitud.
|
||||
2025-08-09 00:44:57,256 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Sanción.txt con 3.79% de similitud.
|
||||
2025-08-09 00:44:57,259 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Saúl Luciano Lliuya.txt con 12.82% de similitud.
|
||||
2025-08-09 00:44:57,262 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Antiprotestantismo.txt con 10.12% de similitud.
|
||||
2025-08-09 00:44:57,266 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Desigualdad de ingreso en Estados Unidos.txt con 20.24% de similitud.
|
||||
2025-08-09 00:44:57,269 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Club Deportivo La Equidad (Femenino).txt con 16.58% de similitud.
|
||||
2025-08-09 00:44:57,273 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 19.28% de similitud.
|
||||
2025-08-09 00:44:57,276 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Asesoría Jurídica Internacional.txt con 14.22% de similitud.
|
||||
2025-08-09 00:44:57,280 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Desarrollo de videojuegos independiente.txt con 13.69% de similitud.
|
||||
2025-08-09 00:44:57,283 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Ingeniería comercial.txt con 17.93% de similitud.
|
||||
2025-08-09 00:44:57,286 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Chevrolet Cobalt.txt con 3.07% de similitud.
|
||||
2025-08-09 00:44:57,290 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Código Unificado de Punto de Suministro.txt con 15.31% de similitud.
|
||||
2025-08-09 00:44:57,294 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 19.93% de similitud.
|
||||
2025-08-09 00:44:57,297 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Estación de tratamiento de agua potable.txt con 10.70% de similitud.
|
||||
2025-08-09 00:44:57,300 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Militar.txt con 20.52% de similitud.
|
||||
2025-08-09 00:44:57,304 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Demografía de Canadá.txt con 19.04% de similitud.
|
||||
2025-08-09 00:44:57,307 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y EToro.txt con 17.32% de similitud.
|
||||
2025-08-09 00:44:57,310 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Ambiente biofísico.txt con 14.88% de similitud.
|
||||
2025-08-09 00:44:57,314 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Juego ganar ganar.txt con 15.95% de similitud.
|
||||
2025-08-09 00:44:57,317 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 19.84% de similitud.
|
||||
2025-08-09 00:44:57,320 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 21.37% de similitud.
|
||||
2025-08-09 00:44:57,324 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Oswald Pohl.txt con 14.41% de similitud.
|
||||
2025-08-09 00:44:57,327 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Empresa Nacional Siderúrgica.txt con 19.64% de similitud.
|
||||
2025-08-09 00:44:57,331 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Teletón El Salvador.txt con 21.81% de similitud.
|
||||
2025-08-09 00:44:57,334 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Antônio de Sousa Neto.txt con 11.33% de similitud.
|
||||
2025-08-09 00:44:57,337 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Mercenarios (BattleTech).txt con 19.49% de similitud.
|
||||
2025-08-09 00:44:57,341 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Efecto cis.txt con 17.20% de similitud.
|
||||
2025-08-09 00:44:57,344 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Demografía de la República Democrática del Congo.txt con 16.46% de similitud.
|
||||
2025-08-09 00:44:57,348 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Desigualdad de ingreso.txt con 12.09% de similitud.
|
||||
2025-08-09 00:44:57,352 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Terrorismo de extrema izquierda.txt con 13.97% de similitud.
|
||||
2025-08-09 00:44:57,358 - INFO - Guardada comparación entre Juegos de guerra.txt y Iberos.txt con 8.42% de similitud.
|
||||
2025-08-09 00:44:57,361 - INFO - Guardada comparación entre Juegos de guerra.txt y .km.txt con 5.61% de similitud.
|
||||
2025-08-09 00:44:57,364 - INFO - Guardada comparación entre Juegos de guerra.txt y Asesoría Jurídica Internacional.txt con 10.46% de similitud.
|
||||
2025-08-09 00:44:57,368 - INFO - Guardada comparación entre Juegos de guerra.txt y Desarrollo de videojuegos independiente.txt con 15.64% de similitud.
|
||||
2025-08-09 00:44:57,372 - INFO - Guardada comparación entre Juegos de guerra.txt y Ingeniería comercial.txt con 13.44% de similitud.
|
||||
2025-08-09 00:44:57,375 - INFO - Guardada comparación entre Juegos de guerra.txt y Chevrolet Cobalt.txt con 2.31% de similitud.
|
||||
2025-08-09 00:44:57,378 - INFO - Guardada comparación entre Juegos de guerra.txt y Código Unificado de Punto de Suministro.txt con 11.91% de similitud.
|
||||
2025-08-09 00:44:57,382 - INFO - Guardada comparación entre Juegos de guerra.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 18.59% de similitud.
|
||||
2025-08-09 00:44:57,385 - INFO - Guardada comparación entre Juegos de guerra.txt y Estación de tratamiento de agua potable.txt con 7.93% de similitud.
|
||||
2025-08-09 00:44:57,389 - INFO - Guardada comparación entre Juegos de guerra.txt y Militar.txt con 18.07% de similitud.
|
||||
2025-08-09 00:44:57,392 - INFO - Guardada comparación entre Juegos de guerra.txt y Demografía de Canadá.txt con 17.59% de similitud.
|
||||
2025-08-09 00:44:57,396 - INFO - Guardada comparación entre Juegos de guerra.txt y EToro.txt con 13.68% de similitud.
|
||||
2025-08-09 00:44:57,401 - INFO - Guardada comparación entre Juegos de guerra.txt y Reforma económica china.txt con 9.41% de similitud.
|
||||
2025-08-09 00:44:57,405 - INFO - Guardada comparación entre Juegos de guerra.txt y Alejandro VII.txt con 19.25% de similitud.
|
||||
2025-08-09 00:44:57,408 - INFO - Guardada comparación entre Juegos de guerra.txt y Violencia obstétrica.txt con 14.18% de similitud.
|
||||
2025-08-09 00:44:57,412 - INFO - Guardada comparación entre Juegos de guerra.txt y Torrente Gros.txt con 15.71% de similitud.
|
||||
2025-08-09 00:44:57,416 - INFO - Guardada comparación entre Juegos de guerra.txt y Guerra de Reforma.txt con 19.27% de similitud.
|
||||
2025-08-09 00:44:57,420 - INFO - Guardada comparación entre Juegos de guerra.txt y Certificate Signing Request.txt con 9.84% de similitud.
|
||||
2025-08-09 00:44:57,424 - INFO - Guardada comparación entre Juegos de guerra.txt y Katalin Bogyay.txt con 16.16% de similitud.
|
||||
2025-08-09 00:44:57,427 - INFO - Guardada comparación entre Juegos de guerra.txt y Unión Ortodoxa.txt con 17.27% de similitud.
|
||||
2025-08-09 00:44:57,431 - INFO - Guardada comparación entre Juegos de guerra.txt y Emisora móvil.txt con 15.66% de similitud.
|
||||
2025-08-09 00:44:57,435 - INFO - Guardada comparación entre Juegos de guerra.txt y Sanción.txt con 1.24% de similitud.
|
||||
2025-08-09 00:44:57,438 - INFO - Guardada comparación entre Juegos de guerra.txt y Saúl Luciano Lliuya.txt con 8.81% de similitud.
|
||||
2025-08-09 00:44:57,441 - INFO - Guardada comparación entre Juegos de guerra.txt y Antiprotestantismo.txt con 16.49% de similitud.
|
||||
2025-08-09 00:44:57,445 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Desigualdad de ingreso en Estados Unidos.txt con 15.22% de similitud.
|
||||
2025-08-09 00:44:57,448 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Club Deportivo La Equidad (Femenino).txt con 12.28% de similitud.
|
||||
2025-08-09 00:44:57,451 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 13.24% de similitud.
|
||||
2025-08-09 00:44:57,455 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Asesoría Jurídica Internacional.txt con 13.36% de similitud.
|
||||
2025-08-09 00:44:57,459 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Desarrollo de videojuegos independiente.txt con 8.75% de similitud.
|
||||
2025-08-09 00:44:57,462 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Acuerdo de Prespa.txt con 10.56% de similitud.
|
||||
2025-08-09 00:44:57,465 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Chevrolet Cobalt.txt con 4.05% de similitud.
|
||||
2025-08-09 00:44:57,469 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Código Unificado de Punto de Suministro.txt con 13.96% de similitud.
|
||||
2025-08-09 00:44:57,472 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Omaira Montoya Henao.txt con 15.74% de similitud.
|
||||
2025-08-09 00:44:57,475 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Estación de tratamiento de agua potable.txt con 11.36% de similitud.
|
||||
2025-08-09 00:44:57,479 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Militar.txt con 12.00% de similitud.
|
||||
2025-08-09 00:44:57,482 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Demografía de Canadá.txt con 11.31% de similitud.
|
||||
2025-08-09 00:44:57,486 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Roxana Campos.txt con 11.61% de similitud.
|
||||
2025-08-09 00:44:57,490 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Reforma económica china.txt con 4.43% de similitud.
|
||||
2025-08-09 00:44:57,493 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Alejandro VII.txt con 11.12% de similitud.
|
||||
2025-08-09 00:44:57,496 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Violencia obstétrica.txt con 14.46% de similitud.
|
||||
2025-08-09 00:44:57,500 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Torrente Gros.txt con 12.34% de similitud.
|
||||
2025-08-09 00:44:57,503 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Guerra de Reforma.txt con 9.51% de similitud.
|
||||
2025-08-09 00:44:57,507 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Certificate Signing Request.txt con 10.28% de similitud.
|
||||
2025-08-09 00:44:57,510 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Katalin Bogyay.txt con 10.18% de similitud.
|
||||
2025-08-09 00:44:57,514 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Mercenarios (BattleTech).txt con 10.44% de similitud.
|
||||
2025-08-09 00:44:57,518 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Emisora móvil.txt con 7.27% de similitud.
|
||||
2025-08-09 00:44:57,521 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Sanción.txt con 2.33% de similitud.
|
||||
2025-08-09 00:44:57,524 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Saúl Luciano Lliuya.txt con 13.39% de similitud.
|
||||
2025-08-09 00:44:57,528 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Antiprotestantismo.txt con 13.35% de similitud.
|
||||
2025-08-09 00:44:57,531 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Desigualdad de ingreso en Estados Unidos.txt con 11.04% de similitud.
|
||||
2025-08-09 00:44:57,534 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Club Deportivo La Equidad (Femenino).txt con 12.57% de similitud.
|
||||
2025-08-09 00:44:57,538 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 13.99% de similitud.
|
||||
2025-08-09 00:44:57,541 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Asesoría Jurídica Internacional.txt con 15.01% de similitud.
|
||||
2025-08-09 00:44:57,544 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Desarrollo de videojuegos independiente.txt con 5.51% de similitud.
|
||||
2025-08-09 00:44:57,547 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Ingeniería comercial.txt con 14.21% de similitud.
|
||||
2025-08-09 00:44:57,550 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Chevrolet Cobalt.txt con 5.78% de similitud.
|
||||
2025-08-09 00:44:57,553 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Código Unificado de Punto de Suministro.txt con 13.60% de similitud.
|
||||
2025-08-09 00:44:57,556 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 9.10% de similitud.
|
||||
2025-08-09 00:44:57,559 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Estación de tratamiento de agua potable.txt con 14.30% de similitud.
|
||||
2025-08-09 00:44:57,563 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Militar.txt con 11.32% de similitud.
|
||||
2025-08-09 00:44:57,566 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Demografía de Canadá.txt con 8.78% de similitud.
|
||||
2025-08-09 00:44:57,569 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y EToro.txt con 11.72% de similitud.
|
||||
2025-08-09 00:44:57,572 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Ambiente biofísico.txt con 14.70% de similitud.
|
||||
2025-08-09 00:44:57,575 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Juego ganar ganar.txt con 15.44% de similitud.
|
||||
2025-08-09 00:44:57,579 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 8.56% de similitud.
|
||||
2025-08-09 00:44:57,582 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 10.01% de similitud.
|
||||
2025-08-09 00:44:57,585 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Oswald Pohl.txt con 13.52% de similitud.
|
||||
2025-08-09 00:44:57,588 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Empresa Nacional Siderúrgica.txt con 10.67% de similitud.
|
||||
2025-08-09 00:44:57,592 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Teletón El Salvador.txt con 10.43% de similitud.
|
||||
2025-08-09 00:44:57,595 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Antônio de Sousa Neto.txt con 14.34% de similitud.
|
||||
2025-08-09 00:44:57,598 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Mercenarios (BattleTech).txt con 8.27% de similitud.
|
||||
2025-08-09 00:44:57,601 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Efecto cis.txt con 11.84% de similitud.
|
||||
2025-08-09 00:44:57,605 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Demografía de la República Democrática del Congo.txt con 11.70% de similitud.
|
||||
2025-08-09 00:44:57,609 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Desigualdad de ingreso.txt con 5.05% de similitud.
|
||||
2025-08-09 00:44:57,613 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Terrorismo de extrema izquierda.txt con 6.04% de similitud.
|
||||
2025-08-09 00:44:57,617 - INFO - Guardada comparación entre Medidas activas.txt y Club Deportivo La Equidad (Femenino).txt con 11.62% de similitud.
|
||||
2025-08-09 00:44:57,621 - INFO - Guardada comparación entre Medidas activas.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 13.38% de similitud.
|
||||
2025-08-09 00:44:57,624 - INFO - Guardada comparación entre Medidas activas.txt y Asesoría Jurídica Internacional.txt con 9.05% de similitud.
|
||||
2025-08-09 00:44:57,628 - INFO - Guardada comparación entre Medidas activas.txt y Desarrollo de videojuegos independiente.txt con 17.89% de similitud.
|
||||
2025-08-09 00:44:57,632 - INFO - Guardada comparación entre Medidas activas.txt y Ingeniería comercial.txt con 11.71% de similitud.
|
||||
2025-08-09 00:44:57,635 - INFO - Guardada comparación entre Medidas activas.txt y Chevrolet Cobalt.txt con 2.06% de similitud.
|
||||
2025-08-09 00:44:57,639 - INFO - Guardada comparación entre Medidas activas.txt y Código Unificado de Punto de Suministro.txt con 11.17% de similitud.
|
||||
2025-08-09 00:44:57,643 - INFO - Guardada comparación entre Medidas activas.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 20.65% de similitud.
|
||||
2025-08-09 00:44:57,646 - INFO - Guardada comparación entre Medidas activas.txt y Estación de tratamiento de agua potable.txt con 6.43% de similitud.
|
||||
2025-08-09 00:44:57,649 - INFO - Guardada comparación entre Medidas activas.txt y Militar.txt con 15.47% de similitud.
|
||||
2025-08-09 00:44:57,653 - INFO - Guardada comparación entre Medidas activas.txt y Demografía de Canadá.txt con 19.14% de similitud.
|
||||
2025-08-09 00:44:57,657 - INFO - Guardada comparación entre Medidas activas.txt y EToro.txt con 14.46% de similitud.
|
||||
2025-08-09 00:44:57,660 - INFO - Guardada comparación entre Medidas activas.txt y Ambiente biofísico.txt con 10.28% de similitud.
|
||||
2025-08-09 00:44:57,664 - INFO - Guardada comparación entre Medidas activas.txt y Juego ganar ganar.txt con 10.67% de similitud.
|
||||
2025-08-09 00:44:57,667 - INFO - Guardada comparación entre Medidas activas.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 20.41% de similitud.
|
||||
2025-08-09 00:44:57,671 - INFO - Guardada comparación entre Medidas activas.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 19.58% de similitud.
|
||||
2025-08-09 00:44:57,674 - INFO - Guardada comparación entre Medidas activas.txt y Oswald Pohl.txt con 10.45% de similitud.
|
||||
2025-08-09 00:44:57,678 - INFO - Guardada comparación entre Medidas activas.txt y Guerra de Reforma.txt con 22.27% de similitud.
|
||||
2025-08-09 00:44:57,682 - INFO - Guardada comparación entre Medidas activas.txt y Teletón El Salvador.txt con 17.38% de similitud.
|
||||
2025-08-09 00:44:57,686 - INFO - Guardada comparación entre Medidas activas.txt y Antônio de Sousa Neto.txt con 7.58% de similitud.
|
||||
2025-08-09 00:44:57,689 - INFO - Guardada comparación entre Medidas activas.txt y Mercenarios (BattleTech).txt con 20.02% de similitud.
|
||||
2025-08-09 00:44:57,693 - INFO - Guardada comparación entre Medidas activas.txt y Emisora móvil.txt con 17.74% de similitud.
|
||||
2025-08-09 00:44:57,697 - INFO - Guardada comparación entre Medidas activas.txt y Demografía de la República Democrática del Congo.txt con 14.05% de similitud.
|
||||
2025-08-09 00:44:57,701 - INFO - Guardada comparación entre Medidas activas.txt y Desigualdad de ingreso.txt con 17.88% de similitud.
|
||||
2025-08-09 00:44:57,706 - INFO - Guardada comparación entre Medidas activas.txt y Terrorismo de extrema izquierda.txt con 22.17% de similitud.
|
||||
2025-08-09 00:44:57,711 - INFO - Guardada comparación entre Estéfany Grajales.txt y Iberos.txt con 1.97% de similitud.
|
||||
2025-08-09 00:44:57,714 - INFO - Guardada comparación entre Estéfany Grajales.txt y .km.txt con 8.89% de similitud.
|
||||
2025-08-09 00:44:57,717 - INFO - Guardada comparación entre Estéfany Grajales.txt y Censura internacional china.txt con 7.29% de similitud.
|
||||
2025-08-09 00:44:57,721 - INFO - Guardada comparación entre Estéfany Grajales.txt y Alfarería en la provincia de Almería.txt con 6.44% de similitud.
|
||||
2025-08-09 00:44:57,724 - INFO - Guardada comparación entre Estéfany Grajales.txt y Acuerdo de Prespa.txt con 15.71% de similitud.
|
||||
2025-08-09 00:44:57,727 - INFO - Guardada comparación entre Estéfany Grajales.txt y Segunda Cumbre BRIC 2010.txt con 10.45% de similitud.
|
||||
2025-08-09 00:44:57,730 - INFO - Guardada comparación entre Estéfany Grajales.txt y Santa Marina del Rey.txt con 11.64% de similitud.
|
||||
2025-08-09 00:44:57,733 - INFO - Guardada comparación entre Estéfany Grajales.txt y Omaira Montoya Henao.txt con 16.86% de similitud.
|
||||
2025-08-09 00:44:57,736 - INFO - Guardada comparación entre Estéfany Grajales.txt y Biodiversidad Virtual.txt con 10.64% de similitud.
|
||||
2025-08-09 00:44:57,739 - INFO - Guardada comparación entre Estéfany Grajales.txt y Estudios de ciencia, tecnología y género.txt con 10.31% de similitud.
|
||||
2025-08-09 00:44:57,742 - INFO - Guardada comparación entre Estéfany Grajales.txt y Representación (política).txt con 12.04% de similitud.
|
||||
2025-08-09 00:44:57,745 - INFO - Guardada comparación entre Estéfany Grajales.txt y Roxana Campos.txt con 14.50% de similitud.
|
||||
2025-08-09 00:44:57,750 - INFO - Guardada comparación entre Estéfany Grajales.txt y Reforma económica china.txt con 2.31% de similitud.
|
||||
2025-08-09 00:44:57,753 - INFO - Guardada comparación entre Estéfany Grajales.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 7.68% de similitud.
|
||||
2025-08-09 00:44:57,756 - INFO - Guardada comparación entre Estéfany Grajales.txt y Violencia obstétrica.txt con 14.46% de similitud.
|
||||
2025-08-09 00:44:57,759 - INFO - Guardada comparación entre Estéfany Grajales.txt y Torrente Gros.txt con 10.42% de similitud.
|
||||
2025-08-09 00:44:57,763 - INFO - Guardada comparación entre Estéfany Grajales.txt y Guerra de Reforma.txt con 7.15% de similitud.
|
||||
2025-08-09 00:44:57,766 - INFO - Guardada comparación entre Estéfany Grajales.txt y Teletón El Salvador.txt con 8.55% de similitud.
|
||||
2025-08-09 00:44:57,769 - INFO - Guardada comparación entre Estéfany Grajales.txt y Antônio de Sousa Neto.txt con 14.42% de similitud.
|
||||
2025-08-09 00:44:57,773 - INFO - Guardada comparación entre Estéfany Grajales.txt y Unión Ortodoxa.txt con 10.95% de similitud.
|
||||
2025-08-09 00:44:57,778 - INFO - Guardada comparación entre Estéfany Grajales.txt y Emisora móvil.txt con 4.23% de similitud.
|
||||
2025-08-09 00:44:57,781 - INFO - Guardada comparación entre Estéfany Grajales.txt y Demografía de la República Democrática del Congo.txt con 9.08% de similitud.
|
||||
2025-08-09 00:44:57,785 - INFO - Guardada comparación entre Estéfany Grajales.txt y Desigualdad de ingreso.txt con 3.78% de similitud.
|
||||
2025-08-09 00:44:57,789 - INFO - Guardada comparación entre Estéfany Grajales.txt y Terrorismo de extrema izquierda.txt con 4.59% de similitud.
|
||||
2025-08-09 00:44:57,801 - INFO - Guardada comparación entre Sputnik V.txt y Iberos.txt con 14.63% de similitud.
|
||||
2025-08-09 00:44:57,809 - INFO - Guardada comparación entre Sputnik V.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 1.65% de similitud.
|
||||
2025-08-09 00:44:57,817 - INFO - Guardada comparación entre Sputnik V.txt y Asesoría Jurídica Internacional.txt con 1.10% de similitud.
|
||||
2025-08-09 00:44:57,826 - INFO - Guardada comparación entre Sputnik V.txt y Desarrollo de videojuegos independiente.txt con 6.95% de similitud.
|
||||
2025-08-09 00:44:57,834 - INFO - Guardada comparación entre Sputnik V.txt y Ingeniería comercial.txt con 1.49% de similitud.
|
||||
2025-08-09 00:44:57,842 - INFO - Guardada comparación entre Sputnik V.txt y Chevrolet Cobalt.txt con 0.22% de similitud.
|
||||
2025-08-09 00:44:57,850 - INFO - Guardada comparación entre Sputnik V.txt y Código Unificado de Punto de Suministro.txt con 1.85% de similitud.
|
||||
2025-08-09 00:44:57,858 - INFO - Guardada comparación entre Sputnik V.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 3.55% de similitud.
|
||||
2025-08-09 00:44:57,866 - INFO - Guardada comparación entre Sputnik V.txt y Estación de tratamiento de agua potable.txt con 0.85% de similitud.
|
||||
2025-08-09 00:44:57,874 - INFO - Guardada comparación entre Sputnik V.txt y Militar.txt con 2.22% de similitud.
|
||||
2025-08-09 00:44:57,886 - INFO - Guardada comparación entre Sputnik V.txt y Demografía de Canadá.txt con 4.43% de similitud.
|
||||
2025-08-09 00:44:57,898 - INFO - Guardada comparación entre Sputnik V.txt y EToro.txt con 2.24% de similitud.
|
||||
2025-08-09 00:44:57,911 - INFO - Guardada comparación entre Sputnik V.txt y Ambiente biofísico.txt con 1.35% de similitud.
|
||||
2025-08-09 00:44:57,919 - INFO - Guardada comparación entre Sputnik V.txt y Juego ganar ganar.txt con 1.47% de similitud.
|
||||
2025-08-09 00:44:57,928 - INFO - Guardada comparación entre Sputnik V.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 3.80% de similitud.
|
||||
2025-08-09 00:44:57,937 - INFO - Guardada comparación entre Sputnik V.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 3.31% de similitud.
|
||||
2025-08-09 00:44:57,945 - INFO - Guardada comparación entre Sputnik V.txt y Oswald Pohl.txt con 1.19% de similitud.
|
||||
2025-08-09 00:44:57,953 - INFO - Guardada comparación entre Sputnik V.txt y Empresa Nacional Siderúrgica.txt con 2.79% de similitud.
|
||||
2025-08-09 00:44:57,962 - INFO - Guardada comparación entre Sputnik V.txt y Teletón El Salvador.txt con 2.96% de similitud.
|
||||
2025-08-09 00:44:57,970 - INFO - Guardada comparación entre Sputnik V.txt y Antônio de Sousa Neto.txt con 0.85% de similitud.
|
||||
2025-08-09 00:44:57,979 - INFO - Guardada comparación entre Sputnik V.txt y Mercenarios (BattleTech).txt con 3.28% de similitud.
|
||||
2025-08-09 00:44:57,987 - INFO - Guardada comparación entre Sputnik V.txt y Efecto cis.txt con 2.36% de similitud.
|
||||
2025-08-09 00:44:57,995 - INFO - Guardada comparación entre Sputnik V.txt y Demografía de la República Democrática del Congo.txt con 2.74% de similitud.
|
||||
2025-08-09 00:44:58,004 - INFO - Guardada comparación entre Sputnik V.txt y Desigualdad de ingreso.txt con 7.94% de similitud.
|
||||
2025-08-09 00:44:58,013 - INFO - Guardada comparación entre Sputnik V.txt y Terrorismo de extrema izquierda.txt con 7.14% de similitud.
|
||||
2025-08-09 00:44:58,018 - INFO - Guardada comparación entre Día Naranja.txt y Iberos.txt con 2.73% de similitud.
|
||||
2025-08-09 00:44:58,021 - INFO - Guardada comparación entre Día Naranja.txt y .km.txt con 10.44% de similitud.
|
||||
2025-08-09 00:44:58,024 - INFO - Guardada comparación entre Día Naranja.txt y Censura internacional china.txt con 9.80% de similitud.
|
||||
2025-08-09 00:44:58,027 - INFO - Guardada comparación entre Día Naranja.txt y Alfarería en la provincia de Almería.txt con 8.32% de similitud.
|
||||
2025-08-09 00:44:58,030 - INFO - Guardada comparación entre Día Naranja.txt y Acuerdo de Prespa.txt con 13.79% de similitud.
|
||||
2025-08-09 00:44:58,034 - INFO - Guardada comparación entre Día Naranja.txt y Segunda Cumbre BRIC 2010.txt con 13.09% de similitud.
|
||||
2025-08-09 00:44:58,037 - INFO - Guardada comparación entre Día Naranja.txt y Santa Marina del Rey.txt con 13.53% de similitud.
|
||||
2025-08-09 00:44:58,040 - INFO - Guardada comparación entre Día Naranja.txt y Omaira Montoya Henao.txt con 14.45% de similitud.
|
||||
2025-08-09 00:44:58,043 - INFO - Guardada comparación entre Día Naranja.txt y Biodiversidad Virtual.txt con 14.37% de similitud.
|
||||
2025-08-09 00:44:58,047 - INFO - Guardada comparación entre Día Naranja.txt y Estudios de ciencia, tecnología y género.txt con 13.66% de similitud.
|
||||
2025-08-09 00:44:58,050 - INFO - Guardada comparación entre Día Naranja.txt y Representación (política).txt con 13.39% de similitud.
|
||||
2025-08-09 00:44:58,053 - INFO - Guardada comparación entre Día Naranja.txt y Roxana Campos.txt con 14.48% de similitud.
|
||||
2025-08-09 00:44:58,057 - INFO - Guardada comparación entre Día Naranja.txt y Reforma económica china.txt con 3.21% de similitud.
|
||||
2025-08-09 00:44:58,061 - INFO - Guardada comparación entre Día Naranja.txt y Alejandro VII.txt con 10.92% de similitud.
|
||||
2025-08-09 00:44:58,064 - INFO - Guardada comparación entre Día Naranja.txt y Violencia obstétrica.txt con 16.07% de similitud.
|
||||
2025-08-09 00:44:58,067 - INFO - Guardada comparación entre Día Naranja.txt y Torrente Gros.txt con 12.91% de similitud.
|
||||
2025-08-09 00:44:58,071 - INFO - Guardada comparación entre Día Naranja.txt y Guerra de Reforma.txt con 8.50% de similitud.
|
||||
2025-08-09 00:44:58,074 - INFO - Guardada comparación entre Día Naranja.txt y Certificate Signing Request.txt con 7.28% de similitud.
|
||||
2025-08-09 00:44:58,078 - INFO - Guardada comparación entre Día Naranja.txt y Katalin Bogyay.txt con 9.29% de similitud.
|
||||
2025-08-09 00:44:58,081 - INFO - Guardada comparación entre Día Naranja.txt y Unión Ortodoxa.txt con 12.26% de similitud.
|
||||
2025-08-09 00:44:58,085 - INFO - Guardada comparación entre Día Naranja.txt y Emisora móvil.txt con 6.07% de similitud.
|
||||
2025-08-09 00:44:58,088 - INFO - Guardada comparación entre Día Naranja.txt y Sanción.txt con 3.32% de similitud.
|
||||
2025-08-09 00:44:58,091 - INFO - Guardada comparación entre Día Naranja.txt y Saúl Luciano Lliuya.txt con 15.74% de similitud.
|
||||
2025-08-09 00:44:58,094 - INFO - Guardada comparación entre Día Naranja.txt y Antiprotestantismo.txt con 11.52% de similitud.
|
||||
2025-08-09 00:44:58,098 - INFO - Guardada comparación entre Negro de carbón.txt y Desigualdad de ingreso en Estados Unidos.txt con 16.13% de similitud.
|
||||
2025-08-09 00:44:58,104 - INFO - Guardada comparación entre Negro de carbón.txt y Iberos.txt con 4.43% de similitud.
|
||||
2025-08-09 00:44:58,108 - INFO - Guardada comparación entre Negro de carbón.txt y .km.txt con 10.24% de similitud.
|
||||
2025-08-09 00:44:58,112 - INFO - Guardada comparación entre Negro de carbón.txt y Censura internacional china.txt con 12.10% de similitud.
|
||||
2025-08-09 00:44:58,115 - INFO - Guardada comparación entre Negro de carbón.txt y Alfarería en la provincia de Almería.txt con 12.17% de similitud.
|
||||
2025-08-09 00:44:58,119 - INFO - Guardada comparación entre Negro de carbón.txt y Acuerdo de Prespa.txt con 10.82% de similitud.
|
||||
2025-08-09 00:44:58,122 - INFO - Guardada comparación entre Negro de carbón.txt y Segunda Cumbre BRIC 2010.txt con 16.75% de similitud.
|
||||
2025-08-09 00:44:58,125 - INFO - Guardada comparación entre Negro de carbón.txt y Santa Marina del Rey.txt con 16.03% de similitud.
|
||||
2025-08-09 00:44:58,128 - INFO - Guardada comparación entre Negro de carbón.txt y Omaira Montoya Henao.txt con 15.87% de similitud.
|
||||
2025-08-09 00:44:58,132 - INFO - Guardada comparación entre Negro de carbón.txt y Biodiversidad Virtual.txt con 16.90% de similitud.
|
||||
2025-08-09 00:44:58,136 - INFO - Guardada comparación entre Negro de carbón.txt y Estudios de ciencia, tecnología y género.txt con 15.48% de similitud.
|
||||
2025-08-09 00:44:58,139 - INFO - Guardada comparación entre Negro de carbón.txt y Representación (política).txt con 17.32% de similitud.
|
||||
2025-08-09 00:44:58,142 - INFO - Guardada comparación entre Negro de carbón.txt y Roxana Campos.txt con 13.41% de similitud.
|
||||
2025-08-09 00:44:58,147 - INFO - Guardada comparación entre Negro de carbón.txt y Reforma económica china.txt con 4.87% de similitud.
|
||||
2025-08-09 00:44:58,151 - INFO - Guardada comparación entre Negro de carbón.txt y Alejandro VII.txt con 14.84% de similitud.
|
||||
2025-08-09 00:44:58,154 - INFO - Guardada comparación entre Negro de carbón.txt y Violencia obstétrica.txt con 16.67% de similitud.
|
||||
2025-08-09 00:44:58,158 - INFO - Guardada comparación entre Negro de carbón.txt y Torrente Gros.txt con 17.75% de similitud.
|
||||
2025-08-09 00:44:58,161 - INFO - Guardada comparación entre Negro de carbón.txt y Guerra de Reforma.txt con 11.89% de similitud.
|
||||
2025-08-09 00:44:58,165 - INFO - Guardada comparación entre Negro de carbón.txt y Certificate Signing Request.txt con 10.17% de similitud.
|
||||
2025-08-09 00:44:58,168 - INFO - Guardada comparación entre Negro de carbón.txt y Katalin Bogyay.txt con 10.83% de similitud.
|
||||
2025-08-09 00:44:58,173 - INFO - Guardada comparación entre Negro de carbón.txt y Mercenarios (BattleTech).txt con 13.12% de similitud.
|
||||
2025-08-09 00:44:58,176 - INFO - Guardada comparación entre Negro de carbón.txt y Emisora móvil.txt con 9.11% de similitud.
|
||||
2025-08-09 00:44:58,180 - INFO - Guardada comparación entre Negro de carbón.txt y Demografía de la República Democrática del Congo.txt con 16.70% de similitud.
|
||||
2025-08-09 00:44:58,185 - INFO - Guardada comparación entre Negro de carbón.txt y Desigualdad de ingreso.txt con 8.19% de similitud.
|
||||
2025-08-09 00:44:58,190 - INFO - Guardada comparación entre Negro de carbón.txt y Terrorismo de extrema izquierda.txt con 8.76% de similitud.
|
||||
2025-08-09 00:44:58,196 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Iberos.txt con 1.52% de similitud.
|
||||
2025-08-09 00:44:58,199 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y .km.txt con 10.66% de similitud.
|
||||
2025-08-09 00:44:58,203 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Censura internacional china.txt con 5.10% de similitud.
|
||||
2025-08-09 00:44:58,206 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Alfarería en la provincia de Almería.txt con 4.59% de similitud.
|
||||
2025-08-09 00:44:58,209 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Acuerdo de Prespa.txt con 14.33% de similitud.
|
||||
2025-08-09 00:44:58,213 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Segunda Cumbre BRIC 2010.txt con 8.35% de similitud.
|
||||
2025-08-09 00:44:58,216 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Santa Marina del Rey.txt con 10.95% de similitud.
|
||||
2025-08-09 00:44:58,219 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Omaira Montoya Henao.txt con 11.37% de similitud.
|
||||
2025-08-09 00:44:58,222 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Biodiversidad Virtual.txt con 9.89% de similitud.
|
||||
2025-08-09 00:44:58,225 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Estudios de ciencia, tecnología y género.txt con 7.47% de similitud.
|
||||
2025-08-09 00:44:58,228 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Representación (política).txt con 8.14% de similitud.
|
||||
2025-08-09 00:44:58,232 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Roxana Campos.txt con 11.45% de similitud.
|
||||
2025-08-09 00:44:58,236 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Reforma económica china.txt con 1.85% de similitud.
|
||||
2025-08-09 00:44:58,239 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Alejandro VII.txt con 7.07% de similitud.
|
||||
2025-08-09 00:44:58,243 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Violencia obstétrica.txt con 8.36% de similitud.
|
||||
2025-08-09 00:44:58,246 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Torrente Gros.txt con 8.36% de similitud.
|
||||
2025-08-09 00:44:58,249 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Guerra de Reforma.txt con 5.13% de similitud.
|
||||
2025-08-09 00:44:58,252 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Certificate Signing Request.txt con 5.35% de similitud.
|
||||
2025-08-09 00:44:58,256 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Katalin Bogyay.txt con 4.67% de similitud.
|
||||
2025-08-09 00:44:58,259 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Unión Ortodoxa.txt con 7.72% de similitud.
|
||||
2025-08-09 00:44:58,263 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Emisora móvil.txt con 3.57% de similitud.
|
||||
2025-08-09 00:44:58,266 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Demografía de la República Democrática del Congo.txt con 7.35% de similitud.
|
||||
2025-08-09 00:44:58,270 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Desigualdad de ingreso.txt con 2.81% de similitud.
|
||||
2025-08-09 00:44:58,274 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Terrorismo de extrema izquierda.txt con 3.58% de similitud.
|
||||
2025-08-09 00:44:58,278 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Iberos.txt con 2.17% de similitud.
|
||||
2025-08-09 00:44:58,281 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y .km.txt con 9.51% de similitud.
|
||||
2025-08-09 00:44:58,285 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Censura internacional china.txt con 8.43% de similitud.
|
||||
2025-08-09 00:44:58,288 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Alfarería en la provincia de Almería.txt con 7.11% de similitud.
|
||||
2025-08-09 00:44:58,291 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Ingeniería comercial.txt con 15.79% de similitud.
|
||||
2025-08-09 00:44:58,294 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Segunda Cumbre BRIC 2010.txt con 12.82% de similitud.
|
||||
2025-08-09 00:44:58,297 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Código Unificado de Punto de Suministro.txt con 12.44% de similitud.
|
||||
2025-08-09 00:44:58,303 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Santa Marina del Rey.txt con 14.06% de similitud.
|
||||
2025-08-09 00:44:58,306 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Biodiversidad Virtual.txt con 14.30% de similitud.
|
||||
2025-08-09 00:44:58,309 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Estudios de ciencia, tecnología y género.txt con 11.39% de similitud.
|
||||
2025-08-09 00:44:58,312 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Representación (política).txt con 12.52% de similitud.
|
||||
2025-08-09 00:44:58,316 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y EToro.txt con 12.19% de similitud.
|
||||
2025-08-09 00:44:58,320 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Reforma económica china.txt con 2.67% de similitud.
|
||||
2025-08-09 00:44:58,324 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Alejandro VII.txt con 10.32% de similitud.
|
||||
2025-08-09 00:44:58,327 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Violencia obstétrica.txt con 14.46% de similitud.
|
||||
2025-08-09 00:44:58,330 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Torrente Gros.txt con 12.71% de similitud.
|
||||
2025-08-09 00:44:58,333 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Guerra de Reforma.txt con 8.33% de similitud.
|
||||
2025-08-09 00:44:58,337 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Certificate Signing Request.txt con 6.24% de similitud.
|
||||
2025-08-09 00:44:58,340 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Katalin Bogyay.txt con 7.35% de similitud.
|
||||
2025-08-09 00:44:58,343 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Unión Ortodoxa.txt con 12.50% de similitud.
|
||||
2025-08-09 00:44:58,347 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Emisora móvil.txt con 5.22% de similitud.
|
||||
2025-08-09 00:44:58,349 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Sanción.txt con 3.99% de similitud.
|
||||
2025-08-09 00:44:58,352 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Saúl Luciano Lliuya.txt con 14.36% de similitud.
|
||||
2025-08-09 00:44:58,356 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Antiprotestantismo.txt con 9.90% de similitud.
|
||||
2025-08-09 00:44:58,359 - INFO - Guardada comparación entre Criptografía híbrida.txt y Desigualdad de ingreso en Estados Unidos.txt con 7.82% de similitud.
|
||||
2025-08-09 00:44:58,362 - INFO - Guardada comparación entre Criptografía híbrida.txt y Club Deportivo La Equidad (Femenino).txt con 8.48% de similitud.
|
||||
2025-08-09 00:44:58,365 - INFO - Guardada comparación entre Criptografía híbrida.txt y .km.txt con 10.20% de similitud.
|
||||
2025-08-09 00:44:58,368 - INFO - Guardada comparación entre Criptografía híbrida.txt y Asesoría Jurídica Internacional.txt con 10.83% de similitud.
|
||||
2025-08-09 00:44:58,371 - INFO - Guardada comparación entre Criptografía híbrida.txt y Desarrollo de videojuegos independiente.txt con 3.16% de similitud.
|
||||
2025-08-09 00:44:58,374 - INFO - Guardada comparación entre Criptografía híbrida.txt y Ingeniería comercial.txt con 10.03% de similitud.
|
||||
2025-08-09 00:44:58,377 - INFO - Guardada comparación entre Criptografía híbrida.txt y Chevrolet Cobalt.txt con 6.92% de similitud.
|
||||
2025-08-09 00:44:58,380 - INFO - Guardada comparación entre Criptografía híbrida.txt y Código Unificado de Punto de Suministro.txt con 9.07% de similitud.
|
||||
2025-08-09 00:44:58,383 - INFO - Guardada comparación entre Criptografía híbrida.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 5.50% de similitud.
|
||||
2025-08-09 00:44:58,386 - INFO - Guardada comparación entre Criptografía híbrida.txt y Estación de tratamiento de agua potable.txt con 12.52% de similitud.
|
||||
2025-08-09 00:44:58,389 - INFO - Guardada comparación entre Criptografía híbrida.txt y Militar.txt con 8.93% de similitud.
|
||||
2025-08-09 00:44:58,392 - INFO - Guardada comparación entre Criptografía híbrida.txt y Demografía de Canadá.txt con 4.88% de similitud.
|
||||
2025-08-09 00:44:58,395 - INFO - Guardada comparación entre Criptografía híbrida.txt y EToro.txt con 7.21% de similitud.
|
||||
2025-08-09 00:44:58,398 - INFO - Guardada comparación entre Criptografía híbrida.txt y Ambiente biofísico.txt con 11.15% de similitud.
|
||||
2025-08-09 00:44:58,401 - INFO - Guardada comparación entre Criptografía híbrida.txt y Juego ganar ganar.txt con 12.15% de similitud.
|
||||
2025-08-09 00:44:58,404 - INFO - Guardada comparación entre Criptografía híbrida.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 5.76% de similitud.
|
||||
2025-08-09 00:44:58,407 - INFO - Guardada comparación entre Criptografía híbrida.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 6.52% de similitud.
|
||||
2025-08-09 00:44:58,410 - INFO - Guardada comparación entre Criptografía híbrida.txt y Oswald Pohl.txt con 9.51% de similitud.
|
||||
2025-08-09 00:44:58,413 - INFO - Guardada comparación entre Criptografía híbrida.txt y Empresa Nacional Siderúrgica.txt con 5.95% de similitud.
|
||||
2025-08-09 00:44:58,416 - INFO - Guardada comparación entre Criptografía híbrida.txt y Teletón El Salvador.txt con 6.67% de similitud.
|
||||
2025-08-09 00:44:58,419 - INFO - Guardada comparación entre Criptografía híbrida.txt y Antônio de Sousa Neto.txt con 11.36% de similitud.
|
||||
2025-08-09 00:44:58,422 - INFO - Guardada comparación entre Criptografía híbrida.txt y Mercenarios (BattleTech).txt con 5.61% de similitud.
|
||||
2025-08-09 00:44:58,425 - INFO - Guardada comparación entre Criptografía híbrida.txt y Efecto cis.txt con 8.28% de similitud.
|
||||
2025-08-09 00:44:58,428 - INFO - Guardada comparación entre Criptografía híbrida.txt y Sanción.txt con 5.26% de similitud.
|
||||
2025-08-09 00:44:58,431 - INFO - Guardada comparación entre Criptografía híbrida.txt y Saúl Luciano Lliuya.txt con 9.64% de similitud.
|
||||
2025-08-09 00:44:58,434 - INFO - Guardada comparación entre Criptografía híbrida.txt y Antiprotestantismo.txt con 5.97% de similitud.
|
||||
2025-08-09 00:44:58,438 - INFO - Guardada comparación entre Criptografía híbrida.txt y Terrorismo de extrema izquierda.txt con 3.06% de similitud.
|
||||
2025-08-09 00:44:58,442 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Iberos.txt con 0.83% de similitud.
|
||||
2025-08-09 00:44:58,445 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y .km.txt con 8.12% de similitud.
|
||||
2025-08-09 00:44:58,448 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Censura internacional china.txt con 3.49% de similitud.
|
||||
2025-08-09 00:44:58,451 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Alfarería en la provincia de Almería.txt con 2.81% de similitud.
|
||||
2025-08-09 00:44:58,455 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Ingeniería comercial.txt con 7.38% de similitud.
|
||||
2025-08-09 00:44:58,458 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Segunda Cumbre BRIC 2010.txt con 5.79% de similitud.
|
||||
2025-08-09 00:44:58,460 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Santa Marina del Rey.txt con 7.58% de similitud.
|
||||
2025-08-09 00:44:58,463 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Omaira Montoya Henao.txt con 8.63% de similitud.
|
||||
2025-08-09 00:44:58,466 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Biodiversidad Virtual.txt con 6.74% de similitud.
|
||||
2025-08-09 00:44:58,469 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Estudios de ciencia, tecnología y género.txt con 4.84% de similitud.
|
||||
2025-08-09 00:44:58,472 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Representación (política).txt con 5.67% de similitud.
|
||||
2025-08-09 00:44:58,476 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Roxana Campos.txt con 10.01% de similitud.
|
||||
2025-08-09 00:44:58,480 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Reforma económica china.txt con 1.00% de similitud.
|
||||
2025-08-09 00:44:58,483 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Alejandro VII.txt con 4.75% de similitud.
|
||||
2025-08-09 00:44:58,489 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Violencia obstétrica.txt con 5.36% de similitud.
|
||||
2025-08-09 00:44:58,492 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Guerra de Reforma.txt con 3.03% de similitud.
|
||||
2025-08-09 00:44:58,496 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Certificate Signing Request.txt con 2.87% de similitud.
|
||||
2025-08-09 00:44:58,499 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Katalin Bogyay.txt con 2.92% de similitud.
|
||||
2025-08-09 00:44:58,502 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Unión Ortodoxa.txt con 5.06% de similitud.
|
||||
2025-08-09 00:44:58,506 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Emisora móvil.txt con 2.03% de similitud.
|
||||
2025-08-09 00:44:58,508 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Sanción.txt con 6.58% de similitud.
|
||||
2025-08-09 00:44:58,511 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Saúl Luciano Lliuya.txt con 10.32% de similitud.
|
||||
2025-08-09 00:44:58,514 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Antiprotestantismo.txt con 4.37% de similitud.
|
||||
2025-08-09 00:44:58,517 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Desigualdad de ingreso en Estados Unidos.txt con 18.11% de similitud.
|
||||
2025-08-09 00:44:58,523 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Iberos.txt con 4.99% de similitud.
|
||||
2025-08-09 00:44:58,526 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y .km.txt con 8.77% de similitud.
|
||||
2025-08-09 00:44:58,530 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Censura internacional china.txt con 14.72% de similitud.
|
||||
2025-08-09 00:44:58,533 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Alfarería en la provincia de Almería.txt con 13.31% de similitud.
|
||||
2025-08-09 00:44:58,536 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Acuerdo de Prespa.txt con 9.82% de similitud.
|
||||
2025-08-09 00:44:58,540 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Segunda Cumbre BRIC 2010.txt con 19.37% de similitud.
|
||||
2025-08-09 00:44:58,543 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Santa Marina del Rey.txt con 15.42% de similitud.
|
||||
2025-08-09 00:44:58,546 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Omaira Montoya Henao.txt con 18.60% de similitud.
|
||||
2025-08-09 00:44:58,550 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Biodiversidad Virtual.txt con 18.93% de similitud.
|
||||
2025-08-09 00:44:58,553 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Estudios de ciencia, tecnología y género.txt con 18.39% de similitud.
|
||||
2025-08-09 00:44:58,556 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Representación (política).txt con 18.64% de similitud.
|
||||
2025-08-09 00:44:58,559 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Roxana Campos.txt con 13.19% de similitud.
|
||||
2025-08-09 00:44:58,564 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Reforma económica china.txt con 6.23% de similitud.
|
||||
2025-08-09 00:44:58,567 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Alejandro VII.txt con 17.53% de similitud.
|
||||
2025-08-09 00:44:58,571 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Violencia obstétrica.txt con 18.68% de similitud.
|
||||
2025-08-09 00:44:58,574 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Torrente Gros.txt con 19.27% de similitud.
|
||||
2025-08-09 00:44:58,578 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Guerra de Reforma.txt con 15.54% de similitud.
|
||||
2025-08-09 00:44:58,581 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Certificate Signing Request.txt con 9.38% de similitud.
|
||||
2025-08-09 00:44:58,585 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Katalin Bogyay.txt con 13.31% de similitud.
|
||||
2025-08-09 00:44:58,589 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Mercenarios (BattleTech).txt con 14.61% de similitud.
|
||||
2025-08-09 00:44:58,593 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Efecto cis.txt con 16.18% de similitud.
|
||||
2025-08-09 00:44:58,596 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Sanción.txt con 2.47% de similitud.
|
||||
2025-08-09 00:44:58,599 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Saúl Luciano Lliuya.txt con 13.65% de similitud.
|
||||
2025-08-09 00:44:58,602 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Antiprotestantismo.txt con 16.94% de similitud.
|
||||
580
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.log.2
Normal file
580
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.log.2
Normal file
|
|
@ -0,0 +1,580 @@
|
|||
2025-08-09 00:44:56,475 - INFO - Guardada comparación entre Hammer Film Productions.txt y Efecto cis.txt con 11.97% de similitud.
|
||||
2025-08-09 00:44:56,481 - INFO - Guardada comparación entre Hammer Film Productions.txt y Demografía de la República Democrática del Congo.txt con 12.70% de similitud.
|
||||
2025-08-09 00:44:56,485 - INFO - Guardada comparación entre Hammer Film Productions.txt y Desigualdad de ingreso.txt con 11.06% de similitud.
|
||||
2025-08-09 00:44:56,489 - INFO - Guardada comparación entre Hammer Film Productions.txt y Terrorismo de extrema izquierda.txt con 11.13% de similitud.
|
||||
2025-08-09 00:44:56,492 - INFO - Guardada comparación entre Big Water.txt y Club Deportivo La Equidad (Femenino).txt con 16.83% de similitud.
|
||||
2025-08-09 00:44:56,496 - INFO - Guardada comparación entre Big Water.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 15.03% de similitud.
|
||||
2025-08-09 00:44:56,499 - INFO - Guardada comparación entre Big Water.txt y Asesoría Jurídica Internacional.txt con 17.11% de similitud.
|
||||
2025-08-09 00:44:56,502 - INFO - Guardada comparación entre Big Water.txt y Desarrollo de videojuegos independiente.txt con 7.09% de similitud.
|
||||
2025-08-09 00:44:56,505 - INFO - Guardada comparación entre Big Water.txt y Ingeniería comercial.txt con 17.07% de similitud.
|
||||
2025-08-09 00:44:56,508 - INFO - Guardada comparación entre Big Water.txt y Chevrolet Cobalt.txt con 4.89% de similitud.
|
||||
2025-08-09 00:44:56,511 - INFO - Guardada comparación entre Big Water.txt y Código Unificado de Punto de Suministro.txt con 16.52% de similitud.
|
||||
2025-08-09 00:44:56,515 - INFO - Guardada comparación entre Big Water.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 12.48% de similitud.
|
||||
2025-08-09 00:44:56,518 - INFO - Guardada comparación entre Big Water.txt y Estación de tratamiento de agua potable.txt con 13.52% de similitud.
|
||||
2025-08-09 00:44:56,521 - INFO - Guardada comparación entre Big Water.txt y Militar.txt con 14.83% de similitud.
|
||||
2025-08-09 00:44:56,524 - INFO - Guardada comparación entre Big Water.txt y Demografía de Canadá.txt con 13.34% de similitud.
|
||||
2025-08-09 00:44:56,527 - INFO - Guardada comparación entre Big Water.txt y EToro.txt con 16.48% de similitud.
|
||||
2025-08-09 00:44:56,530 - INFO - Guardada comparación entre Big Water.txt y Ambiente biofísico.txt con 17.05% de similitud.
|
||||
2025-08-09 00:44:56,534 - INFO - Guardada comparación entre Big Water.txt y Juego ganar ganar.txt con 15.27% de similitud.
|
||||
2025-08-09 00:44:56,537 - INFO - Guardada comparación entre Big Water.txt y Alejandro VII.txt con 13.45% de similitud.
|
||||
2025-08-09 00:44:56,540 - INFO - Guardada comparación entre Big Water.txt y Violencia obstétrica.txt con 17.57% de similitud.
|
||||
2025-08-09 00:44:56,544 - INFO - Guardada comparación entre Big Water.txt y Torrente Gros.txt con 15.69% de similitud.
|
||||
2025-08-09 00:44:56,547 - INFO - Guardada comparación entre Big Water.txt y Guerra de Reforma.txt con 10.91% de similitud.
|
||||
2025-08-09 00:44:56,551 - INFO - Guardada comparación entre Big Water.txt y Teletón El Salvador.txt con 14.06% de similitud.
|
||||
2025-08-09 00:44:56,554 - INFO - Guardada comparación entre Big Water.txt y Katalin Bogyay.txt con 10.29% de similitud.
|
||||
2025-08-09 00:44:56,558 - INFO - Guardada comparación entre Big Water.txt y Mercenarios (BattleTech).txt con 11.21% de similitud.
|
||||
2025-08-09 00:44:56,561 - INFO - Guardada comparación entre Big Water.txt y Efecto cis.txt con 14.48% de similitud.
|
||||
2025-08-09 00:44:56,564 - INFO - Guardada comparación entre Big Water.txt y Sanción.txt con 3.02% de similitud.
|
||||
2025-08-09 00:44:56,567 - INFO - Guardada comparación entre Big Water.txt y Saúl Luciano Lliuya.txt con 13.04% de similitud.
|
||||
2025-08-09 00:44:56,570 - INFO - Guardada comparación entre Big Water.txt y Antiprotestantismo.txt con 13.69% de similitud.
|
||||
2025-08-09 00:44:56,574 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Desigualdad de ingreso en Estados Unidos.txt con 18.62% de similitud.
|
||||
2025-08-09 00:44:56,577 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Club Deportivo La Equidad (Femenino).txt con 16.26% de similitud.
|
||||
2025-08-09 00:44:56,580 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y .km.txt con 7.61% de similitud.
|
||||
2025-08-09 00:44:56,584 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Asesoría Jurídica Internacional.txt con 14.55% de similitud.
|
||||
2025-08-09 00:44:56,588 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Desarrollo de videojuegos independiente.txt con 12.35% de similitud.
|
||||
2025-08-09 00:44:56,591 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Acuerdo de Prespa.txt con 8.02% de similitud.
|
||||
2025-08-09 00:44:56,594 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Segunda Cumbre BRIC 2010.txt con 19.10% de similitud.
|
||||
2025-08-09 00:44:56,597 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Santa Marina del Rey.txt con 12.70% de similitud.
|
||||
2025-08-09 00:44:56,601 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Omaira Montoya Henao.txt con 14.45% de similitud.
|
||||
2025-08-09 00:44:56,604 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Biodiversidad Virtual.txt con 17.70% de similitud.
|
||||
2025-08-09 00:44:56,608 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Estudios de ciencia, tecnología y género.txt con 19.18% de similitud.
|
||||
2025-08-09 00:44:56,611 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Representación (política).txt con 19.90% de similitud.
|
||||
2025-08-09 00:44:56,615 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Roxana Campos.txt con 11.47% de similitud.
|
||||
2025-08-09 00:44:56,619 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Reforma económica china.txt con 7.17% de similitud.
|
||||
2025-08-09 00:44:56,623 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Alejandro VII.txt con 18.36% de similitud.
|
||||
2025-08-09 00:44:56,626 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Violencia obstétrica.txt con 18.69% de similitud.
|
||||
2025-08-09 00:44:56,629 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Torrente Gros.txt con 17.47% de similitud.
|
||||
2025-08-09 00:44:56,633 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Guerra de Reforma.txt con 17.58% de similitud.
|
||||
2025-08-09 00:44:56,636 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Certificate Signing Request.txt con 10.46% de similitud.
|
||||
2025-08-09 00:44:56,640 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Katalin Bogyay.txt con 15.33% de similitud.
|
||||
2025-08-09 00:44:56,643 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Unión Ortodoxa.txt con 19.18% de similitud.
|
||||
2025-08-09 00:44:56,647 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Emisora móvil.txt con 12.91% de similitud.
|
||||
2025-08-09 00:44:56,650 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Sanción.txt con 2.22% de similitud.
|
||||
2025-08-09 00:44:56,654 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Saúl Luciano Lliuya.txt con 12.41% de similitud.
|
||||
2025-08-09 00:44:56,657 - INFO - Guardada comparación entre Autoridad Vasca de Protección de Datos.txt y Antiprotestantismo.txt con 16.47% de similitud.
|
||||
2025-08-09 00:44:56,660 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Desigualdad de ingreso en Estados Unidos.txt con 9.93% de similitud.
|
||||
2025-08-09 00:44:56,663 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Club Deportivo La Equidad (Femenino).txt con 10.49% de similitud.
|
||||
2025-08-09 00:44:56,669 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 13.21% de similitud.
|
||||
2025-08-09 00:44:56,673 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Censura internacional china.txt con 6.36% de similitud.
|
||||
2025-08-09 00:44:56,676 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Alfarería en la provincia de Almería.txt con 6.36% de similitud.
|
||||
2025-08-09 00:44:56,680 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Acuerdo de Prespa.txt con 15.27% de similitud.
|
||||
2025-08-09 00:44:56,684 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Segunda Cumbre BRIC 2010.txt con 10.32% de similitud.
|
||||
2025-08-09 00:44:56,687 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Santa Marina del Rey.txt con 13.06% de similitud.
|
||||
2025-08-09 00:44:56,691 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Omaira Montoya Henao.txt con 15.62% de similitud.
|
||||
2025-08-09 00:44:56,695 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Biodiversidad Virtual.txt con 10.62% de similitud.
|
||||
2025-08-09 00:44:56,699 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Estudios de ciencia, tecnología y género.txt con 9.56% de similitud.
|
||||
2025-08-09 00:44:56,702 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Representación (política).txt con 10.55% de similitud.
|
||||
2025-08-09 00:44:56,706 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Roxana Campos.txt con 14.38% de similitud.
|
||||
2025-08-09 00:44:56,712 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Reforma económica china.txt con 2.21% de similitud.
|
||||
2025-08-09 00:44:56,716 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 7.31% de similitud.
|
||||
2025-08-09 00:44:56,719 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 7.98% de similitud.
|
||||
2025-08-09 00:44:56,723 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Oswald Pohl.txt con 12.58% de similitud.
|
||||
2025-08-09 00:44:56,726 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Empresa Nacional Siderúrgica.txt con 9.04% de similitud.
|
||||
2025-08-09 00:44:56,730 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Teletón El Salvador.txt con 7.43% de similitud.
|
||||
2025-08-09 00:44:56,733 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Katalin Bogyay.txt con 6.01% de similitud.
|
||||
2025-08-09 00:44:56,736 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Mercenarios (BattleTech).txt con 5.71% de similitud.
|
||||
2025-08-09 00:44:56,740 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Emisora móvil.txt con 3.72% de similitud.
|
||||
2025-08-09 00:44:56,743 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Demografía de la República Democrática del Congo.txt con 9.45% de similitud.
|
||||
2025-08-09 00:44:56,748 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Desigualdad de ingreso.txt con 3.73% de similitud.
|
||||
2025-08-09 00:44:56,752 - INFO - Guardada comparación entre Inventario General del Patrimonio Cultural Valenciano.txt y Terrorismo de extrema izquierda.txt con 4.13% de similitud.
|
||||
2025-08-09 00:44:56,757 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Iberos.txt con 1.21% de similitud.
|
||||
2025-08-09 00:44:56,761 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 6.90% de similitud.
|
||||
2025-08-09 00:44:56,764 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Censura internacional china.txt con 3.69% de similitud.
|
||||
2025-08-09 00:44:56,767 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Alfarería en la provincia de Almería.txt con 4.00% de similitud.
|
||||
2025-08-09 00:44:56,771 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Acuerdo de Prespa.txt con 11.78% de similitud.
|
||||
2025-08-09 00:44:56,774 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Segunda Cumbre BRIC 2010.txt con 6.94% de similitud.
|
||||
2025-08-09 00:44:56,777 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Santa Marina del Rey.txt con 8.25% de similitud.
|
||||
2025-08-09 00:44:56,780 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Omaira Montoya Henao.txt con 9.00% de similitud.
|
||||
2025-08-09 00:44:56,783 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Biodiversidad Virtual.txt con 6.81% de similitud.
|
||||
2025-08-09 00:44:56,786 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Estudios de ciencia, tecnología y género.txt con 5.95% de similitud.
|
||||
2025-08-09 00:44:56,790 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Representación (política).txt con 6.83% de similitud.
|
||||
2025-08-09 00:44:56,794 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Roxana Campos.txt con 9.13% de similitud.
|
||||
2025-08-09 00:44:56,799 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Reforma económica china.txt con 1.47% de similitud.
|
||||
2025-08-09 00:44:56,803 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Alejandro VII.txt con 5.08% de similitud.
|
||||
2025-08-09 00:44:56,806 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Violencia obstétrica.txt con 6.50% de similitud.
|
||||
2025-08-09 00:44:56,809 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Torrente Gros.txt con 7.26% de similitud.
|
||||
2025-08-09 00:44:56,813 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Guerra de Reforma.txt con 4.55% de similitud.
|
||||
2025-08-09 00:44:56,816 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Certificate Signing Request.txt con 3.25% de similitud.
|
||||
2025-08-09 00:44:56,819 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Katalin Bogyay.txt con 3.41% de similitud.
|
||||
2025-08-09 00:44:56,822 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Unión Ortodoxa.txt con 6.08% de similitud.
|
||||
2025-08-09 00:44:56,826 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Emisora móvil.txt con 2.36% de similitud.
|
||||
2025-08-09 00:44:56,829 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Demografía de la República Democrática del Congo.txt con 5.62% de similitud.
|
||||
2025-08-09 00:44:56,833 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Desigualdad de ingreso.txt con 2.41% de similitud.
|
||||
2025-08-09 00:44:56,836 - INFO - Guardada comparación entre Guerra Fría (desambiguación).txt y Antiprotestantismo.txt con 5.15% de similitud.
|
||||
2025-08-09 00:44:56,839 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Desigualdad de ingreso en Estados Unidos.txt con 13.62% de similitud.
|
||||
2025-08-09 00:44:56,842 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Club Deportivo La Equidad (Femenino).txt con 15.58% de similitud.
|
||||
2025-08-09 00:44:56,850 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 14.69% de similitud.
|
||||
2025-08-09 00:44:56,853 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Desarrollo de videojuegos independiente.txt con 5.69% de similitud.
|
||||
2025-08-09 00:44:56,856 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Ingeniería comercial.txt con 15.75% de similitud.
|
||||
2025-08-09 00:44:56,859 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Chevrolet Cobalt.txt con 6.38% de similitud.
|
||||
2025-08-09 00:44:56,862 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Código Unificado de Punto de Suministro.txt con 15.34% de similitud.
|
||||
2025-08-09 00:44:56,866 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 12.20% de similitud.
|
||||
2025-08-09 00:44:56,868 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Estación de tratamiento de agua potable.txt con 14.52% de similitud.
|
||||
2025-08-09 00:44:56,871 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Militar.txt con 13.37% de similitud.
|
||||
2025-08-09 00:44:56,875 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Demografía de Canadá.txt con 9.45% de similitud.
|
||||
2025-08-09 00:44:56,878 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y EToro.txt con 12.96% de similitud.
|
||||
2025-08-09 00:44:56,881 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Ambiente biofísico.txt con 16.73% de similitud.
|
||||
2025-08-09 00:44:56,884 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Juego ganar ganar.txt con 15.35% de similitud.
|
||||
2025-08-09 00:44:56,888 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Alejandro VII.txt con 13.06% de similitud.
|
||||
2025-08-09 00:44:56,891 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Violencia obstétrica.txt con 15.38% de similitud.
|
||||
2025-08-09 00:44:56,894 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Torrente Gros.txt con 14.63% de similitud.
|
||||
2025-08-09 00:44:56,897 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Guerra de Reforma.txt con 10.64% de similitud.
|
||||
2025-08-09 00:44:56,901 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Certificate Signing Request.txt con 7.58% de similitud.
|
||||
2025-08-09 00:44:56,904 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Katalin Bogyay.txt con 8.23% de similitud.
|
||||
2025-08-09 00:44:56,907 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Unión Ortodoxa.txt con 13.44% de similitud.
|
||||
2025-08-09 00:44:56,911 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Emisora móvil.txt con 6.24% de similitud.
|
||||
2025-08-09 00:44:56,915 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Demografía de la República Democrática del Congo.txt con 12.61% de similitud.
|
||||
2025-08-09 00:44:56,919 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Desigualdad de ingreso.txt con 5.01% de similitud.
|
||||
2025-08-09 00:44:56,922 - INFO - Guardada comparación entre Batalla de Zaragoza.txt y Terrorismo de extrema izquierda.txt con 6.26% de similitud.
|
||||
2025-08-09 00:44:56,927 - INFO - Guardada comparación entre Puebla de Segur.txt y Iberos.txt con 8.40% de similitud.
|
||||
2025-08-09 00:44:56,930 - INFO - Guardada comparación entre Puebla de Segur.txt y .km.txt con 7.00% de similitud.
|
||||
2025-08-09 00:44:56,934 - INFO - Guardada comparación entre Puebla de Segur.txt y Censura internacional china.txt con 17.54% de similitud.
|
||||
2025-08-09 00:44:56,937 - INFO - Guardada comparación entre Puebla de Segur.txt y Alfarería en la provincia de Almería.txt con 19.11% de similitud.
|
||||
2025-08-09 00:44:56,941 - INFO - Guardada comparación entre Puebla de Segur.txt y Acuerdo de Prespa.txt con 7.11% de similitud.
|
||||
2025-08-09 00:44:56,944 - INFO - Guardada comparación entre Puebla de Segur.txt y Segunda Cumbre BRIC 2010.txt con 18.66% de similitud.
|
||||
2025-08-09 00:44:56,948 - INFO - Guardada comparación entre Puebla de Segur.txt y Santa Marina del Rey.txt con 14.86% de similitud.
|
||||
2025-08-09 00:44:56,951 - INFO - Guardada comparación entre Puebla de Segur.txt y Omaira Montoya Henao.txt con 14.33% de similitud.
|
||||
2025-08-09 00:44:56,955 - INFO - Guardada comparación entre Puebla de Segur.txt y Biodiversidad Virtual.txt con 14.95% de similitud.
|
||||
2025-08-09 00:44:56,958 - INFO - Guardada comparación entre Puebla de Segur.txt y Estudios de ciencia, tecnología y género.txt con 18.80% de similitud.
|
||||
2025-08-09 00:44:56,961 - INFO - Guardada comparación entre Puebla de Segur.txt y Representación (política).txt con 16.42% de similitud.
|
||||
2025-08-09 00:44:56,965 - INFO - Guardada comparación entre Puebla de Segur.txt y Roxana Campos.txt con 10.17% de similitud.
|
||||
2025-08-09 00:44:56,970 - INFO - Guardada comparación entre Puebla de Segur.txt y Reforma económica china.txt con 8.53% de similitud.
|
||||
2025-08-09 00:44:56,973 - INFO - Guardada comparación entre Puebla de Segur.txt y Alejandro VII.txt con 19.13% de similitud.
|
||||
2025-08-09 00:44:56,977 - INFO - Guardada comparación entre Puebla de Segur.txt y Violencia obstétrica.txt con 16.79% de similitud.
|
||||
2025-08-09 00:44:56,980 - INFO - Guardada comparación entre Puebla de Segur.txt y Torrente Gros.txt con 16.79% de similitud.
|
||||
2025-08-09 00:44:56,984 - INFO - Guardada comparación entre Puebla de Segur.txt y Guerra de Reforma.txt con 18.74% de similitud.
|
||||
2025-08-09 00:44:56,987 - INFO - Guardada comparación entre Puebla de Segur.txt y Certificate Signing Request.txt con 11.31% de similitud.
|
||||
2025-08-09 00:44:56,991 - INFO - Guardada comparación entre Puebla de Segur.txt y Katalin Bogyay.txt con 17.46% de similitud.
|
||||
2025-08-09 00:44:56,994 - INFO - Guardada comparación entre Puebla de Segur.txt y Unión Ortodoxa.txt con 18.27% de similitud.
|
||||
2025-08-09 00:44:56,999 - INFO - Guardada comparación entre Puebla de Segur.txt y Emisora móvil.txt con 14.19% de similitud.
|
||||
2025-08-09 00:44:57,003 - INFO - Guardada comparación entre Puebla de Segur.txt y Demografía de la República Democrática del Congo.txt con 18.04% de similitud.
|
||||
2025-08-09 00:44:57,007 - INFO - Guardada comparación entre Puebla de Segur.txt y Desigualdad de ingreso.txt con 12.63% de similitud.
|
||||
2025-08-09 00:44:57,011 - INFO - Guardada comparación entre Puebla de Segur.txt y Terrorismo de extrema izquierda.txt con 14.13% de similitud.
|
||||
2025-08-09 00:44:57,016 - INFO - Guardada comparación entre Trabajo de mierda.txt y Iberos.txt con 1.74% de similitud.
|
||||
2025-08-09 00:44:57,019 - INFO - Guardada comparación entre Trabajo de mierda.txt y .km.txt con 10.22% de similitud.
|
||||
2025-08-09 00:44:57,022 - INFO - Guardada comparación entre Trabajo de mierda.txt y Censura internacional china.txt con 6.06% de similitud.
|
||||
2025-08-09 00:44:57,026 - INFO - Guardada comparación entre Trabajo de mierda.txt y Alfarería en la provincia de Almería.txt con 5.14% de similitud.
|
||||
2025-08-09 00:44:57,029 - INFO - Guardada comparación entre Trabajo de mierda.txt y Acuerdo de Prespa.txt con 14.73% de similitud.
|
||||
2025-08-09 00:44:57,032 - INFO - Guardada comparación entre Trabajo de mierda.txt y Segunda Cumbre BRIC 2010.txt con 9.14% de similitud.
|
||||
2025-08-09 00:44:57,035 - INFO - Guardada comparación entre Trabajo de mierda.txt y Santa Marina del Rey.txt con 10.35% de similitud.
|
||||
2025-08-09 00:44:57,038 - INFO - Guardada comparación entre Trabajo de mierda.txt y Omaira Montoya Henao.txt con 12.13% de similitud.
|
||||
2025-08-09 00:44:57,042 - INFO - Guardada comparación entre Trabajo de mierda.txt y Biodiversidad Virtual.txt con 9.75% de similitud.
|
||||
2025-08-09 00:44:57,045 - INFO - Guardada comparación entre Trabajo de mierda.txt y Estudios de ciencia, tecnología y género.txt con 8.00% de similitud.
|
||||
2025-08-09 00:44:57,048 - INFO - Guardada comparación entre Trabajo de mierda.txt y Representación (política).txt con 9.50% de similitud.
|
||||
2025-08-09 00:44:57,051 - INFO - Guardada comparación entre Trabajo de mierda.txt y Roxana Campos.txt con 11.53% de similitud.
|
||||
2025-08-09 00:44:57,056 - INFO - Guardada comparación entre Trabajo de mierda.txt y Reforma económica china.txt con 2.00% de similitud.
|
||||
2025-08-09 00:44:57,059 - INFO - Guardada comparación entre Trabajo de mierda.txt y Alejandro VII.txt con 7.08% de similitud.
|
||||
2025-08-09 00:44:57,062 - INFO - Guardada comparación entre Trabajo de mierda.txt y Violencia obstétrica.txt con 10.17% de similitud.
|
||||
2025-08-09 00:44:57,065 - INFO - Guardada comparación entre Trabajo de mierda.txt y Torrente Gros.txt con 8.70% de similitud.
|
||||
2025-08-09 00:44:57,069 - INFO - Guardada comparación entre Trabajo de mierda.txt y Guerra de Reforma.txt con 5.49% de similitud.
|
||||
2025-08-09 00:44:57,072 - INFO - Guardada comparación entre Trabajo de mierda.txt y Certificate Signing Request.txt con 5.04% de similitud.
|
||||
2025-08-09 00:44:57,076 - INFO - Guardada comparación entre Trabajo de mierda.txt y Katalin Bogyay.txt con 5.31% de similitud.
|
||||
2025-08-09 00:44:57,079 - INFO - Guardada comparación entre Trabajo de mierda.txt y Unión Ortodoxa.txt con 8.32% de similitud.
|
||||
2025-08-09 00:44:57,082 - INFO - Guardada comparación entre Trabajo de mierda.txt y Emisora móvil.txt con 3.72% de similitud.
|
||||
2025-08-09 00:44:57,085 - INFO - Guardada comparación entre Trabajo de mierda.txt y Sanción.txt con 4.66% de similitud.
|
||||
2025-08-09 00:44:57,089 - INFO - Guardada comparación entre Trabajo de mierda.txt y Saúl Luciano Lliuya.txt con 14.63% de similitud.
|
||||
2025-08-09 00:44:57,092 - INFO - Guardada comparación entre Trabajo de mierda.txt y Antiprotestantismo.txt con 8.00% de similitud.
|
||||
2025-08-09 00:44:57,096 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Desigualdad de ingreso en Estados Unidos.txt con 17.44% de similitud.
|
||||
2025-08-09 00:44:57,099 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Club Deportivo La Equidad (Femenino).txt con 17.57% de similitud.
|
||||
2025-08-09 00:44:57,102 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 19.50% de similitud.
|
||||
2025-08-09 00:44:57,105 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Asesoría Jurídica Internacional.txt con 18.74% de similitud.
|
||||
2025-08-09 00:44:57,109 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Desarrollo de videojuegos independiente.txt con 7.70% de similitud.
|
||||
2025-08-09 00:44:57,112 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Ingeniería comercial.txt con 19.10% de similitud.
|
||||
2025-08-09 00:44:57,115 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Chevrolet Cobalt.txt con 4.09% de similitud.
|
||||
2025-08-09 00:44:57,118 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Código Unificado de Punto de Suministro.txt con 15.22% de similitud.
|
||||
2025-08-09 00:44:57,122 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 14.49% de similitud.
|
||||
2025-08-09 00:44:57,125 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Estación de tratamiento de agua potable.txt con 13.82% de similitud.
|
||||
2025-08-09 00:44:57,128 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Militar.txt con 15.80% de similitud.
|
||||
2025-08-09 00:44:57,132 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Demografía de Canadá.txt con 12.73% de similitud.
|
||||
2025-08-09 00:44:57,135 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y EToro.txt con 17.91% de similitud.
|
||||
2025-08-09 00:44:57,139 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Ambiente biofísico.txt con 16.50% de similitud.
|
||||
2025-08-09 00:44:57,142 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Juego ganar ganar.txt con 14.05% de similitud.
|
||||
2025-08-09 00:44:57,145 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 12.52% de similitud.
|
||||
2025-08-09 00:44:57,148 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 14.42% de similitud.
|
||||
2025-08-09 00:44:57,152 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Oswald Pohl.txt con 19.70% de similitud.
|
||||
2025-08-09 00:44:57,155 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Empresa Nacional Siderúrgica.txt con 15.61% de similitud.
|
||||
2025-08-09 00:44:57,159 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Teletón El Salvador.txt con 13.94% de similitud.
|
||||
2025-08-09 00:44:57,162 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Antônio de Sousa Neto.txt con 16.86% de similitud.
|
||||
2025-08-09 00:44:57,165 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Mercenarios (BattleTech).txt con 12.10% de similitud.
|
||||
2025-08-09 00:44:57,168 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Efecto cis.txt con 13.98% de similitud.
|
||||
2025-08-09 00:44:57,172 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Demografía de la República Democrática del Congo.txt con 13.79% de similitud.
|
||||
2025-08-09 00:44:57,176 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Desigualdad de ingreso.txt con 7.07% de similitud.
|
||||
2025-08-09 00:44:57,180 - INFO - Guardada comparación entre Susana Ruiz Cerutti.txt y Terrorismo de extrema izquierda.txt con 8.43% de similitud.
|
||||
2025-08-09 00:44:57,185 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Iberos.txt con 2.38% de similitud.
|
||||
2025-08-09 00:44:57,188 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y .km.txt con 9.99% de similitud.
|
||||
2025-08-09 00:44:57,190 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Asesoría Jurídica Internacional.txt con 15.33% de similitud.
|
||||
2025-08-09 00:44:57,194 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Desarrollo de videojuegos independiente.txt con 4.61% de similitud.
|
||||
2025-08-09 00:44:57,197 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Ingeniería comercial.txt con 13.60% de similitud.
|
||||
2025-08-09 00:44:57,200 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Chevrolet Cobalt.txt con 5.63% de similitud.
|
||||
2025-08-09 00:44:57,203 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Código Unificado de Punto de Suministro.txt con 11.74% de similitud.
|
||||
2025-08-09 00:44:57,207 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 8.92% de similitud.
|
||||
2025-08-09 00:44:57,210 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Estación de tratamiento de agua potable.txt con 14.00% de similitud.
|
||||
2025-08-09 00:44:57,215 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Militar.txt con 11.08% de similitud.
|
||||
2025-08-09 00:44:57,218 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Representación (política).txt con 12.00% de similitud.
|
||||
2025-08-09 00:44:57,222 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y EToro.txt con 11.19% de similitud.
|
||||
2025-08-09 00:44:57,225 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Ambiente biofísico.txt con 13.68% de similitud.
|
||||
2025-08-09 00:44:57,228 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Juego ganar ganar.txt con 13.77% de similitud.
|
||||
2025-08-09 00:44:57,231 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 8.23% de similitud.
|
||||
2025-08-09 00:44:57,235 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 9.00% de similitud.
|
||||
2025-08-09 00:44:57,238 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Oswald Pohl.txt con 15.83% de similitud.
|
||||
2025-08-09 00:44:57,241 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Empresa Nacional Siderúrgica.txt con 10.25% de similitud.
|
||||
2025-08-09 00:44:57,245 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Teletón El Salvador.txt con 9.94% de similitud.
|
||||
2025-08-09 00:44:57,247 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Antônio de Sousa Neto.txt con 16.10% de similitud.
|
||||
2025-08-09 00:44:57,251 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Mercenarios (BattleTech).txt con 8.95% de similitud.
|
||||
2025-08-09 00:44:57,254 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Efecto cis.txt con 10.28% de similitud.
|
||||
2025-08-09 00:44:57,257 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Demografía de la República Democrática del Congo.txt con 9.95% de similitud.
|
||||
2025-08-09 00:44:57,261 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Desigualdad de ingreso.txt con 4.18% de similitud.
|
||||
2025-08-09 00:44:57,265 - INFO - Guardada comparación entre Reconstrucción Blanca.txt y Terrorismo de extrema izquierda.txt con 5.45% de similitud.
|
||||
2025-08-09 00:44:57,270 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Iberos.txt con 7.01% de similitud.
|
||||
2025-08-09 00:44:57,273 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y .km.txt con 6.49% de similitud.
|
||||
2025-08-09 00:44:57,277 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Censura internacional china.txt con 19.33% de similitud.
|
||||
2025-08-09 00:44:57,281 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Alfarería en la provincia de Almería.txt con 16.93% de similitud.
|
||||
2025-08-09 00:44:57,284 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Acuerdo de Prespa.txt con 8.17% de similitud.
|
||||
2025-08-09 00:44:57,288 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Segunda Cumbre BRIC 2010.txt con 20.93% de similitud.
|
||||
2025-08-09 00:44:57,291 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Santa Marina del Rey.txt con 13.26% de similitud.
|
||||
2025-08-09 00:44:57,294 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Omaira Montoya Henao.txt con 15.23% de similitud.
|
||||
2025-08-09 00:44:57,297 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Biodiversidad Virtual.txt con 16.65% de similitud.
|
||||
2025-08-09 00:44:57,301 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Estudios de ciencia, tecnología y género.txt con 19.56% de similitud.
|
||||
2025-08-09 00:44:57,304 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Representación (política).txt con 19.55% de similitud.
|
||||
2025-08-09 00:44:57,308 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Roxana Campos.txt con 9.87% de similitud.
|
||||
2025-08-09 00:44:57,312 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Reforma económica china.txt con 8.41% de similitud.
|
||||
2025-08-09 00:44:57,316 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Alejandro VII.txt con 20.21% de similitud.
|
||||
2025-08-09 00:44:57,319 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Violencia obstétrica.txt con 19.13% de similitud.
|
||||
2025-08-09 00:44:57,323 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Torrente Gros.txt con 18.39% de similitud.
|
||||
2025-08-09 00:44:57,326 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Guerra de Reforma.txt con 19.88% de similitud.
|
||||
2025-08-09 00:44:57,330 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Certificate Signing Request.txt con 9.67% de similitud.
|
||||
2025-08-09 00:44:57,333 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Katalin Bogyay.txt con 16.04% de similitud.
|
||||
2025-08-09 00:44:57,337 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Unión Ortodoxa.txt con 19.42% de similitud.
|
||||
2025-08-09 00:44:57,341 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Emisora móvil.txt con 14.11% de similitud.
|
||||
2025-08-09 00:44:57,344 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Sanción.txt con 2.14% de similitud.
|
||||
2025-08-09 00:44:57,347 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Saúl Luciano Lliuya.txt con 11.82% de similitud.
|
||||
2025-08-09 00:44:57,350 - INFO - Guardada comparación entre Relaciones Unión Europea-micro-Estados europeos.txt y Antiprotestantismo.txt con 17.82% de similitud.
|
||||
2025-08-09 00:44:57,354 - INFO - Guardada comparación entre Juegos de guerra.txt y Desigualdad de ingreso en Estados Unidos.txt con 16.80% de similitud.
|
||||
2025-08-09 00:44:57,358 - INFO - Guardada comparación entre Juegos de guerra.txt y Club Deportivo La Equidad (Femenino).txt con 13.43% de similitud.
|
||||
2025-08-09 00:44:57,361 - INFO - Guardada comparación entre Juegos de guerra.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 13.43% de similitud.
|
||||
2025-08-09 00:44:57,365 - INFO - Guardada comparación entre Juegos de guerra.txt y Censura internacional china.txt con 18.24% de similitud.
|
||||
2025-08-09 00:44:57,369 - INFO - Guardada comparación entre Juegos de guerra.txt y Alfarería en la provincia de Almería.txt con 16.38% de similitud.
|
||||
2025-08-09 00:44:57,372 - INFO - Guardada comparación entre Juegos de guerra.txt y Acuerdo de Prespa.txt con 5.59% de similitud.
|
||||
2025-08-09 00:44:57,376 - INFO - Guardada comparación entre Juegos de guerra.txt y Segunda Cumbre BRIC 2010.txt con 17.45% de similitud.
|
||||
2025-08-09 00:44:57,379 - INFO - Guardada comparación entre Juegos de guerra.txt y Santa Marina del Rey.txt con 10.44% de similitud.
|
||||
2025-08-09 00:44:57,382 - INFO - Guardada comparación entre Juegos de guerra.txt y Omaira Montoya Henao.txt con 10.66% de similitud.
|
||||
2025-08-09 00:44:57,386 - INFO - Guardada comparación entre Juegos de guerra.txt y Biodiversidad Virtual.txt con 13.83% de similitud.
|
||||
2025-08-09 00:44:57,389 - INFO - Guardada comparación entre Juegos de guerra.txt y Estudios de ciencia, tecnología y género.txt con 16.93% de similitud.
|
||||
2025-08-09 00:44:57,392 - INFO - Guardada comparación entre Juegos de guerra.txt y Representación (política).txt con 15.91% de similitud.
|
||||
2025-08-09 00:44:57,396 - INFO - Guardada comparación entre Juegos de guerra.txt y Roxana Campos.txt con 8.33% de similitud.
|
||||
2025-08-09 00:44:57,399 - INFO - Guardada comparación entre Juegos de guerra.txt y Ambiente biofísico.txt con 12.18% de similitud.
|
||||
2025-08-09 00:44:57,403 - INFO - Guardada comparación entre Juegos de guerra.txt y Juego ganar ganar.txt con 12.95% de similitud.
|
||||
2025-08-09 00:44:57,406 - INFO - Guardada comparación entre Juegos de guerra.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 18.04% de similitud.
|
||||
2025-08-09 00:44:57,410 - INFO - Guardada comparación entre Juegos de guerra.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 18.54% de similitud.
|
||||
2025-08-09 00:44:57,414 - INFO - Guardada comparación entre Juegos de guerra.txt y Oswald Pohl.txt con 12.17% de similitud.
|
||||
2025-08-09 00:44:57,418 - INFO - Guardada comparación entre Juegos de guerra.txt y Empresa Nacional Siderúrgica.txt con 17.12% de similitud.
|
||||
2025-08-09 00:44:57,421 - INFO - Guardada comparación entre Juegos de guerra.txt y Teletón El Salvador.txt con 19.06% de similitud.
|
||||
2025-08-09 00:44:57,425 - INFO - Guardada comparación entre Juegos de guerra.txt y Antônio de Sousa Neto.txt con 9.18% de similitud.
|
||||
2025-08-09 00:44:57,428 - INFO - Guardada comparación entre Juegos de guerra.txt y Mercenarios (BattleTech).txt con 19.59% de similitud.
|
||||
2025-08-09 00:44:57,432 - INFO - Guardada comparación entre Juegos de guerra.txt y Efecto cis.txt con 14.15% de similitud.
|
||||
2025-08-09 00:44:57,436 - INFO - Guardada comparación entre Juegos de guerra.txt y Demografía de la República Democrática del Congo.txt con 15.03% de similitud.
|
||||
2025-08-09 00:44:57,440 - INFO - Guardada comparación entre Juegos de guerra.txt y Desigualdad de ingreso.txt con 13.63% de similitud.
|
||||
2025-08-09 00:44:57,444 - INFO - Guardada comparación entre Juegos de guerra.txt y Terrorismo de extrema izquierda.txt con 15.11% de similitud.
|
||||
2025-08-09 00:44:57,449 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Iberos.txt con 4.05% de similitud.
|
||||
2025-08-09 00:44:57,452 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y .km.txt con 10.48% de similitud.
|
||||
2025-08-09 00:44:57,455 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Censura internacional china.txt con 11.91% de similitud.
|
||||
2025-08-09 00:44:57,459 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Alfarería en la provincia de Almería.txt con 9.38% de similitud.
|
||||
2025-08-09 00:44:57,462 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Ingeniería comercial.txt con 13.54% de similitud.
|
||||
2025-08-09 00:44:57,466 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Segunda Cumbre BRIC 2010.txt con 15.46% de similitud.
|
||||
2025-08-09 00:44:57,469 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Santa Marina del Rey.txt con 11.86% de similitud.
|
||||
2025-08-09 00:44:57,472 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 12.25% de similitud.
|
||||
2025-08-09 00:44:57,476 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Biodiversidad Virtual.txt con 13.40% de similitud.
|
||||
2025-08-09 00:44:57,479 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Estudios de ciencia, tecnología y género.txt con 12.24% de similitud.
|
||||
2025-08-09 00:44:57,482 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Representación (política).txt con 13.89% de similitud.
|
||||
2025-08-09 00:44:57,485 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y EToro.txt con 15.48% de similitud.
|
||||
2025-08-09 00:44:57,488 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Ambiente biofísico.txt con 16.10% de similitud.
|
||||
2025-08-09 00:44:57,491 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Juego ganar ganar.txt con 14.21% de similitud.
|
||||
2025-08-09 00:44:57,495 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 10.25% de similitud.
|
||||
2025-08-09 00:44:57,498 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 11.14% de similitud.
|
||||
2025-08-09 00:44:57,501 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Oswald Pohl.txt con 12.76% de similitud.
|
||||
2025-08-09 00:44:57,504 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Empresa Nacional Siderúrgica.txt con 11.38% de similitud.
|
||||
2025-08-09 00:44:57,507 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Teletón El Salvador.txt con 11.31% de similitud.
|
||||
2025-08-09 00:44:57,510 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Antônio de Sousa Neto.txt con 12.53% de similitud.
|
||||
2025-08-09 00:44:57,516 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Unión Ortodoxa.txt con 14.20% de similitud.
|
||||
2025-08-09 00:44:57,519 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Efecto cis.txt con 13.00% de similitud.
|
||||
2025-08-09 00:44:57,522 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Demografía de la República Democrática del Congo.txt con 11.21% de similitud.
|
||||
2025-08-09 00:44:57,526 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Desigualdad de ingreso.txt con 7.37% de similitud.
|
||||
2025-08-09 00:44:57,530 - INFO - Guardada comparación entre Navegador sin interfaz gráfica.txt y Terrorismo de extrema izquierda.txt con 7.84% de similitud.
|
||||
2025-08-09 00:44:57,535 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Iberos.txt con 2.69% de similitud.
|
||||
2025-08-09 00:44:57,538 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y .km.txt con 11.65% de similitud.
|
||||
2025-08-09 00:44:57,541 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Censura internacional china.txt con 7.83% de similitud.
|
||||
2025-08-09 00:44:57,545 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Alfarería en la provincia de Almería.txt con 7.91% de similitud.
|
||||
2025-08-09 00:44:57,548 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Acuerdo de Prespa.txt con 13.29% de similitud.
|
||||
2025-08-09 00:44:57,551 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Segunda Cumbre BRIC 2010.txt con 11.86% de similitud.
|
||||
2025-08-09 00:44:57,554 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Santa Marina del Rey.txt con 13.76% de similitud.
|
||||
2025-08-09 00:44:57,557 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Omaira Montoya Henao.txt con 16.22% de similitud.
|
||||
2025-08-09 00:44:57,560 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Biodiversidad Virtual.txt con 13.23% de similitud.
|
||||
2025-08-09 00:44:57,563 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Estudios de ciencia, tecnología y género.txt con 11.80% de similitud.
|
||||
2025-08-09 00:44:57,566 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Representación (política).txt con 13.90% de similitud.
|
||||
2025-08-09 00:44:57,569 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Roxana Campos.txt con 15.37% de similitud.
|
||||
2025-08-09 00:44:57,574 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Reforma económica china.txt con 3.27% de similitud.
|
||||
2025-08-09 00:44:57,577 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Alejandro VII.txt con 10.26% de similitud.
|
||||
2025-08-09 00:44:57,580 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Violencia obstétrica.txt con 12.67% de similitud.
|
||||
2025-08-09 00:44:57,583 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Torrente Gros.txt con 11.64% de similitud.
|
||||
2025-08-09 00:44:57,586 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Guerra de Reforma.txt con 8.89% de similitud.
|
||||
2025-08-09 00:44:57,590 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Certificate Signing Request.txt con 7.02% de similitud.
|
||||
2025-08-09 00:44:57,593 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Katalin Bogyay.txt con 7.94% de similitud.
|
||||
2025-08-09 00:44:57,596 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Unión Ortodoxa.txt con 13.46% de similitud.
|
||||
2025-08-09 00:44:57,600 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Emisora móvil.txt con 5.46% de similitud.
|
||||
2025-08-09 00:44:57,603 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Sanción.txt con 4.75% de similitud.
|
||||
2025-08-09 00:44:57,606 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Saúl Luciano Lliuya.txt con 18.10% de similitud.
|
||||
2025-08-09 00:44:57,609 - INFO - Guardada comparación entre Asociación Civil Transparencia.txt y Antiprotestantismo.txt con 11.11% de similitud.
|
||||
2025-08-09 00:44:57,613 - INFO - Guardada comparación entre Medidas activas.txt y Desigualdad de ingreso en Estados Unidos.txt con 17.19% de similitud.
|
||||
2025-08-09 00:44:57,618 - INFO - Guardada comparación entre Medidas activas.txt y Iberos.txt con 11.34% de similitud.
|
||||
2025-08-09 00:44:57,622 - INFO - Guardada comparación entre Medidas activas.txt y .km.txt con 4.69% de similitud.
|
||||
2025-08-09 00:44:57,626 - INFO - Guardada comparación entre Medidas activas.txt y Censura internacional china.txt con 21.99% de similitud.
|
||||
2025-08-09 00:44:57,630 - INFO - Guardada comparación entre Medidas activas.txt y Alfarería en la provincia de Almería.txt con 18.91% de similitud.
|
||||
2025-08-09 00:44:57,633 - INFO - Guardada comparación entre Medidas activas.txt y Acuerdo de Prespa.txt con 5.11% de similitud.
|
||||
2025-08-09 00:44:57,637 - INFO - Guardada comparación entre Medidas activas.txt y Segunda Cumbre BRIC 2010.txt con 16.23% de similitud.
|
||||
2025-08-09 00:44:57,640 - INFO - Guardada comparación entre Medidas activas.txt y Santa Marina del Rey.txt con 9.02% de similitud.
|
||||
2025-08-09 00:44:57,644 - INFO - Guardada comparación entre Medidas activas.txt y Omaira Montoya Henao.txt con 10.85% de similitud.
|
||||
2025-08-09 00:44:57,648 - INFO - Guardada comparación entre Medidas activas.txt y Biodiversidad Virtual.txt con 11.79% de similitud.
|
||||
2025-08-09 00:44:57,651 - INFO - Guardada comparación entre Medidas activas.txt y Estudios de ciencia, tecnología y género.txt con 17.04% de similitud.
|
||||
2025-08-09 00:44:57,655 - INFO - Guardada comparación entre Medidas activas.txt y Representación (política).txt con 14.27% de similitud.
|
||||
2025-08-09 00:44:57,658 - INFO - Guardada comparación entre Medidas activas.txt y Roxana Campos.txt con 7.25% de similitud.
|
||||
2025-08-09 00:44:57,663 - INFO - Guardada comparación entre Medidas activas.txt y Reforma económica china.txt con 13.63% de similitud.
|
||||
2025-08-09 00:44:57,667 - INFO - Guardada comparación entre Medidas activas.txt y Alejandro VII.txt con 17.10% de similitud.
|
||||
2025-08-09 00:44:57,671 - INFO - Guardada comparación entre Medidas activas.txt y Violencia obstétrica.txt con 13.08% de similitud.
|
||||
2025-08-09 00:44:57,675 - INFO - Guardada comparación entre Medidas activas.txt y Torrente Gros.txt con 12.78% de similitud.
|
||||
2025-08-09 00:44:57,678 - INFO - Guardada comparación entre Medidas activas.txt y Empresa Nacional Siderúrgica.txt con 16.90% de similitud.
|
||||
2025-08-09 00:44:57,682 - INFO - Guardada comparación entre Medidas activas.txt y Certificate Signing Request.txt con 10.05% de similitud.
|
||||
2025-08-09 00:44:57,686 - INFO - Guardada comparación entre Medidas activas.txt y Katalin Bogyay.txt con 21.60% de similitud.
|
||||
2025-08-09 00:44:57,690 - INFO - Guardada comparación entre Medidas activas.txt y Unión Ortodoxa.txt con 15.70% de similitud.
|
||||
2025-08-09 00:44:57,693 - INFO - Guardada comparación entre Medidas activas.txt y Efecto cis.txt con 12.67% de similitud.
|
||||
2025-08-09 00:44:57,696 - INFO - Guardada comparación entre Medidas activas.txt y Sanción.txt con 1.05% de similitud.
|
||||
2025-08-09 00:44:57,700 - INFO - Guardada comparación entre Medidas activas.txt y Saúl Luciano Lliuya.txt con 7.55% de similitud.
|
||||
2025-08-09 00:44:57,704 - INFO - Guardada comparación entre Medidas activas.txt y Antiprotestantismo.txt con 16.65% de similitud.
|
||||
2025-08-09 00:44:57,706 - INFO - Guardada comparación entre Estéfany Grajales.txt y Desigualdad de ingreso en Estados Unidos.txt con 10.78% de similitud.
|
||||
2025-08-09 00:44:57,709 - INFO - Guardada comparación entre Estéfany Grajales.txt y Club Deportivo La Equidad (Femenino).txt con 11.39% de similitud.
|
||||
2025-08-09 00:44:57,712 - INFO - Guardada comparación entre Estéfany Grajales.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 12.99% de similitud.
|
||||
2025-08-09 00:44:57,715 - INFO - Guardada comparación entre Estéfany Grajales.txt y Asesoría Jurídica Internacional.txt con 14.03% de similitud.
|
||||
2025-08-09 00:44:57,719 - INFO - Guardada comparación entre Estéfany Grajales.txt y Desarrollo de videojuegos independiente.txt con 4.42% de similitud.
|
||||
2025-08-09 00:44:57,722 - INFO - Guardada comparación entre Estéfany Grajales.txt y Ingeniería comercial.txt con 14.59% de similitud.
|
||||
2025-08-09 00:44:57,725 - INFO - Guardada comparación entre Estéfany Grajales.txt y Chevrolet Cobalt.txt con 7.40% de similitud.
|
||||
2025-08-09 00:44:57,728 - INFO - Guardada comparación entre Estéfany Grajales.txt y Código Unificado de Punto de Suministro.txt con 10.89% de similitud.
|
||||
2025-08-09 00:44:57,732 - INFO - Guardada comparación entre Estéfany Grajales.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 8.17% de similitud.
|
||||
2025-08-09 00:44:57,735 - INFO - Guardada comparación entre Estéfany Grajales.txt y Estación de tratamiento de agua potable.txt con 13.53% de similitud.
|
||||
2025-08-09 00:44:57,738 - INFO - Guardada comparación entre Estéfany Grajales.txt y Militar.txt con 10.39% de similitud.
|
||||
2025-08-09 00:44:57,741 - INFO - Guardada comparación entre Estéfany Grajales.txt y Demografía de Canadá.txt con 6.79% de similitud.
|
||||
2025-08-09 00:44:57,744 - INFO - Guardada comparación entre Estéfany Grajales.txt y EToro.txt con 11.75% de similitud.
|
||||
2025-08-09 00:44:57,747 - INFO - Guardada comparación entre Estéfany Grajales.txt y Ambiente biofísico.txt con 14.36% de similitud.
|
||||
2025-08-09 00:44:57,750 - INFO - Guardada comparación entre Estéfany Grajales.txt y Juego ganar ganar.txt con 12.12% de similitud.
|
||||
2025-08-09 00:44:57,753 - INFO - Guardada comparación entre Estéfany Grajales.txt y Alejandro VII.txt con 8.78% de similitud.
|
||||
2025-08-09 00:44:57,757 - INFO - Guardada comparación entre Estéfany Grajales.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 8.37% de similitud.
|
||||
2025-08-09 00:44:57,760 - INFO - Guardada comparación entre Estéfany Grajales.txt y Oswald Pohl.txt con 13.65% de similitud.
|
||||
2025-08-09 00:44:57,763 - INFO - Guardada comparación entre Estéfany Grajales.txt y Empresa Nacional Siderúrgica.txt con 9.45% de similitud.
|
||||
2025-08-09 00:44:57,766 - INFO - Guardada comparación entre Estéfany Grajales.txt y Certificate Signing Request.txt con 5.51% de similitud.
|
||||
2025-08-09 00:44:57,769 - INFO - Guardada comparación entre Estéfany Grajales.txt y Katalin Bogyay.txt con 6.51% de similitud.
|
||||
2025-08-09 00:44:57,773 - INFO - Guardada comparación entre Estéfany Grajales.txt y Mercenarios (BattleTech).txt con 6.79% de similitud.
|
||||
2025-08-09 00:44:57,777 - INFO - Guardada comparación entre Estéfany Grajales.txt y Efecto cis.txt con 9.65% de similitud.
|
||||
2025-08-09 00:44:57,781 - INFO - Guardada comparación entre Estéfany Grajales.txt y Sanción.txt con 4.40% de similitud.
|
||||
2025-08-09 00:44:57,783 - INFO - Guardada comparación entre Estéfany Grajales.txt y Saúl Luciano Lliuya.txt con 16.37% de similitud.
|
||||
2025-08-09 00:44:57,787 - INFO - Guardada comparación entre Estéfany Grajales.txt y Antiprotestantismo.txt con 9.59% de similitud.
|
||||
2025-08-09 00:44:57,796 - INFO - Guardada comparación entre Sputnik V.txt y Desigualdad de ingreso en Estados Unidos.txt con 2.53% de similitud.
|
||||
2025-08-09 00:44:57,804 - INFO - Guardada comparación entre Sputnik V.txt y Club Deportivo La Equidad (Femenino).txt con 1.72% de similitud.
|
||||
2025-08-09 00:44:57,812 - INFO - Guardada comparación entre Sputnik V.txt y .km.txt con 0.64% de similitud.
|
||||
2025-08-09 00:44:57,821 - INFO - Guardada comparación entre Sputnik V.txt y Censura internacional china.txt con 4.02% de similitud.
|
||||
2025-08-09 00:44:57,829 - INFO - Guardada comparación entre Sputnik V.txt y Alfarería en la provincia de Almería.txt con 4.28% de similitud.
|
||||
2025-08-09 00:44:57,837 - INFO - Guardada comparación entre Sputnik V.txt y Acuerdo de Prespa.txt con 0.53% de similitud.
|
||||
2025-08-09 00:44:57,846 - INFO - Guardada comparación entre Sputnik V.txt y Segunda Cumbre BRIC 2010.txt con 2.43% de similitud.
|
||||
2025-08-09 00:44:57,853 - INFO - Guardada comparación entre Sputnik V.txt y Santa Marina del Rey.txt con 1.12% de similitud.
|
||||
2025-08-09 00:44:57,862 - INFO - Guardada comparación entre Sputnik V.txt y Omaira Montoya Henao.txt con 1.32% de similitud.
|
||||
2025-08-09 00:44:57,870 - INFO - Guardada comparación entre Sputnik V.txt y Biodiversidad Virtual.txt con 1.74% de similitud.
|
||||
2025-08-09 00:44:57,878 - INFO - Guardada comparación entre Sputnik V.txt y Estudios de ciencia, tecnología y género.txt con 2.52% de similitud.
|
||||
2025-08-09 00:44:57,890 - INFO - Guardada comparación entre Sputnik V.txt y Representación (política).txt con 2.09% de similitud.
|
||||
2025-08-09 00:44:57,902 - INFO - Guardada comparación entre Sputnik V.txt y Roxana Campos.txt con 0.80% de similitud.
|
||||
2025-08-09 00:44:57,915 - INFO - Guardada comparación entre Sputnik V.txt y Reforma económica china.txt con 14.23% de similitud.
|
||||
2025-08-09 00:44:57,924 - INFO - Guardada comparación entre Sputnik V.txt y Alejandro VII.txt con 2.77% de similitud.
|
||||
2025-08-09 00:44:57,932 - INFO - Guardada comparación entre Sputnik V.txt y Violencia obstétrica.txt con 1.74% de similitud.
|
||||
2025-08-09 00:44:57,941 - INFO - Guardada comparación entre Sputnik V.txt y Torrente Gros.txt con 1.93% de similitud.
|
||||
2025-08-09 00:44:57,949 - INFO - Guardada comparación entre Sputnik V.txt y Guerra de Reforma.txt con 4.13% de similitud.
|
||||
2025-08-09 00:44:57,958 - INFO - Guardada comparación entre Sputnik V.txt y Certificate Signing Request.txt con 3.45% de similitud.
|
||||
2025-08-09 00:44:57,967 - INFO - Guardada comparación entre Sputnik V.txt y Katalin Bogyay.txt con 4.88% de similitud.
|
||||
2025-08-09 00:44:57,975 - INFO - Guardada comparación entre Sputnik V.txt y Unión Ortodoxa.txt con 2.37% de similitud.
|
||||
2025-08-09 00:44:57,985 - INFO - Guardada comparación entre Sputnik V.txt y Emisora móvil.txt con 6.42% de similitud.
|
||||
2025-08-09 00:44:57,993 - INFO - Guardada comparación entre Sputnik V.txt y Sanción.txt con 0.10% de similitud.
|
||||
2025-08-09 00:44:58,002 - INFO - Guardada comparación entre Sputnik V.txt y Saúl Luciano Lliuya.txt con 0.89% de similitud.
|
||||
2025-08-09 00:44:58,010 - INFO - Guardada comparación entre Sputnik V.txt y Antiprotestantismo.txt con 2.64% de similitud.
|
||||
2025-08-09 00:44:58,013 - INFO - Guardada comparación entre Día Naranja.txt y Desigualdad de ingreso en Estados Unidos.txt con 12.59% de similitud.
|
||||
2025-08-09 00:44:58,016 - INFO - Guardada comparación entre Día Naranja.txt y Club Deportivo La Equidad (Femenino).txt con 13.83% de similitud.
|
||||
2025-08-09 00:44:58,019 - INFO - Guardada comparación entre Día Naranja.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 15.00% de similitud.
|
||||
2025-08-09 00:44:58,022 - INFO - Guardada comparación entre Día Naranja.txt y Asesoría Jurídica Internacional.txt con 16.10% de similitud.
|
||||
2025-08-09 00:44:58,026 - INFO - Guardada comparación entre Día Naranja.txt y Desarrollo de videojuegos independiente.txt con 6.07% de similitud.
|
||||
2025-08-09 00:44:58,029 - INFO - Guardada comparación entre Día Naranja.txt y Ingeniería comercial.txt con 15.65% de similitud.
|
||||
2025-08-09 00:44:58,033 - INFO - Guardada comparación entre Día Naranja.txt y Chevrolet Cobalt.txt con 5.71% de similitud.
|
||||
2025-08-09 00:44:58,036 - INFO - Guardada comparación entre Día Naranja.txt y Código Unificado de Punto de Suministro.txt con 12.92% de similitud.
|
||||
2025-08-09 00:44:58,039 - INFO - Guardada comparación entre Día Naranja.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 9.75% de similitud.
|
||||
2025-08-09 00:44:58,042 - INFO - Guardada comparación entre Día Naranja.txt y Estación de tratamiento de agua potable.txt con 14.19% de similitud.
|
||||
2025-08-09 00:44:58,046 - INFO - Guardada comparación entre Día Naranja.txt y Militar.txt con 13.34% de similitud.
|
||||
2025-08-09 00:44:58,049 - INFO - Guardada comparación entre Día Naranja.txt y Demografía de Canadá.txt con 9.46% de similitud.
|
||||
2025-08-09 00:44:58,053 - INFO - Guardada comparación entre Día Naranja.txt y EToro.txt con 13.11% de similitud.
|
||||
2025-08-09 00:44:58,056 - INFO - Guardada comparación entre Día Naranja.txt y Ambiente biofísico.txt con 16.18% de similitud.
|
||||
2025-08-09 00:44:58,059 - INFO - Guardada comparación entre Día Naranja.txt y Juego ganar ganar.txt con 14.96% de similitud.
|
||||
2025-08-09 00:44:58,063 - INFO - Guardada comparación entre Día Naranja.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 10.43% de similitud.
|
||||
2025-08-09 00:44:58,066 - INFO - Guardada comparación entre Día Naranja.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 11.75% de similitud.
|
||||
2025-08-09 00:44:58,070 - INFO - Guardada comparación entre Día Naranja.txt y Oswald Pohl.txt con 16.52% de similitud.
|
||||
2025-08-09 00:44:58,073 - INFO - Guardada comparación entre Día Naranja.txt y Empresa Nacional Siderúrgica.txt con 10.96% de similitud.
|
||||
2025-08-09 00:44:58,076 - INFO - Guardada comparación entre Día Naranja.txt y Teletón El Salvador.txt con 11.40% de similitud.
|
||||
2025-08-09 00:44:58,080 - INFO - Guardada comparación entre Día Naranja.txt y Antônio de Sousa Neto.txt con 14.33% de similitud.
|
||||
2025-08-09 00:44:58,083 - INFO - Guardada comparación entre Día Naranja.txt y Mercenarios (BattleTech).txt con 9.49% de similitud.
|
||||
2025-08-09 00:44:58,087 - INFO - Guardada comparación entre Día Naranja.txt y Efecto cis.txt con 11.08% de similitud.
|
||||
2025-08-09 00:44:58,090 - INFO - Guardada comparación entre Día Naranja.txt y Demografía de la República Democrática del Congo.txt con 11.45% de similitud.
|
||||
2025-08-09 00:44:58,094 - INFO - Guardada comparación entre Día Naranja.txt y Desigualdad de ingreso.txt con 5.40% de similitud.
|
||||
2025-08-09 00:44:58,098 - INFO - Guardada comparación entre Día Naranja.txt y Terrorismo de extrema izquierda.txt con 6.15% de similitud.
|
||||
2025-08-09 00:44:58,103 - INFO - Guardada comparación entre Negro de carbón.txt y Club Deportivo La Equidad (Femenino).txt con 16.02% de similitud.
|
||||
2025-08-09 00:44:58,107 - INFO - Guardada comparación entre Negro de carbón.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 15.13% de similitud.
|
||||
2025-08-09 00:44:58,110 - INFO - Guardada comparación entre Negro de carbón.txt y Asesoría Jurídica Internacional.txt con 15.62% de similitud.
|
||||
2025-08-09 00:44:58,114 - INFO - Guardada comparación entre Negro de carbón.txt y Desarrollo de videojuegos independiente.txt con 8.75% de similitud.
|
||||
2025-08-09 00:44:58,117 - INFO - Guardada comparación entre Negro de carbón.txt y Ingeniería comercial.txt con 17.09% de similitud.
|
||||
2025-08-09 00:44:58,120 - INFO - Guardada comparación entre Negro de carbón.txt y Chevrolet Cobalt.txt con 4.84% de similitud.
|
||||
2025-08-09 00:44:58,124 - INFO - Guardada comparación entre Negro de carbón.txt y Código Unificado de Punto de Suministro.txt con 16.91% de similitud.
|
||||
2025-08-09 00:44:58,127 - INFO - Guardada comparación entre Negro de carbón.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 13.27% de similitud.
|
||||
2025-08-09 00:44:58,131 - INFO - Guardada comparación entre Negro de carbón.txt y Estación de tratamiento de agua potable.txt con 13.96% de similitud.
|
||||
2025-08-09 00:44:58,134 - INFO - Guardada comparación entre Negro de carbón.txt y Militar.txt con 17.43% de similitud.
|
||||
2025-08-09 00:44:58,137 - INFO - Guardada comparación entre Negro de carbón.txt y Demografía de Canadá.txt con 12.65% de similitud.
|
||||
2025-08-09 00:44:58,141 - INFO - Guardada comparación entre Negro de carbón.txt y EToro.txt con 15.04% de similitud.
|
||||
2025-08-09 00:44:58,144 - INFO - Guardada comparación entre Negro de carbón.txt y Ambiente biofísico.txt con 18.35% de similitud.
|
||||
2025-08-09 00:44:58,148 - INFO - Guardada comparación entre Negro de carbón.txt y Juego ganar ganar.txt con 18.15% de similitud.
|
||||
2025-08-09 00:44:58,151 - INFO - Guardada comparación entre Negro de carbón.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 13.09% de similitud.
|
||||
2025-08-09 00:44:58,155 - INFO - Guardada comparación entre Negro de carbón.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 13.83% de similitud.
|
||||
2025-08-09 00:44:58,158 - INFO - Guardada comparación entre Negro de carbón.txt y Oswald Pohl.txt con 16.43% de similitud.
|
||||
2025-08-09 00:44:58,161 - INFO - Guardada comparación entre Negro de carbón.txt y Empresa Nacional Siderúrgica.txt con 14.35% de similitud.
|
||||
2025-08-09 00:44:58,165 - INFO - Guardada comparación entre Negro de carbón.txt y Teletón El Salvador.txt con 15.09% de similitud.
|
||||
2025-08-09 00:44:58,168 - INFO - Guardada comparación entre Negro de carbón.txt y Antônio de Sousa Neto.txt con 14.14% de similitud.
|
||||
2025-08-09 00:44:58,173 - INFO - Guardada comparación entre Negro de carbón.txt y Unión Ortodoxa.txt con 16.45% de similitud.
|
||||
2025-08-09 00:44:58,176 - INFO - Guardada comparación entre Negro de carbón.txt y Efecto cis.txt con 16.22% de similitud.
|
||||
2025-08-09 00:44:58,180 - INFO - Guardada comparación entre Negro de carbón.txt y Sanción.txt con 2.86% de similitud.
|
||||
2025-08-09 00:44:58,183 - INFO - Guardada comparación entre Negro de carbón.txt y Saúl Luciano Lliuya.txt con 13.32% de similitud.
|
||||
2025-08-09 00:44:58,187 - INFO - Guardada comparación entre Negro de carbón.txt y Antiprotestantismo.txt con 14.66% de similitud.
|
||||
2025-08-09 00:44:58,191 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Desigualdad de ingreso en Estados Unidos.txt con 6.88% de similitud.
|
||||
2025-08-09 00:44:58,195 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Club Deportivo La Equidad (Femenino).txt con 9.47% de similitud.
|
||||
2025-08-09 00:44:58,198 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 9.23% de similitud.
|
||||
2025-08-09 00:44:58,202 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Asesoría Jurídica Internacional.txt con 11.29% de similitud.
|
||||
2025-08-09 00:44:58,206 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Desarrollo de videojuegos independiente.txt con 3.19% de similitud.
|
||||
2025-08-09 00:44:58,209 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Ingeniería comercial.txt con 9.76% de similitud.
|
||||
2025-08-09 00:44:58,212 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Chevrolet Cobalt.txt con 6.39% de similitud.
|
||||
2025-08-09 00:44:58,215 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Código Unificado de Punto de Suministro.txt con 8.91% de similitud.
|
||||
2025-08-09 00:44:58,218 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 6.19% de similitud.
|
||||
2025-08-09 00:44:58,221 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Estación de tratamiento de agua potable.txt con 12.68% de similitud.
|
||||
2025-08-09 00:44:58,224 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Militar.txt con 7.43% de similitud.
|
||||
2025-08-09 00:44:58,228 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Demografía de Canadá.txt con 5.29% de similitud.
|
||||
2025-08-09 00:44:58,231 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y EToro.txt con 8.49% de similitud.
|
||||
2025-08-09 00:44:58,234 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Ambiente biofísico.txt con 11.35% de similitud.
|
||||
2025-08-09 00:44:58,237 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Juego ganar ganar.txt con 9.90% de similitud.
|
||||
2025-08-09 00:44:58,241 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 5.22% de similitud.
|
||||
2025-08-09 00:44:58,244 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 6.22% de similitud.
|
||||
2025-08-09 00:44:58,247 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Oswald Pohl.txt con 11.04% de similitud.
|
||||
2025-08-09 00:44:58,250 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Empresa Nacional Siderúrgica.txt con 6.63% de similitud.
|
||||
2025-08-09 00:44:58,253 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Teletón El Salvador.txt con 6.55% de similitud.
|
||||
2025-08-09 00:44:58,256 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Antônio de Sousa Neto.txt con 12.01% de similitud.
|
||||
2025-08-09 00:44:58,259 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Mercenarios (BattleTech).txt con 5.72% de similitud.
|
||||
2025-08-09 00:44:58,263 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Efecto cis.txt con 7.21% de similitud.
|
||||
2025-08-09 00:44:58,266 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Sanción.txt con 5.14% de similitud.
|
||||
2025-08-09 00:44:58,269 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Saúl Luciano Lliuya.txt con 11.93% de similitud.
|
||||
2025-08-09 00:44:58,272 - INFO - Guardada comparación entre Microsoft Anti-Virus.txt y Antiprotestantismo.txt con 6.77% de similitud.
|
||||
2025-08-09 00:44:58,275 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Desigualdad de ingreso en Estados Unidos.txt con 11.60% de similitud.
|
||||
2025-08-09 00:44:58,278 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Club Deportivo La Equidad (Femenino).txt con 13.85% de similitud.
|
||||
2025-08-09 00:44:58,281 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 18.60% de similitud.
|
||||
2025-08-09 00:44:58,284 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Asesoría Jurídica Internacional.txt con 17.80% de similitud.
|
||||
2025-08-09 00:44:58,288 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Desarrollo de videojuegos independiente.txt con 4.54% de similitud.
|
||||
2025-08-09 00:44:58,291 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Acuerdo de Prespa.txt con 13.00% de similitud.
|
||||
2025-08-09 00:44:58,297 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Chevrolet Cobalt.txt con 6.85% de similitud.
|
||||
2025-08-09 00:44:58,300 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 8.87% de similitud.
|
||||
2025-08-09 00:44:58,303 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Omaira Montoya Henao.txt con 15.45% de similitud.
|
||||
2025-08-09 00:44:58,306 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Estación de tratamiento de agua potable.txt con 14.49% de similitud.
|
||||
2025-08-09 00:44:58,309 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Militar.txt con 12.70% de similitud.
|
||||
2025-08-09 00:44:58,313 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Demografía de Canadá.txt con 7.30% de similitud.
|
||||
2025-08-09 00:44:58,316 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Roxana Campos.txt con 14.18% de similitud.
|
||||
2025-08-09 00:44:58,319 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Ambiente biofísico.txt con 13.53% de similitud.
|
||||
2025-08-09 00:44:58,322 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Juego ganar ganar.txt con 13.72% de similitud.
|
||||
2025-08-09 00:44:58,325 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 8.82% de similitud.
|
||||
2025-08-09 00:44:58,328 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 10.54% de similitud.
|
||||
2025-08-09 00:44:58,331 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Oswald Pohl.txt con 16.05% de similitud.
|
||||
2025-08-09 00:44:58,334 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Empresa Nacional Siderúrgica.txt con 10.27% de similitud.
|
||||
2025-08-09 00:44:58,337 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Teletón El Salvador.txt con 10.78% de similitud.
|
||||
2025-08-09 00:44:58,340 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Antônio de Sousa Neto.txt con 14.43% de similitud.
|
||||
2025-08-09 00:44:58,343 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Mercenarios (BattleTech).txt con 8.08% de similitud.
|
||||
2025-08-09 00:44:58,347 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Efecto cis.txt con 10.65% de similitud.
|
||||
2025-08-09 00:44:58,350 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Demografía de la República Democrática del Congo.txt con 10.82% de similitud.
|
||||
2025-08-09 00:44:58,353 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Desigualdad de ingreso.txt con 4.31% de similitud.
|
||||
2025-08-09 00:44:58,357 - INFO - Guardada comparación entre Dirección General de Logística Informativa.txt y Terrorismo de extrema izquierda.txt con 4.85% de similitud.
|
||||
2025-08-09 00:44:58,362 - INFO - Guardada comparación entre Criptografía híbrida.txt y Iberos.txt con 1.56% de similitud.
|
||||
2025-08-09 00:44:58,365 - INFO - Guardada comparación entre Criptografía híbrida.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 8.43% de similitud.
|
||||
2025-08-09 00:44:58,368 - INFO - Guardada comparación entre Criptografía híbrida.txt y Censura internacional china.txt con 5.01% de similitud.
|
||||
2025-08-09 00:44:58,372 - INFO - Guardada comparación entre Criptografía híbrida.txt y Alfarería en la provincia de Almería.txt con 4.71% de similitud.
|
||||
2025-08-09 00:44:58,375 - INFO - Guardada comparación entre Criptografía híbrida.txt y Acuerdo de Prespa.txt con 10.82% de similitud.
|
||||
2025-08-09 00:44:58,378 - INFO - Guardada comparación entre Criptografía híbrida.txt y Segunda Cumbre BRIC 2010.txt con 7.86% de similitud.
|
||||
2025-08-09 00:44:58,381 - INFO - Guardada comparación entre Criptografía híbrida.txt y Santa Marina del Rey.txt con 10.34% de similitud.
|
||||
2025-08-09 00:44:58,384 - INFO - Guardada comparación entre Criptografía híbrida.txt y Omaira Montoya Henao.txt con 10.04% de similitud.
|
||||
2025-08-09 00:44:58,387 - INFO - Guardada comparación entre Criptografía híbrida.txt y Biodiversidad Virtual.txt con 8.47% de similitud.
|
||||
2025-08-09 00:44:58,390 - INFO - Guardada comparación entre Criptografía híbrida.txt y Estudios de ciencia, tecnología y género.txt con 6.56% de similitud.
|
||||
2025-08-09 00:44:58,393 - INFO - Guardada comparación entre Criptografía híbrida.txt y Representación (política).txt con 8.81% de similitud.
|
||||
2025-08-09 00:44:58,395 - INFO - Guardada comparación entre Criptografía híbrida.txt y Roxana Campos.txt con 9.63% de similitud.
|
||||
2025-08-09 00:44:58,399 - INFO - Guardada comparación entre Criptografía híbrida.txt y Reforma económica china.txt con 1.69% de similitud.
|
||||
2025-08-09 00:44:58,403 - INFO - Guardada comparación entre Criptografía híbrida.txt y Alejandro VII.txt con 6.62% de similitud.
|
||||
2025-08-09 00:44:58,406 - INFO - Guardada comparación entre Criptografía híbrida.txt y Violencia obstétrica.txt con 10.00% de similitud.
|
||||
2025-08-09 00:44:58,409 - INFO - Guardada comparación entre Criptografía híbrida.txt y Torrente Gros.txt con 8.30% de similitud.
|
||||
2025-08-09 00:44:58,412 - INFO - Guardada comparación entre Criptografía híbrida.txt y Guerra de Reforma.txt con 5.11% de similitud.
|
||||
2025-08-09 00:44:58,416 - INFO - Guardada comparación entre Criptografía híbrida.txt y Certificate Signing Request.txt con 5.23% de similitud.
|
||||
2025-08-09 00:44:58,419 - INFO - Guardada comparación entre Criptografía híbrida.txt y Katalin Bogyay.txt con 4.22% de similitud.
|
||||
2025-08-09 00:44:58,422 - INFO - Guardada comparación entre Criptografía híbrida.txt y Unión Ortodoxa.txt con 7.73% de similitud.
|
||||
2025-08-09 00:44:58,426 - INFO - Guardada comparación entre Criptografía híbrida.txt y Emisora móvil.txt con 3.69% de similitud.
|
||||
2025-08-09 00:44:58,429 - INFO - Guardada comparación entre Criptografía híbrida.txt y Demografía de la República Democrática del Congo.txt con 6.86% de similitud.
|
||||
2025-08-09 00:44:58,436 - INFO - Guardada comparación entre Criptografía híbrida.txt y Desigualdad de ingreso.txt con 2.72% de similitud.
|
||||
2025-08-09 00:44:58,439 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Desigualdad de ingreso en Estados Unidos.txt con 5.05% de similitud.
|
||||
2025-08-09 00:44:58,442 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Club Deportivo La Equidad (Femenino).txt con 7.00% de similitud.
|
||||
2025-08-09 00:44:58,445 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 6.28% de similitud.
|
||||
2025-08-09 00:44:58,448 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Asesoría Jurídica Internacional.txt con 8.06% de similitud.
|
||||
2025-08-09 00:44:58,451 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Desarrollo de videojuegos independiente.txt con 1.98% de similitud.
|
||||
2025-08-09 00:44:58,454 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Acuerdo de Prespa.txt con 13.32% de similitud.
|
||||
2025-08-09 00:44:58,457 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Chevrolet Cobalt.txt con 7.43% de similitud.
|
||||
2025-08-09 00:44:58,460 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Código Unificado de Punto de Suministro.txt con 6.43% de similitud.
|
||||
2025-08-09 00:44:58,463 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 3.81% de similitud.
|
||||
2025-08-09 00:44:58,465 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Estación de tratamiento de agua potable.txt con 8.87% de similitud.
|
||||
2025-08-09 00:44:58,469 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Militar.txt con 5.28% de similitud.
|
||||
2025-08-09 00:44:58,472 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Demografía de Canadá.txt con 3.39% de similitud.
|
||||
2025-08-09 00:44:58,475 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y EToro.txt con 5.99% de similitud.
|
||||
2025-08-09 00:44:58,478 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Ambiente biofísico.txt con 6.93% de similitud.
|
||||
2025-08-09 00:44:58,480 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Juego ganar ganar.txt con 6.57% de similitud.
|
||||
2025-08-09 00:44:58,484 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 3.37% de similitud.
|
||||
2025-08-09 00:44:58,487 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 4.26% de similitud.
|
||||
2025-08-09 00:44:58,489 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Torrente Gros.txt con 5.86% de similitud.
|
||||
2025-08-09 00:44:58,492 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Oswald Pohl.txt con 8.37% de similitud.
|
||||
2025-08-09 00:44:58,495 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Empresa Nacional Siderúrgica.txt con 4.81% de similitud.
|
||||
2025-08-09 00:44:58,498 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Teletón El Salvador.txt con 4.34% de similitud.
|
||||
2025-08-09 00:44:58,501 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Antônio de Sousa Neto.txt con 9.71% de similitud.
|
||||
2025-08-09 00:44:58,504 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Mercenarios (BattleTech).txt con 3.74% de similitud.
|
||||
2025-08-09 00:44:58,507 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Efecto cis.txt con 4.61% de similitud.
|
||||
2025-08-09 00:44:58,510 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Demografía de la República Democrática del Congo.txt con 4.71% de similitud.
|
||||
2025-08-09 00:44:58,514 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Desigualdad de ingreso.txt con 1.70% de similitud.
|
||||
2025-08-09 00:44:58,517 - INFO - Guardada comparación entre Ciclismo en los Juegos Europeos de Minsk 2019.txt y Terrorismo de extrema izquierda.txt con 1.95% de similitud.
|
||||
2025-08-09 00:44:58,521 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Club Deportivo La Equidad (Femenino).txt con 18.65% de similitud.
|
||||
2025-08-09 00:44:58,524 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Dirección General de Atención a las Víctimas y Promoción de la Memoria Democrática.txt con 19.35% de similitud.
|
||||
2025-08-09 00:44:58,528 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Asesoría Jurídica Internacional.txt con 17.87% de similitud.
|
||||
2025-08-09 00:44:58,532 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Desarrollo de videojuegos independiente.txt con 9.60% de similitud.
|
||||
2025-08-09 00:44:58,535 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Ingeniería comercial.txt con 19.27% de similitud.
|
||||
2025-08-09 00:44:58,538 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Chevrolet Cobalt.txt con 3.70% de similitud.
|
||||
2025-08-09 00:44:58,541 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Código Unificado de Punto de Suministro.txt con 16.43% de similitud.
|
||||
2025-08-09 00:44:58,545 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Guerra de guerrillas en la península ibérica durante las guerras napoleónicas.txt con 17.08% de similitud.
|
||||
2025-08-09 00:44:58,548 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Estación de tratamiento de agua potable.txt con 11.94% de similitud.
|
||||
2025-08-09 00:44:58,552 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Militar.txt con 18.72% de similitud.
|
||||
2025-08-09 00:44:58,555 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Demografía de Canadá.txt con 14.78% de similitud.
|
||||
2025-08-09 00:44:58,558 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y EToro.txt con 19.12% de similitud.
|
||||
2025-08-09 00:44:58,562 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Ambiente biofísico.txt con 17.33% de similitud.
|
||||
2025-08-09 00:44:58,565 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Juego ganar ganar.txt con 16.06% de similitud.
|
||||
2025-08-09 00:44:58,568 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Declaración de los Derechos de la Mujer y de la Ciudadana.txt con 14.79% de similitud.
|
||||
2025-08-09 00:44:58,572 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Convención Marco de las Naciones Unidas sobre el Cambio Climático.txt con 17.52% de similitud.
|
||||
2025-08-09 00:44:58,575 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Oswald Pohl.txt con 18.15% de similitud.
|
||||
2025-08-09 00:44:58,578 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Empresa Nacional Siderúrgica.txt con 17.55% de similitud.
|
||||
2025-08-09 00:44:58,582 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Teletón El Salvador.txt con 17.44% de similitud.
|
||||
2025-08-09 00:44:58,585 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Antônio de Sousa Neto.txt con 14.52% de similitud.
|
||||
2025-08-09 00:44:58,588 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Unión Ortodoxa.txt con 18.93% de similitud.
|
||||
2025-08-09 00:44:58,593 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Emisora móvil.txt con 9.68% de similitud.
|
||||
2025-08-09 00:44:58,596 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Demografía de la República Democrática del Congo.txt con 16.85% de similitud.
|
||||
2025-08-09 00:44:58,601 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Desigualdad de ingreso.txt con 9.08% de similitud.
|
||||
2025-08-09 00:44:58,604 - INFO - Guardada comparación entre Relaciones España-Finlandia.txt y Terrorismo de extrema izquierda.txt con 10.23% de similitud.
|
||||
68871
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.log.3
Normal file
68871
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.log.3
Normal file
File diff suppressed because it is too large
Load diff
1255
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.log.4
Normal file
1255
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.log.4
Normal file
File diff suppressed because it is too large
Load diff
1245
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.log.5
Normal file
1245
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.log.5
Normal file
File diff suppressed because it is too large
Load diff
276
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.py
Executable file
276
FLUJOS_DATOS/COMPARACIONES/pipeline_mongolo.py
Executable file
|
|
@ -0,0 +1,276 @@
|
|||
import os
|
||||
import re
|
||||
import logging
|
||||
from logging.handlers import RotatingFileHandler
|
||||
from collections import Counter
|
||||
from datetime import datetime
|
||||
from pymongo import MongoClient
|
||||
from tqdm import tqdm
|
||||
from multiprocessing import Pool
|
||||
import string
|
||||
import nltk
|
||||
from nltk.corpus import stopwords
|
||||
|
||||
# Descargar stopwords la primera vez
|
||||
nltk.download('stopwords')
|
||||
stop_words = set(stopwords.words('spanish'))
|
||||
|
||||
# Parámetros de configuración
|
||||
SIMILARITY_THRESHOLD = 4.0
|
||||
LOG_FILE = "pipeline_mongolo.log"
|
||||
NUM_PROCESOS = 2 # Número de procesos para el Pool
|
||||
BATCH_SIZE = 50 # Tamaño del lote para archivos
|
||||
|
||||
# Configuración de logging con rotación de archivos
|
||||
logger = logging.getLogger()
|
||||
logger.setLevel(logging.INFO)
|
||||
|
||||
handler = RotatingFileHandler(LOG_FILE, maxBytes=10*1024*1024, backupCount=5) # 10 MB por archivo, 5 archivos de respaldo
|
||||
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
|
||||
handler.setFormatter(formatter)
|
||||
|
||||
logger.addHandler(handler)
|
||||
|
||||
# Función para iniciar un cliente MongoDB
|
||||
def init_mongo_client():
|
||||
"""Inicializa un nuevo cliente MongoDB para cada proceso."""
|
||||
return MongoClient('localhost', 27017)
|
||||
|
||||
# Función para preprocesar el texto
|
||||
def preprocesar_texto(texto):
|
||||
# Eliminar signos de puntuación
|
||||
texto = texto.translate(str.maketrans('', '', string.punctuation))
|
||||
# Convertir a minúsculas
|
||||
texto = texto.lower()
|
||||
# Eliminar stop words
|
||||
palabras = texto.split()
|
||||
palabras = [word for word in palabras if word not in stop_words]
|
||||
return ' '.join(palabras)
|
||||
|
||||
# Función para asignar tema y subtema basado en el contenido del texto
|
||||
def asignar_tema_y_subtema(texto):
|
||||
tematicas = {
|
||||
'inteligencia y seguridad': ['inteligencia', 'ciberseguridad', 'espionaje', 'seguridad nacional', 'contraterrorismo'],
|
||||
'cambio climático': ['cambio climático', 'desastres naturales', 'conservación', 'energía renovable', 'escasez de agua'],
|
||||
'guerra global': ['conflictos internacionales', 'guerras civiles', 'terrorismo', 'armas', 'alianzas militares'],
|
||||
'demografía y sociedad': ['sobrepoblación', 'enfermedades', 'migraciones', 'urbanización', 'despoblación rural'],
|
||||
'economía y corporaciones': ['economía global', 'corporaciones multinacionales', 'comercio internacional', 'organismos financieros', 'desigualdad económica']
|
||||
}
|
||||
|
||||
texto_lower = texto.lower()
|
||||
for tema, palabras_clave in tematicas.items():
|
||||
for palabra_clave in palabras_clave:
|
||||
if palabra_clave in texto_lower:
|
||||
return tema, palabra_clave
|
||||
return 'otros', 'general'
|
||||
|
||||
# Función para extraer la fecha del nombre del archivo
|
||||
def extraer_fecha_de_nombre(nombre_archivo):
|
||||
try:
|
||||
fecha_str = re.search(r'\d{4}-\d{2}-\d{2}', nombre_archivo).group(0)
|
||||
return datetime.strptime(fecha_str, '%Y-%m-%d')
|
||||
except:
|
||||
return None
|
||||
|
||||
# Función para contar palabras en un archivo tokenizado
|
||||
def contar_palabras(nombre_archivo):
|
||||
try:
|
||||
with open(nombre_archivo, 'r', encoding='utf-8') as f:
|
||||
palabras = f.read().split()
|
||||
return Counter(palabras)
|
||||
except Exception as e:
|
||||
logging.error(f"Error al contar palabras en {nombre_archivo}: {e}")
|
||||
return Counter()
|
||||
|
||||
# Función para comparar dos archivos y calcular el porcentaje de similitud
|
||||
def comparar_archivos(archivo1, archivo2):
|
||||
try:
|
||||
conteo1 = contar_palabras(archivo1)
|
||||
conteo2 = contar_palabras(archivo2)
|
||||
|
||||
palabras_comunes = set(conteo1.keys()) & set(conteo2.keys())
|
||||
num_palabras_comunes = sum(min(conteo1[p], conteo2[p]) for p in palabras_comunes)
|
||||
num_palabras_totales = sum(conteo1.values()) + sum(conteo2.values())
|
||||
|
||||
if num_palabras_totales == 0:
|
||||
return 0
|
||||
|
||||
porcentaje_similitud = (num_palabras_comunes / num_palabras_totales) * 100
|
||||
return porcentaje_similitud
|
||||
except Exception as e:
|
||||
logging.error(f"Error al comparar archivos {archivo1} y {archivo2}: {e}", exc_info=True)
|
||||
return 0 # Retornar 0 en caso de error
|
||||
|
||||
# Función paralelizada para manejar las comparaciones
|
||||
def manejar_comparacion_multiproceso(pair):
|
||||
archivo1, archivo2 = pair
|
||||
try:
|
||||
# Inicia MongoDB dentro del proceso
|
||||
client = init_mongo_client()
|
||||
db = client['FLUJOS_DATOS']
|
||||
comparaciones_collection = db['comparaciones']
|
||||
|
||||
nombre_archivo1 = os.path.basename(archivo1)
|
||||
nombre_archivo2 = os.path.basename(archivo2)
|
||||
|
||||
porcentaje = comparar_archivos(archivo1, archivo2)
|
||||
comparacion = {
|
||||
'noticia1': nombre_archivo1,
|
||||
'noticia2': nombre_archivo2,
|
||||
'porcentaje_similitud': porcentaje
|
||||
}
|
||||
|
||||
comparaciones_collection.insert_one(comparacion)
|
||||
logging.info(f"Guardada comparación entre {nombre_archivo1} y {nombre_archivo2} con {porcentaje:.2f}% de similitud.")
|
||||
except Exception as e:
|
||||
logging.error(f"Error al manejar comparación {archivo1} vs {archivo2}: {e}", exc_info=True)
|
||||
finally:
|
||||
client.close()
|
||||
|
||||
# Función para verificar si el documento ya fue procesado
|
||||
def documento_ya_subido(nombre_archivo, collection):
|
||||
return collection.find_one({"archivo": nombre_archivo}) is not None
|
||||
|
||||
# Función para subir documentos a MongoDB
|
||||
def subir_documento_a_mongodb(nombre_archivo, tema, subtema, fecha, texto, collection):
|
||||
documento = {
|
||||
'archivo': nombre_archivo,
|
||||
'tema': tema,
|
||||
'subtema': subtema,
|
||||
'fecha': fecha,
|
||||
'texto': texto # Subimos el texto original
|
||||
}
|
||||
try:
|
||||
collection.insert_one(documento)
|
||||
logging.info(f"Subido documento: {nombre_archivo} con tema: {tema}, subtema: {subtema}.")
|
||||
except Exception as e:
|
||||
logging.error(f"Error al subir documento {nombre_archivo}: {e}")
|
||||
|
||||
# Función para procesar documentos y subirlos a MongoDB
|
||||
def procesar_documentos(directorio, collection):
|
||||
archivos = [os.path.join(directorio, f) for f in os.listdir(directorio)]
|
||||
print(f"Procesando {len(archivos)} archivos en el directorio: {directorio}")
|
||||
|
||||
# Subir documentos a MongoDB
|
||||
with tqdm(total=len(archivos), desc=f"Subiendo documentos a MongoDB ({collection.name})", ncols=100) as pbar:
|
||||
for archivo in archivos:
|
||||
nombre_archivo = os.path.basename(archivo)
|
||||
if documento_ya_subido(nombre_archivo, collection):
|
||||
logging.info(f"Saltando {nombre_archivo}, ya está subido.")
|
||||
pbar.update(1)
|
||||
continue
|
||||
|
||||
fecha = extraer_fecha_de_nombre(nombre_archivo)
|
||||
|
||||
try:
|
||||
with open(archivo, 'r', encoding='utf-8') as f:
|
||||
texto_original = f.read()
|
||||
texto_preprocesado = preprocesar_texto(texto_original)
|
||||
tema, subtema = asignar_tema_y_subtema(texto_preprocesado)
|
||||
subir_documento_a_mongodb(nombre_archivo, tema, subtema, fecha, texto_original, collection)
|
||||
except Exception as e:
|
||||
logging.error(f"Error al procesar archivo {archivo}: {e}")
|
||||
|
||||
pbar.update(1)
|
||||
|
||||
# Función mejorada para manejar las comparaciones con menor uso de RAM
|
||||
def manejar_comparaciones_multiproceso(directorios_tokenized):
|
||||
try:
|
||||
archivos_tokenizados = []
|
||||
for directorio in directorios_tokenized:
|
||||
archivos_directorio = [os.path.join(directorio, f) for f in os.listdir(directorio)]
|
||||
archivos_tokenizados.append(archivos_directorio)
|
||||
|
||||
total_pairs = 0
|
||||
|
||||
# Procesar combinaciones para reducir el uso de memoria
|
||||
for i in range(len(archivos_tokenizados)):
|
||||
for j in range(i+1, len(archivos_tokenizados)):
|
||||
archivos1 = archivos_tokenizados[i]
|
||||
archivos2 = archivos_tokenizados[j]
|
||||
|
||||
num_archivos1 = len(archivos1)
|
||||
num_archivos2 = len(archivos2)
|
||||
|
||||
logging.info(f"Comparando {num_archivos1} archivos de {directorios_tokenized[i]} con {num_archivos2} archivos de {directorios_tokenized[j]}")
|
||||
|
||||
# Procesar por bloques
|
||||
for idx1 in range(0, num_archivos1, BATCH_SIZE):
|
||||
batch_archivos1 = archivos1[idx1:idx1+BATCH_SIZE]
|
||||
for idx2 in range(0, num_archivos2, BATCH_SIZE):
|
||||
batch_archivos2 = archivos2[idx2:idx2+BATCH_SIZE]
|
||||
|
||||
# Usar un generador para los pares
|
||||
def pair_generator():
|
||||
for a1 in batch_archivos1:
|
||||
for a2 in batch_archivos2:
|
||||
yield (a1, a2)
|
||||
|
||||
total_pairs_in_batch = len(batch_archivos1) * len(batch_archivos2)
|
||||
total_pairs += total_pairs_in_batch
|
||||
logging.info(f"Procesando batch de {total_pairs_in_batch} pares")
|
||||
|
||||
with Pool(processes=NUM_PROCESOS) as pool:
|
||||
list(tqdm(
|
||||
pool.imap_unordered(manejar_comparacion_multiproceso, pair_generator()),
|
||||
total=total_pairs_in_batch,
|
||||
desc=f"Comparando archivos",
|
||||
ncols=100
|
||||
))
|
||||
|
||||
logging.info(f"Total de pares comparados: {total_pairs}")
|
||||
|
||||
except Exception as e:
|
||||
logging.error(f"Error en manejar_comparaciones_multiproceso: {e}", exc_info=True)
|
||||
|
||||
def main():
|
||||
try:
|
||||
# Rutas absolutas de los archivos en formato txt
|
||||
carpeta_noticias_txt = '/var/www/theflows.net/flujos/FLUJOS_DATOS/NOTICIAS/articulos'
|
||||
carpeta_wikipedia_txt = '/var/www/theflows.net/flujos/FLUJOS_DATOS/WIKIPEDIA/articulos_wikipedia'
|
||||
carpeta_torrents_txt = '/var/www/theflows.net/flujos/FLUJOS_DATOS/TORRENTS/TORRENTS_WIKILEAKS_COMPLETO/txt'
|
||||
|
||||
# Carpetas con los archivos tokenizados para hacer las comparaciones
|
||||
carpeta_noticias_tokenized = '/var/www/theflows.net/flujos/FLUJOS_DATOS/NOTICIAS/tokenized'
|
||||
carpeta_wikipedia_tokenized = '/var/www/theflows.net/flujos/FLUJOS_DATOS/WIKIPEDIA/articulos_tokenizados'
|
||||
carpeta_torrents_tokenized = '/var/www/theflows.net/flujos/FLUJOS_DATOS/TORRENTS/TORRENTS_WIKILEAKS_COMPLETO/tokenized'
|
||||
|
||||
# Iniciar cliente MongoDB
|
||||
client = init_mongo_client()
|
||||
|
||||
# Subir las noticias, artículos de Wikipedia y TORRENTS a MongoDB en formato txt
|
||||
# print("Subiendo archivos originales de Noticias a MongoDB...")
|
||||
# logging.info("Iniciando subida de noticias a MongoDB")
|
||||
# procesar_documentos(carpeta_noticias_txt, client['FLUJOS_DATOS']['noticias'])
|
||||
# logging.info("Finalizada subida de noticias a MongoDB")
|
||||
|
||||
#print("Subiendo archivos originales de Wikipedia a MongoDB...")
|
||||
#logging.info("Iniciando subida de Wikipedia a MongoDB")
|
||||
#procesar_documentos(carpeta_wikipedia_txt, client['FLUJOS_DATOS']['wikipedia'])
|
||||
#logging.info("Finalizada subida de Wikipedia a MongoDB")
|
||||
|
||||
print("Subiendo archivos originales de TORRENTS a MongoDB...")
|
||||
logging.info("Iniciando subida de TORRENTS a MongoDB")
|
||||
procesar_documentos(carpeta_torrents_txt, client['FLUJOS_DATOS']['torrents'])
|
||||
logging.info("Finalizada subida de TORRENTS a MongoDB")
|
||||
|
||||
|
||||
# ==> Sólo comparaciones Wikipedia vs Wikipedia <==
|
||||
print("Comparando textos tokenizados de Wikipedia entre sí...")
|
||||
logging.info("Iniciando comparaciones sólo de Wikipedia")
|
||||
manejar_comparaciones_multiproceso([
|
||||
carpeta_wikipedia_tokenized,
|
||||
carpeta_wikipedia_tokenized
|
||||
])
|
||||
logging.info("Finalizadas comparaciones de Wikipedia")
|
||||
|
||||
# print("Comparando textos tokenizados entre Noticias, Wikipedia y TORRENTS...")
|
||||
# logging.info("Iniciando comparaciones entre textos tokenizados")
|
||||
# manejar_comparaciones_multiproceso([carpeta_noticias_tokenized, carpeta_wikipedia_tokenized, carpeta_torrents_tokenized])
|
||||
# logging.info("Finalizadas comparaciones entre textos tokenizados")
|
||||
|
||||
except Exception as e:
|
||||
logging.error(f"Error en la ejecución del script: {e}", exc_info=True)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
7
FLUJOS_DATOS/COMPARACIONES/requirements.txt
Executable file
7
FLUJOS_DATOS/COMPARACIONES/requirements.txt
Executable file
|
|
@ -0,0 +1,7 @@
|
|||
transformers==4.10.0
|
||||
tensorflow==2.17.0
|
||||
scikit-learn==0.24.2
|
||||
pandas==1.3.2
|
||||
numpy==1.19.5
|
||||
elasticsearch==7.13.4
|
||||
nltk==3.6.2
|
||||
69
FLUJOS_DATOS/DOCS/ELASTIC.txt
Executable file
69
FLUJOS_DATOS/DOCS/ELASTIC.txt
Executable file
|
|
@ -0,0 +1,69 @@
|
|||
PROYECTO FLUJOS: DOCUMENTACIÓN
|
||||
|
||||
|
||||
===================================================================================================
|
||||
1. BASE DE DATOS (ELASTICSEARCH)
|
||||
a. Instalación:
|
||||
|
||||
# Sigue las instrucciones de la página oficial para descargar e instalar Elasticsearch y Kibana.
|
||||
b. Configuración de Elasticsearch:
|
||||
|
||||
# AÑADE O MODIFICA las siguientes líneas en el archivo elasticsearch.yml con tu editor de texto preferido, por ejemplo:
|
||||
nano config/elasticsearch.yml
|
||||
|
||||
network.host: localhost
|
||||
http.port: 9200
|
||||
c. Inicio de Elasticsearch:
|
||||
|
||||
# Desde la carpeta de Elasticsearch, ejecuta:
|
||||
bin/elasticsearch
|
||||
|
||||
d. Verificación:
|
||||
|
||||
# Ejecuta el siguiente comando para verificar:
|
||||
curl -X GET "http://localhost:9200/"
|
||||
|
||||
===================================================================================================
|
||||
2. SCRAPER (scraper.py)
|
||||
a. Ejecución:
|
||||
|
||||
# Asegúrate de estar en el directorio correcto y ejecuta:
|
||||
python3 scraper.py
|
||||
|
||||
===================================================================================================
|
||||
3. PROCESAMIENTO Y GUARDADO (guardar_datos.py)
|
||||
a. Ejecución:
|
||||
|
||||
# Asegúrate de estar en el directorio correcto y ejecuta:
|
||||
python3 guardar_datos.py
|
||||
|
||||
|
||||
===================================================================================================
|
||||
4. KIBANA
|
||||
a. Configuración:
|
||||
|
||||
# AÑADE O MODIFICA las siguientes líneas en el archivo kibana.yml con tu editor de texto preferido, por ejemplo:
|
||||
nano config/kibana.yml
|
||||
|
||||
elasticsearch.hosts: ["http://localhost:9200"]
|
||||
b. Inicio de Kibana:
|
||||
|
||||
# Desde la carpeta de Kibana, ejecuta:
|
||||
bin/kibana
|
||||
c. Acceso a Kibana:
|
||||
|
||||
# Abre tu navegador y ve a:
|
||||
http://localhost:5601
|
||||
|
||||
===================================================================================================
|
||||
|
||||
|
||||
sito@SIT0:~/PROGRAMACION/FLUJOS_TODO/FLUJOS_DATOS/elasticsearch-8.10.0/bin$ ./elasticsearch-reset-password -u elastic
|
||||
This tool will reset the password of the [elastic] user to an autogenerated value.
|
||||
The password will be printed in the console.
|
||||
Please confirm that you would like to continue [y/N]Y
|
||||
|
||||
|
||||
Password for the [elastic] user successfully reset.
|
||||
New value: VFe09fj6X*jqSZpyqZrb
|
||||
sito@SIT0:~/PROGRAMACION/FLUJOS_TODO/FLUJOS_DATOS/elasticsearch-8.10.0/bin$
|
||||
112
FLUJOS_DATOS/DOCS/LEEME.txt
Executable file
112
FLUJOS_DATOS/DOCS/LEEME.txt
Executable file
|
|
@ -0,0 +1,112 @@
|
|||
=============================================================================
|
||||
DOCUMENTACIÓN DEL PROYECTO FLUJOS
|
||||
=============================================================================
|
||||
|
||||
INTRODUCCIÓN:
|
||||
-------------
|
||||
El proyecto FLUJOS es una aplicación web diseñada para unir noticias y eventos del pasado para entender la historia como una sucesion de eventos .
|
||||
Combatir la desinformacion es el principal objetivo del proeycto .
|
||||
|
||||
ESTRUCTURA DEL PROYECTO:
|
||||
-------------------------
|
||||
El proyecto FLUJOS está organizado de la siguiente manera:
|
||||
|
||||
- /flujos: Carpeta principal del proyecto.
|
||||
- /BACK: Contiene los archivos y scripts relacionados con la parte del servidor y la base de datos.
|
||||
- /FRONT: Contiene los archivos de la aplicación web del lado del cliente.
|
||||
- /TENSOR_FLOW: Carpeta que alberga los componentes relacionados con TensorFlow y la inteligencia artificial.
|
||||
- /DOCUMENTACIÓN: Documentación técnica y de usuario.
|
||||
|
||||
INSTALACIÓN:
|
||||
------------
|
||||
Para configurar y ejecutar el proyecto FLUJOS, sigue estos pasos:
|
||||
|
||||
1. Clona el repositorio desde GitLab:
|
||||
|
||||
git clone https://gitlab.com/tu-usuario/flujos.git
|
||||
|
||||
|
||||
|
||||
2. Crea y activa un entorno virtual:
|
||||
|
||||
python3 -m venv env
|
||||
source env/bin/activate
|
||||
|
||||
|
||||
|
||||
3. Instala las dependencias:
|
||||
|
||||
pip install -r requirements.txt
|
||||
|
||||
|
||||
4. Configura la base de datos y realiza las migraciones:
|
||||
|
||||
python manage.py migrate
|
||||
|
||||
|
||||
|
||||
5. Crea un superusuario para administrar la aplicación:
|
||||
|
||||
python manage.py createsuperuser
|
||||
|
||||
|
||||
|
||||
EJECUCIÓN:
|
||||
----------
|
||||
Para ejecutar el proyecto FLUJOS en un entorno de desarrollo local, utiliza el siguiente comando:
|
||||
|
||||
python manage.py runserver
|
||||
|
||||
|
||||
|
||||
El proyecto estará disponible en http://localhost:8000/.
|
||||
|
||||
ESTRUCTURA DEL PROYECTO (DETALLES):
|
||||
-------------------------------------
|
||||
- /BACK: Esta carpeta contiene la lógica del servidor Django y se encarga de la autenticación de usuarios y la gestión de la base de datos.
|
||||
|
||||
- /FRONT: Aquí se encuentran los archivos estáticos y la interfaz de usuario de la aplicación web.
|
||||
|
||||
- /TENSOR_FLOW: Carpeta dedicada a las implementaciones de TensorFlow y el procesamiento de datos relacionado con la inteligencia artificial.
|
||||
|
||||
AUTENTICACIÓN DE USUARIOS:
|
||||
--------------------------
|
||||
El sistema de autenticación de usuarios permite a los usuarios registrarse, iniciar sesión y gestionar sus cuentas de usuario. Los datos se almacenan en una base de datos Elasticsearch.
|
||||
|
||||
ENVÍO DE CORREOS ELECTRÓNICOS:
|
||||
-------------------------------
|
||||
El proyecto FLUJOS incluye un sistema de envío de correos electrónicos para funciones como verificación de correo electrónico y recuperación de contraseñas.
|
||||
|
||||
SEGURIDAD Y PRIVACIDAD:
|
||||
-----------------------
|
||||
El proyecto FLUJOS se preocupa por la seguridad y privacidad de los usuarios y emplea medidas de seguridad estándar.
|
||||
|
||||
IMPLEMENTACIÓN DE PGP:
|
||||
----------------------
|
||||
El proyecto utiliza PGP para garantizar la seguridad de las comunicaciones entre periodistas y la aplicación web.
|
||||
|
||||
PRUEBAS:
|
||||
--------
|
||||
Para ejecutar las pruebas unitarias y de integración, utiliza el siguiente comando:
|
||||
|
||||
python manage.py test
|
||||
|
||||
|
||||
|
||||
DESPLEGUE:
|
||||
----------
|
||||
El despliegue del proyecto FLUJOS en un entorno de producción requiere [Instrucciones y mejores prácticas para desplegar el proyecto en un entorno de producción real].
|
||||
|
||||
CONTRIBUCIONES:
|
||||
---------------
|
||||
¡Agradecemos las contribuciones! Si deseas contribuir al proyecto, sigue las pautas en [Enlace a las pautas de contribución en GitLab].
|
||||
|
||||
CONTACTO:
|
||||
---------
|
||||
Para obtener ayuda o más información, comunícate con [Información de contacto].
|
||||
|
||||
LICENCIA:
|
||||
---------
|
||||
Este proyecto se distribuye bajo la licencia [Nombre de la licencia]. Consulta el archivo LICENSE para más detalles.
|
||||
|
||||
=============================================================================
|
||||
33
FLUJOS_DATOS/DOCS/MANIFEST.txt
Executable file
33
FLUJOS_DATOS/DOCS/MANIFEST.txt
Executable file
|
|
@ -0,0 +1,33 @@
|
|||
Since the beginning of the human era , we have had access to information , by asking , by reading , by watching .
|
||||
|
||||
But wasnt until the greedinesh of a few that appeard , that this access to information was limited .
|
||||
|
||||
What you denny submits you , what you accept transforms you .
|
||||
|
||||
Public information should be free to everybody .
|
||||
|
||||
Private information should be protected , so that no goverment or person cant apply to much power .
|
||||
|
||||
Dont trust the authority or the authority will eat your privileges .
|
||||
|
||||
One image talks more than 1000 words .
|
||||
One graph relates more than 1000 talks .
|
||||
|
||||
|
||||
The ability to correlate actions with speeches and vice versa
|
||||
gives you the power to know about the past .
|
||||
|
||||
He who controls the past controls the future .
|
||||
He who controls the present controls the past .
|
||||
|
||||
LOS GIGANTES VISTOS EN PERSPECTIVA
|
||||
PARECEN MARIONETAS
|
||||
|
||||
Lo que hay que tener es una premisa bien clara :
|
||||
Sin miedo no hay limites y sin limites no hay control.
|
||||
Sin control no hay limities y sin limites no hay miedo .
|
||||
|
||||
La cuestion no es cuando , la cuestion es como
|
||||
|
||||
Sabes , que hay debajo del asfalto ?
|
||||
EL MAR .
|
||||
108
FLUJOS_DATOS/DOCS/arquitecture_main.txt
Normal file
108
FLUJOS_DATOS/DOCS/arquitecture_main.txt
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ FLUJOS_APP.js /api/data │
|
||||
└──────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
▲ ▲
|
||||
│ │
|
||||
│ │
|
||||
HTTP GET MongoDB
|
||||
/api/data?tema=… Collections
|
||||
│ ┌─────────────┐
|
||||
│ │ noticias │
|
||||
│ ├─────────────┤
|
||||
│ │ wikipedia │
|
||||
│ ├─────────────┤
|
||||
│ │ torrents │
|
||||
│ ├─────────────┤
|
||||
│ │ comparaciones│
|
||||
│ └─────────────┘
|
||||
│ │
|
||||
│ │
|
||||
▼ ▼
|
||||
|
||||
┌───────────────────────────────┐ ┌────────────────────────────────┐
|
||||
│ 1) Construcción de nodesQuery │ │ 3) Construcción de linksQuery │
|
||||
├───────────────────────────────┤ ├────────────────────────────────┤
|
||||
│ let nodesQuery = { │ │ let linksQuery = { │
|
||||
│ tema: <tema>, │ │ porcentaje_similitud: { │
|
||||
│ ...(subtematica?) │──┐ │ $gte: <complejidadMin> │
|
||||
│ ...(palabraClave?) │ │ │ }, │
|
||||
│ ...(fechaInicio/fechaFin?) │ │ │ noticia1: { $in: nodeIds }, │
|
||||
│ } │ │ │ noticia2: { $in: nodeIds } │
|
||||
└───────────────────────────────┘ │ └────────────────────────────────┘
|
||||
│ │ │
|
||||
│ │ │
|
||||
│ │ │
|
||||
▼ │ ▼
|
||||
|
||||
┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 2) Búsqueda de nodos (Promise.all) │
|
||||
├──────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ const [wN, nN, tN] = await Promise.all([ │
|
||||
│ wikipedia.find(nodesQuery).limit(nodosLimit), // → hasta N wikis │
|
||||
│ noticias.find(nodesQuery).limit(nodosLimit), // → hasta N noticias │
|
||||
│ torrents.find(nodesQuery).limit(nodosLimit) // → hasta N torrents │
|
||||
│ ]); │
|
||||
│ │
|
||||
│ // Formateo a “Graph Nodes”: │
|
||||
│ formattedNodes = [...wN, ...nN, ...tN].map(doc ⇒ ({ │
|
||||
│ id: doc.archivo.trim(), // identificador único │
|
||||
│ group: doc.subtema || 'sinSub', // color/agrupación visual │
|
||||
│ tema: doc.tema, // metadato │
|
||||
│ content: doc.texto, // para mostrar al hacer clic │
|
||||
│ fecha: doc.fecha // filtrado por fecha │
|
||||
│ })); │
|
||||
└──────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
│ // Extraer lista de IDs de nodos
|
||||
│ nodeIds = formattedNodes.map(n ⇒ n.id)
|
||||
│
|
||||
│
|
||||
▼
|
||||
|
||||
┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 4) Búsqueda de enlaces (comparaciones.find) │
|
||||
├──────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ const links = await comparaciones.find(linksQuery).toArray(); │
|
||||
│ │
|
||||
│ // linksQuery: │
|
||||
│ // { porcentaje_similitud: {$gte:Min}, noticia1:{$in:nodeIds}, noticia2:{$in:nodeIds} } │
|
||||
│ │
|
||||
│ // Formateo a “Graph Links”: │
|
||||
│ formattedLinks = links.map(l ⇒ ({ │
|
||||
│ source: l.noticia1.trim(), // coincide con node.id │
|
||||
│ target: l.noticia2.trim(), // idem │
|
||||
│ value: l.porcentaje_similitud // grosor de la arista │
|
||||
│ })); │
|
||||
└──────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
│
|
||||
▼
|
||||
|
||||
┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 5) Respuesta al cliente │
|
||||
├──────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ res.json({ │
|
||||
│ nodes: formattedNodes, // array de {id, group, tema, content, fecha} │
|
||||
│ links: formattedLinks // array de {source, target, value} │
|
||||
│ }); │
|
||||
└──────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
▲
|
||||
│
|
||||
│
|
||||
│
|
||||
fetch('/api/data?...')
|
||||
│
|
||||
▼
|
||||
|
||||
┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ output_glob_war_prueba.js │
|
||||
├──────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ • Inicializa ForceGraph3D (contenedor DOM) │
|
||||
│ • getData(paramsObj) │
|
||||
│ └─ construye URL: '/api/data?tema=guerra%20global&...' │
|
||||
│ └─ fetch → recibe {nodes,links} │
|
||||
│ └─ filtra enlaces erróneos (source/target no existentes) │
|
||||
│ • graph.graphData(data) // renderiza nodos + enlaces │
|
||||
│ • UI: onNodeClick → showNodeContent(), sidebar form → re-getData() │
|
||||
└──────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
12
FLUJOS_DATOS/DOCS/comandos_clave.txt
Normal file
12
FLUJOS_DATOS/DOCS/comandos_clave.txt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
========================
|
||||
INICIAR MONGODB
|
||||
========================
|
||||
|
||||
sudo systemctl start mongo
|
||||
|
||||
|
||||
========================
|
||||
INICIAR FLUJOS
|
||||
=======================
|
||||
|
||||
node /flujos/FLUJOS/BACK_BACK/FLUJOS_APP.js
|
||||
26
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/DATA/guarda_csv.py
Executable file
26
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/DATA/guarda_csv.py
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
import pandas as pd
|
||||
|
||||
def txt_to_csv(filename):
|
||||
with open(filename, 'r') as f:
|
||||
headlines_and_summaries = f.read().split('\n')[:-1] # Elimina la última línea vacía
|
||||
|
||||
# Separa los titulares y los resúmenes en dos listas
|
||||
headlines = headlines_and_summaries[::2]
|
||||
summaries = headlines_and_summaries[1::2]
|
||||
|
||||
# Crea un DataFrame
|
||||
df = pd.DataFrame({
|
||||
'headline': headlines,
|
||||
'summary': summaries
|
||||
})
|
||||
|
||||
# Guarda el DataFrame como CSV
|
||||
df.to_csv('news.csv', index=False)
|
||||
|
||||
|
||||
|
||||
|
||||
url = "https://www.bbc.com/news" # Cambia esto por la URL que quieras
|
||||
news = get_news(url)
|
||||
save_to_txt(news, 'news.txt')
|
||||
txt_to_csv('news.txt')
|
||||
31
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/DATA/obten.py
Executable file
31
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/DATA/obten.py
Executable file
|
|
@ -0,0 +1,31 @@
|
|||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
def get_news(url):
|
||||
# Obtén la página
|
||||
response = requests.get(url)
|
||||
# Parsea la página con BeautifulSoup
|
||||
soup = BeautifulSoup(response.text, 'html.parser')
|
||||
|
||||
# Encuentra los artículos (en este caso, los artículos de noticias están en divs con la clase 'gs-c-promo-body')
|
||||
articles = soup.find_all('div', class_='gs-c-promo-body')
|
||||
|
||||
news = []
|
||||
|
||||
# Itera sobre los artículos y extrae el texto
|
||||
for article in articles:
|
||||
headline = article.find('h3').text
|
||||
summary = article.find('p').text
|
||||
news.append((headline, summary))
|
||||
|
||||
return news
|
||||
|
||||
|
||||
|
||||
|
||||
def save_to_txt(news, filename):
|
||||
with open(filename, 'w') as f:
|
||||
for headline, summary in news:
|
||||
f.write(headline + '\n')
|
||||
f.write(summary + '\n')
|
||||
|
||||
45
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/DATA/scraper.py
Executable file
45
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/DATA/scraper.py
Executable file
|
|
@ -0,0 +1,45 @@
|
|||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
from elasticsearch import Elasticsearch
|
||||
|
||||
# Inicializar conexión a Elasticsearch con autenticación y usando https
|
||||
es = Elasticsearch(
|
||||
hosts=[{'host': 'localhost', 'port': 9200, 'scheme': 'https'}],
|
||||
basic_auth=('jesucristo_garcia', 'JESUCRISTO_/garcia'),
|
||||
verify_certs=False # Si no tienes un certificado SSL válido, desactiva la verificación
|
||||
)
|
||||
|
||||
def scrape_wikipedia(url):
|
||||
response = requests.get(url)
|
||||
if response.status_code == 200:
|
||||
soup = BeautifulSoup(response.content, 'html.parser')
|
||||
title = soup.find('title').text
|
||||
paragraphs = soup.find_all('p')
|
||||
text = " ".join(paragraph.text for paragraph in paragraphs)
|
||||
return title, text
|
||||
else:
|
||||
print(f'Failed to retrieve {url}')
|
||||
return None, None
|
||||
|
||||
# URLs de las páginas de Wikipedia a scrapear
|
||||
wikipedia_urls = [
|
||||
'https://en.wikipedia.org/wiki/OpenAI',
|
||||
# ... añade más URLs aquí
|
||||
]
|
||||
|
||||
for url in wikipedia_urls:
|
||||
title, text = scrape_wikipedia(url)
|
||||
if title and text:
|
||||
document = {
|
||||
'title': title,
|
||||
'text': text,
|
||||
'source': 'Wikipedia',
|
||||
'url': url
|
||||
}
|
||||
try:
|
||||
# Indexar en Elasticsearch
|
||||
es.index(index='documents', document=document)
|
||||
except Exception as e:
|
||||
print(f"Error al indexar documento: {e}")
|
||||
|
||||
print('Scraping completado.')
|
||||
96
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/DOCS/RESUMEN.txt
Executable file
96
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/DOCS/RESUMEN.txt
Executable file
|
|
@ -0,0 +1,96 @@
|
|||
Contexto y Objetivo del Proyecto
|
||||
|
||||
El proyecto en el que hemos estado trabajando tiene como objetivo procesar, analizar y almacenar noticias mediante un flujo de trabajo automatizado, utilizando tecnologías como Django, Keras/TensorFlow, Elasticsearch, y Flask. Este flujo incluye la ingesta de noticias, su procesamiento mediante un modelo de aprendizaje automático, y el almacenamiento de las relaciones encontradas entre las noticias en Elasticsearch, todo para ser posteriormente visualizado y consultado a través de un servidor Express con ForceGraph3D.
|
||||
Pasos Clave Desarrollados
|
||||
|
||||
Configuración del Entorno de Desarrollo:
|
||||
Entorno Virtual: Configuración de un entorno virtual utilizando venv para aislar las dependencias del proyecto.
|
||||
Instalación de Dependencias: Instalación de las bibliotecas necesarias como transformers, pandas, tensorflow, elasticsearch, entre otras, para poder desarrollar y ejecutar los scripts.
|
||||
|
||||
Scripts Desarrollados:
|
||||
|
||||
entrada.py:
|
||||
Funcionalidad: Permite la entrada manual de noticias, guarda cada noticia en un archivo .txt.
|
||||
Mejora: Se integró una función de preprocesamiento para limpiar las noticias (eliminar puntuación, convertir a minúsculas, eliminar stopwords) antes de guardarlas.
|
||||
|
||||
procesador_txt.py:
|
||||
Funcionalidad: Preprocesa y tokeniza los textos usando NLTK y el tokenizador BERT en español.
|
||||
Mejora: Procesa todos los archivos .txt en un directorio y guarda los textos tokenizados en un archivo CSV, manejando errores como la falta de archivos para procesar.
|
||||
|
||||
train_model.py:
|
||||
Funcionalidad: Define y entrena un modelo de red neuronal con Keras utilizando los datos tokenizados guardados en un CSV.
|
||||
Mejora: Se añadió manejo de errores para problemas con los datos de entrada, y se aseguraron las longitudes de las secuencias para un entrenamiento adecuado.
|
||||
|
||||
guardar_datos.py:
|
||||
Funcionalidad: Calcula las relaciones entre las noticias basadas en la similitud de sus representaciones incrustadas, y guarda estas relaciones en Elasticsearch.
|
||||
Mejora: Manejo de errores para problemas de conexión con Elasticsearch y otros posibles problemas durante la ejecución.
|
||||
|
||||
run_all.py:
|
||||
Funcionalidad: Orquesta la ejecución de los otros scripts en un orden secuencial, con manejo de errores en cada paso.
|
||||
Mejora: Incluye capturas de excepciones detalladas para cada parte del flujo, asegurando que los errores sean reportados adecuadamente.
|
||||
|
||||
Estructura del Proyecto:
|
||||
Se sugirió y documentó una estructura organizada para el proyecto que incluye directorios para los scripts (KERAS/), modelos (TENSOR_FLOW/models/), datos (DATA/), y configuraciones (flask_api/, elasticsearch-7.15.0/).
|
||||
|
||||
Automatización del Flujo de Trabajo:
|
||||
Automatización: Se desarrolló run_all.py como un script maestro que ejecuta todos los otros scripts de manera secuencial.
|
||||
Pruebas: Se realizaron pruebas para asegurarse de que cada paso del proceso funcione correctamente y con un manejo de errores robusto.
|
||||
|
||||
Integración y Pruebas:
|
||||
Se probaron las funcionalidades principales del flujo de trabajo, desde la ingesta y procesamiento de noticias hasta el almacenamiento de los resultados en Elasticsearch.
|
||||
|
||||
Resumen de los Scripts
|
||||
|
||||
entrada.py:
|
||||
|
||||
Propósito: Entrada manual de noticias y preprocesamiento.
|
||||
Funciones Principales:
|
||||
guardar_noticia(noticia, nombre_archivo): Guarda la noticia en un archivo .txt.
|
||||
limpiar_noticia(noticia): Realiza el preprocesamiento de la noticia.
|
||||
main(): Orquesta la entrada y guardado de noticias.
|
||||
|
||||
procesador_txt.py:
|
||||
|
||||
Propósito: Preprocesamiento y tokenización de noticias.
|
||||
Funciones Principales:
|
||||
tokenize_file(filename): Tokeniza un archivo de texto usando BERT.
|
||||
tokenize_all_files_in_directory(directory_path): Procesa todos los archivos .txt en un directorio.
|
||||
save_tokenized_texts_to_csv(tokenized_texts, output_file): Guarda los textos tokenizados en un archivo CSV.
|
||||
main(): Orquesta el proceso de tokenización y guardado en CSV.
|
||||
|
||||
train_model.py:
|
||||
|
||||
Propósito: Entrenamiento del modelo de red neuronal.
|
||||
Funciones Principales:
|
||||
Cargar datos tokenizados desde un CSV.
|
||||
Definir, compilar y entrenar el modelo con Keras.
|
||||
Guardar el modelo entrenado.
|
||||
|
||||
guardar_datos.py:
|
||||
|
||||
Propósito: Calcular similitudes entre noticias y guardarlas en Elasticsearch.
|
||||
Funciones Principales:
|
||||
Cargar el modelo entrenado y los datos.
|
||||
Calcular similitudes utilizando cosine_similarity.
|
||||
Guardar los resultados en Elasticsearch.
|
||||
|
||||
run_all.py:
|
||||
|
||||
Propósito: Orquestar todo el flujo de trabajo.
|
||||
Funciones Principales:
|
||||
Ejecutar secuencialmente los scripts anteriores.
|
||||
Manejar errores y excepciones en cada paso.
|
||||
|
||||
Próximos Pasos
|
||||
|
||||
Continuar con las Pruebas:
|
||||
Asegurarse de que todos los pasos se ejecutan correctamente, especialmente la integración final con Elasticsearch.
|
||||
|
||||
Documentación:
|
||||
Documentar todo el flujo de trabajo, incluyendo instrucciones de uso, configuraciones necesarias y posibles errores.
|
||||
|
||||
Despliegue en Producción:
|
||||
Preparar el proyecto para su despliegue en un entorno de producción, incluyendo la configuración del servidor Flask/Express, la base de datos en Elasticsearch y las conexiones necesarias.
|
||||
|
||||
Visualización con ForceGraph3D:
|
||||
Implementar la integración con ForceGraph3D en el servidor Express para visualizar las relaciones entre las noticias almacenadas en Elasticsearch.
|
||||
28
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/DOCS/estructura.txt
Executable file
28
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/DOCS/estructura.txt
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
FLUJOS_DATOS/ # Directorio raíz del proyecto
|
||||
|-- elasticsearch-8.10.0/ # Directorio de Elasticsearch
|
||||
|-- myenv/ # Entorno virtual
|
||||
|-- FLUJOS_DATOS/ # Proyecto Django
|
||||
| |-- manage.py # Script de gestión de Django
|
||||
| |-- FLUJOS/ # App Django principal
|
||||
| | |-- DATA/ # Código para scrapear y obtener datos
|
||||
| | |-- keras/ # Código para procesar datos con Keras
|
||||
| | |-- ...
|
||||
| |-- noticias/ # App Django para gestionar noticias
|
||||
| | |-- ...
|
||||
|-- ...
|
||||
|
||||
|
||||
RECUERDA QUE PARA PODER INICIAR LA BASE DE DATOS DEBES DE
|
||||
HACER ./bin/elasticsearch dentro de la carpeta de elastic
|
||||
Esto iniciará Elasticsearch en tu máquina local. Por defecto, Elasticsearch se ejecutará en el puerto 9200.
|
||||
|
||||
|
||||
brutal como se a creado :
|
||||
ROGRAMACION/FLUJOS_DATOS$ curl -u elastic:zozbw4RjMvJcurl -u elastic:zozbw4RjMvJGOBs3VFUt -k -X POST "https://localhost:9200/_security/user/jesucristo_garcia" -H 'Content-Type: application/json' -d'
|
||||
{
|
||||
"password" : "JESUCRISTO_/garcia",
|
||||
"roles" : [ "superuser"],
|
||||
"full_name" : "Jesucristo García"
|
||||
}
|
||||
'
|
||||
{"created":true}punchf
|
||||
7
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/DOCS/requirements.txt
Executable file
7
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/DOCS/requirements.txt
Executable file
|
|
@ -0,0 +1,7 @@
|
|||
tensorflow_hub
|
||||
numpy
|
||||
scikit-learn
|
||||
nltk
|
||||
beautifulsoup4
|
||||
requests
|
||||
elasticsearch
|
||||
75
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/POC/POC.py
Executable file
75
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/POC/POC.py
Executable file
|
|
@ -0,0 +1,75 @@
|
|||
import re
|
||||
from transformers import BertTokenizer
|
||||
from collections import Counter
|
||||
|
||||
# Lista de palabras comunes en español (stopwords)
|
||||
stopwords = [
|
||||
"de", "la", "que", "el", "en", "y", "a", "los", "del", "se", "las", "por", "un", "para", "con",
|
||||
"no", "una", "su", "al", "es", "lo", "como", "más", "pero", "sus", "le", "ya", "o", "fue", "este",
|
||||
"ha", "sí", "porque", "esta", "son", "entre", "cuando", "muy", "sin", "sobre", "también", "me",
|
||||
"hasta", "hay", "donde", "quien", "desde", "todo", "nos", "durante", "todos", "uno", "les", "ni",
|
||||
"contra", "otros", "ese", "eso", "ante", "ellos", "e", "esto", "mí", "antes", "algunos", "qué",
|
||||
"unos", "yo", "otro", "otras", "otra", "él", "tanto", "esa", "estos", "mucho", "quienes", "nada",
|
||||
"muchos", "cual", "poco", "ella", "estar", "estas", "algunas", "algo", "nosotros", "mi", "mis",
|
||||
"tú", "te", "ti", "tu", "tus", "ellas", "nosotras", "vosotros", "vosotras", "os", "mío", "mía",
|
||||
"míos", "mías", "tuyo", "tuya", "tuyos", "tuyas", "suyo", "suya", "suyos", "suyas", "nuestro",
|
||||
"nuestra", "nuestros", "nuestras", "vuestro", "vuestra", "vuestros", "vuestras", "esos", "esas",
|
||||
"estoy", "estás", "está", "estamos", "estáis", "están", "esté", "estés", "estemos", "estéis",
|
||||
"estén", "estaré", "estarás", "estará", "estaremos", "estaréis", "estarán", "estaría", "estarías",
|
||||
"estaríamos", "estaríais", "estarían", "estaba", "estabas", "estábamos", "estabais", "estaban",
|
||||
"estuve", "estuviste", "estuvo", "estuvimos", "estuvisteis", "estuvieron", "estuviera", "estuvieras",
|
||||
"estuviéramos", "estuvierais", "estuvieran", "estuviese", "estuvieses", "estuviésemos", "estuvieseis",
|
||||
"estuviesen", "estando", "estado", "estada", "estados", "estadas", "estad"
|
||||
]
|
||||
|
||||
# Función para limpiar el texto
|
||||
def limpiar_texto(texto):
|
||||
texto = texto.lower()
|
||||
texto = re.sub(r'[^\w\s]', '', texto) # Elimina signos de puntuación
|
||||
palabras = texto.split()
|
||||
palabras_limpias = [palabra for palabra in palabras if palabra not in stopwords]
|
||||
return ' '.join(palabras_limpias)
|
||||
|
||||
# Tokenizer BERT
|
||||
tokenizer = BertTokenizer.from_pretrained('dccuchile/bert-base-spanish-wwm-cased')
|
||||
|
||||
# Función para tokenizar y guardar en archivo
|
||||
def tokenizar_y_guardar(texto, nombre_archivo):
|
||||
tokens = tokenizer.tokenize(texto)
|
||||
with open(nombre_archivo, 'w') as f:
|
||||
for token in tokens:
|
||||
f.write(token + '\n')
|
||||
return tokens
|
||||
|
||||
# Leer noticias desde archivos de texto
|
||||
with open('noticia1.txt', 'r') as f:
|
||||
noticia1 = f.read()
|
||||
|
||||
with open('noticia2.txt', 'r') as f:
|
||||
noticia2 = f.read()
|
||||
|
||||
# Paso 1: Limpiar textos
|
||||
noticia1_limpia = limpiar_texto(noticia1)
|
||||
noticia2_limpia = limpiar_texto(noticia2)
|
||||
|
||||
# Paso 2: Tokenizar y guardar en archivos
|
||||
tokens_noticia1 = tokenizar_y_guardar(noticia1_limpia, 'tokens_noticia1.txt')
|
||||
tokens_noticia2 = tokenizar_y_guardar(noticia2_limpia, 'tokens_noticia2.txt')
|
||||
|
||||
# Paso 3: Contar palabras y comparar similitud
|
||||
def contar_palabras(nombre_archivo):
|
||||
with open(nombre_archivo, 'r') as f:
|
||||
palabras = f.read().split() # Lee el archivo y divide el texto en palabras
|
||||
return Counter(palabras) # Cuenta la frecuencia de cada palabra y la devuelve como un Counter
|
||||
|
||||
conteo_noticia1 = contar_palabras('tokens_noticia1.txt')
|
||||
conteo_noticia2 = contar_palabras('tokens_noticia2.txt')
|
||||
|
||||
palabras_comunes = set(conteo_noticia1.keys()) & set(conteo_noticia2.keys())
|
||||
num_palabras_comunes = sum(min(conteo_noticia1[p], conteo_noticia2[p]) for p in palabras_comunes)
|
||||
num_palabras_totales = sum(conteo_noticia1.values()) + sum(conteo_noticia2.values())
|
||||
|
||||
# Paso 4: Calcular porcentaje de similitud
|
||||
porcentaje_similitud = (num_palabras_comunes / num_palabras_totales) * 100
|
||||
|
||||
print(f"Porcentaje de similitud: {porcentaje_similitud:.2f}%")
|
||||
25
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/POC/noticia1.txt
Executable file
25
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/POC/noticia1.txt
Executable file
|
|
@ -0,0 +1,25 @@
|
|||
El PP propone al PSOE cambiar el modelo de elección y renovar el CGPJ «de forma simultánea»
|
||||
Feijóo: "El objetivo de Sánchez no es renovar el CGPJ sino controlarlo"
|
||||
|
||||
|
||||
|
||||
|
||||
El líder del PP, Alberto Núñez Feijóo, ha mostrado su disposición a llegar a un acuerdo con el PSOE para renovar el Consejo General del Poder Judicial (CGPJ). Pero Feijóo pone una condición: tramitar de forma simultánea en el Congreso la futura ley de este órgano judicial para incidir en su independencia. «Se puede hacer de forma simultánea. La pelota de la renovación del Consejo lleva en el Gobierno desde hace un año», ha defendido.
|
||||
|
||||
«Hagamos la ley y renovemos el Consejo de forma simultánea. Firmemos un pacto, presentemos a la sociedad y tramitemos la ley. Esto es lo que pretendemos», ha sostenido Feijóo este martes en una entrevista concedida a la Cadena Cope. El presidente del PP aboga por esta medida «en consonancia con lo que reclama la UE» y en respuesta al compromiso de la formación de Feijóo con la «regeneración institucional» del país.
|
||||
|
||||
El líder de los populares propone esta medida debido que, a su juicio, el objetivo del presidente del Gobierno, Pedro Sánchez, «no es renovar el Consejo General del Poder Judicial, sino controlar a los miembros del Consejo». «Mi objetivo es acabar con el control político de las instituciones. Renovación sí; control político, no», ha recalcado.
|
||||
|
||||
«Creo en la independencia judicial. Voy a hacer todo lo posible por la regeneración institucional de mi país. Es necesario y, después de Sánchez, imprescindible», ha apostillado.
|
||||
«Bolaños mintió»
|
||||
|
||||
Alberto Núñez Feijóo ha acusado también al ministro de Presidencia y Justicia, Félix Bolaños, de «mentir de forma descarada» en las negociaciones que mantuvieron en su momento para renovar el CGPJ debido a que, mientras tanto, pactó con los partidos separatistas la derogación del delito de sedición y la rebaja del de malversación. «Verle como notario mayor del Reino no tranquiliza a nadie», ha remarcado.
|
||||
|
||||
El líder del PP le trasladó esta cuestión a Pedro Sánchez, que «se calló». Además, critica al Ejecutivo por acusar al PP de «boicotear» la renovación del órgano de gobierno del Poder Judicial.
|
||||
|
||||
«Por lo tanto, este montaje ahora de decir que el PP no quiere renovar el CGPJ es falso, absolutamente falso. Lo que no queremos obviamente es que el Consejo cabe como la Fiscalía General del Estado, como el Tribunal Constitucional, como el Consejo de Estado, es decir, con un control político de las instituciones», ha advertido. «El objetivo de Sánchez no es renovar el Consejo General del Poder Judicial, sino controlar los miembros del Consejo, que es una cosa absolutamente distinta», ha reiterado.
|
||||
«Impunidad judicial»
|
||||
|
||||
Alberto Núñez Feijóo considera que el PSOE recurre a su «argumentario» habitual para criticar al PP en torno a la renovación del CGPJ para intentar tapar la crisis diplomática con Israel o el doble varapalo judicial que sufrió la semana pasada: la anulación del Tribunal Supremo del nombramiento de la presidenta del Consejo de Estado, Magdalena Valerio, y la declaración «no idónea» de Álvaro García Ortiz como fiscal general del Estado.
|
||||
|
||||
«El Gobierno de Sánchez ha comprado siete votos a cambio de la impunidad judicial, siendo una amoralidad y una desvergüenza, y que está sustentado sobre la mentira electoral del ‘no’ a la amnistía», ha señalado. «La España en que nacimos y crecimos se mantenga como Estado; con un régimen de libertades y separación de poderes, en el que rija la concordia, gobernado por un Ejecutivo honesto y decente», ha zanjado.
|
||||
45
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/POC/noticia2.txt
Executable file
45
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/POC/noticia2.txt
Executable file
|
|
@ -0,0 +1,45 @@
|
|||
|
||||
|
||||
Finiquitado el ciclo electoral con las europeas del pasado domingo, el presidente del Gobierno ha retomado este miércoles la enquistada renovación del Consejo General del Poder Judicial. Después de cinco años y medio persistiendo en el bloqueo, con mediación europea incluida, el Partido Popular —primero con Pablo Casado y ahora con Alberto Núñez Feijóo—no ha renunciado a ninguna de sus condiciones para renovar un CGPJ que controla y Pedro Sánchez parece haber tomado la firme decisión —ya amagó con ello en 2020— de dar un paso al frente si no hay un acuerdo con los de Feijóo en las próximas dos semanas.
|
||||
|
||||
Así lo ha dicho este miércoles. En el PP lo han interpretado como un "ultimátun inaceptable", un "chantaje" y una "bravuconada", que no busca el acuerdo, dicen, sino cambiar la conversación pública para "tapar sus derrotas en las elecciones y en las Cortes Generales". Las formas no han gustado nada a los populares, pero sobre el fondo de la alternativa que Sánchez ha puesto encima de la mesa hay menos rotundidad en la respuesta.
|
||||
|
||||
Lo que Sánchez ha esbozado durante una entrevista concedida a RTVE es que está dispuesto a impulsar su propia reforma "para acabar con esta situación inaceptable" en el CGPJ. Si bien no ha aterrizado cómo, el presidente del Gobierno ha querido darle pistas al PP: "El incentivo perverso que tiene el PP para bloquear es la facultad que tiene esa institución para nombrar a magistrados que van al Supremo o a los tribunales superiores de justicia. Deberíamos revisar esa facultad para hacerla más objetiva y más transparente y menos politizada", señaló.
|
||||
|
||||
Cuando el PP rechazó la vía Guilarte
|
||||
|
||||
En el mes de diciembre, el presidente en funciones del CGPJ, Vicente Guilarte, firmó una columna de opinión en el diario El País en la que planteaba una fórmula no explorada hasta entonces por los partidos que, a su juicio, podría facilitar la renovación. Guilarte exponía entonces que si recortaban las competencias del órgano de gobierno de los jueces para que no pueda realizar nombramientos discrecionales de altos cargos judiciales, los partidos perderían interés en él.
|
||||
|
||||
Guilarte acabó enviando su propuesta al Congreso, a título personal, en el mes de abril. El PP la rechazó así: "Todo mi respeto, pero la realidad es que estamos en conversaciones con el PSOE y nuestra postura no ha cambiado: renovación del CGPJ y, al mismo tiempo, renovación de la norma que nos permite profundizar en la despolitización del Poder Judicial", afirmaba Miguel Tellado, portavoz del partido en el Congreso.
|
||||
|
||||
Esas conversaciones a las que se refería Tellado incluían también a la Comisión Europea, pero ya estaban congeladas. Hubo tres encuentros entre Félix Bolaños, por la parte socialista, Esteban González Pons, por la popular, y el comisario de Justicia de la Unión Europa, Didier Reynders, que les dio dos meses para llegar a un acuerdo en enero. El acuerdo sigue lejos ahora y han pasado seis meses.
|
||||
|
||||
|
||||
¿Y la Comisión Europea?
|
||||
|
||||
Pero el PP, que, como contó este medio, hace tiempo ha dado por fracasada esa mediación que ellos mismos forzaron, insiste en implicar a las instituciones europeas. Este miércoles, Bolaños ha enviado un mensaje a Pons para reunirse el viernes e intentar llegar a un acuerdo sobre el CGPJ.
|
||||
|
||||
Varias horas después de este contacto, fuentes del PP informaban de que Pons se había dirigido a la vicepresidenta de la Comisión Europea, Věra Jourová, "para informarle del intento del presidente del Gobierno de desestabilizar la negociación mantenida con el Partido Popular y con la supervisión del Gobierno comunitario para la mejora del modelo judicial de nuestro país" y pedirle "un encuentro a tres con carácter urgente".
|
||||
|
||||
Ante esta respuesta, fuentes del PSOE destacan su "alegría" porque el PP vuelva a querer reunirse con ellos para renovar el CGPJ. "Es una gran noticia", apuntaban. Pero en Ferraz recuerdan que los socialistas llevan solicitando a la Comisión Europea y al PP que se celebre una nueva reunión desde que el PP canceló el encuentro propuesto por el comisario Reynders y acordado por los dos partidos para el 27 de marzo en Madrid.
|
||||
|
||||
Placa a la entrada de la sede del Consejo general del Poder Judicial, en el edificio del Tribunal Supremo, en Madrid. EUROPA PRESS/Fernando Sánchez
|
||||
Un grupo de jueces usa el CGPJ para enviar una guía contra la amnistía
|
||||
|
||||
Concretamente, apuntan que se han dirigido a la Comisión y al PP para celebrar una reunión los días 11 de abril, 3 de mayo y 22 de mayo. "Además, ha habido otros intentos de reunión bilateral PSOE-PP, a iniciativa siempre del PSOE", añade. "Sin embargo, en estos casi tres meses, el PP se ha negado a avanzar en el diálogo estructurado para la renovación del CGPJ", destacan.
|
||||
|
||||
Y para cerrar el día, fuentes gubernamentales informaban sobre un nuevo contacto. El de Bolaños con Jourová. El objetivo ha sido "trasladarle su voluntad de celebrar una reunión con el PP para reanudar las negociaciones para desbloquear la renovación del CGPJ este próximo viernes en Madrid si se puede desplazar o la próxima semana en Bruselas".
|
||||
|
||||
En Génova insisten en que no confían en el ministro de Presidencia, Justicia y Relaciones con las Cortes y por eso quieren las instituciones europeas presencien el diálogo. Hace un par de meses desde el Gobierno sí que trasladaron que la Comisión Europea debería emitir algún tipo de mensaje sobre las negociaciones. Algo que hasta la fecha no ha sucedido y los socialistas han decidido dar un paso adelante.
|
||||
|
||||
|
||||
Miembros de la dirección nacional del PP reconocen a este medio que la propuesta de Guilarte —es decir, la que Sánchez ha puesto ahora sobre la mesa— sí podría "ir en la dirección de despolitizar la justicia" que ellos han defendido, pero también insisten en que es imprescindible reformar el sistema de elección de los jueces. Y aquí es donde los populares permanecen enrocados.
|
||||
Las excusas del PP
|
||||
|
||||
En el PSOE están decididos a dar este paso si el PP no cede. El lunes, la portavoz socialista, Esther Peña, insistió en que a los populares se les han acabado las "excusas", una vez han pasado las elecciones europeas. Pero al mismo tiempo son conscientes de que el partido que lidera Feijóo no tiene voluntad para llegar a ningún acuerdo. Las excusas dadas en los últimos cinco años se cifran en Moncloa en prácticamente una treintena.
|
||||
|
||||
Realmente Sánchez ya había dejado la puerta abierta a estudiar el modelo que propone Guilarte sobre el CGPJ hace unos cuantos meses. Concretamente a principios de diciembre, en el marco de las celebraciones del Día de la Constitución. En ese contexto, el presidente usó además unas palabras similares a las de este jueves. "El PP tiene ese incentivo para tener secuestrado al poder judicial", destacó entonces. Poco después llamaría a Feijóo para una reunión en la que el CGPJ estuvo sobre la mesa y desembocó en la mediación de Bruselas.
|
||||
|
||||
El hartazgo de los socialistas con ciertas maniobras judiciales, tanto sobre el entorno familiar de Sánchez como con la próxima aplicación de la amnistía, es mayúsculo. Han reaccionado de forma directa, especialmente contra el juez Peinado, que investiga a la esposa del líder socialista, Begoña Gómez. Algo que no ha sido bien recibido por el CGPJ pero que fue contestado de nuevo por el PSOE pidiéndoles que "no hagan política".
|
||||
|
||||
La cuestión ahora es si el PP decide descolgarse definitivamente de la renovación del CGPJ y permite —de llegar a producirse—que se elimine su competencia de hacer nombramientos. O, por otra parte, si Feijóo acepta llegar a un acuerdo con Sánchez que llegó a estar prácticamente hecho y se frustró por unas presiones internas que solo han ido a más.
|
||||
425
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/POC/tokens_noticia1.txt
Executable file
425
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/POC/tokens_noticia1.txt
Executable file
|
|
@ -0,0 +1,425 @@
|
|||
pp
|
||||
propone
|
||||
ps
|
||||
##oe
|
||||
cambiar
|
||||
modelo
|
||||
elección
|
||||
renovar
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
forma
|
||||
simultánea
|
||||
fe
|
||||
##ij
|
||||
##ó
|
||||
##o
|
||||
objetivo
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
renovar
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
sino
|
||||
controlar
|
||||
##lo
|
||||
líder
|
||||
pp
|
||||
alber
|
||||
##to
|
||||
n
|
||||
##ú
|
||||
##ñez
|
||||
fe
|
||||
##ij
|
||||
##ó
|
||||
##o
|
||||
mostrado
|
||||
disposición
|
||||
llegar
|
||||
acuerdo
|
||||
ps
|
||||
##oe
|
||||
renovar
|
||||
consejo
|
||||
general
|
||||
poder
|
||||
judicial
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
fe
|
||||
##ij
|
||||
##ó
|
||||
##o
|
||||
pone
|
||||
condición
|
||||
trami
|
||||
##tar
|
||||
forma
|
||||
simultánea
|
||||
congreso
|
||||
futura
|
||||
ley
|
||||
órgano
|
||||
judicial
|
||||
inci
|
||||
##dir
|
||||
independencia
|
||||
puede
|
||||
hacer
|
||||
forma
|
||||
simultánea
|
||||
pelota
|
||||
renovación
|
||||
consejo
|
||||
lleva
|
||||
gobierno
|
||||
hace
|
||||
año
|
||||
defendido
|
||||
hagamos
|
||||
ley
|
||||
renov
|
||||
##emos
|
||||
consejo
|
||||
forma
|
||||
simultánea
|
||||
firme
|
||||
##mos
|
||||
pacto
|
||||
presente
|
||||
##mos
|
||||
sociedad
|
||||
trami
|
||||
##temos
|
||||
ley
|
||||
pretende
|
||||
##mos
|
||||
sostenido
|
||||
fe
|
||||
##ij
|
||||
##ó
|
||||
##o
|
||||
martes
|
||||
entrevista
|
||||
concedida
|
||||
cadena
|
||||
co
|
||||
##pe
|
||||
presidente
|
||||
pp
|
||||
abo
|
||||
##ga
|
||||
medida
|
||||
consonancia
|
||||
reclam
|
||||
##a
|
||||
u
|
||||
##e
|
||||
respuesta
|
||||
compromiso
|
||||
formación
|
||||
fe
|
||||
##ij
|
||||
##ó
|
||||
##o
|
||||
regeneración
|
||||
institucional
|
||||
país
|
||||
líder
|
||||
populares
|
||||
propone
|
||||
medida
|
||||
debido
|
||||
juicio
|
||||
objetivo
|
||||
presidente
|
||||
gobierno
|
||||
ped
|
||||
##ro
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
renovar
|
||||
consejo
|
||||
general
|
||||
poder
|
||||
judicial
|
||||
sino
|
||||
controlar
|
||||
miembros
|
||||
consejo
|
||||
objetivo
|
||||
acabar
|
||||
control
|
||||
político
|
||||
instituciones
|
||||
renovación
|
||||
control
|
||||
político
|
||||
recal
|
||||
##cado
|
||||
creo
|
||||
independencia
|
||||
judicial
|
||||
voy
|
||||
hacer
|
||||
posible
|
||||
regeneración
|
||||
institucional
|
||||
país
|
||||
necesario
|
||||
después
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
imprescindible
|
||||
apos
|
||||
##tilla
|
||||
##do
|
||||
bola
|
||||
##ños
|
||||
mintió
|
||||
alber
|
||||
##to
|
||||
n
|
||||
##ú
|
||||
##ñez
|
||||
fe
|
||||
##ij
|
||||
##ó
|
||||
##o
|
||||
acusado
|
||||
ministro
|
||||
presidencia
|
||||
justicia
|
||||
fé
|
||||
##li
|
||||
##x
|
||||
bola
|
||||
##ños
|
||||
mentir
|
||||
forma
|
||||
descar
|
||||
##ada
|
||||
negociaciones
|
||||
mantuvieron
|
||||
momento
|
||||
renovar
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
debido
|
||||
mientras
|
||||
pac
|
||||
##tó
|
||||
partidos
|
||||
separa
|
||||
##tistas
|
||||
deroga
|
||||
##ción
|
||||
delito
|
||||
sedi
|
||||
##ción
|
||||
reba
|
||||
##ja
|
||||
mal
|
||||
##versa
|
||||
##ción
|
||||
verle
|
||||
notar
|
||||
##io
|
||||
mayor
|
||||
reino
|
||||
tranquiliz
|
||||
##a
|
||||
nadie
|
||||
rema
|
||||
##r
|
||||
##cado
|
||||
líder
|
||||
pp
|
||||
trasladó
|
||||
cuestión
|
||||
ped
|
||||
##ro
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
cal
|
||||
##ló
|
||||
además
|
||||
critic
|
||||
##a
|
||||
ejecutivo
|
||||
acusa
|
||||
##r
|
||||
pp
|
||||
bo
|
||||
##ico
|
||||
##tear
|
||||
renovación
|
||||
órgano
|
||||
gobierno
|
||||
poder
|
||||
judicial
|
||||
montaje
|
||||
ahora
|
||||
decir
|
||||
pp
|
||||
quiere
|
||||
renovar
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
falso
|
||||
absolutamente
|
||||
falso
|
||||
queremos
|
||||
obviamente
|
||||
consejo
|
||||
cabe
|
||||
fiscalía
|
||||
general
|
||||
tribunal
|
||||
constitucional
|
||||
consejo
|
||||
decir
|
||||
control
|
||||
político
|
||||
instituciones
|
||||
adver
|
||||
##tido
|
||||
objetivo
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
renovar
|
||||
consejo
|
||||
general
|
||||
poder
|
||||
judicial
|
||||
sino
|
||||
controlar
|
||||
miembros
|
||||
consejo
|
||||
cosa
|
||||
absolutamente
|
||||
distinta
|
||||
reitera
|
||||
##do
|
||||
impunidad
|
||||
judicial
|
||||
alber
|
||||
##to
|
||||
n
|
||||
##ú
|
||||
##ñez
|
||||
fe
|
||||
##ij
|
||||
##ó
|
||||
##o
|
||||
considera
|
||||
ps
|
||||
##oe
|
||||
recur
|
||||
##re
|
||||
argument
|
||||
##ario
|
||||
habitual
|
||||
criticar
|
||||
pp
|
||||
torno
|
||||
renovación
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
intentar
|
||||
tapa
|
||||
##r
|
||||
crisis
|
||||
diplomática
|
||||
israel
|
||||
doble
|
||||
var
|
||||
##apa
|
||||
##lo
|
||||
judicial
|
||||
sufrió
|
||||
semana
|
||||
pasada
|
||||
anulación
|
||||
tribunal
|
||||
supremo
|
||||
nombramiento
|
||||
presidenta
|
||||
consejo
|
||||
mag
|
||||
##dalena
|
||||
valer
|
||||
##io
|
||||
declaración
|
||||
idón
|
||||
##ea
|
||||
ál
|
||||
##var
|
||||
##o
|
||||
gar
|
||||
##cía
|
||||
or
|
||||
##tiz
|
||||
fiscal
|
||||
general
|
||||
gobierno
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
comprado
|
||||
siete
|
||||
votos
|
||||
cambio
|
||||
impunidad
|
||||
judicial
|
||||
siendo
|
||||
amor
|
||||
##alidad
|
||||
[UNK]
|
||||
sustent
|
||||
##ado
|
||||
mentira
|
||||
electoral
|
||||
am
|
||||
##nistía
|
||||
señalado
|
||||
españ
|
||||
##a
|
||||
naci
|
||||
##mos
|
||||
cre
|
||||
##cimos
|
||||
mantenga
|
||||
régimen
|
||||
libertades
|
||||
separación
|
||||
poderes
|
||||
ri
|
||||
##ja
|
||||
concord
|
||||
##ia
|
||||
gobern
|
||||
##ado
|
||||
ejecutivo
|
||||
honesto
|
||||
decente
|
||||
zan
|
||||
##jado
|
||||
891
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/POC/tokens_noticia2.txt
Executable file
891
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/POC/tokens_noticia2.txt
Executable file
|
|
@ -0,0 +1,891 @@
|
|||
fin
|
||||
##i
|
||||
##quita
|
||||
##do
|
||||
ciclo
|
||||
electoral
|
||||
europeas
|
||||
pasado
|
||||
domingo
|
||||
presidente
|
||||
gobierno
|
||||
retom
|
||||
##ado
|
||||
miércoles
|
||||
en
|
||||
##quista
|
||||
##da
|
||||
renovación
|
||||
consejo
|
||||
general
|
||||
poder
|
||||
judicial
|
||||
después
|
||||
cinco
|
||||
años
|
||||
medio
|
||||
persist
|
||||
##iendo
|
||||
bloqueo
|
||||
mediación
|
||||
europea
|
||||
incluida
|
||||
partido
|
||||
popular
|
||||
primero
|
||||
pa
|
||||
##bl
|
||||
##o
|
||||
casado
|
||||
ahora
|
||||
alber
|
||||
##to
|
||||
n
|
||||
##ú
|
||||
##ñez
|
||||
fe
|
||||
##ij
|
||||
##ó
|
||||
##ono
|
||||
renuncia
|
||||
##do
|
||||
ninguna
|
||||
condiciones
|
||||
renovar
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
controla
|
||||
ped
|
||||
##ro
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
parece
|
||||
haber
|
||||
tomado
|
||||
firme
|
||||
decisión
|
||||
ama
|
||||
##gó
|
||||
ello
|
||||
2020
|
||||
dar
|
||||
paso
|
||||
frente
|
||||
si
|
||||
acuerdo
|
||||
fe
|
||||
##ij
|
||||
##ó
|
||||
##o
|
||||
próximas
|
||||
dos
|
||||
semanas
|
||||
así
|
||||
dicho
|
||||
miércoles
|
||||
pp
|
||||
han
|
||||
interpretado
|
||||
ulti
|
||||
##má
|
||||
##tu
|
||||
##n
|
||||
inaceptable
|
||||
chantaje
|
||||
bra
|
||||
##v
|
||||
##uco
|
||||
##na
|
||||
##da
|
||||
busca
|
||||
acuerdo
|
||||
dicen
|
||||
sino
|
||||
cambiar
|
||||
conversación
|
||||
pública
|
||||
tapa
|
||||
##r
|
||||
derrotas
|
||||
elecciones
|
||||
cortes
|
||||
generales
|
||||
formas
|
||||
han
|
||||
gustado
|
||||
populares
|
||||
fondo
|
||||
alternativa
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
puesto
|
||||
encima
|
||||
mesa
|
||||
menos
|
||||
rot
|
||||
##undi
|
||||
##dad
|
||||
respuesta
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
esbo
|
||||
##zado
|
||||
entrevista
|
||||
concedida
|
||||
r
|
||||
##t
|
||||
##ve
|
||||
dispuesto
|
||||
impulsar
|
||||
propia
|
||||
reforma
|
||||
acabar
|
||||
situación
|
||||
inaceptable
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
si
|
||||
bien
|
||||
aterri
|
||||
##zado
|
||||
cómo
|
||||
presidente
|
||||
gobierno
|
||||
querido
|
||||
darle
|
||||
pistas
|
||||
pp
|
||||
incentivo
|
||||
per
|
||||
##verso
|
||||
tiene
|
||||
pp
|
||||
bloquear
|
||||
facultad
|
||||
tiene
|
||||
institución
|
||||
nombrar
|
||||
magistrados
|
||||
van
|
||||
supremo
|
||||
tribunales
|
||||
superiores
|
||||
justicia
|
||||
deberíamos
|
||||
revisar
|
||||
facultad
|
||||
hacerla
|
||||
objetiva
|
||||
transparente
|
||||
menos
|
||||
poli
|
||||
##tizada
|
||||
señaló
|
||||
pp
|
||||
rechazó
|
||||
vía
|
||||
gui
|
||||
##lar
|
||||
##te
|
||||
mes
|
||||
diciembre
|
||||
presidente
|
||||
funciones
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
vice
|
||||
##n
|
||||
##te
|
||||
gui
|
||||
##lar
|
||||
##te
|
||||
firmó
|
||||
columna
|
||||
opinión
|
||||
diario
|
||||
país
|
||||
plantea
|
||||
##ba
|
||||
fórmula
|
||||
explor
|
||||
##ada
|
||||
entonces
|
||||
partidos
|
||||
juicio
|
||||
podría
|
||||
facilitar
|
||||
renovación
|
||||
gui
|
||||
##lar
|
||||
##te
|
||||
expon
|
||||
##ía
|
||||
entonces
|
||||
si
|
||||
recor
|
||||
##taban
|
||||
competencias
|
||||
órgano
|
||||
gobierno
|
||||
jueces
|
||||
pueda
|
||||
realizar
|
||||
nombramientos
|
||||
discre
|
||||
##cionales
|
||||
altos
|
||||
cargos
|
||||
judiciales
|
||||
partidos
|
||||
perdería
|
||||
##n
|
||||
interés
|
||||
gui
|
||||
##lar
|
||||
##te
|
||||
acabó
|
||||
enviando
|
||||
propuesta
|
||||
congreso
|
||||
título
|
||||
personal
|
||||
mes
|
||||
abril
|
||||
pp
|
||||
rechazó
|
||||
así
|
||||
respeto
|
||||
realidad
|
||||
conversaciones
|
||||
ps
|
||||
##oe
|
||||
postura
|
||||
cambiado
|
||||
renovación
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
mismo
|
||||
tiempo
|
||||
renovación
|
||||
norma
|
||||
permite
|
||||
profundizar
|
||||
despo
|
||||
##li
|
||||
##tización
|
||||
poder
|
||||
judicial
|
||||
afirma
|
||||
##ba
|
||||
mi
|
||||
##gue
|
||||
##l
|
||||
tel
|
||||
##lado
|
||||
portavoz
|
||||
partido
|
||||
congreso
|
||||
conversaciones
|
||||
refería
|
||||
tel
|
||||
##lado
|
||||
incluían
|
||||
comisión
|
||||
europea
|
||||
congel
|
||||
##adas
|
||||
hubo
|
||||
tres
|
||||
encuentros
|
||||
fé
|
||||
##li
|
||||
##x
|
||||
bola
|
||||
##ños
|
||||
parte
|
||||
socialista
|
||||
este
|
||||
##ban
|
||||
go
|
||||
##n
|
||||
##zá
|
||||
##lez
|
||||
pon
|
||||
##s
|
||||
popular
|
||||
comisario
|
||||
justicia
|
||||
unión
|
||||
euro
|
||||
##pa
|
||||
did
|
||||
##ier
|
||||
rey
|
||||
##n
|
||||
##ders
|
||||
dio
|
||||
dos
|
||||
meses
|
||||
llegar
|
||||
acuerdo
|
||||
enero
|
||||
acuerdo
|
||||
sigue
|
||||
lejos
|
||||
ahora
|
||||
han
|
||||
pasado
|
||||
seis
|
||||
meses
|
||||
comisión
|
||||
europea
|
||||
pp
|
||||
contó
|
||||
medio
|
||||
hace
|
||||
tiempo
|
||||
dado
|
||||
fracas
|
||||
##ada
|
||||
mediación
|
||||
mismos
|
||||
forzar
|
||||
##on
|
||||
insiste
|
||||
implica
|
||||
##r
|
||||
instituciones
|
||||
europeas
|
||||
miércoles
|
||||
bola
|
||||
##ños
|
||||
enviado
|
||||
mensaje
|
||||
pon
|
||||
##s
|
||||
reunirse
|
||||
viernes
|
||||
intentar
|
||||
llegar
|
||||
acuerdo
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
varias
|
||||
horas
|
||||
después
|
||||
contacto
|
||||
fuentes
|
||||
pp
|
||||
informa
|
||||
##ban
|
||||
pon
|
||||
##s
|
||||
había
|
||||
dirigido
|
||||
vicepres
|
||||
##identa
|
||||
comisión
|
||||
europea
|
||||
[UNK]
|
||||
jo
|
||||
##uro
|
||||
##vá
|
||||
informar
|
||||
##le
|
||||
intento
|
||||
presidente
|
||||
gobierno
|
||||
desestabili
|
||||
##zar
|
||||
negociación
|
||||
manten
|
||||
##ida
|
||||
partido
|
||||
popular
|
||||
supervisión
|
||||
gobierno
|
||||
comunitario
|
||||
mejora
|
||||
modelo
|
||||
judicial
|
||||
país
|
||||
pedirle
|
||||
encuentro
|
||||
tres
|
||||
carácter
|
||||
urgente
|
||||
respuesta
|
||||
fuentes
|
||||
ps
|
||||
##oe
|
||||
destacan
|
||||
alegría
|
||||
pp
|
||||
vuelva
|
||||
querer
|
||||
reunirse
|
||||
renovar
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
gran
|
||||
noticia
|
||||
apunta
|
||||
##ban
|
||||
fer
|
||||
##ra
|
||||
##z
|
||||
recuerdan
|
||||
socialistas
|
||||
llevan
|
||||
solicitando
|
||||
comisión
|
||||
europea
|
||||
pp
|
||||
celebre
|
||||
nueva
|
||||
reunión
|
||||
pp
|
||||
cancel
|
||||
##ó
|
||||
encuentro
|
||||
propuesto
|
||||
comisario
|
||||
rey
|
||||
##n
|
||||
##ders
|
||||
acordado
|
||||
dos
|
||||
partidos
|
||||
2
|
||||
##7
|
||||
marzo
|
||||
madri
|
||||
##d
|
||||
placa
|
||||
entrada
|
||||
sede
|
||||
consejo
|
||||
general
|
||||
poder
|
||||
judicial
|
||||
edificio
|
||||
tribunal
|
||||
supremo
|
||||
madri
|
||||
##d
|
||||
euro
|
||||
##pa
|
||||
pres
|
||||
##s
|
||||
##fer
|
||||
##nan
|
||||
##do
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
grupo
|
||||
jueces
|
||||
usa
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
enviar
|
||||
guía
|
||||
am
|
||||
##nistía
|
||||
concretamente
|
||||
apuntan
|
||||
han
|
||||
dirigido
|
||||
comisión
|
||||
pp
|
||||
celebrar
|
||||
reunión
|
||||
días
|
||||
11
|
||||
abril
|
||||
3
|
||||
mayo
|
||||
22
|
||||
mayo
|
||||
además
|
||||
habido
|
||||
intentos
|
||||
reunión
|
||||
bilateral
|
||||
ps
|
||||
##oe
|
||||
##pp
|
||||
iniciativa
|
||||
siempre
|
||||
ps
|
||||
##oe
|
||||
añade
|
||||
embargo
|
||||
casi
|
||||
tres
|
||||
meses
|
||||
pp
|
||||
negado
|
||||
avanzar
|
||||
diálogo
|
||||
estructurado
|
||||
renovación
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
destacan
|
||||
cerrar
|
||||
día
|
||||
fuentes
|
||||
gubernamentales
|
||||
informa
|
||||
##ban
|
||||
nuevo
|
||||
contacto
|
||||
bola
|
||||
##ños
|
||||
jo
|
||||
##uro
|
||||
##vá
|
||||
objetivo
|
||||
sido
|
||||
trasladar
|
||||
##le
|
||||
voluntad
|
||||
celebrar
|
||||
reunión
|
||||
pp
|
||||
reanudar
|
||||
negociaciones
|
||||
desb
|
||||
##loque
|
||||
##ar
|
||||
renovación
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
próximo
|
||||
viernes
|
||||
madri
|
||||
##d
|
||||
si
|
||||
puede
|
||||
desplaz
|
||||
##ar
|
||||
próxima
|
||||
semana
|
||||
brus
|
||||
##elas
|
||||
gén
|
||||
##ova
|
||||
insiste
|
||||
##n
|
||||
confía
|
||||
##n
|
||||
ministro
|
||||
presidencia
|
||||
justicia
|
||||
relaciones
|
||||
cortes
|
||||
quieren
|
||||
instituciones
|
||||
europeas
|
||||
presenci
|
||||
##en
|
||||
diálogo
|
||||
hace
|
||||
par
|
||||
meses
|
||||
gobierno
|
||||
trasladar
|
||||
##on
|
||||
comisión
|
||||
europea
|
||||
debería
|
||||
emitir
|
||||
algún
|
||||
tipo
|
||||
mensaje
|
||||
negociaciones
|
||||
fecha
|
||||
sucedido
|
||||
socialistas
|
||||
han
|
||||
decidido
|
||||
dar
|
||||
paso
|
||||
adelante
|
||||
miembros
|
||||
dirección
|
||||
nacional
|
||||
pp
|
||||
reconocen
|
||||
medio
|
||||
propuesta
|
||||
gui
|
||||
##lar
|
||||
##te
|
||||
decir
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
puesto
|
||||
ahora
|
||||
mesa
|
||||
podría
|
||||
ir
|
||||
dirección
|
||||
despo
|
||||
##li
|
||||
##tizar
|
||||
justicia
|
||||
han
|
||||
defendido
|
||||
insiste
|
||||
##n
|
||||
imprescindible
|
||||
reformar
|
||||
sistema
|
||||
elección
|
||||
jueces
|
||||
aquí
|
||||
populares
|
||||
permanecen
|
||||
enro
|
||||
##cados
|
||||
excusas
|
||||
pp
|
||||
ps
|
||||
##oe
|
||||
decidido
|
||||
##s
|
||||
dar
|
||||
paso
|
||||
si
|
||||
pp
|
||||
ce
|
||||
##de
|
||||
lunes
|
||||
portavoz
|
||||
socialista
|
||||
est
|
||||
##her
|
||||
pe
|
||||
##ña
|
||||
insistió
|
||||
populares
|
||||
han
|
||||
acabado
|
||||
excusas
|
||||
vez
|
||||
han
|
||||
pasado
|
||||
elecciones
|
||||
europeas
|
||||
mismo
|
||||
tiempo
|
||||
conscientes
|
||||
partido
|
||||
lidera
|
||||
fe
|
||||
##ij
|
||||
##ó
|
||||
##o
|
||||
tiene
|
||||
voluntad
|
||||
llegar
|
||||
ningún
|
||||
acuerdo
|
||||
excusas
|
||||
dadas
|
||||
últimos
|
||||
cinco
|
||||
años
|
||||
cifra
|
||||
##n
|
||||
mon
|
||||
##clo
|
||||
##a
|
||||
prácticamente
|
||||
tre
|
||||
##inten
|
||||
##a
|
||||
realmente
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
había
|
||||
dejado
|
||||
puerta
|
||||
abierta
|
||||
estudiar
|
||||
modelo
|
||||
propone
|
||||
gui
|
||||
##lar
|
||||
##te
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
hace
|
||||
cuantos
|
||||
meses
|
||||
concretamente
|
||||
principios
|
||||
diciembre
|
||||
marco
|
||||
celebraciones
|
||||
día
|
||||
constitución
|
||||
contexto
|
||||
presidente
|
||||
usó
|
||||
además
|
||||
unas
|
||||
palabras
|
||||
similares
|
||||
jueves
|
||||
pp
|
||||
tiene
|
||||
incentivo
|
||||
tener
|
||||
secuestrado
|
||||
poder
|
||||
judicial
|
||||
destacó
|
||||
entonces
|
||||
después
|
||||
llamaría
|
||||
fe
|
||||
##ij
|
||||
##ó
|
||||
##o
|
||||
reunión
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
mesa
|
||||
desembo
|
||||
##có
|
||||
mediación
|
||||
brus
|
||||
##elas
|
||||
harta
|
||||
##zgo
|
||||
socialistas
|
||||
ciertas
|
||||
maniobras
|
||||
judiciales
|
||||
entorno
|
||||
familiar
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
próxima
|
||||
aplicación
|
||||
am
|
||||
##nistía
|
||||
may
|
||||
##ús
|
||||
##culo
|
||||
han
|
||||
reaccion
|
||||
##ado
|
||||
forma
|
||||
directa
|
||||
especialmente
|
||||
juez
|
||||
pe
|
||||
##inado
|
||||
investiga
|
||||
esposa
|
||||
líder
|
||||
socialista
|
||||
be
|
||||
##go
|
||||
##ña
|
||||
g
|
||||
##ómez
|
||||
sido
|
||||
bien
|
||||
recibido
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
contesta
|
||||
##do
|
||||
nuevo
|
||||
ps
|
||||
##oe
|
||||
pidi
|
||||
##éndoles
|
||||
hagan
|
||||
política
|
||||
cuestión
|
||||
ahora
|
||||
si
|
||||
pp
|
||||
decide
|
||||
desc
|
||||
##ol
|
||||
##garse
|
||||
definitivamente
|
||||
renovación
|
||||
c
|
||||
##g
|
||||
##p
|
||||
##j
|
||||
permite
|
||||
llegar
|
||||
producirse
|
||||
##que
|
||||
elimin
|
||||
##e
|
||||
competencia
|
||||
hacer
|
||||
nombramientos
|
||||
parte
|
||||
si
|
||||
fe
|
||||
##ij
|
||||
##ó
|
||||
##o
|
||||
acepta
|
||||
llegar
|
||||
acuerdo
|
||||
sá
|
||||
##n
|
||||
##chez
|
||||
llegó
|
||||
prácticamente
|
||||
hecho
|
||||
frust
|
||||
##ró
|
||||
unas
|
||||
presiones
|
||||
internas
|
||||
solo
|
||||
han
|
||||
ido
|
||||
1
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/PRUEBA.txt
Executable file
1
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/PRUEBA.txt
Executable file
|
|
@ -0,0 +1 @@
|
|||
Esta noticia consistira en una noticia de prueba , sobre pedro sanchez y feijo , hoy estamos a veinti cinco de septiembre de el 2023 y parece que pedro sanchez esta intentando negociar la amnistia con puigdemond y compañia , parece que van a acavar sacando el gobierno a delante , todo el mundo quiere elecciones nuevas porque claro se han dado cuenta que esto es una liada importante , y no todo puede funcionar para hacer que tus objetivos salgan para adelante , en fin me gustaria saber que pasa por lacabeza de algunos activistas ahora mismo ya que parece que si este paso de la amnistia va para adelante , tanto el independentismo vasco como el independentismo catalan podran llegar a buen puerto .
|
||||
0
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/__init__.py
Executable file
0
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/__init__.py
Executable file
78
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/comparar_textos.py
Executable file
78
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/comparar_textos.py
Executable file
|
|
@ -0,0 +1,78 @@
|
|||
import os
|
||||
import re
|
||||
from collections import Counter
|
||||
|
||||
# Lista de palabras comunes en español (stopwords)
|
||||
stopwords = [
|
||||
"de", "la", "que", "el", "en", "y", "a", "los", "del", "se", "las", "por", "un", "para", "con",
|
||||
"no", "una", "su", "al", "es", "lo", "como", "más", "pero", "sus", "le", "ya", "o", "fue", "este",
|
||||
"ha", "sí", "porque", "esta", "son", "entre", "cuando", "muy", "sin", "sobre", "también", "me",
|
||||
"hasta", "hay", "donde", "quien", "desde", "todo", "nos", "durante", "todos", "uno", "les", "ni",
|
||||
"contra", "otros", "ese", "eso", "ante", "ellos", "e", "esto", "mí", "antes", "algunos", "qué",
|
||||
"unos", "yo", "otro", "otras", "otra", "él", "tanto", "esa", "estos", "mucho", "quienes", "nada",
|
||||
"muchos", "cual", "poco", "ella", "estar", "estas", "algunas", "algo", "nosotros", "mi", "mis",
|
||||
"tú", "te", "ti", "tu", "tus", "ellas", "nosotras", "vosotros", "vosotras", "os", "mío", "mía",
|
||||
"míos", "mías", "tuyo", "tuya", "tuyos", "tuyas", "suyo", "suya", "suyos", "suyas", "nuestro",
|
||||
"nuestra", "nuestros", "nuestras", "vuestro", "vuestra", "vuestros", "vuestras", "esos", "esas",
|
||||
"estoy", "estás", "está", "estamos", "estáis", "están", "esté", "estés", "estemos", "estéis",
|
||||
"estén", "estaré", "estarás", "estará", "estaremos", "estaréis", "estarán", "estaría", "estarías",
|
||||
"estaríamos", "estaríais", "estarían", "estaba", "estabas", "estábamos", "estabais", "estaban",
|
||||
"estuve", "estuviste", "estuvo", "estuvimos", "estuvisteis", "estuvieron", "estuviera", "estuvieras",
|
||||
"estuviéramos", "estuvierais", "estuvieran", "estuviese", "estuvieses", "estuviésemos", "estuvieseis",
|
||||
"estuviesen", "estando", "estado", "estada", "estados", "estadas", "estad"
|
||||
]
|
||||
|
||||
# Función para limpiar el texto
|
||||
def limpiar_texto(texto):
|
||||
texto = texto.lower()
|
||||
texto = re.sub(r'[^\w\s]', '', texto) # Elimina signos de puntuación
|
||||
palabras = texto.split()
|
||||
palabras_limpias = [palabra for palabra in palabras if palabra not in stopwords]
|
||||
return ' '.join(palabras_limpias)
|
||||
|
||||
# Función para contar palabras en un archivo
|
||||
def contar_palabras(nombre_archivo):
|
||||
with open(nombre_archivo, 'r') as f:
|
||||
palabras = f.read().split()
|
||||
return Counter(palabras)
|
||||
|
||||
# Función para comparar dos archivos y calcular el porcentaje de similitud
|
||||
def comparar_archivos(archivo1, archivo2):
|
||||
conteo1 = contar_palabras(archivo1)
|
||||
conteo2 = contar_palabras(archivo2)
|
||||
|
||||
palabras_comunes = set(conteo1.keys()) & set(conteo2.keys())
|
||||
num_palabras_comunes = sum(min(conteo1[p], conteo2[p]) for p in palabras_comunes)
|
||||
num_palabras_totales = sum(conteo1.values()) + sum(conteo2.values())
|
||||
|
||||
porcentaje_similitud = (num_palabras_comunes / num_palabras_totales) * 100
|
||||
return porcentaje_similitud
|
||||
|
||||
# Función para comparar todos los archivos entre carpetas y guardar los resultados
|
||||
def comparar_carpetas(carpeta1, carpeta2, carpeta_comparaciones, nombre_comparacion):
|
||||
archivos1 = [os.path.join(carpeta1, f) for f in os.listdir(carpeta1) if f.endswith('.txt')]
|
||||
archivos2 = [os.path.join(carpeta2, f) for f in os.listdir(carpeta2) if f.endswith('.txt')]
|
||||
|
||||
with open(os.path.join(carpeta_comparaciones, f"{nombre_comparacion}.txt"), 'w') as f_out:
|
||||
for archivo1 in archivos1:
|
||||
for archivo2 in archivos2:
|
||||
porcentaje = comparar_archivos(archivo1, archivo2)
|
||||
nombre_archivo1 = os.path.basename(archivo1)
|
||||
nombre_archivo2 = os.path.basename(archivo2)
|
||||
f_out.write(f"{nombre_archivo1} vs {nombre_archivo2}: {porcentaje:.2f}% de similitud\n")
|
||||
|
||||
# Rutas a las carpetas
|
||||
ruta_base = '/home/sito/PROGRAMACION/FLUJOS_TODO/FLUJOS_DATOS'
|
||||
carpeta_comparaciones = os.path.join(ruta_base, 'COMPARACIONES')
|
||||
carpeta_wikipedia = os.path.join(ruta_base, 'WIKIPEDIA', 'articulos_tokenizados')
|
||||
carpeta_torrents = os.path.join(ruta_base, 'TORRENTS', 'TORRENTS_WIKILEAKS_COMPLETO', 'tokenized')
|
||||
carpeta_noticias = os.path.join(ruta_base, 'NOTICIAS', 'tokenized')
|
||||
|
||||
# Crear la carpeta de comparaciones si no existe
|
||||
os.makedirs(carpeta_comparaciones, exist_ok=True)
|
||||
|
||||
# Comparar las carpetas y guardar los resultados
|
||||
comparar_carpetas(carpeta_wikipedia, carpeta_noticias, carpeta_comparaciones, 'wikipedia_vs_noticias')
|
||||
comparar_carpetas(carpeta_wikipedia, carpeta_torrents, carpeta_comparaciones, 'wikipedia_vs_torrents')
|
||||
comparar_carpetas(carpeta_torrents, carpeta_noticias, carpeta_comparaciones, 'torrents_vs_noticias')
|
||||
|
||||
34
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/entrada.py
Executable file
34
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/entrada.py
Executable file
|
|
@ -0,0 +1,34 @@
|
|||
import os
|
||||
|
||||
def preprocess_input(text):
|
||||
"""
|
||||
Limpia la entrada del usuario: elimina espacios adicionales, saltos de línea y convierte a texto con formato uniforme.
|
||||
"""
|
||||
cleaned_text = ' '.join(text.split())
|
||||
return cleaned_text
|
||||
|
||||
def guardar_noticia(data, nombre_archivo):
|
||||
with open(nombre_archivo, 'w', encoding='utf-8') as file:
|
||||
for key, value in data.items():
|
||||
file.write(f"{key}: {value}\n")
|
||||
|
||||
def main():
|
||||
while True:
|
||||
noticia_data = {}
|
||||
|
||||
noticia = input("Introduce la noticia (escribe 'salir' o presiona Enter para terminar): ")
|
||||
if not noticia.strip() or noticia.lower() == 'salir':
|
||||
break
|
||||
|
||||
noticia_data["content"] = preprocess_input(noticia)
|
||||
noticia_data["title"] = preprocess_input(input("Introduce el título de la noticia: "))
|
||||
noticia_data["theme"] = preprocess_input(input("Introduce la temática de la noticia: "))
|
||||
noticia_data["author"] = preprocess_input(input("Introduce el autor de la noticia: "))
|
||||
noticia_data["timestamp"] = preprocess_input(input("Introduce la fecha de publicación (DD-MM-AAAA): "))
|
||||
|
||||
nombre_archivo = input("Introduce el nombre del archivo para guardar (incluyendo .txt): ")
|
||||
guardar_noticia(noticia_data, nombre_archivo)
|
||||
print(f"Noticia guardada en {nombre_archivo}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
79
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/guardar_datos.py
Executable file
79
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/guardar_datos.py
Executable file
|
|
@ -0,0 +1,79 @@
|
|||
import numpy as np
|
||||
import pandas as pd
|
||||
import os
|
||||
import logging
|
||||
from sklearn.metrics.pairwise import cosine_similarity
|
||||
from tensorflow.keras.models import load_model
|
||||
from elasticsearch import Elasticsearch, ElasticsearchException
|
||||
|
||||
def main():
|
||||
# Configuración básica de logging
|
||||
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
||||
|
||||
# Verificar si el modelo entrenado existe
|
||||
if not os.path.exists("my_model.h5"):
|
||||
logging.error("El modelo 'my_model.h5' no existe. Asegúrate de ejecutar 'train_model.py' primero.")
|
||||
return
|
||||
|
||||
# Cargar el modelo entrenado
|
||||
model = load_model("my_model.h5")
|
||||
|
||||
# Verificar si el archivo 'salida.csv' existe
|
||||
if not os.path.exists('salida.csv'):
|
||||
logging.error("El archivo 'salida.csv' no existe. Asegúrate de ejecutar 'procesador_txt.py' primero.")
|
||||
return
|
||||
|
||||
# Cargar datos tokenizados desde el archivo CSV
|
||||
df = pd.read_csv('salida.csv')
|
||||
|
||||
# Verificar que las columnas esperadas existen
|
||||
if 'texto_procesado' not in df.columns or 'texto_original' not in df.columns:
|
||||
logging.error("El archivo 'salida.csv' no tiene las columnas esperadas.")
|
||||
return
|
||||
|
||||
sequences = [list(map(int, str(seq).split(','))) for seq in df['texto_procesado']]
|
||||
|
||||
# Obtener las representaciones incrustadas para todas las noticias
|
||||
embeddings = model.predict(np.array(sequences))
|
||||
|
||||
# Inicializar el cliente de Elasticsearch
|
||||
es = Elasticsearch(
|
||||
hosts=[{'host': 'localhost', 'port': 9200}],
|
||||
http_auth=('usuario', 'contraseña'), # Cambia a tus propias credenciales
|
||||
)
|
||||
|
||||
# Umbral de similitud del coseno
|
||||
SIMILARITY_THRESHOLD = 0.75 # Ajusta este valor según tus necesidades
|
||||
|
||||
# Iterar sobre cada noticia para calcular y guardar las relaciones
|
||||
for i, current_news in enumerate(sequences):
|
||||
similarities = cosine_similarity(embeddings[i].reshape(1, -1), embeddings)[0]
|
||||
|
||||
# Obtenemos noticias con similitud por encima del umbral (excluyendo la noticia actual)
|
||||
related_indices = [idx for idx in range(len(similarities)) if similarities[idx] > SIMILARITY_THRESHOLD and idx != i]
|
||||
|
||||
related_news = [{"id": idx, "score": similarities[idx]} for idx in related_indices]
|
||||
|
||||
document = {
|
||||
"id": i,
|
||||
"content": df['texto_original'].iloc[i],
|
||||
"related_news": related_news,
|
||||
# Añade tus nuevos campos aquí
|
||||
"title": df.get('title', 'N/A').iloc[i], # Sustituye 'N/A' por un valor por defecto apropiado si 'title' no existe
|
||||
"theme": df.get('theme', 'General').iloc[i], # Asume 'General' si 'theme' no existe
|
||||
"author": df.get('author', 'Anonymous').iloc[i], # Asume 'Anonymous' si 'author' no existe
|
||||
"timestamp": df.get('timestamp', 'Unknown').iloc[i], # Asume 'Unknown' si 'timestamp' no existe
|
||||
}
|
||||
|
||||
try:
|
||||
# Guardar el documento en Elasticsearch
|
||||
es.index(index="news", body=document)
|
||||
except ElasticsearchException as e:
|
||||
logging.error(f"Error al indexar el documento en Elasticsearch: {e}")
|
||||
except Exception as e:
|
||||
logging.error(f"Something is fucked up Sorry about that . {e}")
|
||||
|
||||
logging.info("B-) Todo a ido como la seda , muchas gracias por tu aportaciòn <3 . ")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
74
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/procesador_txt.py
Executable file
74
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/procesador_txt.py
Executable file
|
|
@ -0,0 +1,74 @@
|
|||
from transformers import BertTokenizer
|
||||
import nltk
|
||||
import string
|
||||
import os
|
||||
import pandas as pd
|
||||
from nltk.corpus import stopwords
|
||||
|
||||
# Descargar recursos de NLTK
|
||||
nltk.download('punkt')
|
||||
nltk.download('stopwords')
|
||||
|
||||
# Preprocesamiento de texto
|
||||
def preprocess_text(text):
|
||||
"""
|
||||
Preprocesa el texto: convierte a minúsculas, elimina signos de puntuación y elimina las stopwords.
|
||||
"""
|
||||
# Convierte el texto a minúsculas
|
||||
text = text.lower()
|
||||
# Elimina signos de puntuación
|
||||
text = ''.join([char for char in text if char not in string.punctuation])
|
||||
# Elimina stopwords
|
||||
words = text.split()
|
||||
filtered_words = [word for word in words if word not in stopwords.words('spanish')]
|
||||
return ' '.join(filtered_words)
|
||||
|
||||
# Función para tokenizar el contenido de un archivo
|
||||
def tokenize_file(file_path):
|
||||
"""
|
||||
Tokeniza el contenido de un archivo usando el tokenizer de BERT y preprocesamiento básico.
|
||||
"""
|
||||
with open(file_path, 'r', encoding='utf-8') as file:
|
||||
content = file.read()
|
||||
|
||||
preprocessed_content = preprocess_text(content)
|
||||
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
|
||||
tokens = tokenizer.tokenize(preprocessed_content)
|
||||
return tokens
|
||||
|
||||
# Tokenización de todos los archivos en un directorio
|
||||
def tokenize_all_files_in_directory(directory_path='.'):
|
||||
"""
|
||||
Lee y procesa todos los archivos de texto en el directorio proporcionado.
|
||||
Devuelve una lista de textos tokenizados.
|
||||
"""
|
||||
tokenized_texts = []
|
||||
filenames = [f for f in os.listdir(directory_path) if f.endswith('.txt')]
|
||||
|
||||
for filename in filenames:
|
||||
path = os.path.join(directory_path, filename)
|
||||
tokenized_text = tokenize_file(path)
|
||||
tokenized_texts.append(tokenized_text)
|
||||
|
||||
return tokenized_texts
|
||||
|
||||
# Guardar los textos tokenizados en un archivo CSV
|
||||
def save_tokenized_texts_to_csv(tokenized_texts, output_file='salida.csv'):
|
||||
"""
|
||||
Guarda los textos tokenizados en un archivo CSV.
|
||||
"""
|
||||
df = pd.DataFrame({'texto_procesado': tokenized_texts})
|
||||
df.to_csv(output_file, index=False)
|
||||
|
||||
def main():
|
||||
tokenized_texts = tokenize_all_files_in_directory()
|
||||
|
||||
if not tokenized_texts:
|
||||
print("Error: No se encontraron archivos .txt para procesar.")
|
||||
return
|
||||
|
||||
save_tokenized_texts_to_csv(tokenized_texts)
|
||||
print(f"{len(tokenized_texts)} textos tokenizados y guardados en salida.csv")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
30
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/process.py
Executable file
30
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/process.py
Executable file
|
|
@ -0,0 +1,30 @@
|
|||
from elasticsearch import Elasticsearch
|
||||
from FLUJOS_DATOS.TENSOR_FLOW.generate_embeddings import get_embeddings
|
||||
|
||||
# Configura la conexión a Elasticsearch
|
||||
es = Elasticsearch([{'host': 'localhost', 'port': 9200, 'scheme': 'http'}])
|
||||
|
||||
|
||||
def save_embedding(text, embeddings):
|
||||
body = {
|
||||
"text": text,
|
||||
"embedding": embeddings.tolist() # Convertir el embedding (numpy array) a lista
|
||||
}
|
||||
response = es.index(index="text_embeddings", body=body)
|
||||
return response
|
||||
|
||||
|
||||
|
||||
def retrieve_embedding(text):
|
||||
query = {
|
||||
"query": {
|
||||
"match": {
|
||||
"text": text
|
||||
}
|
||||
}
|
||||
}
|
||||
response = es.search(index="text_embeddings", body=query)
|
||||
if response['hits']['total']['value'] > 0:
|
||||
return response['hits']['hits'][0]['_source']['embedding']
|
||||
else:
|
||||
return None
|
||||
58
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/run_all.py
Executable file
58
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/run_all.py
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
import entrada
|
||||
import procesador_txt
|
||||
import train_model
|
||||
import guardar_datos
|
||||
|
||||
def main():
|
||||
try:
|
||||
# 1. Introduce y guarda noticias
|
||||
print("Iniciando el proceso de introducción y guardado de noticias...")
|
||||
entrada.main()
|
||||
|
||||
except FileNotFoundError:
|
||||
print("Error: No se encontró el archivo especificado durante la introducción de noticias.")
|
||||
return
|
||||
except Exception as e:
|
||||
print(f"Error inesperado durante la introducción de noticias: {e}")
|
||||
return
|
||||
|
||||
try:
|
||||
# 2. Procesa y tokeniza las noticias
|
||||
print("Iniciando el proceso de tokenización de noticias...")
|
||||
procesador_txt.main() # Asegúrate de que esta función exista en tu script procesador_txt.py
|
||||
|
||||
except FileNotFoundError:
|
||||
print("Error: No se encontró el archivo especificado durante la tokenización de noticias.")
|
||||
return
|
||||
except Exception as e:
|
||||
print(f"Error inesperado durante la tokenización de noticias: {e}")
|
||||
return
|
||||
|
||||
try:
|
||||
# 3. Entrena el modelo
|
||||
print("Iniciando el proceso de entrenamiento del modelo...")
|
||||
train_model.main() # Asegúrate de que esta función exista en tu script train_model.py
|
||||
|
||||
except ValueError:
|
||||
print("Error: Hay un problema con los datos utilizados para entrenar el modelo.")
|
||||
return
|
||||
except Exception as e:
|
||||
print(f"Error inesperado durante el entrenamiento del modelo: {e}")
|
||||
return
|
||||
|
||||
try:
|
||||
# 4. Guarda datos en Elasticsearch
|
||||
print("Iniciando el proceso de guardado de datos en Elasticsearch...")
|
||||
guardar_datos.main() # Asegúrate de que esta función exista en tu script guardar_datos.py
|
||||
|
||||
except ConnectionError:
|
||||
print("Error: No se pudo conectar a Elasticsearch. Asegúrate de que el servicio esté ejecutándose y de que las credenciales sean correctas.")
|
||||
return
|
||||
except Exception as e:
|
||||
print(f"Error inesperado durante el guardado de datos en Elasticsearch: {e}")
|
||||
return
|
||||
|
||||
print("Todos los procesos han sido completados exitosamente.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
1958
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/tokenized_text.txt
Executable file
1958
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/tokenized_text.txt
Executable file
File diff suppressed because it is too large
Load diff
90
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/train_model.py
Executable file
90
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/train_model.py
Executable file
|
|
@ -0,0 +1,90 @@
|
|||
|
||||
from transformers import BertModel, BertTokenizer
|
||||
import torch
|
||||
|
||||
def main():
|
||||
# Cargar el tokenizador y el modelo BERT preentrenado
|
||||
tokenizer = BertTokenizer.from_pretrained('bert-base-multilingual-cased')
|
||||
model = BertModel.from_pretrained('bert-base-multilingual-cased')
|
||||
|
||||
# Aquí debes cargar tus datos (noticias). Supongamos que 'noticias' es una lista de textos de noticias.
|
||||
noticias = ["Introduce aquí la primera noticia", "Introduce aquí la segunda noticia"] # etc.
|
||||
|
||||
embeddings = []
|
||||
for texto in noticias:
|
||||
# Codificar texto
|
||||
inputs = tokenizer(texto, padding=True, truncation=True, return_tensors="pt")
|
||||
|
||||
# Obtener la salida del modelo
|
||||
with torch.no_grad():
|
||||
outputs = model(**inputs)
|
||||
|
||||
# Tomar sólo la salida del último layer del clasificador (representación del texto completo)
|
||||
embeddings.append(outputs.last_hidden_state[:,0,:])
|
||||
|
||||
# 'embeddings' es ahora una lista de tensores de PyTorch, uno por cada texto de noticia.
|
||||
# Puedes convertir esto a una lista de vectores y luego seguir con tu lógica de almacenamiento y similitud.
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#============================================================================================================
|
||||
#CODIGO PARA ENTRENAR AL MODELO SENCILLO
|
||||
#============================================================================================================
|
||||
|
||||
|
||||
# import numpy as np
|
||||
# import pandas as pd
|
||||
# import os
|
||||
# from tensorflow.keras.models import Sequential
|
||||
# from tensorflow.keras.layers import Embedding, Flatten, Dense
|
||||
|
||||
# def main():
|
||||
# # Verificar si el archivo 'salida.csv' existe
|
||||
# if not os.path.exists('salida.csv'):
|
||||
# print("Error: El archivo 'salida.csv' no existe. Asegúrate de ejecutar 'procesador_txt.py' primero.")
|
||||
# return
|
||||
|
||||
# # 1. Cargar datos tokenizados desde el archivo CSV
|
||||
# df = pd.read_csv('salida.csv')
|
||||
|
||||
# # Verificar que las columnas esperadas existen
|
||||
# if 'texto_procesado' not in df.columns or 'labels' not in df.columns:
|
||||
# print("Error: El archivo 'salida.csv' no tiene las columnas esperadas.")
|
||||
# return
|
||||
|
||||
# # Convertir datos tokenizados a listas de enteros
|
||||
# sequences = [list(map(int, str(seq).split(','))) for seq in df['texto_procesado']]
|
||||
# labels = df['labels'].values
|
||||
|
||||
# # 2. Definir el modelo
|
||||
# vocab_size = 10000 # Ajusta esto según tu dataset
|
||||
# embedding_dim = 16
|
||||
# max_length = len(sequences[0]) # longitud del primer elemento, asumiendo que todos tienen la misma longitud
|
||||
|
||||
# model = Sequential([
|
||||
# Embedding(vocab_size, embedding_dim, input_length=max_length),
|
||||
# Flatten(),
|
||||
# Dense(6, activation='relu'),
|
||||
# Dense(1, activation='sigmoid') # Cambia esto si tienes más clases
|
||||
# ])
|
||||
|
||||
# # 3. Compilar el modelo
|
||||
# model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
|
||||
|
||||
# # 4. Entrenar el modelo
|
||||
# model.fit(np.array(sequences), labels, epochs=10)
|
||||
|
||||
# # 5. Guardar el modelo entrenado
|
||||
# model.save("my_model.h5")
|
||||
|
||||
# print("Modelo entrenado y guardado.")
|
||||
|
||||
# if __name__ == "__main__":
|
||||
# main()
|
||||
47
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/tu_archivo.txt
Executable file
47
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/KERAS/tu_archivo.txt
Executable file
|
|
@ -0,0 +1,47 @@
|
|||
El club, conferencia, grupo o foro Bilderberg es una reunión anual a la que asisten aproximadamente las 130 personas más influyentes del mundo, mediante invitación. Los miembros de este grupo se reúnen en complejos de lujo ubicados en Europa, Norteamérica y Asia, donde la prensa no tiene ningún tipo de acceso, y sus oficinas están en Leiden (Países Bajos). El nombre de este club procede del hotel en el que tuvo lugar la primera reunión, en los Países Bajos.
|
||||
|
||||
|
||||
Henri de Castries, presidente del Grupo Bilderberg desde 2011.
|
||||
Historia
|
||||
El 29 de mayo de 1954 tuvo lugar la primera reunión, propuesta por el exiliado consejero político polaco Józef Retinger. Este, preocupado por el antiamericanismo que estaba causando el Plan Marshall en Europa, decidió reunir a los líderes europeos y norteamericanos para promover el entendimiento entre ellos. Entre los invitados estuvieron el príncipe neerlandés Bernardo, que decidió promover la idea, David Rockefeller, quien financió la reunión, y el primer ministro belga Paul van Zeeland. La idea era que los invitados fueran dos de cada país, uno conservador y el otro progresista.
|
||||
|
||||
El éxito del encuentro animó a los organizadores a preparar una conferencia anual. Se creó un comité de dirección y Retinger fue designado su secretario permanente. Al igual que organizaba la conferencia, el comité de dirección también mantenía un registro de los nombres de los asistentes y detalles de contacto, con el objetivo de crear una red informal de individuos que se podrían invitar unos a otros en privado. El propósito declarado del Grupo Bilderberg era «hacer un nudo alrededor de una línea política común entre Estados Unidos y Europa en oposición a Rusia y al comunismo». El economista neerlandés Ernst van der Beugel sustituyó a Retinger en el puesto en 1960, tras la muerte de este. El príncipe Bernardo fue presidente de la reunión hasta su muerte, en 2004.
|
||||
|
||||
El club Bilderberg y la crisis económica de 2008
|
||||
En 2009 la reunión tuvo lugar en el municipio costero de Vouliagmeni (Atenas) y asistieron, entre otros, los ministros griegos de finanzas y de asuntos exteriores, así como el gobernador del Banco Nacional griego y Vladímir Putin. Un año más tarde la reunión giró, de nuevo, en torno a la difícil situación que vivían Grecia, Portugal y España. Al parecer, siendo presidente del gobierno español, José Luis Rodríguez Zapatero, asistió para tranquilizar a los inversores internacionales ante el vencimiento de grandes cantidades de deuda española.12
|
||||
|
||||
La reunión de Sitges, en 2010
|
||||
Tuvo lugar el 3 de junio en el Hotel Dolce.3 Asistió el entonces presidente del gobierno José Luis Rodríguez Zapatero, invitado por el club por tradición y dispuesto a convencer de la solvencia económica del Estado.4 Además del presidente asistieron otros cargos empresariales y políticos españoles que acuden habitualmente a la convocatoria, como el consejero delegado del grupo PRISA, Juan Luis Cebrián, el presidente de Acciona, José Manuel Entrecanales, y el ex ministro de Economía Pedro Solbes. También la reina de España, Sofía, quien ya había asistido, como oyente, a otras reuniones anteriores.
|
||||
|
||||
Bill Gates, fundador de Microsoft criticó al finalizar la reunión las restricciones económicas que el gobierno español acababa de promover.5
|
||||
|
||||
Algunos asistentes
|
||||
Artículo principal: Anexo:Participantes en el Grupo Bilderberg
|
||||
Banqueros, políticos, miembros de la realeza, financieros internacionales o dueños de los principales medios de comunicación, son ejemplos de los miembros del club Bilderberg. Entre ellos están el español Juan Luis Cebrián, quien fuera presidente ejecutivo del grupo Prisa, el estadounidense Donald Rumsfeld, antiguo secretario de defensa de su país,6 el irlandés Peter Sutherland, entre otros cargos presidente de Goldman Sachs y British Petroleum,7 el estadounidense Paul Wolfowitz, antiguo presidente del Banco Mundial, David Rockefeller, los Ford o el belga Étienne Davignon, antiguo vicepresidente de la Comisión Europea y expresidente del grupo.891011 Como curiosidad, cabe destacar que los anteriormente nombrados Rumsfeld y Sutherland fueron compañeros en la compañía de energía ABB.12
|
||||
|
||||
En 2009, entre otros, participaron la reina Sofía,13 Ana Botín (Banco Santander), José Manuel Entrecanales (Acciona), Alberto Ruiz-Gallardón y Pedro Solbes.14 Por primera vez, dos periódicos británicos de tirada nacional se hicieron eco en noticias escuetas de la Conferencia del Grupo Bilderberg. Uno de ellos fue The Guardian, que envió a uno de sus corresponsales y cuyas crónicas únicamente fueron publicadas en la edición digital del periódico. Durante seis días, el periodista documentó cómo fue sometido a diversos seguimientos y finalmente arrestado por la policía griega.15 Tras esta reciente exposición a la opinión pública, ahora han publicado en su web una breve referencia a los temas tratados en los últimos tres años y una lista oficial de participantes.16
|
||||
|
||||
Teorías de conspiración
|
||||
El mayor atractivo de estas reuniones es que sus participantes tienen la oportunidad de debatir abiertamente entre ellos y saber qué opinan las personas más poderosas del mundo.17
|
||||
Étienne Davignon, presidente del Club Bilderberg
|
||||
El grupo es acusado de conspirar para imponer un gobierno mundial, un dominio capitalista y/o una economía planificada.18171920212223
|
||||
|
||||
Se trata de una lista exclusiva de figuras de influencia global que ha captado el interés de una red internacional de conspiracionistas, quienes durante décadas han visto al grupo Bilderberg como un esquema globalista-corporativo y están convencidos de que una élite poderosa está moviendo al planeta hacia un nuevo orden mundial oligárquico. 24
|
||||
Kenneth P. Vogel, vocero
|
||||
Miles de videos sobre el grupo Bilderberg pueden verse en YouTube24 y entre los defensores de esta teoría de conspiración están la derechista Sociedad John Birch,2325 la activista política Phyllis Schlafly,25 el escritor Jim Tucker,26 el activista Lyndon LaRouche,27 el locutor de radio Alex Jones,28 el político Jesse Ventura, quien hizo del grupo Bilderberg un episodio en su serie televisiva Conspiracy Theory with Jesse Ventura,29 o el escritor ruso-canadiense Daniel Estulin.30
|
||||
|
||||
Decir que estamos luchando por un gobierno mundial es exagerado, pero no completamente desacertado. Nosotros pensamos que no podemos seguir luchando para siempre unos contra otros para nada y matando a gente o dejándola sin hogar. Por ello, creemos que una comunidad única a lo largo del mundo sería algo positivo.31
|
||||
Denis Healey, miembro fundador del Grupo Bilderberg.
|
||||
En el reportaje La derecha corteja a la izquierda (1994), el periodista argumenta que las teorías conspirativas del populismo de derechas se remontan a 1964: en el libro A choice, not an echo, Phyllis Schlafly argumenta que el Partido Republicano fue secretamente controlado por intelectuales de la élite, dominados por miembros del grupo Bilderberg, cuyas políticas internacionalistas pavimentaron el camino hacia el comunismo mundial.3233
|
||||
|
||||
Es inevitable y no importa. Siempre habrá personas que crean en conspiraciones, pero las cosas suceden de una manera mucho más incoherente. Cuando la gente dice que este grupo es un gobierno secreto mundial, yo digo que si lo fuéramos, deberíamos estar avergonzados de nosotros mismos.21
|
||||
Etiénne Davignon, presidente del Club Bilderberg
|
||||
El investigador y profesor en Psicología y Sociología G. William Domhoff cree que el rol de los foros de relaciones internacionales y los clubes sociales, como el club Bilderberg, no es nada más que un medio para discutir ideas, conseguir consenso y crear cohesión social dentro de la élite. Opina que el rumor de la teoría conspirativa puede ser perjudicial y que puede evitar la asistencia de ciertas personas a ellos. Para él, son más o menos la misma gente que pertenece a otros clubes, pero colocados en roles más importantes como el de capitalista o líder político, visibles y fáciles de combatir.34
|
||||
|
||||
Siniestras camarillas y los lobistas de Bilderberg manipulan al público para instalar un gobierno mundial que no conoce fronteras y que no rinde cuentas ante nadie, salvo a sí mismo.22
|
||||
Fidel Castro, expresidente de Cuba
|
||||
El escritor James McConnachie comenta que los teóricos de la conspiración tienen un punto a su favor, pero fallan en comunicarlo efectivamente.35 Para él, el grupo Bilderberg actúa en una forma consistente con una conspiración global, pero lo hace sin un grado de atrocidad, algo que no entienden los teóricos de la conspiración. Según McConnachie, los conspiracionistas ven al Club Bilderberg como el mal absoluto.28
|
||||
|
||||
Ocasionalmente tienes que darle crédito a los teóricos de la conspiración, los cuales plantean cuestiones que los medios principales han ignorado. Es reciente que los medios han cubierto al Club Bilderberg, pero ¿escribirían los medios si no estuvieran estas acusaciones?28
|
||||
James McConnachie, escritor
|
||||
Su objetivo final es el control de absolutamente todo el mundo, en todos los sentidos de la palabra. Actúan como si fueran Dios en la Tierra.22
|
||||
0
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/__init__.py
Executable file
0
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/__init__.py
Executable file
16
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/asgi.py
Executable file
16
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/asgi.py
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
"""
|
||||
ASGI config for FLUJOS_DATOS project.
|
||||
|
||||
It exposes the ASGI callable as a module-level variable named ``application``.
|
||||
|
||||
For more information on this file, see
|
||||
https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
from django.core.asgi import get_asgi_application
|
||||
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'FLUJOS_DATOS.settings')
|
||||
|
||||
application = get_asgi_application()
|
||||
124
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/settings.py
Executable file
124
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/settings.py
Executable file
|
|
@ -0,0 +1,124 @@
|
|||
"""
|
||||
Django settings for FLUJOS_DATOS project.
|
||||
|
||||
Generated by 'django-admin startproject' using Django 4.2.5.
|
||||
|
||||
For more information on this file, see
|
||||
https://docs.djangoproject.com/en/4.2/topics/settings/
|
||||
|
||||
For the full list of settings and their values, see
|
||||
https://docs.djangoproject.com/en/4.2/ref/settings/
|
||||
"""
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/
|
||||
|
||||
# SECURITY WARNING: keep the secret key used in production secret!
|
||||
SECRET_KEY = 'django-insecure-5sme-l68=#wv#h75ga3yf+@0-mc!@aoytv!eq*5i-t41aqso(-'
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = True
|
||||
|
||||
ALLOWED_HOSTS = []
|
||||
|
||||
|
||||
# Application definition
|
||||
|
||||
INSTALLED_APPS = [
|
||||
'django.contrib.admin',
|
||||
'django.contrib.auth',
|
||||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
'noticias',
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
'django.middleware.security.SecurityMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
]
|
||||
|
||||
ROOT_URLCONF = 'FLUJOS_DATOS.urls'
|
||||
|
||||
TEMPLATES = [
|
||||
{
|
||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||
'DIRS': [],
|
||||
'APP_DIRS': True,
|
||||
'OPTIONS': {
|
||||
'context_processors': [
|
||||
'django.template.context_processors.debug',
|
||||
'django.template.context_processors.request',
|
||||
'django.contrib.auth.context_processors.auth',
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
],
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
WSGI_APPLICATION = 'FLUJOS_DATOS.wsgi.application'
|
||||
|
||||
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/4.2/ref/settings/#databases
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'NAME': BASE_DIR / 'db.sqlite3',
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Password validation
|
||||
# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators
|
||||
|
||||
AUTH_PASSWORD_VALIDATORS = [
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
# Internationalization
|
||||
# https://docs.djangoproject.com/en/4.2/topics/i18n/
|
||||
|
||||
LANGUAGE_CODE = 'en-us'
|
||||
|
||||
TIME_ZONE = 'UTC'
|
||||
|
||||
USE_I18N = True
|
||||
|
||||
USE_TZ = True
|
||||
|
||||
|
||||
# Static files (CSS, JavaScript, Images)
|
||||
# https://docs.djangoproject.com/en/4.2/howto/static-files/
|
||||
|
||||
STATIC_URL = 'static/'
|
||||
|
||||
# Default primary key field type
|
||||
# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field
|
||||
|
||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||
27
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/urls.py
Executable file
27
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/urls.py
Executable file
|
|
@ -0,0 +1,27 @@
|
|||
"""
|
||||
URL configuration for FLUJOS_DATOS project.
|
||||
|
||||
The `urlpatterns` list routes URLs to views. For more information please see:
|
||||
https://docs.djangoproject.com/en/4.2/topics/http/urls/
|
||||
Examples:
|
||||
Function views
|
||||
1. Add an import: from my_app import views
|
||||
2. Add a URL to urlpatterns: path('', views.home, name='home')
|
||||
Class-based views
|
||||
1. Add an import: from other_app.views import Home
|
||||
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
|
||||
Including another URLconf
|
||||
1. Import the include() function: from django.urls import include, path
|
||||
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
|
||||
"""
|
||||
from django.contrib import admin
|
||||
from django.urls import path
|
||||
from noticias.views import get_text_embedding
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
path('get-embedding/', get_text_embedding, name='get-embedding'),
|
||||
|
||||
|
||||
]
|
||||
16
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/wsgi.py
Executable file
16
FLUJOS_DATOS/FLUJOS_DATOS/FLUJOS_DATOS/wsgi.py
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
"""
|
||||
WSGI config for FLUJOS_DATOS project.
|
||||
|
||||
It exposes the WSGI callable as a module-level variable named ``application``.
|
||||
|
||||
For more information on this file, see
|
||||
https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
from django.core.wsgi import get_wsgi_application
|
||||
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'FLUJOS_DATOS.settings')
|
||||
|
||||
application = get_wsgi_application()
|
||||
22
FLUJOS_DATOS/FLUJOS_DATOS/manage.py
Executable file
22
FLUJOS_DATOS/FLUJOS_DATOS/manage.py
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/env python
|
||||
"""Django's command-line utility for administrative tasks."""
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
def main():
|
||||
"""Run administrative tasks."""
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'FLUJOS_DATOS.settings')
|
||||
try:
|
||||
from django.core.management import execute_from_command_line
|
||||
except ImportError as exc:
|
||||
raise ImportError(
|
||||
"Couldn't import Django. Are you sure it's installed and "
|
||||
"available on your PYTHONPATH environment variable? Did you "
|
||||
"forget to activate a virtual environment?"
|
||||
) from exc
|
||||
execute_from_command_line(sys.argv)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
0
FLUJOS_DATOS/FLUJOS_DATOS/noticias/__init__.py
Executable file
0
FLUJOS_DATOS/FLUJOS_DATOS/noticias/__init__.py
Executable file
3
FLUJOS_DATOS/FLUJOS_DATOS/noticias/admin.py
Executable file
3
FLUJOS_DATOS/FLUJOS_DATOS/noticias/admin.py
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
||||
6
FLUJOS_DATOS/FLUJOS_DATOS/noticias/apps.py
Executable file
6
FLUJOS_DATOS/FLUJOS_DATOS/noticias/apps.py
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class NoticiasConfig(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = 'noticias'
|
||||
23
FLUJOS_DATOS/FLUJOS_DATOS/noticias/migrations/0001_initial.py
Executable file
23
FLUJOS_DATOS/FLUJOS_DATOS/noticias/migrations/0001_initial.py
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
# Generated by Django 4.2.5 on 2023-09-16 21:51
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Noticia',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('titulo', models.CharField(max_length=255)),
|
||||
('contenido', models.TextField()),
|
||||
('fecha_publicacion', models.DateTimeField(auto_now_add=True)),
|
||||
],
|
||||
),
|
||||
]
|
||||
0
FLUJOS_DATOS/FLUJOS_DATOS/noticias/migrations/__init__.py
Executable file
0
FLUJOS_DATOS/FLUJOS_DATOS/noticias/migrations/__init__.py
Executable file
6
FLUJOS_DATOS/FLUJOS_DATOS/noticias/models.py
Executable file
6
FLUJOS_DATOS/FLUJOS_DATOS/noticias/models.py
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
from django.db import models
|
||||
|
||||
class Noticia(models.Model):
|
||||
titulo = models.CharField(max_length=255)
|
||||
contenido = models.TextField()
|
||||
fecha_publicacion = models.DateTimeField(auto_now_add=True)
|
||||
3
FLUJOS_DATOS/FLUJOS_DATOS/noticias/tests.py
Executable file
3
FLUJOS_DATOS/FLUJOS_DATOS/noticias/tests.py
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
16
FLUJOS_DATOS/FLUJOS_DATOS/noticias/views.py
Executable file
16
FLUJOS_DATOS/FLUJOS_DATOS/noticias/views.py
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
||||
from django.http import JsonResponse
|
||||
|
||||
def get_text_embedding(request):
|
||||
text = request.GET.get('text', '')
|
||||
existing_embedding = retrieve_embedding(text)
|
||||
|
||||
if existing_embedding:
|
||||
embeddings = existing_embedding
|
||||
else:
|
||||
embeddings = get_embeddings([text])[0].numpy().tolist() # Ajustado para obtener el embedding y convertirlo a lista
|
||||
save_embedding(text, embeddings)
|
||||
|
||||
return JsonResponse({"embeddings": embeddings})
|
||||
497
FLUJOS_DATOS/NOTICIAS/DOCS/arquitectura_main.txt
Normal file
497
FLUJOS_DATOS/NOTICIAS/DOCS/arquitectura_main.txt
Normal file
|
|
@ -0,0 +1,497 @@
|
|||
┌───────────────────────────────────────────────────┐
|
||||
│ main() │
|
||||
└──────────────┬────────────────────────────────────┘
|
||||
│
|
||||
Lista de URLs de medios y leaks
|
||||
│
|
||||
▼
|
||||
┌───────────────────────────────────────────────────────────────┐
|
||||
│ register_processed_notifications(base_folder, urls) │
|
||||
│ - Crea/lee processed_articles.txt │
|
||||
│ - Filtra duplicados │
|
||||
└──────────────┬───────────────────────────────────────────────┘
|
||||
│ urls_to_process
|
||||
┌─────────────────┴───────────────────────────┐
|
||||
│ │
|
||||
▼ ▼
|
||||
┌──────────────────────────────┐ ┌──────────────────────────────┐
|
||||
│ explore_and_extract_articles │ │ explore_wayback_machine │
|
||||
│ (crawling + extracción) │ │ (consulta Wayback y extrae) │
|
||||
└────────────┬─────────────────┘ └────────────┬─────────────────┘
|
||||
│ │
|
||||
│ guarda │ guarda
|
||||
▼ ▼
|
||||
┌────────────────────┐ ┌────────────────────┐
|
||||
│ articulos/ (txt) │ │ articulos/ (txt) │
|
||||
└────────────────────┘ └────────────────────┘
|
||||
▲ ▲
|
||||
│ │
|
||||
▼ ▼
|
||||
┌────────────────────┐ ┌────────────────────┐
|
||||
│ archivos/ (bin) │ ← descarga │ (no aplica) │
|
||||
└────────────────────┘ └────────────────────┘
|
||||
|
||||
┌────────────────────────────────────────────────┐
|
||||
│ process_files(archivos/ → tokenized/) │
|
||||
│ tokenize_all_articles(articulos/ → tokenized/) │
|
||||
└──────────────┬─────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
┌────────────────────┐
|
||||
│ tokenized/ (ids) │ ← ids BERT (máx 512)
|
||||
└────────────────────┘
|
||||
|
||||
▼
|
||||
┌──────────────────────────┐
|
||||
│ get_folder_info + logs │
|
||||
└──────────────────────────┘
|
||||
|
||||
Entrada: url raíz, folders, processed_urls, size_limit, depth=0..6
|
||||
│
|
||||
▼
|
||||
┌──────────────────────────┐
|
||||
│ HTMLSession().get(url) │
|
||||
│ response.html.render() │ ← render JS (headless)
|
||||
└─────────────┬────────────┘
|
||||
│
|
||||
▼
|
||||
Conjunto de absolute_links
|
||||
│
|
||||
┌────────────────┴─────────────────┐
|
||||
│ │
|
||||
Si extensión conocida Si página HTML genérica
|
||||
(.pdf .csv .txt .xlsx .docx (sin extensión/otra cosa)
|
||||
.html .md .zip) │
|
||||
│ ▼
|
||||
▼ ┌──────────────────────────────┐
|
||||
┌──────────────────────────┐ │ extract_and_save_article() │
|
||||
│ download_and_save_file() │ │ - parse <title>, <p> │
|
||||
│ → archivos/ │ │ - translate → clean → txt │
|
||||
└───────────┬──────────────┘ │ - guardar en articulos/ │
|
||||
│ └──────────────┬───────────────┘
|
||||
│ (tras cada acción) │
|
||||
▼ ▼ (recursivo)
|
||||
get_folder_info(articulos/, archivos/) explore_and_extract_articles(link, depth+1)
|
||||
│
|
||||
▼
|
||||
¿total_size >= 50GB? ──► Sí: detener │ No: continuar
|
||||
|
||||
|
||||
archivos/ ──────────────────────────────────────────────────────┐
|
||||
▼
|
||||
Para cada archivo según extensión:
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ .pdf → read_pdf() → texto │
|
||||
│ .csv → read_csv() → texto │
|
||||
│ .txt → open().read() → texto │
|
||||
│ .docx → read_docx() → texto │
|
||||
│ .xlsx → read_xlsx() → texto │
|
||||
│ .zip → read_zip() → texto concatenado │
|
||||
│ .html/.md → read_html_md() → format_content()(*) → texto │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
translate_text(deep_translator → 'es')
|
||||
│
|
||||
▼
|
||||
clean_text( BeautifulSoup strip + minúsculas
|
||||
+ quita URLs + solo letras/espacios
|
||||
+ colapsa espacios + STOPWORDS_ES )
|
||||
│
|
||||
▼
|
||||
tokenize_and_save(texto_limpio, filename, tokenized/)
|
||||
│
|
||||
▼
|
||||
tokenized/ contiene IDs BERT (máx 512)
|
||||
(*) Nota: `format_content()` está vacío en tu snippet; hoy actúa como no-op.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
articulos/ (txt limpios/es) ─────► para cada .txt:
|
||||
│
|
||||
▼
|
||||
tokenizer.encode(text, max_length=512, add_special_tokens=True)
|
||||
│
|
||||
▼
|
||||
'id id id ...' → escribe en tokenized/ con
|
||||
mismo nombre de archivo
|
||||
|
||||
|
||||
|
||||
clean_filename(name)
|
||||
- reemplaza \ / * ? : " < > | por "_"
|
||||
- espacios → '_'
|
||||
- corta a 100 chars
|
||||
|
||||
register_processed_notifications(base_folder, urls)
|
||||
- lee base_folder/processed_articles.txt (si existe)
|
||||
- devuelve solo URLs no vistas
|
||||
- añade nuevas al final (append)
|
||||
|
||||
explore_wayback_machine(url)
|
||||
- GET http://archive.org/wayback/available?url=...
|
||||
- si hay 'closest' → extract_and_save_article(archive_url)
|
||||
|
||||
|
||||
|
||||
translate_text(text) ──► GoogleTranslator(auto→'es') ──► texto_en_es
|
||||
│
|
||||
▼
|
||||
clean_text():
|
||||
1) quita CDATA variantes: <! [ CDATA [ ... ] ] >
|
||||
2) BeautifulSoup → .get_text()
|
||||
3) lower()
|
||||
4) elimina URLs (regex http\S+)
|
||||
5) deja solo letras españolas y espacio (regex)
|
||||
6) colapsa espacios
|
||||
7) filtra STOPWORDS (lista extensa ES)
|
||||
|
||||
|
||||
/var/www/theflows.net/flujos/FLUJOS_DATOS/NOTICIAS/
|
||||
├── articulos/ (txt limpios en ES, de páginas HTML/Wayback)
|
||||
├── archivos/ (descargas crudas: pdf, csv, xlsx, docx, zip, html, md, txt)
|
||||
├── tokenized/ (mismos nombres, contenido = IDs BERT separados por espacio)
|
||||
└── processed_articles.txt (histórico de URLs procesadas)
|
||||
|
||||
|
||||
logging.basicConfig(level=INFO)
|
||||
- Traza etapas (descarga, extracción, tokenización)
|
||||
- Resumen final:
|
||||
* nº ficheros en articulos/, archivos/, tokenized/
|
||||
* tamaños totales (MB)
|
||||
- Cortafuegos de tamaño: 50 GB entre articulos/ + archivos/
|
||||
|
||||
|
||||
|
||||
[ main() ]
|
||||
│
|
||||
▼
|
||||
register_processed_notifications()
|
||||
│ → filtra URLs ya procesadas
|
||||
▼
|
||||
+---------------------------+
|
||||
| urls_to_process (nuevas) |
|
||||
+---------------------------+
|
||||
│
|
||||
▼
|
||||
explore_and_extract_articles()
|
||||
│
|
||||
├─► Si enlace a archivo (.pdf, .csv, .txt, .xlsx, .docx, .html, .md, .zip)
|
||||
│ └─► download_and_save_file() → guarda en /archivos
|
||||
│
|
||||
├─► Si enlace HTML → extract_and_save_article()
|
||||
│ ├─ traduce (translate_text)
|
||||
│ ├─ limpia (clean_text)
|
||||
│ └─ guarda .txt en /articulos
|
||||
│
|
||||
└─► Recursivo hasta max_depth o límite 50 GB
|
||||
│
|
||||
▼
|
||||
explore_wayback_machine() → descarga versión archivada si existe
|
||||
│
|
||||
▼
|
||||
process_files(/archivos → /tokenized)
|
||||
│ ├─ read_pdf/csv/docx/xlsx/zip/html_md/txt
|
||||
│ ├─ translate_text()
|
||||
│ ├─ clean_text()
|
||||
│ └─ tokenize_and_save() con BERT
|
||||
│
|
||||
▼
|
||||
tokenize_all_articles(/articulos → /tokenized)
|
||||
│ └─ encode con BERT en IDs separados por espacio
|
||||
│
|
||||
▼
|
||||
get_folder_info() → logs resumen final
|
||||
|
||||
|
||||
===========================================================
|
||||
Flujo simplificado de procesamiento de un archivo
|
||||
===========================================================
|
||||
|
||||
archivo descargado
|
||||
│
|
||||
▼
|
||||
read_*() según extensión
|
||||
│
|
||||
▼
|
||||
translate_text() → GoogleTranslator(auto→es)
|
||||
│
|
||||
▼
|
||||
clean_text()
|
||||
├─ elimina CDATA y HTML
|
||||
├─ minúsculas, sin URLs, solo letras/es
|
||||
├─ colapsa espacios
|
||||
└─ filtra stopwords ES
|
||||
│
|
||||
▼
|
||||
tokenize_and_save()
|
||||
├─ tokenizer.encode(max 512 tokens)
|
||||
└─ guarda IDs BERT en /tokenized
|
||||
|
||||
|
||||
===========================================================
|
||||
Estructura de carpetas
|
||||
===========================================================
|
||||
|
||||
NOTICIAS/
|
||||
├── articulos/ ← .txt limpios en español
|
||||
├── archivos/ ← binarios crudos descargados
|
||||
├── tokenized/ ← tokens BERT (IDs)
|
||||
└── processed_articles.txt ← historial de URLs
|
||||
|
||||
|
||||
===========================================================
|
||||
Control y límites
|
||||
===========================================================
|
||||
|
||||
- Profundidad máxima de crawling: max_depth = 6
|
||||
- Tamaño combinado artículos+archivos: límite 50 GB
|
||||
- Evita duplicados con processed_articles.txt
|
||||
- Logs detallados en consola
|
||||
|
||||
|
||||
|
||||
████████████████████████████████████ FLUJOS: ESQUEMA TÉCNICO (ASCII) ████████████████████████████████████
|
||||
|
||||
[ ENTORNO / DEPENDENCIAS ]
|
||||
- GoogleTranslator (deep_translator) → API web de Google Translate (auto→es)
|
||||
- requests / requests_html.HTMLSession → HTTP + renderizado JS (chromium/headless)
|
||||
- BeautifulSoup (bs4) → Parseo HTML, extracción de texto
|
||||
- PyPDF2.PdfReader → Extracción texto de PDFs (si embebido/copiable)
|
||||
- openpyxl → Lectura de .xlsx
|
||||
- python-docx (docx) → Lectura de .docx
|
||||
- zipfile → Descompresión y lectura (texto) de ficheros en ZIP
|
||||
- html2text (no usado aquí en format_content)→ [placeholder]
|
||||
- transformers.BertTokenizer → Tokenizador BERT ES (dccuchile/bert-base-spanish-wwm-cased)
|
||||
- tqdm, logging, os, re, json, time, csv, hashlib, urllib.parse (urlparse/urljoin) → utilidades
|
||||
|
||||
[ ESTRUCTURA DE CARPETAS (I/O) ]
|
||||
/var/www/theflows.net/flujos/FLUJOS_DATOS/NOTICIAS/
|
||||
├── articulos/ (TXT limpios en español, derivados de HTML/Wayback)
|
||||
├── archivos/ (descargas crudas: .pdf .csv .txt .xlsx .docx .html .md .zip)
|
||||
├── tokenized/ (TXT con IDs de tokens BERT, máx 512 tokens por archivo)
|
||||
└── processed_articles.txt (histórico de URLs ya procesadas → evita duplicados)
|
||||
|
||||
=============================================================================================================
|
||||
[ main() ]
|
||||
- Inicializa: URLs objetivo, rutas base, límite de 50GB, carpetas si no existen
|
||||
- Flujo:
|
||||
1) urls_to_process = register_processed_notifications(base_folder, urls)
|
||||
2) Para url en urls_to_process:
|
||||
a) explore_and_extract_articles(url, articulos/, archivos/, processed_urls, size_limit)
|
||||
b) explore_wayback_machine(url, articulos/)
|
||||
3) process_files(archivos/ → tokenized/)
|
||||
4) tokenize_all_articles(articulos/ → tokenized/)
|
||||
5) get_folder_info() sobre cada carpeta y logging resumen
|
||||
- Side effects: Escritura en articulos/, archivos/, tokenized/, processed_articles.txt; logs INFO
|
||||
|
||||
=============================================================================================================
|
||||
[ register_processed_notifications(base_folder, urls) ]
|
||||
- Lee/crea processed_articles.txt
|
||||
- Devuelve: lista de URLs no presentes (nuevas)
|
||||
- Efectos:
|
||||
* append de nuevas URLs al fichero
|
||||
- Riesgos:
|
||||
* Fichero grande con el tiempo (puede optimizarse a DB/Set persistente)
|
||||
* No bloquea concurrencia (carreras si hay procesos paralelos)
|
||||
|
||||
=============================================================================================================
|
||||
[ explore_and_extract_articles(url, articulos/, archivos/, processed_urls, size_limit, depth=0..6) ]
|
||||
- Hace GET + render JS:
|
||||
session = HTMLSession(); response = session.get(url); response.html.render()
|
||||
- Obtiene absolute_links (con JS resuelto)
|
||||
- Para cada link:
|
||||
* Si ya está en processed_urls → skip
|
||||
* Marca link como procesado (set in-memory)
|
||||
* Detecta extensión: [.pdf .csv .txt .xlsx .docx .html .md .zip]
|
||||
- Coincide → download_and_save_file(link, archivos/)
|
||||
- mailto:/tel: → ignora
|
||||
- Otro/HTML → extract_and_save_article(link, articulos/); recursión depth+1
|
||||
- Control de tamaño:
|
||||
* get_folder_info(articulos/) + get_folder_info(archivos/) → si ≥ 50GB → cortar
|
||||
- Notas:
|
||||
* render() requiere Chromium instalado y recursos; costoso en CPU/RAM
|
||||
* Cuidado con sitios SPA/anti-bot; timeouts (30s)
|
||||
* max_depth=6 limita explosión de enlaces; se puede poner filtro de dominio
|
||||
|
||||
=============================================================================================================
|
||||
[ download_and_save_file(url, archivos/) ]
|
||||
- Descarga streaming (chunk 8192) con requests.get(url, stream=True, timeout=30)
|
||||
- Filename = clean_filename(último segmento URL) || 'archivo_descargado'
|
||||
- Escribe binario en archivos/
|
||||
- Errores:
|
||||
* response.status_code != 200 → log
|
||||
* timeouts/conexión → log
|
||||
- Seguridad:
|
||||
* No ejecuta nada; sólo guarda
|
||||
* Riesgo: HTML/JS guardado como .html/.md puede contener scripts (pero se procesa como texto después)
|
||||
|
||||
=============================================================================================================
|
||||
[ extract_and_save_article(url, articulos/) ]
|
||||
- GET simple (requests.get, timeout=30)
|
||||
- Parse HTML: <title> y todos los <p> → concatena texto
|
||||
- Procesa:
|
||||
* translate_text() (auto→es)
|
||||
* clean_text()
|
||||
- Nombre archivo:
|
||||
* title → clean_filename(title) + '.txt'
|
||||
* fallback: último segmento de path URL + '.txt'
|
||||
- Guarda .txt en articulos/
|
||||
- Riesgos:
|
||||
* Páginas con contenido en divs/aria/role no capturado por <p> → menos texto
|
||||
* Limitaciones del traductor (cuotas, longitudes, errores temporales)
|
||||
* Si content vacío → log y skip
|
||||
|
||||
=============================================================================================================
|
||||
[ explore_wayback_machine(url, articulos/) ]
|
||||
- Consulta API: http://archive.org/wayback/available?url={url}
|
||||
- Si hay 'closest' → archive_url → extract_and_save_article(archive_url)
|
||||
- Usos:
|
||||
* Resiliencia ante 404/robots o contenido rotativo
|
||||
- Riesgos:
|
||||
* No todas las páginas están archivadas
|
||||
* Rate limits
|
||||
|
||||
=============================================================================================================
|
||||
[ process_files(archivos/, tokenized/) ]
|
||||
- Itera archivos descargados por extensión:
|
||||
.pdf → read_pdf() (PdfReader.extract_text por página)
|
||||
.csv → read_csv() (csv.reader → " ".join(row))
|
||||
.txt → open().read() (texto tal cual)
|
||||
.docx → read_docx() (docx.Document → concat párrafos)
|
||||
.xlsx → read_xlsx() (openpyxl → concat celdas por fila)
|
||||
.zip → read_zip() (abre cada entrada, decode utf-8 ignore)
|
||||
.html/.md → read_html_md() → format_content() [*format_content está vacía → no-op]
|
||||
- Para cada contenido (si hay texto):
|
||||
translate_text() → clean_text() → tokenize_and_save(cleaned, filename, tokenized/)
|
||||
- Notas:
|
||||
* Archivos binarios dentro del ZIP no-UTF8 se ignoran por decode errors (ignore)
|
||||
* PDF sin capa de texto → extract_text() puede devolver None
|
||||
* XLSX grande → memoria/tiempo; iter_rows() es razonable
|
||||
|
||||
=============================================================================================================
|
||||
[ tokenize_all_articles(articulos/, tokenized/) ]
|
||||
- Para cada .txt en articulos/:
|
||||
tokenizer.encode(text, truncation=True, max_length=512, add_special_tokens=True)
|
||||
→ 'ids' separados por espacio → guarda con mismo filename en tokenized/
|
||||
- Notas:
|
||||
* Truncation a 512 tokens: se pierde contenido largo (considerar sliding windows)
|
||||
* add_special_tokens=True añade [CLS]/[SEP]
|
||||
|
||||
=============================================================================================================
|
||||
[ tokenize_and_save(text, filename, tokenized/) ]
|
||||
- Encapsula la llamada a tokenizer.encode(...) con truncation=512
|
||||
- Crea tokenized/ si no existe
|
||||
- Escribe "id id id ..." en archivo de salida
|
||||
- Riesgos:
|
||||
* Diferente encoding de entrada → normalizado por clean_text()
|
||||
* Si filename colisiona con otro (mismo nombre) → se sobrescribe
|
||||
|
||||
=============================================================================================================
|
||||
[ translate_text(text) ]
|
||||
- GoogleTranslator(source='auto', target='es').translate(text)
|
||||
- Devuelve texto traducido o el original si error (catch + log)
|
||||
- Limitaciones:
|
||||
* Longitudes excesivas → errores (“Text length need to be between 0 and 5000”)
|
||||
- Solución futura: fragmentar en bloques y recomponer
|
||||
* Rate limits/cambios API
|
||||
|
||||
=============================================================================================================
|
||||
[ clean_text(text) ]
|
||||
1) Quita CDATA: regex '<!\[\s*CDATA\s*\[.*?\]\]>' con flags=re.S
|
||||
2) BeautifulSoup(text, 'html.parser').get_text(separator=" ")
|
||||
3) lower()
|
||||
4) Elimina URLs: regex r'http\S+'
|
||||
5) Deja sólo letras españolas y espacios: r'[^a-záéíóúñü\s]' → ''
|
||||
6) Colapsa espacios: r'\s+' → ' ' + strip()
|
||||
7) Filtra STOPWORDS (set ES) palabra a palabra
|
||||
- Resulta en texto normalizado listo para BERT
|
||||
- Notas:
|
||||
* Pierde números, signos y acentos raros fuera de set
|
||||
* STOPWORDS puede ajustarse por dominio (noticias vs. técnico)
|
||||
|
||||
=============================================================================================================
|
||||
[ read_pdf(pdf_path) ]
|
||||
- Abre en binario, PdfReader(f)
|
||||
- Recorre páginas → page.extract_text() → concat + '\n'
|
||||
- Devuelve string (puede estar vacío)
|
||||
- Limitaciones:
|
||||
* PDFs escaneados → sin OCR (no texto)
|
||||
* Layouts complejos → texto desordenado
|
||||
|
||||
[ read_csv(csv_path) ]
|
||||
- csv.reader → por cada fila ' '.join(row) + '\n'
|
||||
- Simple y robusto; no maneja tipos/formato especial
|
||||
|
||||
[ read_docx(docx_path) ]
|
||||
- docx.Document → concat paragraph.text + '\n'
|
||||
- Pierde estilos/tablas; conserva sólo texto base
|
||||
|
||||
[ read_xlsx(xlsx_path) ]
|
||||
- openpyxl.load_workbook → por cada hoja → por cada fila
|
||||
- ' '.join(str(cell.value or '')) + '\n'
|
||||
- Pierde formato/tipos; sólo valores en orden de fila
|
||||
|
||||
[ read_zip(zip_path) ]
|
||||
- zipfile.ZipFile → recorre cada entry
|
||||
- z.open(filename).read().decode('utf-8', errors='ignore')
|
||||
- Concatena todo a un sólo string
|
||||
- Peligros: ZIP enorme → memoria; entries binarias → ignoradas por decode
|
||||
|
||||
[ read_html_md(file_path) ]
|
||||
- open(file, 'utf-8', errors='replace').read()
|
||||
- Retorna string crudo (sin limpieza HTML aquí)
|
||||
- format_content() se invoca después (actualmente vacío)
|
||||
|
||||
[ format_content(html_content) ]
|
||||
- [PLACEHOLDER] En el snippet está sin implementar.
|
||||
- Potencial:
|
||||
* html2text → Markdown plano
|
||||
* Limpieza de scripts/estilos/menus
|
||||
* Normalización de espacios/entidades
|
||||
- Hoy actúa como NO-OP (debería rellenarse)
|
||||
|
||||
=============================================================================================================
|
||||
[ get_page_title(url) ]
|
||||
- GET(url, timeout=10) → BeautifulSoup → <title>.text.strip()
|
||||
- Devuelve None si falla o no hay <title>
|
||||
- Usado para nombrar archivos de artículos
|
||||
|
||||
[ clean_filename(name) ]
|
||||
- Reemplaza caracteres prohibidos [\/*?:"<>|] por "_"
|
||||
- Espacios → "_"; corta a 100 chars
|
||||
- Evita errores en FS; normaliza nombres
|
||||
|
||||
[ get_folder_info(path) ]
|
||||
- Recorre recursivo → suma tamaño de ficheros y cuenta
|
||||
- Devuelve (total_size_bytes, total_files)
|
||||
- Usado para métricas y para detener por límite
|
||||
|
||||
=============================================================================================================
|
||||
[ LOGGING / MÉTRICAS / LÍMITES ]
|
||||
- logging.INFO por etapas (descargar, extraer, traducir, limpiar, tokenizar)
|
||||
- Límite de tamaño: 50GB (archivos + artículos) → detiene crawling
|
||||
- Resumen final:
|
||||
* Artículos descargados (# y MB)
|
||||
* Archivos descargados (# y MB)
|
||||
* Archivos tokenizados (# y MB)
|
||||
- Sugerencias:
|
||||
* Añadir manejo de reintentos/backoff a requests
|
||||
* Cache de traducciones por hash (ahorro de coste/tiempo)
|
||||
* Paralelización controlada (cola + límites I/O/CPU)
|
||||
* Particionar tokenized/ por subcarpetas si #ficheros crece
|
||||
|
||||
=============================================================================================================
|
||||
[ DATA FLOW (RESUMEN) ]
|
||||
URLs ──► register_processed_notifications ──► explore_* (HTMLSession/render/links)
|
||||
└────────► extract_and_save_article ──► translate_text ─► clean_text ─► articulos/*.txt
|
||||
└────────► download_and_save_file ─────────────────────────────────────► archivos/*
|
||||
archivos/* ──► process_files (read_* → translate → clean → tokenize) ──► tokenized/*
|
||||
articulos/*.txt ──► tokenize_all_articles ───────────────────────────────► tokenized/*
|
||||
tokenized/*, articulos/*, archivos/* ──► get_folder_info + logs
|
||||
|
||||
████████████████████████████████████████████████████████████████████████████████████
|
||||
111
FLUJOS_DATOS/NOTICIAS/docs.txt
Executable file
111
FLUJOS_DATOS/NOTICIAS/docs.txt
Executable file
|
|
@ -0,0 +1,111 @@
|
|||
# Descripción del Proyecto
|
||||
|
||||
Este proyecto se encarga de extraer, limpiar, y tokenizar artículos y archivos de diversas fuentes web. El programa realiza las siguientes tareas principales:
|
||||
|
||||
1. **Extracción de artículos**: Extrae contenido de artículos desde sitios web especificados.
|
||||
2. **Descarga de archivos**: Descarga archivos en diferentes formatos como PDF, CSV, TXT, XLSX, DOCX, HTML, MD, y ZIP.
|
||||
3. **Procesamiento de archivos**: Lee el contenido de los archivos descargados y los prepara para la tokenización.
|
||||
4. **Tokenización**: Tokeniza el contenido de los artículos y archivos para su posterior análisis.
|
||||
|
||||
# Estructura del Proyecto
|
||||
|
||||
- `main_noticias.py`: Script principal que coordina todas las tareas.
|
||||
- `noticias_utils.py`: Contiene las funciones auxiliares para la extracción, descarga, limpieza, lectura, procesamiento y tokenización de los archivos.
|
||||
- `articulos/`: Directorio donde se guardan los artículos extraídos.
|
||||
- `archivos/`: Directorio donde se guardan los archivos descargados.
|
||||
|
||||
# Paquetes Necesarios
|
||||
|
||||
Para que este proyecto funcione correctamente, se deben instalar los siguientes paquetes de Python:
|
||||
|
||||
- `requests`
|
||||
- `beautifulsoup4`
|
||||
- `transformers`
|
||||
- `PyPDF2`
|
||||
- `docx`
|
||||
- `openpyxl`
|
||||
- `urllib3`
|
||||
|
||||
# Comandos para Instalar los Paquetes
|
||||
|
||||
Primero, asegúrate de tener pip actualizado:
|
||||
|
||||
```bash
|
||||
pip install --upgrade pip
|
||||
|
||||
|
||||
pip install requests beautifulsoup4 transformers PyPDF2 python-docx openpyxl urllib3
|
||||
|
||||
|
||||
Luego, instala los paquetes necesarios:
|
||||
|
||||
bash
|
||||
|
||||
pip install requests beautifulsoup4 transformers PyPDF2 python-docx openpyxl urllib3
|
||||
|
||||
Creación y Activación del Entorno Virtual
|
||||
|
||||
Dado que ya existe un entorno virtual llamado myenv en la carpeta FLUJOS_DATOS, puedes activarlo para evitar conflictos. Aquí están los pasos para crear y activar un entorno virtual, si es necesario.
|
||||
Creación del Entorno Virtual
|
||||
|
||||
Si necesitas crear un nuevo entorno virtual, sigue estos pasos:
|
||||
|
||||
bash
|
||||
|
||||
cd ~/PROGRAMACION/FLUJOS_TODO/FLUJOS_DATOS
|
||||
python3 -m venv myenv
|
||||
|
||||
Activación del Entorno Virtual
|
||||
|
||||
Para activar el entorno virtual myenv, utiliza los siguientes comandos:
|
||||
|
||||
En Linux/MacOS:
|
||||
|
||||
bash
|
||||
|
||||
source ~/PROGRAMACION/FLUJOS_TODO/FLUJOS_DATOS/myenv/bin/activate
|
||||
|
||||
En Windows (cmd):
|
||||
|
||||
cmd
|
||||
|
||||
myenv\Scripts\activate
|
||||
|
||||
En Windows (PowerShell):
|
||||
|
||||
powershell
|
||||
|
||||
myenv\Scripts\Activate.ps1
|
||||
|
||||
Una vez activado el entorno virtual, podrás instalar los paquetes necesarios y ejecutar los scripts.
|
||||
Ejecución del Programa
|
||||
|
||||
Asegúrate de que el entorno virtual está activado.
|
||||
Navega hasta la carpeta NOTICIAS:
|
||||
|
||||
bash
|
||||
|
||||
cd ~/PROGRAMACION/FLUJOS_TODO/FLUJOS_DATOS/NOTICIAS
|
||||
|
||||
Ejecuta el script principal:
|
||||
|
||||
bash
|
||||
|
||||
python main_noticias.py
|
||||
|
||||
El programa extraerá, descargará, procesará y tokenizará los artículos y archivos según las fuentes web especificadas en el script.
|
||||
Notas Adicionales
|
||||
|
||||
Asegúrate de que las carpetas articulos y archivos existen antes de ejecutar el script.
|
||||
Puedes modificar las URLs y las configuraciones en main_noticias.py y noticias_utils.py según tus necesidades específicas.
|
||||
|
||||
Contacto
|
||||
|
||||
Para cualquier duda o problema con el script, por favor, contacta con el administrador del proyecto.
|
||||
|
||||
r
|
||||
|
||||
|
||||
Este `docs.txt` proporciona una guía clara y detallada sobre cómo configurar y ejecutar el proyecto, incluyendo todos los comandos necesarios para instalar los paquetes y configurar el entorno virtual.
|
||||
|
||||
digo la parte del entorno virtual y todos estos pasos
|
||||
625
FLUJOS_DATOS/NOTICIAS/main_noticias.py
Executable file
625
FLUJOS_DATOS/NOTICIAS/main_noticias.py
Executable file
|
|
@ -0,0 +1,625 @@
|
|||
from deep_translator import GoogleTranslator
|
||||
from deep_translator import GoogleTranslator
|
||||
import os
|
||||
import re
|
||||
import hashlib
|
||||
import requests
|
||||
import json
|
||||
import time
|
||||
import logging
|
||||
from requests_html import HTMLSession
|
||||
from bs4 import BeautifulSoup
|
||||
from PyPDF2 import PdfReader
|
||||
import csv
|
||||
import docx
|
||||
import openpyxl
|
||||
import zipfile
|
||||
import html2text
|
||||
from transformers import BertTokenizer
|
||||
from tqdm import tqdm
|
||||
from urllib.parse import urlparse, urljoin
|
||||
|
||||
# Configuración de logging para mostrar información en la terminal
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
# Inicializar el tokenizador de BERT en español
|
||||
tokenizer = BertTokenizer.from_pretrained('dccuchile/bert-base-spanish-wwm-cased')
|
||||
|
||||
# Lista de stopwords en español
|
||||
STOPWORDS = set([
|
||||
"de", "la", "que", "el", "en", "y", "a", "los", "del", "se", "las", "por",
|
||||
"un", "para", "con", "no", "una", "su", "al", "es", "lo", "como", "más",
|
||||
"pero", "sus", "le", "ya", "o", "fue", "este", "ha", "sí", "porque",
|
||||
"esta", "son", "entre", "cuando", "muy", "sin", "sobre", "también", "me",
|
||||
"hasta", "hay", "donde", "quien", "desde", "todo", "nos", "durante",
|
||||
"todos", "uno", "les", "ni", "contra", "otros", "ese", "eso", "ante",
|
||||
"ellos", "e", "esto", "mí", "antes", "algunos", "qué", "unos", "yo",
|
||||
"otro", "otras", "otra", "él", "tanto", "esa", "estos", "mucho",
|
||||
"quienes", "nada", "muchos", "cual", "poco", "ella", "estar", "estas",
|
||||
"algunas", "algo", "nosotros", "mi", "mis", "tú", "te", "ti", "tu",
|
||||
"tus", "ellas", "nosotras", "vosotros", "vosotras", "os", "mío", "mía",
|
||||
"míos", "mías", "tuyo", "tuya", "tuyos", "tuyas", "suyo", "suya",
|
||||
"suyos", "suyas", "nuestro", "nuestra", "nuestros", "nuestras",
|
||||
"vuestro", "vuestra", "vuestros", "vuestras", "esos", "esas", "estoy",
|
||||
"estás", "está", "estamos", "estáis", "están", "esté", "estés",
|
||||
"estemos", "estéis", "estén", "estaré", "estarás", "estará",
|
||||
"estaremos", "estaréis", "estarán", "estaría", "estarías",
|
||||
"estaríamos", "estaríais", "estarían", "estaba", "estabas",
|
||||
"estábamos", "estabais", "estaban", "estuve", "estuviste", "estuvo",
|
||||
"estuvimos", "estuvisteis", "estuvieron", "estuviera", "estuvieras",
|
||||
"estuviéramos", "estuvierais", "estuvieran", "estuviese",
|
||||
"estuvieses", "estuviésemos", "estuvieseis", "estuviesen", "estando",
|
||||
"estado", "estada", "estados", "estadas", "estad"
|
||||
])
|
||||
|
||||
|
||||
def translate_text(text):
|
||||
"""
|
||||
Traduce el texto completo usando deep-translator.
|
||||
"""
|
||||
try:
|
||||
return GoogleTranslator(source='auto', target='es').translate(text)
|
||||
except Exception as e:
|
||||
logging.error(f"Error al traducir con deep-translator: {e}")
|
||||
return text
|
||||
|
||||
def clean_text(text):
|
||||
"""
|
||||
Limpia el texto eliminando bloques CDATA (incluso con espacios extra),
|
||||
luego HTML, puntuación y stopwords.
|
||||
"""
|
||||
# 1) Eliminar cualquier variante de CDATA (p. ej. '<![ CDATA [ ... ]]>')
|
||||
text = re.sub(r'<\!\[\s*CDATA\s*\[.*?\]\]>', '', text, flags=re.S)
|
||||
|
||||
# 2) Parsear HTML
|
||||
soup = BeautifulSoup(text, 'html.parser')
|
||||
text = soup.get_text(separator=" ")
|
||||
|
||||
# 3) Minúsculas
|
||||
text = text.lower()
|
||||
|
||||
# 4) Eliminar URLs
|
||||
text = re.sub(r'http\S+', '', text)
|
||||
|
||||
# 5) Quitar todo menos letras y espacios
|
||||
text = re.sub(r'[^a-záéíóúñü\s]', '', text)
|
||||
|
||||
# 6) Unir múltiples espacios
|
||||
text = re.sub(r'\s+', ' ', text).strip()
|
||||
|
||||
# 7) Eliminar stopwords
|
||||
words = text.split()
|
||||
filtered = [w for w in words if w not in STOPWORDS]
|
||||
|
||||
return ' '.join(filtered)
|
||||
|
||||
def tokenize_and_save(text, filename, destination_folder):
|
||||
|
||||
# → Tu lógica de tokenización con el tokenizer BERT
|
||||
tokens = tokenizer.encode(
|
||||
text,
|
||||
truncation=True,
|
||||
max_length=512,
|
||||
add_special_tokens=True
|
||||
)
|
||||
tokens_str = ' '.join(map(str, tokens))
|
||||
|
||||
# Nos aseguramos de que el directorio destino existe
|
||||
os.makedirs(destination_folder, exist_ok=True)
|
||||
|
||||
# Usamos filename **tal cual** para el fichero de salida
|
||||
out_path = os.path.join(destination_folder, filename)
|
||||
|
||||
with open(out_path, 'w', encoding='utf-8') as f:
|
||||
f.write(tokens_str)
|
||||
|
||||
|
||||
def tokenize_all_articles(articles_folder, destination_folder):
|
||||
"""
|
||||
Tokeniza todos los artículos en la carpeta especificada.
|
||||
"""
|
||||
if not os.path.exists(destination_folder):
|
||||
os.makedirs(destination_folder)
|
||||
|
||||
logging.info("Iniciando proceso de tokenización...")
|
||||
total_articles = 0
|
||||
total_size = 0
|
||||
|
||||
for root, dirs, files in os.walk(articles_folder):
|
||||
for file in files:
|
||||
if file.endswith('.txt'):
|
||||
file_path = os.path.join(root, file)
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
tokenize_and_save(content, file, destination_folder)
|
||||
total_articles += 1
|
||||
total_size += os.path.getsize(file_path)
|
||||
|
||||
total_size_mb = total_size / (1024 * 1024)
|
||||
logging.info(f"Tokenización completada para {total_articles} artículos.")
|
||||
logging.info(f"Tamaño total de artículos tokenizados: {total_size_mb:.2f} MB.")
|
||||
|
||||
def read_pdf(pdf_path):
|
||||
"""
|
||||
Lee y extrae texto de un archivo PDF.
|
||||
"""
|
||||
content = ''
|
||||
try:
|
||||
with open(pdf_path, 'rb') as f:
|
||||
pdf_reader = PdfReader(f)
|
||||
for page in pdf_reader.pages:
|
||||
text = page.extract_text()
|
||||
if text:
|
||||
content += text + '\n'
|
||||
except Exception as e:
|
||||
logging.error(f"Error al leer PDF {pdf_path}: {e}")
|
||||
return content
|
||||
|
||||
def read_csv(csv_path):
|
||||
"""
|
||||
Lee y extrae texto de un archivo CSV.
|
||||
"""
|
||||
content = ''
|
||||
try:
|
||||
with open(csv_path, 'r', encoding='utf-8') as f:
|
||||
reader = csv.reader(f)
|
||||
for row in reader:
|
||||
content += ' '.join(row) + '\n'
|
||||
except Exception as e:
|
||||
logging.error(f"Error al leer CSV {csv_path}: {e}")
|
||||
return content
|
||||
|
||||
def read_docx(docx_path):
|
||||
"""
|
||||
Lee y extrae texto de un archivo DOCX.
|
||||
"""
|
||||
content = ''
|
||||
try:
|
||||
doc = docx.Document(docx_path)
|
||||
for paragraph in doc.paragraphs:
|
||||
content += paragraph.text + '\n'
|
||||
except Exception as e:
|
||||
logging.error(f"Error al leer DOCX {docx_path}: {e}")
|
||||
return content
|
||||
|
||||
def read_xlsx(xlsx_path):
|
||||
"""
|
||||
Lee y extrae texto de un archivo XLSX.
|
||||
"""
|
||||
content = ''
|
||||
try:
|
||||
wb = openpyxl.load_workbook(xlsx_path)
|
||||
for sheet in wb.sheetnames:
|
||||
ws = wb[sheet]
|
||||
for row in ws.iter_rows():
|
||||
row_text = ' '.join([str(cell.value) if cell.value is not None else '' for cell in row])
|
||||
content += row_text + '\n'
|
||||
except Exception as e:
|
||||
logging.error(f"Error al leer XLSX {xlsx_path}: {e}")
|
||||
return content
|
||||
|
||||
def read_zip(zip_path):
|
||||
"""
|
||||
Lee y extrae texto de un archivo ZIP.
|
||||
"""
|
||||
content = ''
|
||||
try:
|
||||
with zipfile.ZipFile(zip_path, 'r') as z:
|
||||
for filename in z.namelist():
|
||||
with z.open(filename) as f:
|
||||
file_content = f.read().decode('utf-8', errors='ignore')
|
||||
content += file_content + '\n'
|
||||
except Exception as e:
|
||||
logging.error(f"Error al leer ZIP {zip_path}: {e}")
|
||||
return content
|
||||
|
||||
def read_html_md(file_path):
|
||||
"""
|
||||
Lee y extrae texto de un archivo HTML o Markdown.
|
||||
"""
|
||||
content = ''
|
||||
try:
|
||||
with open(file_path, 'r', encoding='utf-8', errors='replace') as f:
|
||||
content = f.read()
|
||||
except Exception as e:
|
||||
logging.error(f"Error al leer HTML/MD {file_path}: {e}")
|
||||
return content
|
||||
|
||||
def format_content(html_content):
|
||||
"""
|
||||
Convierte contenido HTML a texto plano.
|
||||
"""
|
||||
h = html2text.HTML2Text()
|
||||
h.ignore_links = True
|
||||
h.ignore_images = True
|
||||
text = h.handle(html_content)
|
||||
return text
|
||||
|
||||
def process_files(files_folder, destination_folder):
|
||||
"""
|
||||
Procesa y tokeniza todos los archivos en la carpeta especificada.
|
||||
"""
|
||||
if not os.path.exists(destination_folder):
|
||||
os.makedirs(destination_folder)
|
||||
|
||||
logging.info("Procesando archivos descargados...")
|
||||
total_files = 0
|
||||
total_size = 0
|
||||
|
||||
for root, dirs, files in os.walk(files_folder):
|
||||
for file in files:
|
||||
file_path = os.path.join(root, file)
|
||||
content = ''
|
||||
|
||||
if file.endswith('.pdf'):
|
||||
content = read_pdf(file_path)
|
||||
elif file.endswith('.csv'):
|
||||
content = read_csv(file_path)
|
||||
elif file.endswith('.txt'):
|
||||
try:
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
except Exception as e:
|
||||
logging.error(f"Error al leer TXT {file_path}: {e}")
|
||||
elif file.endswith('.docx'):
|
||||
content = read_docx(file_path)
|
||||
elif file.endswith('.xlsx'):
|
||||
content = read_xlsx(file_path)
|
||||
elif file.endswith('.zip'):
|
||||
content = read_zip(file_path)
|
||||
elif file.endswith('.html') or file.endswith('.md'):
|
||||
content = read_html_md(file_path)
|
||||
content = format_content(content)
|
||||
else:
|
||||
logging.info(f"Formato de archivo no soportado: {file}")
|
||||
continue
|
||||
|
||||
if content:
|
||||
translated_text = translate_text(content)
|
||||
cleaned_text = clean_text(translated_text)
|
||||
tokenize_and_save(cleaned_text, file, destination_folder)
|
||||
total_files += 1
|
||||
total_size += os.path.getsize(file_path)
|
||||
|
||||
total_size_mb = total_size / (1024 * 1024)
|
||||
logging.info(f"Procesamiento completado para {total_files} archivos.")
|
||||
logging.info(f"Tamaño total de archivos procesados: {total_size_mb:.2f} MB.")
|
||||
|
||||
def download_and_save_file(url, destination_folder):
|
||||
"""
|
||||
Descarga y guarda un archivo desde la URL especificada.
|
||||
"""
|
||||
try:
|
||||
logging.info(f"Descargando archivo: {url}")
|
||||
response = requests.get(url, stream=True, timeout=30)
|
||||
if response.status_code == 200:
|
||||
filename = clean_filename(url.split('/')[-1])
|
||||
if not filename:
|
||||
filename = 'archivo_descargado'
|
||||
file_path = os.path.join(destination_folder, filename)
|
||||
with open(file_path, 'wb') as f:
|
||||
for chunk in response.iter_content(chunk_size=8192):
|
||||
f.write(chunk)
|
||||
logging.info(f"Archivo descargado: {file_path}")
|
||||
else:
|
||||
logging.info(f"Error al descargar {url}: Código de estado {response.status_code}")
|
||||
except Exception as e:
|
||||
logging.error(f"Error al descargar {url}: {e}")
|
||||
|
||||
def extract_and_save_article(url, articles_folder):
|
||||
"""
|
||||
Extrae y guarda el contenido de un artículo desde la URL especificada.
|
||||
"""
|
||||
try:
|
||||
logging.info(f"Extrayendo artículo: {url}")
|
||||
response = requests.get(url, timeout=30)
|
||||
if response.status_code == 200:
|
||||
soup = BeautifulSoup(response.content, 'html.parser')
|
||||
title_tag = soup.find('title')
|
||||
title = title_tag.get_text().strip() if title_tag else None
|
||||
paragraphs = soup.find_all('p')
|
||||
content = ' '.join([para.get_text() for para in paragraphs])
|
||||
|
||||
if content.strip():
|
||||
translated_text = translate_text(content)
|
||||
cleaned_text = clean_text(translated_text)
|
||||
if title:
|
||||
filename = clean_filename(title) + '.txt'
|
||||
else:
|
||||
parsed_url = urlparse(url)
|
||||
filename = clean_filename(parsed_url.path.split('/')[-1]) + '.txt'
|
||||
|
||||
file_path = os.path.join(articles_folder, filename)
|
||||
|
||||
with open(file_path, 'w', encoding='utf-8') as f:
|
||||
f.write(cleaned_text)
|
||||
|
||||
logging.info(f"Artículo guardado: {file_path}")
|
||||
else:
|
||||
logging.info(f"No se encontró contenido en {url}")
|
||||
else:
|
||||
logging.info(f"Error al acceder a {url}: Código de estado {response.status_code}")
|
||||
except Exception as e:
|
||||
logging.error(f"Error al extraer artículo de {url}: {e}")
|
||||
|
||||
def get_page_title(url):
|
||||
"""
|
||||
Obtiene el título de la página web desde la URL especificada.
|
||||
"""
|
||||
try:
|
||||
response = requests.get(url, timeout=10)
|
||||
if response.status_code == 200:
|
||||
soup = BeautifulSoup(response.content, 'html.parser')
|
||||
title_tag = soup.find('title')
|
||||
return title_tag.get_text().strip() if title_tag else None
|
||||
else:
|
||||
return None
|
||||
except Exception as e:
|
||||
logging.error(f"Error al obtener el título de la página {url}: {e}")
|
||||
return None
|
||||
|
||||
def clean_filename(name):
|
||||
"""
|
||||
Limpia el nombre del archivo eliminando caracteres no permitidos.
|
||||
"""
|
||||
if name is None:
|
||||
return 'sin_nombre'
|
||||
name = re.sub(r'[\\/*?:"<>|]', "_", name)
|
||||
name = re.sub(r'\s+', '_', name)
|
||||
return name[:100]
|
||||
|
||||
def register_processed_notifications(base_folder, urls):
|
||||
"""
|
||||
Registra las URLs ya procesadas para evitar duplicados.
|
||||
"""
|
||||
if not os.path.exists(base_folder):
|
||||
os.makedirs(base_folder)
|
||||
|
||||
txt_path = os.path.join(base_folder, "processed_articles.txt")
|
||||
processed_urls = set()
|
||||
|
||||
if os.path.exists(txt_path):
|
||||
with open(txt_path, 'r') as f:
|
||||
processed_urls = set(f.read().splitlines())
|
||||
|
||||
urls_to_process = [url for url in urls if url not in processed_urls]
|
||||
|
||||
with open(txt_path, 'a') as f:
|
||||
for url in urls_to_process:
|
||||
f.write(url + "\n")
|
||||
|
||||
if processed_urls:
|
||||
logging.info(f"Artículos ya procesados: {len(processed_urls)}")
|
||||
else:
|
||||
logging.info("No hay artículos procesados previamente.")
|
||||
|
||||
return urls_to_process
|
||||
|
||||
def explore_wayback_machine(url, articles_folder):
|
||||
"""
|
||||
Explora la Wayback Machine para obtener versiones archivadas de la URL.
|
||||
"""
|
||||
try:
|
||||
logging.info(f"Explorando Wayback Machine para: {url}")
|
||||
api_url = f"http://archive.org/wayback/available?url={url}"
|
||||
response = requests.get(api_url, timeout=10)
|
||||
data = response.json()
|
||||
|
||||
if 'archived_snapshots' in data and 'closest' in data['archived_snapshots']:
|
||||
archive_url = data['archived_snapshots']['closest']['url']
|
||||
logging.info(f"Descargando desde Wayback Machine: {archive_url}")
|
||||
extract_and_save_article(archive_url, articles_folder)
|
||||
else:
|
||||
logging.info(f"No se encontró versión archivada para {url}")
|
||||
except Exception as e:
|
||||
logging.error(f"Error al explorar Wayback Machine para {url}: {e}")
|
||||
|
||||
def get_folder_info(path):
|
||||
"""
|
||||
Obtiene información de la carpeta: tamaño total y número de archivos.
|
||||
"""
|
||||
total_size = 0
|
||||
total_files = 0
|
||||
for dirpath, dirnames, filenames in os.walk(path):
|
||||
for f in filenames:
|
||||
fp = os.path.join(dirpath, f)
|
||||
total_size += os.path.getsize(fp)
|
||||
total_files += 1
|
||||
return total_size, total_files
|
||||
|
||||
def explore_and_extract_articles(url, articles_folder, files_folder, processed_urls, size_limit, depth=0, max_depth=6):
|
||||
"""
|
||||
Explora y extrae artículos y archivos desde la URL especificada.
|
||||
"""
|
||||
if depth > max_depth:
|
||||
return
|
||||
|
||||
logging.info(f"Explorando {url} en profundidad {depth}...")
|
||||
try:
|
||||
session = HTMLSession()
|
||||
response = session.get(url, timeout=30)
|
||||
response.html.render(timeout=30, sleep=1)
|
||||
links = response.html.absolute_links
|
||||
session.close()
|
||||
except Exception as e:
|
||||
logging.error(f"Error al acceder a {url}: {e}")
|
||||
return
|
||||
|
||||
for link in links:
|
||||
if link in processed_urls:
|
||||
continue
|
||||
|
||||
processed_urls.add(link)
|
||||
|
||||
parsed_link = urlparse(link)
|
||||
file_extension = os.path.splitext(parsed_link.path)[1].lower()
|
||||
|
||||
if file_extension in ['.pdf', '.csv', '.txt', '.xlsx', '.docx', '.html', '.md', '.zip']:
|
||||
download_and_save_file(link, files_folder)
|
||||
elif 'mailto:' in link or 'tel:' in link:
|
||||
continue
|
||||
else:
|
||||
extract_and_save_article(link, articles_folder)
|
||||
explore_and_extract_articles(link, articles_folder, files_folder, processed_urls, size_limit, depth + 1, max_depth)
|
||||
|
||||
total_size_articles, _ = get_folder_info(articles_folder)
|
||||
total_size_files, _ = get_folder_info(files_folder)
|
||||
total_size = total_size_articles + total_size_files
|
||||
|
||||
if total_size >= size_limit:
|
||||
logging.info("Se ha alcanzado el límite de tamaño de 50 GB. Deteniendo exploración.")
|
||||
return
|
||||
|
||||
def main():
|
||||
logging.info("Función: main")
|
||||
|
||||
urls = [
|
||||
'https://reactionary.international/database/',
|
||||
'https://aleph.occrp.org/',
|
||||
'https://offshoreleaks.icij.org/',
|
||||
'https://www.publico.es/',
|
||||
'https://www.elsaltodiario.com/',
|
||||
'https://www.nytimes.com/',
|
||||
'https://www.theguardian.com/',
|
||||
'https://www.lemonde.fr/',
|
||||
'https://www.spiegel.de/',
|
||||
'https://elpais.com/',
|
||||
'https://www.repubblica.it/',
|
||||
'https://www.scmp.com/',
|
||||
'https://www.smh.com.au/',
|
||||
'https://www.globo.com/',
|
||||
'https://timesofindia.indiatimes.com/',
|
||||
'https://www.asahi.com/',
|
||||
'https://www.washingtonpost.com/',
|
||||
'https://www.aljazeera.com/',
|
||||
'https://www.folha.uol.com.br/',
|
||||
'https://www.telegraph.co.uk/',
|
||||
'https://www.corriere.it/',
|
||||
'https://www.clarin.com/',
|
||||
'https://www.eluniversal.com.mx/',
|
||||
'https://www.welt.de/',
|
||||
'https://www.lanacion.com.ar/',
|
||||
'https://www.bbc.com/',
|
||||
'https://www.elconfidencial.com/',
|
||||
'https://www.expansion.com/',
|
||||
'https://www.lavanguardia.com/',
|
||||
'https://www.elperiodico.com/',
|
||||
'https://www.abc.es/',
|
||||
'https://www.elespanol.com/',
|
||||
'https://www.lainformacion.com/',
|
||||
'https://www.elcorreo.com/',
|
||||
'https://www.canarias7.es/',
|
||||
'https://www.diariovasco.com/',
|
||||
'https://www.farodevigo.es/',
|
||||
'https://www.lavozdegalicia.es/',
|
||||
'https://www.marca.com/',
|
||||
'https://www.mundodeportivo.com/',
|
||||
'https://www.elmundo.es/',
|
||||
'https://www.cnbc.com/',
|
||||
'https://www.bloomberg.com/',
|
||||
'https://www.forbes.com/',
|
||||
'https://www.economist.com/',
|
||||
'https://www.ft.com/',
|
||||
'https://www.wsj.com/',
|
||||
'https://www.technologyreview.com/',
|
||||
'https://www.cyberdefensemagazine.com/',
|
||||
'https://www.securityweek.com/',
|
||||
'https://www.darkreading.com/',
|
||||
'https://www.infosecurity-magazine.com/',
|
||||
'https://www.helpnetsecurity.com/',
|
||||
'https://www.computerweekly.com/',
|
||||
'https://www.csoonline.com/',
|
||||
'https://www.zdnet.com/',
|
||||
'https://www.itpro.co.uk/',
|
||||
'https://www.theregister.com/',
|
||||
'https://www.datacenterdynamics.com/',
|
||||
'https://www.scmagazine.com/',
|
||||
'https://www.teiss.co.uk/',
|
||||
'https://www.tripwire.com/',
|
||||
'https://www.infoworld.com/',
|
||||
'https://www.cnet.com/',
|
||||
'https://www.tomsguide.com/',
|
||||
'https://www.theverge.com/',
|
||||
'https://www.arstechnica.com/',
|
||||
'https://www.engadget.com/',
|
||||
'https://www.gizmodo.com/',
|
||||
'https://www.wired.com/',
|
||||
'https://www.vice.com/',
|
||||
'https://www.politico.com/',
|
||||
'https://www.theatlantic.com/',
|
||||
'https://www.newyorker.com/',
|
||||
'https://www.rollingstone.com/',
|
||||
'https://www.thedailybeast.com/',
|
||||
'https://www.salon.com/',
|
||||
'https://www.slate.com/',
|
||||
'https://www.huffpost.com/',
|
||||
'https://www.vox.com/',
|
||||
'https://www.bbc.co.uk/news',
|
||||
'https://www.dailymail.co.uk/home/index.html',
|
||||
'https://www.independent.co.uk/',
|
||||
'https://www.irishtimes.com/',
|
||||
'https://www.thejournal.ie/',
|
||||
'https://www.thetimes.co.uk/',
|
||||
'https://www.thesun.co.uk/',
|
||||
'https://www.telegraph.co.uk/',
|
||||
'https://www.euronews.com/',
|
||||
'https://www.reuters.com/',
|
||||
'https://www.dw.com/',
|
||||
'https://www.france24.com/',
|
||||
'https://www.lefigaro.fr/',
|
||||
'https://www.lemonde.fr/',
|
||||
'https://www.derstandard.at/',
|
||||
'https://www.nzz.ch/',
|
||||
'https://www.eldiario.es/',
|
||||
'https://www.rtve.es/',
|
||||
'https://www.rt.com/',
|
||||
'https://www.elciudadano.com/',
|
||||
'https://www.apnews.com/',
|
||||
'https://www.univision.com/',
|
||||
'https://www.televisa.com/',
|
||||
'https://www.bbc.com/',
|
||||
'https://www.cnn.com/',
|
||||
'https://www.foxnews.com/',
|
||||
'https://www.aljazeera.com/',
|
||||
'https://www.trtworld.com/',
|
||||
'https://www.newsweek.com/',
|
||||
'https://www.time.com/',
|
||||
'https://www.spectator.co.uk/'
|
||||
]
|
||||
|
||||
base_folder = '/var/www/theflows.net/flujos/FLUJOS_DATOS/NOTICIAS'
|
||||
articles_folder = os.path.join(base_folder, 'articulos')
|
||||
files_folder = os.path.join(base_folder, 'archivos')
|
||||
tokenized_folder = os.path.join(base_folder, 'tokenized')
|
||||
|
||||
for folder in [articles_folder, files_folder, tokenized_folder]:
|
||||
if not os.path.exists(folder):
|
||||
os.makedirs(folder)
|
||||
|
||||
FOLDER_SIZE_LIMIT = 50 * 1024 * 1024 * 1024 # 50 GB
|
||||
|
||||
urls_to_process = register_processed_notifications(base_folder, urls)
|
||||
processed_urls = set()
|
||||
|
||||
for url in urls_to_process:
|
||||
logging.info(f"\nProcesando URL: {url}")
|
||||
explore_and_extract_articles(url, articles_folder, files_folder, processed_urls, FOLDER_SIZE_LIMIT)
|
||||
explore_wayback_machine(url, articles_folder)
|
||||
|
||||
process_files(files_folder, tokenized_folder)
|
||||
tokenize_all_articles(articles_folder, tokenized_folder)
|
||||
|
||||
total_size_articles, total_files_articles = get_folder_info(articles_folder)
|
||||
total_size_files, total_files_files = get_folder_info(files_folder)
|
||||
total_size_tokenized, total_files_tokenized = get_folder_info(tokenized_folder)
|
||||
|
||||
logging.info("\nResumen del proceso:")
|
||||
logging.info(f"Artículos descargados: {total_files_articles}")
|
||||
logging.info(f"Tamaño total de artículos: {total_size_articles / (1024 * 1024):.2f} MB")
|
||||
logging.info(f"Archivos descargados: {total_files_files}")
|
||||
logging.info(f"Tamaño total de archivos: {total_size_files / (1024 * 1024):.2f} MB")
|
||||
logging.info(f"Archivos tokenizados: {total_files_tokenized}")
|
||||
logging.info(f"Tamaño total de archivos tokenizados: {total_size_tokenized / (1024 * 1024):.2f} MB.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
5
FLUJOS_DATOS/NOTICIAS/noticias_procesadas.txt
Executable file
5
FLUJOS_DATOS/NOTICIAS/noticias_procesadas.txt
Executable file
|
|
@ -0,0 +1,5 @@
|
|||
https://aleph.occrp.org/
|
||||
https://offshoreleaks.icij.org/
|
||||
https://reactionary.international/database/
|
||||
https://www.elsaltodiario.com/
|
||||
https://www.publico.es/
|
||||
196
FLUJOS_DATOS/NOTICIAS/processed_articles.txt
Executable file
196
FLUJOS_DATOS/NOTICIAS/processed_articles.txt
Executable file
|
|
@ -0,0 +1,196 @@
|
|||
https://reactionary.international/database/
|
||||
https://aleph.occrp.org/
|
||||
https://offshoreleaks.icij.org/
|
||||
https://www.publico.es/
|
||||
https://www.elsaltodiario.com/
|
||||
https://www.nytimes.com/
|
||||
https://www.theguardian.com/
|
||||
https://www.lemonde.fr/
|
||||
https://www.spiegel.de/
|
||||
https://elpais.com/
|
||||
https://www.repubblica.it/
|
||||
https://www.scmp.com/
|
||||
https://www.smh.com.au/
|
||||
https://www.globo.com/
|
||||
https://timesofindia.indiatimes.com/
|
||||
https://www.asahi.com/
|
||||
https://www.washingtonpost.com/
|
||||
https://www.aljazeera.com/
|
||||
https://www.folha.uol.com.br/
|
||||
https://www.telegraph.co.uk/
|
||||
https://www.corriere.it/
|
||||
https://www.clarin.com/
|
||||
https://www.eluniversal.com.mx/
|
||||
https://www.welt.de/
|
||||
https://www.lanacion.com.ar/
|
||||
https://www.bbc.com/
|
||||
https://www.elconfidencial.com/
|
||||
https://www.expansion.com/
|
||||
https://www.lavanguardia.com/
|
||||
https://www.elperiodico.com/
|
||||
https://www.abc.es/
|
||||
https://www.elespanol.com/
|
||||
https://www.lainformacion.com/
|
||||
https://www.elcorreo.com/
|
||||
https://www.canarias7.es/
|
||||
https://www.diariovasco.com/
|
||||
https://www.farodevigo.es/
|
||||
https://www.lavozdegalicia.es/
|
||||
https://www.marca.com/
|
||||
https://www.mundodeportivo.com/
|
||||
https://www.elmundo.es/
|
||||
https://www.wired.com/
|
||||
https://www.techcrunch.com/
|
||||
https://www.cybersecurity-insiders.com/
|
||||
https://www.darkreading.com/
|
||||
https://www.hackread.com/
|
||||
https://www.theregister.com/
|
||||
https://www.csoonline.com/
|
||||
https://www.scmagazine.com/
|
||||
https://www.securityweek.com/
|
||||
https://www.infosecurity-magazine.com/
|
||||
https://www.hackaday.com/
|
||||
https://www.economist.com/
|
||||
https://www.ft.com/
|
||||
https://www.bloomberg.com/
|
||||
https://www.wsj.com/
|
||||
https://www.forbes.com/
|
||||
https://www.businessinsider.com/
|
||||
https://www.reuters.com/
|
||||
https://www.cnbc.com/
|
||||
https://www.nbcnews.com/
|
||||
https://www.cbsnews.com/
|
||||
https://www.abcnews.go.com/
|
||||
https://www.vox.com/
|
||||
https://www.politico.com/
|
||||
https://www.euronews.com/
|
||||
https://www.france24.com/
|
||||
https://www.rt.com/
|
||||
https://www.al-monitor.com/
|
||||
https://www.jpost.com/
|
||||
https://www.haaretz.com/
|
||||
https://www.middleeasteye.net/
|
||||
https://www.indiatoday.in/
|
||||
https://www.chinadaily.com.cn/
|
||||
https://www.japantimes.co.jp/
|
||||
https://www.koreatimes.co.kr/
|
||||
https://www.thehindu.com/
|
||||
https://www.nikkei.com/
|
||||
https://www.manilatimes.net/
|
||||
https://www.bangkokpost.com/
|
||||
https://www.theaustralian.com.au/
|
||||
https://www.nzherald.co.nz/
|
||||
https://www.theglobeandmail.com/
|
||||
https://www.torontostar.com/
|
||||
https://www.ctvnews.ca/
|
||||
https://www.globalnews.ca/
|
||||
https://www.thehill.com/
|
||||
https://www.breitbart.com/
|
||||
https://www.nationalreview.com/
|
||||
https://www.slate.com/
|
||||
https://www.newyorker.com/
|
||||
https://www.atlanticcouncil.org/
|
||||
https://www.chathamhouse.org/
|
||||
https://www.rand.org/
|
||||
https://www.cfr.org/
|
||||
https://www.brookings.edu/
|
||||
https://www.carnegieendowment.org/
|
||||
https://www.wilsoncenter.org/
|
||||
https://www.hoover.org/
|
||||
https://www.csis.org/
|
||||
https://www.heritage.org/
|
||||
https://www.aspi.org.au/
|
||||
https://www.iiss.org/
|
||||
https://www.rusi.org/
|
||||
https://www.intelligenceonline.com/
|
||||
https://www.sit.kb.gov.tr/
|
||||
https://www.securitymagazine.com/
|
||||
https://www.zdnet.com/
|
||||
https://www.helpnetsecurity.com/
|
||||
https://www.bankinfosecurity.com/
|
||||
https://www.nsa.gov/
|
||||
https://www.fbi.gov/
|
||||
https://www.mi5.gov.uk/
|
||||
https://www.mi6.gov.uk/
|
||||
https://www.mss.gov.cn/
|
||||
https://www.bnd.bund.de/
|
||||
https://www.cni.es/
|
||||
https://www.cis.es/
|
||||
https://www.dni.gov/
|
||||
https://www.mossad.gov.il/
|
||||
https://www.afp.gov.au/
|
||||
https://www.royalnavy.mod.uk/
|
||||
https://www.gov.uk/government/organisations/foreign-commonwealth-office
|
||||
https://www.cabinetoffice.gov.uk/
|
||||
https://www.janes.com/
|
||||
https://www.gov.uk/government/organisations/defence-intelligence
|
||||
https://www.nato.int/
|
||||
https://www.un.org/en/
|
||||
https://www.worldbank.org/
|
||||
https://www.imf.org/
|
||||
https://www.weforum.org/
|
||||
https://www.oecd.org/
|
||||
https://www.wto.org/
|
||||
https://www.unesco.org/
|
||||
https://www.who.int/
|
||||
https://www.icc-cpi.int/
|
||||
https://www.eurojust.europa.eu/
|
||||
https://www.europol.europa.eu/
|
||||
https://www.dia.mil/
|
||||
https://www.nro.gov/
|
||||
https://www.cia.gov/
|
||||
https://www.sis.gov.uk/
|
||||
https://www.interpol.int/
|
||||
https://www.intel.gov/
|
||||
https://www.financialtimes.com/
|
||||
https://www.wallstreetjournal.com/
|
||||
https://www.fortune.com/
|
||||
https://www.marketwatch.com/
|
||||
https://www.barrons.com/
|
||||
https://www.nasdaq.com/
|
||||
https://www.sec.gov/
|
||||
https://www.nyse.com/
|
||||
https://www.isda.org/
|
||||
https://www.technologyreview.com/
|
||||
https://www.cyberdefensemagazine.com/
|
||||
https://www.computerweekly.com/
|
||||
https://www.itpro.co.uk/
|
||||
https://www.datacenterdynamics.com/
|
||||
https://www.teiss.co.uk/
|
||||
https://www.tripwire.com/
|
||||
https://www.infoworld.com/
|
||||
https://www.cnet.com/
|
||||
https://www.tomsguide.com/
|
||||
https://www.theverge.com/
|
||||
https://www.arstechnica.com/
|
||||
https://www.engadget.com/
|
||||
https://www.gizmodo.com/
|
||||
https://www.vice.com/
|
||||
https://www.theatlantic.com/
|
||||
https://www.rollingstone.com/
|
||||
https://www.thedailybeast.com/
|
||||
https://www.salon.com/
|
||||
https://www.huffpost.com/
|
||||
https://www.bbc.co.uk/news
|
||||
https://www.dailymail.co.uk/home/index.html
|
||||
https://www.independent.co.uk/
|
||||
https://www.irishtimes.com/
|
||||
https://www.thejournal.ie/
|
||||
https://www.thetimes.co.uk/
|
||||
https://www.thesun.co.uk/
|
||||
https://www.dw.com/
|
||||
https://www.lefigaro.fr/
|
||||
https://www.derstandard.at/
|
||||
https://www.nzz.ch/
|
||||
https://www.eldiario.es/
|
||||
https://www.rtve.es/
|
||||
https://www.elciudadano.com/
|
||||
https://www.apnews.com/
|
||||
https://www.univision.com/
|
||||
https://www.televisa.com/
|
||||
https://www.cnn.com/
|
||||
https://www.foxnews.com/
|
||||
https://www.trtworld.com/
|
||||
https://www.newsweek.com/
|
||||
https://www.time.com/
|
||||
https://www.spectator.co.uk/
|
||||
101
FLUJOS_DATOS/SCRIPTS/check.py
Normal file
101
FLUJOS_DATOS/SCRIPTS/check.py
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
#!/usr/bin/env python3
|
||||
import time
|
||||
import shutil
|
||||
from pymongo import MongoClient
|
||||
|
||||
def print_header(title):
|
||||
width = shutil.get_terminal_size().columns
|
||||
print("\n" + title.center(width, "─") + "\n")
|
||||
|
||||
def draw_bar(progress, total, length=40):
|
||||
"""Dibuja una barra de progreso de longitud `length`."""
|
||||
proportion = progress / total if total else 0
|
||||
filled = int(proportion * length)
|
||||
bar = "[" + "#" * filled + "-" * (length - filled) + "]"
|
||||
return f"{bar} {progress}/{total} ({proportion*100:5.1f}%)"
|
||||
|
||||
def main():
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
# 1) Conexión y estado general
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
print_header("Conexión a MongoDB")
|
||||
t0 = time.perf_counter()
|
||||
client = MongoClient('mongodb://localhost:27017')
|
||||
admin = client.admin.command('serverStatus')
|
||||
print(f" Ping: {client.admin.command('ping')['ok']}")
|
||||
print(f" Uptime (s): {admin['uptime']:.0f}")
|
||||
print(f" Conexiones actuales: {admin['connections']['current']}")
|
||||
mem = admin.get('mem', {})
|
||||
resident = mem.get('resident', 0)
|
||||
print(f" Memoria resident (MB): {resident:.2f}")
|
||||
db = client['FLUJOS_DATOS']
|
||||
cols = db.list_collection_names()
|
||||
print(f" Collections: {len(cols)}")
|
||||
total_docs = sum(db[c].estimated_document_count() for c in cols)
|
||||
print(f" Documents: {total_docs:,}")
|
||||
print(f" Tiempo tramo: {(time.perf_counter()-t0):.2f} s")
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
# 2) Estadísticas por colección y por tema
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
collections = ['noticias','wikipedia','torrents']
|
||||
for idx, col in enumerate(collections, start=1):
|
||||
print_header(f"{idx}) Estadísticas de «{col.upper()}»")
|
||||
t1 = time.perf_counter()
|
||||
coll = db[col]
|
||||
cnt = coll.estimated_document_count()
|
||||
stats = db.command("collStats", col)
|
||||
size_mb = stats['size'] / (1024*1024)
|
||||
idx_mb = stats['totalIndexSize'] / (1024*1024)
|
||||
total_mb = size_mb + idx_mb
|
||||
print(f" Total documentos : {cnt:,}")
|
||||
print(f" Tamaño data : {size_mb:8.1f} MB {draw_bar(size_mb, total_mb)}")
|
||||
print(f" Tamaño índices : {idx_mb:8.1f} MB {draw_bar(idx_mb, total_mb)}")
|
||||
temas = coll.distinct("tema")
|
||||
for tema in temas:
|
||||
n = coll.count_documents({"tema": tema})
|
||||
print(f" • {tema:>25}: {n:6,} {draw_bar(n, cnt)}")
|
||||
print(f" Tiempo tramo : {(time.perf_counter()-t1):.2f} s")
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
# 3) Enlaces Totales y buckets de porcentaje_similitud (con barra en vivo)
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
print_header(f"{len(collections)+1}) Enlaces y Buckets de Similitud")
|
||||
comp = db['comparaciones']
|
||||
total_links = comp.estimated_document_count()
|
||||
print(f" Total enlaces: {total_links:,}\n")
|
||||
|
||||
# Definimos los límites de los buckets
|
||||
boundaries = [0, 1, 2, 5, 10, 20, 50]
|
||||
labels = [f"{boundaries[i]}–{boundaries[i+1]}%" for i in range(len(boundaries)-1)] + ["50%+"]
|
||||
bucket_counts = []
|
||||
|
||||
t2 = time.perf_counter()
|
||||
print(" Calculando buckets:")
|
||||
for i, label in enumerate(labels):
|
||||
low = boundaries[i]
|
||||
high = boundaries[i+1] if i+1 < len(boundaries) else None
|
||||
|
||||
# Construimos la consulta para este bucket
|
||||
if high is not None:
|
||||
query = {"porcentaje_similitud": {"$gte": low, "$lt": high}}
|
||||
else:
|
||||
query = {"porcentaje_similitud": {"$gte": low}}
|
||||
|
||||
# Contamos documentos
|
||||
count = comp.count_documents(query)
|
||||
bucket_counts.append((label, count))
|
||||
|
||||
# Actualizamos barra de progreso
|
||||
print("\r " + draw_bar(i+1, len(labels)), end="", flush=True)
|
||||
print() # salto de línea tras la barra
|
||||
|
||||
# Mostramos resultados
|
||||
for label, count in bucket_counts:
|
||||
print(f" • {label:>7}: {count:>10,} ({count/total_links*100:5.2f}%)")
|
||||
|
||||
print(f"\n Tiempo tramo: {(time.perf_counter()-t2):.2f} s")
|
||||
client.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
23
FLUJOS_DATOS/SCRIPTS/double_check_coincidencias.py
Normal file
23
FLUJOS_DATOS/SCRIPTS/double_check_coincidencias.py
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# check_mismatches.py
|
||||
from pymongo import MongoClient
|
||||
|
||||
client = MongoClient('mongodb://localhost:27017')
|
||||
db = client['FLUJOS_DATOS']
|
||||
|
||||
# 1) Todos los nombres únicos que aparecen en comparaciones
|
||||
comp = db.comparaciones.distinct('noticia1') + db.comparaciones.distinct('noticia2')
|
||||
comp = set(comp)
|
||||
|
||||
# 2) Todos los nombres únicos en las colecciones de nodos
|
||||
fuentes = ['noticias','wikipedia','torrents','leaks']
|
||||
todos = set()
|
||||
for col in fuentes:
|
||||
if col in db.list_collection_names():
|
||||
todos |= set(db[col].distinct('archivo'))
|
||||
|
||||
sólo_en_comparaciones = comp - todos
|
||||
sólo_en_fuentes = todos - comp
|
||||
|
||||
print(f"Mismatches comparaciones→fuentes: {len(sólo_en_comparaciones)}")
|
||||
print(f"Mismatches fuentes→comparaciones: {len(sólo_en_fuentes)}")
|
||||
print("Ejemplos (up to 10):", list(sólo_en_comparaciones)[:10])
|
||||
9516
FLUJOS_DATOS/TORRENTS/TORRENTS_WIKILEAKS_COMPLETO/files-all.torrent
Executable file
9516
FLUJOS_DATOS/TORRENTS/TORRENTS_WIKILEAKS_COMPLETO/files-all.torrent
Executable file
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,8 @@
|
|||
========================================
|
||||
Informe de procesamiento
|
||||
========================================
|
||||
|
||||
Nuevos archivos procesados: 0
|
||||
Archivos ya procesados (saltados): 0
|
||||
Errores de procesamiento: 0
|
||||
========================================
|
||||
359
FLUJOS_DATOS/TORRENTS/TORRENTS_WIKILEAKS_COMPLETO/procesar_torrents.py
Executable file
359
FLUJOS_DATOS/TORRENTS/TORRENTS_WIKILEAKS_COMPLETO/procesar_torrents.py
Executable file
|
|
@ -0,0 +1,359 @@
|
|||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import re
|
||||
import hashlib
|
||||
import subprocess
|
||||
from transformers import BertTokenizer
|
||||
from PyPDF2 import PdfReader
|
||||
import csv
|
||||
import docx
|
||||
import openpyxl
|
||||
import zipfile
|
||||
from pptx import Presentation
|
||||
import pytesseract
|
||||
from PIL import Image
|
||||
import sqlite3
|
||||
from tqdm import tqdm
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
# =========================
|
||||
# Stopwords (ES)
|
||||
# =========================
|
||||
stopwords = [
|
||||
"de", "la", "que", "el", "en", "y", "a", "los", "del", "se", "las", "por", "un", "para", "con",
|
||||
"no", "una", "su", "al", "es", "lo", "como", "más", "pero", "sus", "le", "ya", "o", "fue", "este",
|
||||
"ha", "sí", "porque", "esta", "son", "entre", "cuando", "muy", "sin", "sobre", "también", "me",
|
||||
"hasta", "hay", "donde", "quien", "desde", "todo", "nos", "durante", "todos", "uno", "les", "ni",
|
||||
"contra", "otros", "ese", "eso", "ante", "ellos", "e", "esto", "mí", "antes", "algunos", "qué",
|
||||
"unos", "yo", "otro", "otras", "otra", "él", "tanto", "esa", "estos", "mucho", "quienes", "nada",
|
||||
"muchos", "cual", "poco", "ella", "estar", "estas", "algunas", "algo", "nosotros", "mi", "mis",
|
||||
"tú", "te", "ti", "tu", "tus", "ellas", "nosotras", "vosotros", "vosotras", "os", "mío", "mía",
|
||||
"míos", "mías", "tuyo", "tuya", "tuyos", "tuyas", "suyo", "suya", "suyos", "suyas", "nuestro",
|
||||
"nuestra", "nuestros", "nuestras", "vuestro", "vuestra", "vuestros", "vuestras", "esos", "esas",
|
||||
"estoy", "estás", "está", "estamos", "estáis", "están", "esté", "estés", "estemos", "estéis",
|
||||
"estén", "estaré", "estarás", "estará", "estaremos", "estaréis", "estarán", "estaría", "estarías",
|
||||
"estaríamos", "estaríais", "estarían", "estaba", "estabas", "estábamos", "estabais", "estaban",
|
||||
"estuve", "estuviste", "estuvo", "estuvimos", "estuvisteis", "estuvieron", "estuviera", "estuvieras",
|
||||
"estuviéramos", "estuvierais", "estuvieran", "estuviese", "estuvieses", "estuviésemos", "estuvieseis",
|
||||
"estuviesen", "estando", "estado", "estada", "estados", "estadas", "estad"
|
||||
]
|
||||
|
||||
# =========================
|
||||
# Limpieza y utilidades
|
||||
# =========================
|
||||
def limpiar_texto(texto: str) -> str:
|
||||
texto = texto.lower()
|
||||
texto = re.sub(r'[^\w\s]', '', texto)
|
||||
palabras = texto.split()
|
||||
palabras_limpias = [palabra for palabra in palabras if palabra not in stopwords]
|
||||
return ' '.join(palabras_limpias)
|
||||
|
||||
def limpiar_nombre_archivo(nombre: str) -> str:
|
||||
# Sustituye caracteres peligrosos por "_"
|
||||
nombre = re.sub(r'[\\/*?:"<>|]', "_", nombre)
|
||||
return nombre
|
||||
|
||||
# =========================
|
||||
# Tokenizer
|
||||
# =========================
|
||||
tokenizer = BertTokenizer.from_pretrained('dccuchile/bert-base-spanish-wwm-cased')
|
||||
|
||||
def tokenizar_y_guardar(texto: str, nombre_archivo: str):
|
||||
tokens_ids = tokenizer.encode(
|
||||
texto,
|
||||
truncation=True,
|
||||
max_length=512
|
||||
)
|
||||
tokens_str = ' '.join(map(str, tokens_ids))
|
||||
with open(nombre_archivo, 'w', encoding='utf-8') as f:
|
||||
f.write(tokens_str)
|
||||
return tokens_ids
|
||||
|
||||
# =========================
|
||||
# Lectores de formatos
|
||||
# =========================
|
||||
def leer_pdf(ruta_pdf):
|
||||
contenido = ''
|
||||
try:
|
||||
with open(ruta_pdf, 'rb') as f:
|
||||
lector_pdf = PdfReader(f)
|
||||
for pagina in lector_pdf.pages:
|
||||
contenido += pagina.extract_text() or ''
|
||||
except Exception as e:
|
||||
print(f"Error leyendo PDF {ruta_pdf}: {e}")
|
||||
return contenido
|
||||
|
||||
def leer_csv(ruta_csv):
|
||||
contenido = ''
|
||||
try:
|
||||
with open(ruta_csv, 'r', encoding='utf-8', errors='ignore') as f:
|
||||
reader = csv.reader(f)
|
||||
for fila in reader:
|
||||
contenido += ' '.join(fila) + '\n'
|
||||
except Exception as e:
|
||||
print(f"Error leyendo CSV {ruta_csv}: {e}")
|
||||
return contenido
|
||||
|
||||
def leer_docx(ruta_docx):
|
||||
contenido = ''
|
||||
try:
|
||||
docx_doc = docx.Document(ruta_docx)
|
||||
for parrafo in docx_doc.paragraphs:
|
||||
contenido += parrafo.text + '\n'
|
||||
except Exception as e:
|
||||
print(f"Error leyendo DOCX {ruta_docx}: {e}")
|
||||
return contenido
|
||||
|
||||
def leer_doc(ruta_doc):
|
||||
contenido = ''
|
||||
try:
|
||||
# Requiere antiword instalado
|
||||
resultado = subprocess.run(['antiword', ruta_doc], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
contenido = resultado.stdout.decode('utf-8', errors='ignore')
|
||||
except Exception as e:
|
||||
print(f"Error leyendo DOC {ruta_doc}: {e}")
|
||||
return contenido
|
||||
|
||||
def leer_xlsx(ruta_xlsx):
|
||||
contenido = ''
|
||||
try:
|
||||
wb = openpyxl.load_workbook(ruta_xlsx, data_only=True)
|
||||
for sheet in wb.sheetnames:
|
||||
ws = wb[sheet]
|
||||
for row in ws.iter_rows():
|
||||
contenido += ' '.join([str(cell.value) if cell.value is not None else '' for cell in row]) + '\n'
|
||||
except Exception as e:
|
||||
print(f"Error leyendo XLSX {ruta_xlsx}: {e}")
|
||||
return contenido
|
||||
|
||||
def leer_xls(ruta_xls):
|
||||
contenido = ''
|
||||
try:
|
||||
import xlrd
|
||||
workbook = xlrd.open_workbook(ruta_xls)
|
||||
for sheet in workbook.sheets():
|
||||
for row in range(sheet.nrows):
|
||||
contenido += ' '.join([str(sheet.cell(row, col).value) for col in range(sheet.ncols)]) + '\n'
|
||||
except Exception as e:
|
||||
print(f"Error leyendo XLS {ruta_xls}: {e}")
|
||||
return contenido
|
||||
|
||||
def leer_zip(ruta_zip, _carpeta_destino_no_usada):
|
||||
# Leemos solo .txt dentro del ZIP, sin extraer al disco
|
||||
contenido = ''
|
||||
try:
|
||||
with zipfile.ZipFile(ruta_zip, 'r') as z:
|
||||
for nombre_archivo in z.namelist():
|
||||
if nombre_archivo.lower().endswith('.txt'):
|
||||
with z.open(nombre_archivo) as f:
|
||||
contenido += f.read().decode('utf-8', errors='ignore') + '\n'
|
||||
except Exception as e:
|
||||
print(f"Error leyendo ZIP {ruta_zip}: {e}")
|
||||
return contenido
|
||||
|
||||
def leer_html(ruta_html):
|
||||
contenido = ''
|
||||
try:
|
||||
with open(ruta_html, 'r', encoding='utf-8', errors='ignore') as f:
|
||||
soup = BeautifulSoup(f, 'html.parser')
|
||||
contenido = soup.get_text(separator=' ')
|
||||
except Exception as e:
|
||||
print(f"Error leyendo HTML {ruta_html}: {e}")
|
||||
return contenido
|
||||
|
||||
def leer_pptx(ruta_pptx):
|
||||
contenido = ''
|
||||
try:
|
||||
prs = Presentation(ruta_pptx)
|
||||
for slide in prs.slides:
|
||||
for shape in slide.shapes:
|
||||
if hasattr(shape, "text"):
|
||||
contenido += shape.text + '\n'
|
||||
except Exception as e:
|
||||
print(f"Error leyendo PPTX {ruta_pptx}: {e}")
|
||||
return contenido
|
||||
|
||||
def leer_imagen(ruta_imagen):
|
||||
contenido = ''
|
||||
try:
|
||||
texto = pytesseract.image_to_string(Image.open(ruta_imagen))
|
||||
contenido = texto
|
||||
except Exception as e:
|
||||
print(f"Error leyendo Imagen {ruta_imagen}: {e}")
|
||||
return contenido
|
||||
|
||||
def leer_db(ruta_db):
|
||||
contenido = ''
|
||||
try:
|
||||
conn = sqlite3.connect(ruta_db)
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
|
||||
tablas = cursor.fetchall()
|
||||
for tabla in tablas:
|
||||
cursor.execute(f"SELECT * FROM {tabla[0]}")
|
||||
filas = cursor.fetchall()
|
||||
for fila in filas:
|
||||
contenido += ' '.join(map(str, fila)) + '\n'
|
||||
conn.close()
|
||||
except Exception as e:
|
||||
print(f"Error leyendo DB {ruta_db}: {e}")
|
||||
return contenido
|
||||
|
||||
# =========================
|
||||
# Log y control de procesados
|
||||
# =========================
|
||||
def archivo_procesado(carpeta_txt, archivo_limpio):
|
||||
return os.path.exists(os.path.join(carpeta_txt, archivo_limpio))
|
||||
|
||||
def cargar_archivos_procesados(log_file):
|
||||
if os.path.exists(log_file):
|
||||
with open(log_file, 'r', encoding='utf-8', errors='ignore') as f:
|
||||
return set(f.read().splitlines())
|
||||
return set()
|
||||
|
||||
def actualizar_log(archivo, log_file):
|
||||
with open(log_file, 'a', encoding='utf-8') as f:
|
||||
f.write(archivo + '\n')
|
||||
|
||||
def guardar_informe_procesamiento(nuevos_procesados, procesados_saltados, errores, ruta_archivo_informe):
|
||||
with open(ruta_archivo_informe, 'w', encoding='utf-8') as f:
|
||||
f.write(f"{'='*40}\n")
|
||||
f.write("Informe de procesamiento\n")
|
||||
f.write(f"{'='*40}\n\n")
|
||||
f.write(f"Nuevos archivos procesados: {nuevos_procesados}\n")
|
||||
f.write(f"Archivos ya procesados (saltados): {procesados_saltados}\n")
|
||||
f.write(f"Errores de procesamiento: {errores}\n")
|
||||
f.write(f"{'='*40}\n")
|
||||
|
||||
# =========================
|
||||
# Procesador principal
|
||||
# =========================
|
||||
def procesar_archivos(carpeta_archivos, carpeta_txt, log_file, ruta_archivo_informe):
|
||||
archivos_procesados = cargar_archivos_procesados(log_file)
|
||||
archivos = []
|
||||
nuevos_procesados = 0
|
||||
procesados_saltados = 0
|
||||
errores = 0
|
||||
|
||||
for root, dirs, files in os.walk(carpeta_archivos):
|
||||
for archivo in files:
|
||||
archivos.append(os.path.join(root, archivo))
|
||||
|
||||
total_size = sum(os.path.getsize(archivo) for archivo in archivos if os.path.exists(archivo))
|
||||
processed_size = 0
|
||||
|
||||
for archivo in tqdm(archivos, desc="Procesando archivos", unit="archivo"):
|
||||
ruta_archivo = archivo
|
||||
# Nombre limpio: ruta relativa (sanitizada) + sufijo _limpio.txt (PLANO en txt/)
|
||||
rel = os.path.relpath(archivo, carpeta_archivos)
|
||||
archivo_limpio = f"{limpiar_nombre_archivo(rel)}_limpio.txt"
|
||||
|
||||
if archivo_procesado(carpeta_txt, archivo_limpio) or archivo_limpio in archivos_procesados:
|
||||
procesados_saltados += 1
|
||||
print(f"Archivo {archivo} ya ha sido procesado. Saltando...")
|
||||
continue
|
||||
|
||||
contenido = ''
|
||||
try:
|
||||
ext = os.path.splitext(archivo)[1].lower()
|
||||
if ext == '.pdf':
|
||||
contenido = leer_pdf(ruta_archivo)
|
||||
elif ext == '.csv':
|
||||
contenido = leer_csv(ruta_archivo)
|
||||
elif ext == '.txt':
|
||||
with open(ruta_archivo, 'r', encoding='utf-8', errors='ignore') as f:
|
||||
contenido = f.read()
|
||||
elif ext == '.docx':
|
||||
contenido = leer_docx(ruta_archivo)
|
||||
elif ext == '.doc':
|
||||
contenido = leer_doc(ruta_archivo)
|
||||
elif ext == '.xlsx':
|
||||
contenido = leer_xlsx(ruta_archivo)
|
||||
elif ext == '.xls':
|
||||
contenido = leer_xls(ruta_archivo)
|
||||
elif ext == '.zip':
|
||||
contenido = leer_zip(ruta_archivo, carpeta_archivos)
|
||||
elif ext in ('.html', '.htm'):
|
||||
contenido = leer_html(ruta_archivo)
|
||||
elif ext in ('.pptx', '.ppt'):
|
||||
contenido = leer_pptx(ruta_archivo)
|
||||
elif ext in ('.jpg', '.jpeg', '.png', '.bmp', '.tiff'):
|
||||
contenido = leer_imagen(ruta_archivo)
|
||||
elif ext == '.db':
|
||||
contenido = leer_db(ruta_archivo)
|
||||
else:
|
||||
errores += 1
|
||||
print(f"Tipo de archivo no soportado: {archivo}")
|
||||
continue
|
||||
|
||||
if contenido:
|
||||
texto_limpio = limpiar_texto(contenido)
|
||||
nombre_txt_limpio = os.path.join(carpeta_txt, archivo_limpio)
|
||||
with open(nombre_txt_limpio, 'w', encoding='utf-8') as f:
|
||||
f.write(texto_limpio)
|
||||
|
||||
actualizar_log(archivo_limpio, log_file)
|
||||
nuevos_procesados += 1
|
||||
print(f"Procesado y guardado: {archivo}")
|
||||
else:
|
||||
# Si no hay contenido, igualmente lo contamos como error leve
|
||||
errores += 1
|
||||
print(f"Sin contenido extraído: {archivo}")
|
||||
|
||||
except Exception as e:
|
||||
errores += 1
|
||||
print(f"Error procesando archivo {archivo}: {e}")
|
||||
|
||||
if os.path.exists(ruta_archivo):
|
||||
processed_size += os.path.getsize(ruta_archivo)
|
||||
tqdm.write(f"Progreso: {processed_size / 1024 / 1024:.2f} MB de {total_size / 1024 / 1024:.2f} MB procesados")
|
||||
|
||||
guardar_informe_procesamiento(nuevos_procesados, procesados_saltados, errores, ruta_archivo_informe)
|
||||
|
||||
def tokenizar_todos_archivos(carpeta_txt, carpeta_tokenized):
|
||||
import os
|
||||
for root, _, files in os.walk(carpeta_txt):
|
||||
for archivo in files:
|
||||
# procesa solo .txt (o cambia a '_limpio.txt' si quieres acotar)
|
||||
if not archivo.endswith('.txt'):
|
||||
continue
|
||||
|
||||
src = os.path.join(root, archivo)
|
||||
if not os.path.isfile(src):
|
||||
continue
|
||||
|
||||
# misma ruta relativa y MISMO nombre exacto
|
||||
rel = os.path.relpath(src, carpeta_txt)
|
||||
dst = os.path.join(carpeta_tokenized, rel)
|
||||
|
||||
os.makedirs(os.path.dirname(dst), exist_ok=True)
|
||||
|
||||
if not os.path.exists(dst):
|
||||
with open(src, 'r', encoding='utf-8', errors='ignore') as f:
|
||||
contenido = f.read()
|
||||
tokenizar_y_guardar(contenido, dst)
|
||||
print(f"[TOK] {rel} -> {os.path.relpath(dst, carpeta_tokenized)}")
|
||||
print("Tokenización completada para todos los archivos.")
|
||||
|
||||
# =========================
|
||||
# Configuración de rutas
|
||||
# =========================
|
||||
ruta_base = os.path.dirname(__file__)
|
||||
ruta_carpeta = os.path.join(ruta_base, 'files') # carpeta de entrada
|
||||
carpeta_txt = os.path.join(ruta_base, 'txt') # salidas limpias
|
||||
carpeta_tokenized = os.path.join(ruta_base, 'tokenized') # salidas tokenizadas
|
||||
log_file = os.path.join(ruta_base, 'archivos_procesados.log')
|
||||
ruta_archivo_informe = os.path.join(ruta_base, 'procesado_error.txt')
|
||||
|
||||
# =========================
|
||||
# Main
|
||||
# =========================
|
||||
if __name__ == "__main__":
|
||||
os.makedirs(carpeta_txt, exist_ok=True)
|
||||
os.makedirs(carpeta_tokenized, exist_ok=True)
|
||||
|
||||
procesar_archivos(ruta_carpeta, carpeta_txt, log_file, ruta_archivo_informe)
|
||||
tokenizar_todos_archivos(carpeta_txt, carpeta_tokenized)
|
||||
|
||||
32
FLUJOS_DATOS/TORRENTS/torrent_catcher.sh
Executable file
32
FLUJOS_DATOS/TORRENTS/torrent_catcher.sh
Executable file
|
|
@ -0,0 +1,32 @@
|
|||
#!/bin/bash
|
||||
|
||||
# URL de la página web que contiene los enlaces de torrents
|
||||
URL="https://file.wikileaks.org/"
|
||||
|
||||
# Directorio donde se guardarán los torrents descargados
|
||||
TORRENT_DIR="home/sito/PROGRAMACION/FLUJOS_TODO_FLUJOS_DATOS/TORRENTS/" # Cambia esta ruta al directorio donde quieras guardar los torrents
|
||||
|
||||
# Crear el directorio si no existe
|
||||
mkdir -p "TORRENTS_WIKILEAKS_COMPLETO"
|
||||
|
||||
# Descargar la página web
|
||||
curl -s "$URL" -o /tmp/page.html
|
||||
|
||||
# Extraer los enlaces de torrent (supone que los enlaces contienen ".torrent")
|
||||
grep -oP 'href="\K[^"]+\.torrent' /tmp/page.html > /tmp/torrent_links.txt
|
||||
|
||||
# Descargar cada archivo torrent
|
||||
while IFS= read -r link; do
|
||||
# Asegurarse de que el enlace es absoluto
|
||||
if [[ $link != http* ]]; then
|
||||
link="${URL}${link}"
|
||||
fi
|
||||
|
||||
# Descargar el archivo torrent
|
||||
aria2c -d "TORRENTS_WIKILEAKS_COMPLETO" "$link"
|
||||
done < /tmp/torrent_links.txt
|
||||
|
||||
# Limpiar archivos temporales
|
||||
rm /tmp/page.html /tmp/torrent_links.txt
|
||||
|
||||
echo "Descarga de torrents completada."
|
||||
92
FLUJOS_DATOS/WIKIPEDIA/docs.txt
Executable file
92
FLUJOS_DATOS/WIKIPEDIA/docs.txt
Executable file
|
|
@ -0,0 +1,92 @@
|
|||
# Crear un archivo llamado docs.txt y agregar el contenido necesario
|
||||
echo "
|
||||
# Descripción del Programa
|
||||
|
||||
Este programa descarga artículos de Wikipedia relacionados con diversas temáticas, limpia y tokeniza el contenido, y guarda los resultados en archivos de texto. También compara la similitud de las palabras entre los primeros dos artículos descargados y calcula un porcentaje de similitud. El programa detiene la descarga cuando el tamaño total de los archivos supera los 10 GB y entonces ejecuta la tokenización de los artículos.
|
||||
|
||||
# Paquetes Necesarios
|
||||
|
||||
- \`transformers\`: Para tokenización usando BERT.
|
||||
- \`wikipedia-api\`: Para buscar y obtener el contenido de artículos de Wikipedia.
|
||||
|
||||
# Comandos para Instalar los Paquetes en Linux
|
||||
|
||||
Primero, asegúrate de tener \`pip\` instalado. Si no lo tienes, puedes instalarlo con:
|
||||
|
||||
\`\`\`bash
|
||||
sudo apt update
|
||||
sudo apt install python3-pip
|
||||
\`\`\`
|
||||
|
||||
Luego, instala los paquetes necesarios:
|
||||
|
||||
\`\`\`bash
|
||||
pip install transformers wikipedia-api
|
||||
\`\`\`
|
||||
|
||||
# Crear y Activar el Entorno Virtual
|
||||
|
||||
Para evitar conflictos con otros proyectos y mantener el entorno limpio, se recomienda usar un entorno virtual. A continuación se muestran los pasos para crear y activar un entorno virtual:
|
||||
|
||||
1. **Crear el entorno virtual:**
|
||||
|
||||
Navega al directorio de tu proyecto y crea un entorno virtual llamado \`venv\`:
|
||||
|
||||
\`\`\`bash
|
||||
python3 -m venv venv
|
||||
\`\`\`
|
||||
|
||||
2. **Activar el entorno virtual:**
|
||||
|
||||
Para activar el entorno virtual, usa el siguiente comando:
|
||||
|
||||
\`\`\`bash
|
||||
source venv/bin/activate
|
||||
\`\`\`
|
||||
|
||||
Verás que el nombre del entorno virtual aparece antes del prompt de la terminal, indicando que el entorno virtual está activado.
|
||||
|
||||
3. **Instalar los paquetes en el entorno virtual:**
|
||||
|
||||
Una vez activado el entorno virtual, instala los paquetes necesarios:
|
||||
|
||||
\`\`\`bash
|
||||
pip install transformers wikipedia-api
|
||||
\`\`\`
|
||||
|
||||
# Ejecutar el Programa
|
||||
|
||||
Con el entorno virtual activado, puedes ejecutar el programa principal:
|
||||
|
||||
\`\`\`bash
|
||||
python3 main.py
|
||||
\`\`\`
|
||||
|
||||
# Estructura del Proyecto
|
||||
|
||||
Asegúrate de que tu proyecto tenga la siguiente estructura:
|
||||
|
||||
\`\`\`
|
||||
proyecto/
|
||||
│
|
||||
├── main.py
|
||||
├── wikipedia_utils.py
|
||||
├── docs.txt
|
||||
└── venv/
|
||||
\`\`\`
|
||||
|
||||
- \`main.py\`: Contiene el código principal que descarga, limpia, tokeniza y compara los artículos de Wikipedia.
|
||||
- \`wikipedia_utils.py\`: Contiene las funciones auxiliares para buscar y obtener contenido de Wikipedia.
|
||||
- \`docs.txt\`: Este documento de información.
|
||||
- \`venv/\`: El entorno virtual.
|
||||
" > docs.txt
|
||||
|
||||
# Crear el entorno virtual y activar
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
|
||||
# Instalar los paquetes necesarios
|
||||
pip install transformers wikipedia-api
|
||||
|
||||
# Mostrar mensaje de finalización
|
||||
echo "El entorno virtual se ha creado y los paquetes necesarios se han instalado. El contenido de docs.txt se ha generado."
|
||||
293
FLUJOS_DATOS/WIKIPEDIA/main.py
Executable file
293
FLUJOS_DATOS/WIKIPEDIA/main.py
Executable file
|
|
@ -0,0 +1,293 @@
|
|||
import os
|
||||
import re
|
||||
import time
|
||||
from transformers import BertTokenizer
|
||||
from collections import Counter
|
||||
from tqdm import tqdm
|
||||
|
||||
stopwords = [
|
||||
"de", "la", "que", "el", "en", "y", "a", "los", "del", "se", "las", "por", "un", "para", "con",
|
||||
"no", "una", "su", "al", "es", "lo", "como", "más", "pero", "sus", "le", "ya", "o", "fue", "este",
|
||||
"ha", "sí", "porque", "esta", "son", "entre", "cuando", "muy", "sin", "sobre", "también", "me",
|
||||
"hasta", "hay", "donde", "quien", "desde", "todo", "nos", "durante", "todos", "uno", "les", "ni",
|
||||
"contra", "otros", "ese", "eso", "ante", "ellos", "e", "esto", "mí", "antes", "algunos", "qué",
|
||||
"unos", "yo", "otro", "otras", "otra", "él", "tanto", "esa", "estos", "mucho", "quienes", "nada",
|
||||
"muchos", "cual", "poco", "ella", "estar", "estas", "algunas", "algo", "nosotros", "mi", "mis",
|
||||
"tú", "te", "ti", "tu", "tus", "ellas", "nosotras", "vosotros", "vosotras", "os", "mío", "mía",
|
||||
"míos", "mías", "tuyo", "tuya", "tuyos", "tuyas", "suyo", "suya", "suyos", "suyas", "nuestro",
|
||||
"nuestra", "nuestros", "nuestras", "vuestro", "vuestra", "vuestros", "vuestras", "esos", "esas",
|
||||
"estoy", "estás", "está", "estamos", "estáis", "están", "esté", "estés", "estemos", "estéis",
|
||||
"estén", "estaré", "estarás", "estará", "estaremos", "estaréis", "estarán", "estaría", "estarías",
|
||||
"estaríamos", "estaríais", "estarían", "estaba", "estabas", "estábamos", "estabais", "estaban",
|
||||
"estuve", "estuviste", "estuvo", "estuvimos", "estuvisteis", "estuvieron", "estuviera", "estuvieras",
|
||||
"estuviéramos", "estuvierais", "estuvieran", "estuviese", "estuvieses", "estuviésemos", "estuvieseis",
|
||||
"estuviesen", "estando", "estado", "estada", "estados", "estadas", "estad"
|
||||
]
|
||||
|
||||
def limpiar_texto(texto):
|
||||
texto = texto.lower()
|
||||
texto = re.sub(r'[^\w\s]', '', texto)
|
||||
palabras = texto.split()
|
||||
palabras_limpias = [palabra for palabra in palabras if palabra not in stopwords]
|
||||
return ' '.join(palabras_limpias)
|
||||
|
||||
def limpiar_nombre_archivo(nombre):
|
||||
nombre = re.sub(r'[\\/*?:"<>|]', "_", nombre)
|
||||
return nombre
|
||||
|
||||
tokenizer = BertTokenizer.from_pretrained('dccuchile/bert-base-spanish-wwm-cased')
|
||||
|
||||
def tokenizar_y_guardar(texto, nombre_archivo):
|
||||
tokens_ids = tokenizer.encode(
|
||||
texto,
|
||||
truncation=True,
|
||||
max_length=512
|
||||
)
|
||||
tokens_str = ' '.join(map(str, tokens_ids))
|
||||
with open(nombre_archivo, 'w', encoding='utf-8') as f:
|
||||
f.write(tokens_str)
|
||||
return tokens_ids
|
||||
|
||||
def obtener_info_carpeta(ruta):
|
||||
total_size = 0
|
||||
total_files = 0
|
||||
for dirpath, dirnames, filenames in os.walk(ruta):
|
||||
for f in filenames:
|
||||
fp = os.path.join(dirpath, f)
|
||||
total_size += os.path.getsize(fp)
|
||||
total_files += 1
|
||||
return total_size, total_files
|
||||
|
||||
LIMITE_TAMANIO_CARPETA = 100 * 1024 * 1024 * 1024
|
||||
|
||||
def TOKENIZER():
|
||||
if not os.path.exists('articulos_tokenizados'):
|
||||
os.makedirs('articulos_tokenizados')
|
||||
|
||||
archivos = os.listdir('articulos_wikipedia')
|
||||
for archivo in tqdm(archivos, desc="Tokenizando artículos", unit="archivo"):
|
||||
ruta_archivo = os.path.join('articulos_wikipedia', archivo)
|
||||
with open(ruta_archivo, 'r', encoding='utf-8') as f:
|
||||
contenido = f.read()
|
||||
tokens_ids = tokenizer.encode(contenido, add_special_tokens=False)
|
||||
nombre_tokens = os.path.join('articulos_tokenizados', archivo)
|
||||
with open(nombre_tokens, 'w', encoding='utf-8') as f_tokens:
|
||||
f_tokens.write(' '.join(map(str, tokens_ids)))
|
||||
print("Tokenización completada para todos los artículos.")
|
||||
|
||||
temas = {
|
||||
"inteligencia y seguridad": [
|
||||
"inteligencia", "seguridad", "espionaje", "ciberseguridad", "NSA", "FBI", "CIA", "CNI",
|
||||
"interpol", "operaciones encubiertas", "guerras proxy", "agencia", "contraterrorismo",
|
||||
"criptografía", "vigilancia", "espionaje industrial", "ataques cibernéticos", "hackeo",
|
||||
"información clasificada", "agente", "reclutamiento", "amenazas", "infraestructuras críticas",
|
||||
"tecnologías de la información", "redes", "criptomonedas", "privacidad", "protección de datos",
|
||||
"seguridad nacional", "terrorismo", "extremismo", "análisis de inteligencia", "ciberespionaje",
|
||||
"ciberguerra", "ciberdelito", "criptografía", "phishing", "ransomware", "malware", "ingeniería social",
|
||||
"ataques DDoS", "defensa cibernética", "vulnerabilidades", "parches de seguridad", "software de seguridad",
|
||||
"firewalls", "antivirus", "seguridad en la nube", "seguridad móvil", "protección de identidad",
|
||||
"autenticación multifactor", "ciberseguridad empresarial", "ciberseguridad gubernamental", "hacktivismo",
|
||||
"forense digital", "resiliencia cibernética", "respuestas a incidentes", "gestión de riesgos", "infraestructura crítica",
|
||||
"protección de la privacidad", "cumplimiento de normativas", "regulaciones de seguridad", "marco de seguridad",
|
||||
"pruebas de penetración", "evaluaciones de seguridad", "auditorías de seguridad", "educación en ciberseguridad",
|
||||
"conciencia en ciberseguridad", "seguridad en redes sociales", "protección de datos personales", "intercambio de información",
|
||||
"colaboración internacional", "alianzas de seguridad", "sistemas de control industrial", "criptografía cuántica", "tecnologías emergentes",
|
||||
"amenazas persistentes avanzadas", "seguridad de IoT", "infraestructura de clave pública", "normativas de seguridad",
|
||||
"seguridad en la cadena de suministro", "seguridad física", "protección de infraestructuras críticas", "seguridad en la gestión de identidades",
|
||||
"defensa de la red", "investigación en ciberseguridad", "innovación en seguridad", "seguridad en dispositivos médicos",
|
||||
"ciberinteligencia", "estrategias de seguridad", "planes de contingencia", "gestión de crisis", "comunicaciones seguras",
|
||||
"análisis de amenazas", "evaluaciones de vulnerabilidades", "monitoreo de seguridad", "seguridad en dispositivos móviles", "normativas internacionales"
|
||||
],
|
||||
"guerras": [
|
||||
"guerra", "conflicto", "batalla", "militar", "guerra mundial", "guerra civil", "guerra fría",
|
||||
"intervención militar", "revolución", "insurgencia", "combate", "fuerzas armadas", "ejército",
|
||||
"marina", "fuerza aérea", "infantería", "tanques", "artillería", "misiles", "nuclear", "estrategia",
|
||||
"táctica", "frente", "trincheras", "guerrilla", "resistencia", "conquista", "ocupación", "aliados",
|
||||
"enemigos", "acuerdo de paz", "alto el fuego", "tratado", "armisticio", "bloqueo", "embargo", "sanciones",
|
||||
"misión de paz", "intervención humanitaria", "reconstrucción", "desarme", "democracia", "dictadura",
|
||||
"autoritarismo", "nacionalismo", "independencia", "soberanía", "imperialismo", "colonialismo",
|
||||
"expansionismo", "hegemonía", "doctrina", "alianza", "coalición", "inteligencia militar", "espionaje",
|
||||
"sabotaje", "operaciones especiales", "misión de rescate", "contrainteligencia", "logística", "suministros",
|
||||
"comunicaciones", "radar", "sonar", "drones", "ciberguerra", "guerra biológica", "guerra química",
|
||||
"propaganda", "desinformación", "guerra psicológica", "reclutamiento", "conscripción", "voluntarios",
|
||||
"mercenarios", "contratistas", "veteranos", "prisioneros de guerra", "refugiados", "desplazados",
|
||||
"víctimas civiles", "crímenes de guerra", "genocidio", "tribunales militares", "justicia transicional",
|
||||
"memoria histórica", "reparaciones", "compensaciones", "resolución de conflictos", "mediación",
|
||||
"arbitraje", "observadores internacionales", "derechos humanos", "derecho internacional humanitario",
|
||||
"cruz roja", "organizaciones no gubernamentales", "desminado", "reconstrucción postconflicto", "vigilancia",
|
||||
"seguridad fronteriza"
|
||||
],
|
||||
"corporaciones": [
|
||||
"empresa", "negocios", "economía", "finanzas", "multinacionales", "mercado bursátil", "Wall Street",
|
||||
"IBEX35", "BlackRock", "Vanguard", "inversiones", "acciones", "bonos", "dividendos", "capital",
|
||||
"mercado de valores", "índice", "trading", "brokers", "mercados emergentes", "fusiones", "adquisiciones",
|
||||
"venture capital", "capital privado", "startups", "emprendimiento", "empresas familiares", "pymes",
|
||||
"conglomerados", "industria", "manufactura", "exportaciones", "importaciones", "comercio internacional",
|
||||
"aranceles", "barreras comerciales", "globalización", "competencia", "monopolio", "oligopolio",
|
||||
"regulación", "desregulación", "privatización", "nacionalización", "política económica", "recesión",
|
||||
"crisis financiera", "depresión económica", "estímulo económico", "plan de rescate", "deuda soberana",
|
||||
"deficit", "superávit", "bancos centrales", "reserva federal", "BCE", "inflación", "deflación", "tipos de interés",
|
||||
"política monetaria", "liquidez", "crédito", "rating", "calificación crediticia", "riesgo financiero",
|
||||
"gestión de riesgos", "auditoría", "contabilidad", "fiscalidad", "impuestos", "evasión fiscal",
|
||||
"elusión fiscal", "paraísos fiscales", "transparencia", "gobierno corporativo", "ética empresarial",
|
||||
"responsabilidad social corporativa", "sostenibilidad", "desarrollo sostenible", "inversión responsable",
|
||||
"filantropía", "emisiones de carbono", "huella ecológica", "energías renovables", "economía circular",
|
||||
"reciclaje", "innovación", "tecnología", "transformación digital", "industria 4.0", "big data", "inteligencia artificial",
|
||||
"blockchain", "fintech", "e-commerce", "marketing digital", "publicidad", "marca", "branding", "cliente",
|
||||
"fidelización", "experiencia del cliente", "servicio al cliente", "logística", "cadena de suministro",
|
||||
"gestión de operaciones", "productividad", "eficiencia", "calidad", "mejora continua", "lean manufacturing",
|
||||
"six sigma", "gestión del cambio", "liderazgo", "gestión de recursos humanos", "cultura organizacional",
|
||||
"diversidad", "inclusión", "equidad", "bienestar", "desarrollo del talento", "formación", "desarrollo profesional"
|
||||
],
|
||||
"demografía": [
|
||||
"población", "demografía", "estadísticas", "censos", "crecimiento poblacional", "migración", "densidad de población",
|
||||
"esperanza de vida", "natalidad", "mortalidad", "fecundidad", "estructura etaria", "pirámide poblacional",
|
||||
"envejecimiento", "juventud", "urbanización", "ruralidad", "movimientos migratorios", "emigración", "inmigración",
|
||||
"refugiados", "desplazados internos", "asilo", "diaspora", "repatriación", "integración", "segregación",
|
||||
"multiculturalidad", "etnicidad", "raza", "lengua", "religión", "educación", "alfabetización", "matrimonio",
|
||||
"divorcio", "familia", "hogar", "vivienda", "género", "sexo", "orientación sexual", "identidad de género",
|
||||
"discriminación", "igualdad", "equidad", "salud", "mortalidad infantil", "esperanza de vida saludable", "morbosidad",
|
||||
"enfermedades", "pandemias", "epidemias", "nutrición", "desnutrición", "sobrepeso", "obesidad", "acceso a servicios",
|
||||
"agua potable", "saneamiento", "electricidad", "internet", "telecomunicaciones", "transporte", "movilidad",
|
||||
"desigualdad", "pobreza", "exclusión social", "desempleo", "empleo", "subempleo", "economía informal", "remesas",
|
||||
"desarrollo humano", "calidad de vida", "bienestar", "índice de desarrollo humano", "pobreza multidimensional",
|
||||
"vulnerabilidad", "resiliencia", "adaptación", "políticas públicas", "planificación familiar", "derechos reproductivos",
|
||||
"salud sexual", "maternidad", "paternidad", "cuidados", "envejecimiento activo", "retiro", "pensiones", "seguridad social",
|
||||
"educación continua", "aprendizaje a lo largo de la vida", "movilidad social", "clase social", "estratificación",
|
||||
"desigualdad de ingresos", "equidad de género", "violencia de género", "derechos humanos", "justicia social", "participación ciudadana"
|
||||
],
|
||||
"cambio climático": [
|
||||
"cambio climático", "calentamiento global", "medio ambiente", "sostenibilidad", "energías renovables", "deforestación",
|
||||
"emisiones de carbono", "huella de carbono", "gases de efecto invernadero", "protocolos internacionales", "acuerdo de París",
|
||||
"protocolo de Kioto", "energía solar", "energía eólica", "energía hidroeléctrica", "biomasa", "biocombustibles", "eficiencia energética",
|
||||
"conservación de la energía", "transición energética", "economía verde", "desarrollo sostenible", "resiliencia climática", "adaptación climática",
|
||||
"mitigación climática", "descarbonización", "economía circular", "reciclaje", "gestión de residuos", "reducción de residuos", "contaminación",
|
||||
"contaminación del aire", "contaminación del agua", "contaminación del suelo", "calidad del aire", "calidad del agua", "conservación de la biodiversidad",
|
||||
"ecosistemas", "especies en peligro de extinción", "áreas protegidas", "conservación de la vida silvestre", "reforestación", "aforestación", "restauración ecológica",
|
||||
"agricultura sostenible", "agricultura orgánica", "agricultura regenerativa", "ganadería sostenible", "pesca sostenible", "acuicultura sostenible", "alimentación sostenible",
|
||||
"consumo responsable", "producción responsable", "infraestructura verde", "ciudades sostenibles", "urbanismo sostenible", "transporte sostenible", "movilidad sostenible",
|
||||
"infraestructura de movilidad", "vehículos eléctricos", "transporte público", "caminabilidad", "ciclismo urbano", "espacios verdes", "parques urbanos", "agua potable",
|
||||
"saneamiento", "infraestructura de agua", "gestión del agua", "conservación del agua", "eficiencia hídrica", "infraestructura resiliente", "planificación urbana",
|
||||
"vivienda sostenible", "arquitectura sostenible", "materiales sostenibles", "construcción sostenible", "edificios verdes", "certificación LEED", "certificación BREEAM",
|
||||
"turismo sostenible", "turismo ecológico", "economía azul", "infraestructura natural", "infraestructura ecológica", "infraestructura climática", "finanzas verdes",
|
||||
"inversión sostenible", "bonos verdes", "mercados de carbono", "compensación de carbono", "política climática", "derecho ambiental", "educación ambiental",
|
||||
"conciencia ambiental", "activismo ambiental", "movimientos ambientales", "justicia climática", "derechos de la naturaleza", "derechos indígenas", "comunidades locales",
|
||||
"participación ciudadana", "colaboración internacional", "alianzas climáticas", "acuerdos multilaterales", "financiación climática", "innovación climática",
|
||||
"tecnología climática", "soluciones climáticas", "empresas sostenibles", "emprendimiento verde", "liderazgo climático", "estrategias climáticas", "planes de acción climática"
|
||||
],
|
||||
"organizaciones internacionales": [
|
||||
"OTAN", "BRICS", "ONU", "Unión Europea", "FMI", "Banco Mundial", "OEA", "OPEP", "organización internacional", "tratados internacionales",
|
||||
"diplomacia", "relaciones internacionales", "cooperación internacional", "política exterior", "seguridad internacional", "desarrollo internacional",
|
||||
"derechos humanos", "paz y seguridad", "resolución de conflictos", "mediación internacional", "arbitraje internacional", "misiones de paz", "asistencia humanitaria",
|
||||
"ayuda al desarrollo", "crisis humanitarias", "desplazamiento forzado", "refugiados", "migración internacional", "asilo político", "comercio internacional",
|
||||
"comercio multilateral", "libre comercio", "acuerdos comerciales", "aranceles", "barreras comerciales", "propiedad intelectual", "derechos de autor",
|
||||
"patentes", "marcas registradas", "innovación", "tecnología", "transferencia de tecnología", "ciencia y tecnología", "investigación y desarrollo",
|
||||
"educación internacional", "intercambio educativo", "becas internacionales", "cooperación educativa", "cultura internacional", "intercambio cultural",
|
||||
"diversidad cultural", "patrimonio cultural", "protección del patrimonio", "conservación cultural", "turismo internacional", "movilidad internacional",
|
||||
"transporte internacional", "infraestructura global", "infraestructura de transporte", "energía internacional", "seguridad energética", "transición energética",
|
||||
"energías renovables", "cambio climático", "desarrollo sostenible", "economía circular", "gestión de residuos", "conservación ambiental", "protección de la biodiversidad",
|
||||
"gestión del agua", "derechos de agua", "infraestructura hídrica", "salud global", "seguridad sanitaria", "pandemias", "epidemias", "enfermedades infecciosas",
|
||||
"vacunas", "acceso a medicamentos", "cobertura sanitaria universal", "derechos de salud", "equidad sanitaria", "financiación de la salud", "gobernanza sanitaria",
|
||||
"derechos de las mujeres", "equidad de género", "empoderamiento de las mujeres", "participación política de las mujeres", "derechos de los niños",
|
||||
"protección infantil", "educación infantil", "trabajo infantil", "violencia contra los niños", "derechos de los indígenas", "autonomía indígena",
|
||||
"cultura indígena", "protección de los pueblos indígenas", "derechos de los discapacitados", "inclusión de los discapacitados", "accesibilidad",
|
||||
"derechos de los ancianos", "envejecimiento activo", "seguridad social", "protección social", "pobreza", "desigualdad", "desarrollo económico",
|
||||
"inclusión financiera", "banca internacional", "finanzas internacionales", "mercados financieros", "regulación financiera", "corrupción",
|
||||
"transparencia", "gobernanza", "estado de derecho", "justicia internacional", "cortes internacionales", "tribunales internacionales", "crímenes de guerra",
|
||||
"crímenes contra la humanidad", "genocidio", "derecho internacional", "derecho humanitario", "derecho ambiental", "derecho del mar", "derecho comercial",
|
||||
"derecho penal internacional", "derecho de los refugiados", "derecho de asilo", "derecho de los derechos humanos", "derecho de los tratados",
|
||||
"derecho de las organizaciones internacionales", "diplomacia preventiva", "diplomacia económica", "diplomacia cultural", "diplomacia científica",
|
||||
"diplomacia de la salud", "diplomacia deportiva", "diplomacia digital", "diplomacia pública", "diplomacia parlamentaria", "diplomacia de la paz",
|
||||
"diplomacia de la seguridad", "diplomacia de la energía", "diplomacia de la defensa", "diplomacia de la información", "diplomacia de la educación",
|
||||
"diplomacia de la cultura", "diplomacia de la tecnología", "diplomacia de la ciencia", "diplomacia de la innovación", "diplomacia de la justicia",
|
||||
"diplomacia de los derechos humanos", "diplomacia de los tratados", "diplomacia de las organizaciones internacionales", "diplomacia de la ONU",
|
||||
"diplomacia de la OTAN", "diplomacia de la Unión Europea", "diplomacia del BRICS", "diplomacia del FMI", "diplomacia del Banco Mundial",
|
||||
"diplomacia de la OEA", "diplomacia de la OPEP", "diplomacia de la OMS", "diplomacia de la UNICEF", "diplomacia de la UNESCO"
|
||||
],
|
||||
"gobiernos autoritarios": [
|
||||
"dictadura", "autoritario", "represión política", "censura", "control estatal", "violaciones de derechos humanos",
|
||||
"tortura", "detención arbitraria", "desaparición forzada", "prisioneros políticos", "exilio", "disidencia",
|
||||
"oposición política", "elecciones fraudulentas", "manipulación electoral", "medios de comunicación controlados",
|
||||
"propaganda", "desinformación", "vigilancia masiva", "interceptación de comunicaciones", "control de internet",
|
||||
"bloqueo de sitios web", "restricción de redes sociales", "censura de prensa", "revisionismo histórico",
|
||||
"culto a la personalidad", "golpes de estado", "estados policiales", "corrupción", "nepotismo", "clientelismo",
|
||||
"impunidad", "violencia política", "represión violenta", "masacres", "genocidio", "persecución de minorías",
|
||||
"persecución de disidentes", "persecución de periodistas", "persecución de activistas", "persecución de intelectuales",
|
||||
"persecución de académicos", "persecución de estudiantes", "persecución de trabajadores", "persecución de campesinos",
|
||||
"persecución de indígenas", "persecución de mujeres", "persecución de niños", "persecución de ancianos",
|
||||
"persecución de discapacitados", "persecución de LGBTI", "persecución de opositores políticos"
|
||||
]
|
||||
}
|
||||
|
||||
if not os.path.exists('articulos_wikipedia'):
|
||||
os.makedirs('articulos_wikipedia')
|
||||
|
||||
num_articulos_descargados = 0
|
||||
titulos_descargados = set()
|
||||
|
||||
for tema, palabras_clave in temas.items():
|
||||
for palabra_clave in palabras_clave:
|
||||
print(f"Buscando artículos sobre: {palabra_clave}")
|
||||
offset = 0
|
||||
while True:
|
||||
titulos_articulos = buscar_articulos(palabra_clave, max_articulos=50, offset=offset)
|
||||
if not titulos_articulos:
|
||||
break
|
||||
nuevos_articulos = 0
|
||||
for titulo in titulos_articulos:
|
||||
if titulo not in titulos_descargados:
|
||||
contenido = obtener_contenido_wikipedia(titulo)
|
||||
if contenido:
|
||||
nombre_archivo = os.path.join('articulos_wikipedia', f"{limpiar_nombre_archivo(titulo)}.txt")
|
||||
with open(nombre_archivo, 'w', encoding='utf-8') as archivo:
|
||||
archivo.write(contenido)
|
||||
titulos_descargados.add(titulo)
|
||||
num_articulos_descargados += 1
|
||||
nuevos_articulos += 1
|
||||
print(f"Descargado: {titulo}")
|
||||
total_size, total_files = obtener_info_carpeta('articulos_wikipedia')
|
||||
print(f"Total de artículos descargados: {total_files}")
|
||||
print(f"Tamaño total de la carpeta: {total_size / (1024 * 1024):.2f} MB")
|
||||
if total_size > LIMITE_TAMANIO_CARPETA:
|
||||
print(f"Se ha alcanzado el límite de tamaño de la carpeta de 100 GB.")
|
||||
TOKENIZER()
|
||||
exit(0)
|
||||
if nuevos_articulos == 0:
|
||||
break
|
||||
offset += 50
|
||||
time.sleep(1)
|
||||
|
||||
print(f"Total de artículos descargados: {num_articulos_descargados}")
|
||||
total_size, total_files = obtener_info_carpeta('articulos_wikipedia')
|
||||
print(f"Tamaño total de la carpeta: {total_size / (1024 * 1024):.2f} MB")
|
||||
|
||||
TOKENIZER()
|
||||
|
||||
articulos_descargados = os.listdir('articulos_wikipedia')
|
||||
if len(articulos_descargados) >= 2:
|
||||
articulo1 = open(os.path.join('articulos_wikipedia', articulos_descargados[0]), 'r', encoding='utf-8').read()
|
||||
articulo2 = open(os.path.join('articulos_wikipedia', articulos_descargados[1]), 'r', encoding='utf-8').read()
|
||||
|
||||
articulo1_limpio = limpiar_texto(articulo1)
|
||||
articulo2_limpio = limpiar_texto(articulo2)
|
||||
|
||||
tokens_articulo1 = tokenizar_y_guardar(articulo1_limpio, 'tokens_articulo1.txt')
|
||||
tokens_articulo2 = tokenizar_y_guardar(articulo2_limpio, 'tokens_articulo2.txt')
|
||||
|
||||
def contar_palabras(nombre_archivo):
|
||||
with open(nombre_archivo, 'r') as f:
|
||||
palabras = f.read().split()
|
||||
return Counter(palabras)
|
||||
|
||||
conteo_articulo1 = contar_palabras('tokens_articulo1.txt')
|
||||
conteo_articulo2 = contar_palabras('tokens_articulo2.txt')
|
||||
|
||||
palabras_comunes = set(conteo_articulo1.keys()) & set(conteo_articulo2.keys())
|
||||
num_palabras_comunes = sum(min(conteo_articulo1[p], conteo_articulo2[p]) for p in palabras_comunes)
|
||||
num_palabras_totales = sum(conteo_articulo1.values()) + sum(conteo_articulo2.values())
|
||||
|
||||
porcentaje_similitud = (num_palabras_comunes / num_palabras_totales) * 100
|
||||
|
||||
print(f"Porcentaje de similitud entre los dos primeros artículos descargados: {porcentaje_similitud:.2f}%")
|
||||
else:
|
||||
print("No hay suficientes artículos descargados para comparar similitud.")
|
||||
945
FLUJOS_DATOS/WIKIPEDIA/tokens_articulo1.txt
Executable file
945
FLUJOS_DATOS/WIKIPEDIA/tokens_articulo1.txt
Executable file
|
|
@ -0,0 +1,945 @@
|
|||
empresa
|
||||
brasileña
|
||||
investigación
|
||||
agropec
|
||||
##uar
|
||||
##ia
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
empresa
|
||||
brasile
|
||||
##ira
|
||||
pes
|
||||
##quis
|
||||
##a
|
||||
agropec
|
||||
##u
|
||||
##ár
|
||||
##ia
|
||||
institución
|
||||
estatal
|
||||
federal
|
||||
pública
|
||||
brasileña
|
||||
vinculada
|
||||
ministerio
|
||||
agricultura
|
||||
ganadería
|
||||
abastecimiento
|
||||
bras
|
||||
##il
|
||||
fundada
|
||||
26
|
||||
abril
|
||||
19
|
||||
##7
|
||||
##3
|
||||
cuyos
|
||||
objetivos
|
||||
desarrollar
|
||||
tecnologías
|
||||
conocimiento
|
||||
informaciones
|
||||
técnicas
|
||||
científicas
|
||||
agricultura
|
||||
ganadería
|
||||
brasileña
|
||||
tiene
|
||||
misión
|
||||
crear
|
||||
soluciones
|
||||
investigación
|
||||
desarrollo
|
||||
innovación
|
||||
sostenibilidad
|
||||
agricultura
|
||||
beneficio
|
||||
sociedad
|
||||
brasileña
|
||||
actúa
|
||||
sistema
|
||||
compuesto
|
||||
41
|
||||
centros
|
||||
investigación
|
||||
cinco
|
||||
unidades
|
||||
servicios
|
||||
1
|
||||
##7
|
||||
unidades
|
||||
centrales
|
||||
presente
|
||||
casi
|
||||
federación
|
||||
9
|
||||
##7
|
||||
##90
|
||||
empleados
|
||||
cuales
|
||||
244
|
||||
##4
|
||||
investigadores
|
||||
actúa
|
||||
coordinación
|
||||
sistema
|
||||
nacional
|
||||
investigación
|
||||
agropec
|
||||
##uar
|
||||
##ia
|
||||
s
|
||||
##n
|
||||
##pa
|
||||
constituido
|
||||
instituciones
|
||||
públicas
|
||||
federales
|
||||
universidades
|
||||
empresas
|
||||
privadas
|
||||
fundaciones
|
||||
forma
|
||||
cooperativa
|
||||
ejecutan
|
||||
##do
|
||||
investigaciones
|
||||
diferentes
|
||||
áreas
|
||||
geográficas
|
||||
campos
|
||||
conocimiento
|
||||
científico
|
||||
em
|
||||
términos
|
||||
cooperación
|
||||
internacional
|
||||
empresa
|
||||
mantiene
|
||||
68
|
||||
acuerdos
|
||||
bilaterales
|
||||
cooperación
|
||||
técnica
|
||||
3
|
||||
##7
|
||||
países
|
||||
64
|
||||
instituciones
|
||||
acuerdos
|
||||
multilaterales
|
||||
20
|
||||
organizaciones
|
||||
internacionales
|
||||
principalmente
|
||||
estudios
|
||||
parcelas
|
||||
mantiene
|
||||
laboratorios
|
||||
desarrollar
|
||||
estudios
|
||||
tecnología
|
||||
punta
|
||||
unidos
|
||||
fran
|
||||
##cia
|
||||
países
|
||||
bajos
|
||||
oficina
|
||||
regional
|
||||
g
|
||||
##han
|
||||
##a
|
||||
compartir
|
||||
conocimiento
|
||||
científico
|
||||
tecnológico
|
||||
continente
|
||||
africano
|
||||
asociados
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
empresas
|
||||
asociadas
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
empresas
|
||||
asociadas
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
pueden
|
||||
reproducir
|
||||
semillas
|
||||
derivados
|
||||
partir
|
||||
momento
|
||||
cumplan
|
||||
requisitos
|
||||
técnicos
|
||||
establecidos
|
||||
organización
|
||||
unidades
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
centros
|
||||
investigación
|
||||
productos
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
[UNK]
|
||||
camp
|
||||
##ina
|
||||
grande
|
||||
p
|
||||
##b
|
||||
investigación
|
||||
algodón
|
||||
mam
|
||||
##ona
|
||||
ame
|
||||
##n
|
||||
##do
|
||||
##im
|
||||
ger
|
||||
##gel
|
||||
##im
|
||||
si
|
||||
##sal
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
arroz
|
||||
por
|
||||
##oto
|
||||
santo
|
||||
[UNK]
|
||||
go
|
||||
##i
|
||||
##ás
|
||||
go
|
||||
investigación
|
||||
arroz
|
||||
por
|
||||
##oto
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
cap
|
||||
##rino
|
||||
##s
|
||||
sobra
|
||||
##l
|
||||
ce
|
||||
investigación
|
||||
cap
|
||||
##rino
|
||||
##s
|
||||
ov
|
||||
##inos
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
fores
|
||||
##tas
|
||||
colo
|
||||
##mbo
|
||||
pr
|
||||
investigación
|
||||
especies
|
||||
forestales
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
ga
|
||||
##do
|
||||
corte
|
||||
campo
|
||||
grande
|
||||
ms
|
||||
investigación
|
||||
bo
|
||||
##vinos
|
||||
corte
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
ganado
|
||||
leche
|
||||
ju
|
||||
##iz
|
||||
for
|
||||
##a
|
||||
mg
|
||||
investigación
|
||||
leche
|
||||
bo
|
||||
##vinos
|
||||
leche
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
hortalizas
|
||||
distrito
|
||||
federal
|
||||
d
|
||||
##f
|
||||
investigación
|
||||
hortalizas
|
||||
ab
|
||||
##ó
|
||||
##bora
|
||||
bata
|
||||
##ta
|
||||
bata
|
||||
##tad
|
||||
##ul
|
||||
##ce
|
||||
ber
|
||||
##en
|
||||
##jen
|
||||
##a
|
||||
cebol
|
||||
##la
|
||||
zana
|
||||
##hor
|
||||
##ia
|
||||
cole
|
||||
##s
|
||||
gui
|
||||
##santes
|
||||
gar
|
||||
##ban
|
||||
##zo
|
||||
lente
|
||||
##ja
|
||||
mand
|
||||
##io
|
||||
##ca
|
||||
mel
|
||||
##ón
|
||||
maíz
|
||||
dulce
|
||||
mos
|
||||
##taza
|
||||
pe
|
||||
##pino
|
||||
repo
|
||||
##llo
|
||||
tomate
|
||||
etc
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
mand
|
||||
##io
|
||||
##ca
|
||||
fru
|
||||
##tic
|
||||
##ult
|
||||
##ura
|
||||
tropical
|
||||
cruz
|
||||
das
|
||||
almas
|
||||
ba
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
mil
|
||||
##ho
|
||||
sor
|
||||
##go
|
||||
set
|
||||
##e
|
||||
lago
|
||||
##as
|
||||
mg
|
||||
investigación
|
||||
maíz
|
||||
sor
|
||||
##go
|
||||
mi
|
||||
##jo
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
pecu
|
||||
##ár
|
||||
##ia
|
||||
sudeste
|
||||
[UNK]
|
||||
car
|
||||
##los
|
||||
sp
|
||||
investigación
|
||||
bo
|
||||
##vinos
|
||||
corte
|
||||
bo
|
||||
##vinos
|
||||
leche
|
||||
equi
|
||||
##nos
|
||||
forra
|
||||
##ji
|
||||
##cultura
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
pecu
|
||||
##ár
|
||||
##ia
|
||||
sul
|
||||
ba
|
||||
##gé
|
||||
r
|
||||
##s
|
||||
investigación
|
||||
bo
|
||||
##vinos
|
||||
corte
|
||||
bo
|
||||
##vinos
|
||||
leche
|
||||
ov
|
||||
##inos
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
soja
|
||||
lon
|
||||
##dri
|
||||
##na
|
||||
pr
|
||||
investigación
|
||||
soja
|
||||
giras
|
||||
##ol
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
su
|
||||
##ín
|
||||
##os
|
||||
aves
|
||||
con
|
||||
##có
|
||||
##r
|
||||
##dia
|
||||
s
|
||||
##c
|
||||
investigación
|
||||
su
|
||||
##inos
|
||||
pastos
|
||||
corte
|
||||
gallinas
|
||||
postura
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
trigo
|
||||
pas
|
||||
##so
|
||||
fund
|
||||
##o
|
||||
r
|
||||
##s
|
||||
investigación
|
||||
trigo
|
||||
ce
|
||||
##bada
|
||||
tri
|
||||
##tica
|
||||
##le
|
||||
centen
|
||||
##o
|
||||
can
|
||||
##ola
|
||||
hierbas
|
||||
forra
|
||||
##jeras
|
||||
soja
|
||||
maíz
|
||||
por
|
||||
##oto
|
||||
desarrollo
|
||||
soja
|
||||
adaptada
|
||||
suelos
|
||||
ácidos
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
uva
|
||||
vin
|
||||
##ho
|
||||
ben
|
||||
##to
|
||||
[UNK]
|
||||
r
|
||||
##s
|
||||
investigación
|
||||
uva
|
||||
vino
|
||||
manzana
|
||||
frutas
|
||||
clima
|
||||
temp
|
||||
##lado
|
||||
centros
|
||||
investigación
|
||||
temas
|
||||
básicos
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
agro
|
||||
##bio
|
||||
##logia
|
||||
ser
|
||||
##op
|
||||
##é
|
||||
##dica
|
||||
r
|
||||
##j
|
||||
investigación
|
||||
fijación
|
||||
biológica
|
||||
nitrógeno
|
||||
agricultura
|
||||
orgánica
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
agro
|
||||
##ener
|
||||
##gia
|
||||
bras
|
||||
##íl
|
||||
##ia
|
||||
d
|
||||
##f
|
||||
investigación
|
||||
biodi
|
||||
##és
|
||||
##el
|
||||
bio
|
||||
##gá
|
||||
##s
|
||||
eta
|
||||
##nol
|
||||
fores
|
||||
##tas
|
||||
energéticas
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
agro
|
||||
##ind
|
||||
##ús
|
||||
##tri
|
||||
##a
|
||||
alimentos
|
||||
río
|
||||
ja
|
||||
##ne
|
||||
##iro
|
||||
r
|
||||
##j
|
||||
investigación
|
||||
tecnología
|
||||
alimentos
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
agro
|
||||
##ind
|
||||
##ús
|
||||
##tri
|
||||
##a
|
||||
tropical
|
||||
fortaleza
|
||||
ce
|
||||
investigación
|
||||
agro
|
||||
##ind
|
||||
##ust
|
||||
##ria
|
||||
tropical
|
||||
ca
|
||||
##ju
|
||||
coco
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
informática
|
||||
agropec
|
||||
##u
|
||||
##ár
|
||||
##ia
|
||||
camp
|
||||
##inas
|
||||
sp
|
||||
investigación
|
||||
tecnología
|
||||
información
|
||||
agro
|
||||
##ne
|
||||
##goci
|
||||
##os
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
[UNK]
|
||||
agropec
|
||||
##u
|
||||
##ár
|
||||
##ia
|
||||
[UNK]
|
||||
car
|
||||
##los
|
||||
sp
|
||||
investigación
|
||||
agricultura
|
||||
precisión
|
||||
ambiente
|
||||
biotecnología
|
||||
##a
|
||||
automa
|
||||
##tización
|
||||
procesos
|
||||
nuevos
|
||||
materiales
|
||||
agricultura
|
||||
agro
|
||||
##ind
|
||||
##ust
|
||||
##ria
|
||||
familiar
|
||||
calidad
|
||||
##es
|
||||
productos
|
||||
materias
|
||||
primas
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
me
|
||||
##io
|
||||
ambiente
|
||||
ja
|
||||
##guar
|
||||
##i
|
||||
##ún
|
||||
##a
|
||||
sp
|
||||
investigación
|
||||
manejo
|
||||
gestión
|
||||
ambiental
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
monitor
|
||||
##amento
|
||||
satélite
|
||||
camp
|
||||
##inas
|
||||
sp
|
||||
investigación
|
||||
sistemas
|
||||
informaciones
|
||||
geográficas
|
||||
redes
|
||||
ele
|
||||
##trón
|
||||
##icas
|
||||
adquisición
|
||||
procesamiento
|
||||
imágenes
|
||||
sensores
|
||||
remoto
|
||||
##s
|
||||
datos
|
||||
obtenidos
|
||||
campo
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
recursos
|
||||
genéticos
|
||||
bio
|
||||
##tec
|
||||
##nol
|
||||
##o
|
||||
##gia
|
||||
bras
|
||||
##íl
|
||||
##ia
|
||||
d
|
||||
##f
|
||||
investigación
|
||||
biotecnología
|
||||
control
|
||||
biológico
|
||||
recursos
|
||||
genéticos
|
||||
seguridad
|
||||
biológica
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
solos
|
||||
río
|
||||
ja
|
||||
##ne
|
||||
##iro
|
||||
r
|
||||
##j
|
||||
investigación
|
||||
suelo
|
||||
interacciones
|
||||
ambiente
|
||||
centros
|
||||
investigación
|
||||
eco
|
||||
##r
|
||||
##re
|
||||
##gional
|
||||
##es
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
acre
|
||||
rio
|
||||
bran
|
||||
##co
|
||||
ac
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
agropec
|
||||
##u
|
||||
##ár
|
||||
##ia
|
||||
oeste
|
||||
do
|
||||
##urado
|
||||
##s
|
||||
ms
|
||||
investigación
|
||||
región
|
||||
oeste
|
||||
bras
|
||||
##il
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
ama
|
||||
##pá
|
||||
ma
|
||||
##cap
|
||||
##á
|
||||
ap
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
[UNK]
|
||||
oc
|
||||
##identa
|
||||
##l
|
||||
man
|
||||
##au
|
||||
##s
|
||||
am
|
||||
investigación
|
||||
ama
|
||||
##zona
|
||||
##s
|
||||
frutas
|
||||
tropicales
|
||||
[UNK]
|
||||
seri
|
||||
##ng
|
||||
##ue
|
||||
##ira
|
||||
especies
|
||||
forestales
|
||||
guar
|
||||
##aná
|
||||
pis
|
||||
##cic
|
||||
##ult
|
||||
##ura
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
[UNK]
|
||||
oriental
|
||||
bel
|
||||
##ém
|
||||
pa
|
||||
investigación
|
||||
región
|
||||
ama
|
||||
##zon
|
||||
##ia
|
||||
oriental
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
cerrados
|
||||
plana
|
||||
##lti
|
||||
##na
|
||||
d
|
||||
##f
|
||||
investigación
|
||||
desarrollo
|
||||
innovación
|
||||
tecnológica
|
||||
agricultura
|
||||
biom
|
||||
##a
|
||||
cerrado
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
clima
|
||||
tempera
|
||||
##do
|
||||
pelotas
|
||||
r
|
||||
##s
|
||||
investigación
|
||||
región
|
||||
clima
|
||||
temp
|
||||
##lado
|
||||
bras
|
||||
##il
|
||||
desarrolla
|
||||
actividades
|
||||
áreas
|
||||
recursos
|
||||
naturales
|
||||
ambiente
|
||||
granos
|
||||
fru
|
||||
##tic
|
||||
##ult
|
||||
##ura
|
||||
oler
|
||||
##áceas
|
||||
sistemas
|
||||
pecu
|
||||
##arios
|
||||
énfasis
|
||||
ganadería
|
||||
agricultura
|
||||
base
|
||||
familiar
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
me
|
||||
##ion
|
||||
##orte
|
||||
ter
|
||||
##es
|
||||
##ina
|
||||
pi
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
pan
|
||||
##tana
|
||||
##l
|
||||
cor
|
||||
##um
|
||||
##b
|
||||
##á
|
||||
ms
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
[UNK]
|
||||
por
|
||||
##to
|
||||
vel
|
||||
##ho
|
||||
ro
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
ro
|
||||
##ra
|
||||
##ima
|
||||
bo
|
||||
##a
|
||||
vista
|
||||
r
|
||||
##r
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
semi
|
||||
##ár
|
||||
##ido
|
||||
petrol
|
||||
##ina
|
||||
pe
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
tab
|
||||
##ule
|
||||
##iro
|
||||
##s
|
||||
coste
|
||||
##iro
|
||||
##s
|
||||
ara
|
||||
##ca
|
||||
##ju
|
||||
enlaces
|
||||
externos
|
||||
página
|
||||
oficial
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
##en
|
||||
inglés
|
||||
portugués
|
||||
canal
|
||||
oficial
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
you
|
||||
##tu
|
||||
##be
|
||||
inglés
|
||||
portugués
|
||||
base
|
||||
datos
|
||||
investigación
|
||||
agropec
|
||||
##uar
|
||||
##ia
|
||||
empresas
|
||||
cre
|
||||
##dencia
|
||||
##das
|
||||
emb
|
||||
##ra
|
||||
##pa
|
||||
5702
FLUJOS_DATOS/WIKIPEDIA/tokens_articulo2.txt
Executable file
5702
FLUJOS_DATOS/WIKIPEDIA/tokens_articulo2.txt
Executable file
File diff suppressed because it is too large
Load diff
22
FLUJOS_DATOS/WIKIPEDIA/wikipedia_utils.py
Executable file
22
FLUJOS_DATOS/WIKIPEDIA/wikipedia_utils.py
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
import wikipedia
|
||||
import wikipediaapi
|
||||
import time
|
||||
|
||||
# Inicializar Wikipedia API en español con un user agent adecuado
|
||||
user_agent = 'HacklabLaRaizBot/1.0 (hacklab.laraiz@protonmail.com)'
|
||||
wikipedia.set_lang("es")
|
||||
wikipedia.set_user_agent(user_agent)
|
||||
|
||||
wiki_wiki = wikipediaapi.Wikipedia(
|
||||
language='es',
|
||||
extract_format=wikipediaapi.ExtractFormat.WIKI,
|
||||
user_agent=user_agent
|
||||
)
|
||||
|
||||
def buscar_articulos(palabra_clave, max_articulos=50, offset=0):
|
||||
search_results = wikipedia.search(palabra_clave, results=max_articulos)
|
||||
return search_results
|
||||
|
||||
def obtener_contenido_wikipedia(titulo):
|
||||
pagina = wiki_wiki.page(titulo)
|
||||
return pagina.text if pagina.exists() else ''
|
||||
Loading…
Add table
Add a link
Reference in a new issue