Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -38,13 +38,31 @@ def identificar_urls_comunes(serps):
|
|
38 |
def calcular_porcentajes_similaridad(serp_results, min_length):
|
39 |
porcentajes = {}
|
40 |
for combo in combinations(serp_results.keys(), 2):
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
return porcentajes
|
49 |
|
50 |
|
|
|
38 |
def calcular_porcentajes_similaridad(serp_results, min_length):
|
39 |
porcentajes = {}
|
40 |
for combo in combinations(serp_results.keys(), 2):
|
41 |
+
urls_serp1 = [entry["URL"] for entry in serp_results[combo[0]][:min_length]]
|
42 |
+
urls_serp2 = [entry["URL"] for entry in serp_results[combo[1]][:min_length]]
|
43 |
+
|
44 |
+
# Calculando la intersecci贸n y la uni贸n para el porcentaje base
|
45 |
+
set_urls_serp1 = set(urls_serp1)
|
46 |
+
set_urls_serp2 = set(urls_serp2)
|
47 |
+
intersection = len(set_urls_serp1 & set_urls_serp2)
|
48 |
+
union = len(set_urls_serp1 | set_urls_serp2)
|
49 |
+
porcentaje_base = (intersection / union) * 100 if union > 0 else 0
|
50 |
+
|
51 |
+
# Inicializar la bonificaci贸n
|
52 |
+
bonificacion = 0
|
53 |
+
|
54 |
+
# Verificar si los dos primeros resultados coinciden (20% de bonificaci贸n)
|
55 |
+
if urls_serp1[:2] == urls_serp2[:2]:
|
56 |
+
bonificacion += 20
|
57 |
+
|
58 |
+
# Verificar si alguno de los tres primeros resultados est谩 repetido (15% de bonificaci贸n)
|
59 |
+
if any(url in urls_serp2[:3] for url in urls_serp1[:3]):
|
60 |
+
bonificacion += 15
|
61 |
+
|
62 |
+
# Calcular el porcentaje final asegurando que no exceda el 100%
|
63 |
+
porcentaje_final = min(100, porcentaje_base + bonificacion)
|
64 |
+
|
65 |
+
porcentajes[combo] = porcentaje_final
|
66 |
return porcentajes
|
67 |
|
68 |
|