d245d43182
Feat: Matching-Logik mit gewichtetem Scoring & Interaktiv-Modus (v3.0)
...
Diese Version überarbeitet den Kern des Matching-Algorithmus grundlegend, um die Genauigkeit drastisch zu erhöhen und die manuelle Nachbearbeitung zu reduzieren. Die Änderungen basieren auf der Analyse eines umfangreichen Testdatensatzes und setzen die neue Philosophie des "großzügigen Matchens" von wirtschaftlichen Einheiten um.
Gewichtetes Namens-Scoring (TF-IDF):
- Einzigartige Namensbestandteile (z.B. "Warema") erhalten nun ein höheres Gewicht als generische Füllwörter (z.B. "Stadtwerke", "Gruppe").
- Dies löst das Problem von Fehlzuordnungen bei häufig vorkommenden, aber nicht-identifizierenden Begriffen und verbessert die Treffsicherheit bei unklaren Firmennamen signifikant.
Golden-Rule für exakte Namens-Matches:
- Eine Namensübereinstimmung von >98% führt zu einem sofortigen "Golden Match" mit einem sehr hohen Score.
- Damit wird verhindert, dass klare Treffer durch abweichende Signale (z.B. unterschiedliche URLs von Tochterfirmen) fälschlicherweise bestraft werden.
Optionaler Interaktiver Modus:
- Kann mit dem Flag --interactive gestartet werden.
- Bei uneindeutigen Ergebnissen, bei denen die Top-Kandidaten sehr ähnliche Scores haben, hält das Skript an und ermöglicht dem Benutzer die direkte Auswahl des korrekten Matches aus einer übersichtlichen Liste.
Überarbeitete Scoring-Formel:
- Die Gesamtbewertung wurde neu balanciert, um dem jetzt deutlich aussagekräftigeren Namens-Score mehr Gewicht zu verleihen.
2025-09-04 14:34:28 +00:00
5d28da8aea
duplicate_checker.py aktualisiert
2025-08-18 13:34:29 +00:00
cb9abc32e2
duplicate_checker.py aktualisiert
2025-08-18 12:48:05 +00:00
f973c24df7
duplicate_checker.py aktualisiert
2025-08-18 12:27:31 +00:00
2f009027c3
duplicate_checker.py aktualisiert
2025-08-18 12:11:35 +00:00
47a7e71d2a
duplicate_checker.py aktualisiert
2025-08-18 11:32:37 +00:00
975014d5b0
duplicate_checker.py aktualisiert
2025-08-18 08:39:27 +00:00
c356203b52
feat(duplicate-checker): Quality-first++ – Domain-Gate, Location-Penalties, Smart Blocking (IDF-ligh
...
- Domain-Gate: Domain (100) zählt nur, wenn Name >= MIN_NAME_FOR_DOMAIN (70) ODER (City & Country) matchen
- Location-Penalties: City-Mismatch -30, Country-Mismatch -40 (nur wenn Felder befüllt)
- Name-Scoring: max(token_set, partial, token_sort) auf bereinigten Tokens (Stopwörter + City-Tokens)
- City-Bias-Guard: City-only Overlap -> Name-Score Cap auf 70
- Rare-Token-Check (IDF-light): Name-only-Matches brauchen seltenen Token-Overlap
- Weak-Threshold: 95, wenn weder Domain_used noch (City & Country) matchen
- Smart Blocking: Domain-Index -> seltenster Token -> Prefilter (partial>=70, Top 30, nur wenn seltenster Token im Kandidaten vorkommt)
- SerpAPI: nur für Matching-Accounts und nur wenn B/E leer; schreibt „Gefundene Website“ + „Serp Vertrauen“, Domain-100 nur bei Vertrauen=hoch
- Output: neue Spalten „Gefundene Website“, „Serp Vertrauen“, „Match“, „Score“, „Match_Grund“
- Writeback: SAFE (alle Originalspalten), interne Felder werden gedroppt + CSV-Backup
- Logging: Log/{timestamp}_duplicate_check_v2.15.txt, Summary-Metriken am Ende
2025-08-08 07:40:50 +00:00
da55159cb5
duplicate_checker.py aktualisiert
2025-08-08 06:35:24 +00:00
bb7710d8a1
duplicate_checker.py aktualisiert
2025-08-08 06:31:57 +00:00
2a7d546713
feat(duplicate-checker): quality-first Matching (Domain-Gate, Location-Penalties, Smart Blocking)
...
- Domain-Gate: Domain-Score (100) nur, wenn Name >= MIN_NAME_FOR_DOMAIN (default 70) ODER Ort+Land exakt matchen
- Location-Penalties: City-Mismatch -30, Country-Mismatch -40 (wenn Felder befüllt)
- Smart Blocking: Domain-Index -> seltenster Name-Token (Stopwörter gefiltert) -> Prefilter (partial_ratio >= 60, Top 50)
- Name-Score: max(token_set_ratio, partial_ratio, token_sort_ratio) + Name-only Bonus (+20) bei starken Namen
- SerpAPI nur für Matching-Accounts: schreibt "Gefundene Website"; Domain wird NUR bei Vertrauen=hoch genutzt
- Serp-Trust: hoch/mittel/niedrig (Token-Check gegen Domain)
- Transparenz: neue Spalten "Match", "Score", "Match_Grund", "Gefundene Website", "Serp Vertrauen"
- Safe Writeback: Originalspalten bleiben erhalten; interne Felder werden vor Write entfernt
- Logs: Log/{$timestamp}_duplicate_check_v2.13.txt, Summary-Metriken am Ende
- Backup: Log/{$timestamp}_backup_Matching_Accounts.csv
BREAKING CHANGES: none
2025-08-08 06:28:35 +00:00
07630e4de1
duplicate_checker.py aktualisiert
2025-08-08 06:11:37 +00:00
526302c96f
duplicate_checker.py aktualisiert
2025-08-08 06:07:04 +00:00
0ecf8aa9f4
duplicate_checker.py aktualisiert
2025-08-08 06:00:19 +00:00
ec4fc642ff
url_check nur für matching
2025-08-08 05:43:45 +00:00
d607e442f1
url check ergänzt
2025-08-08 05:34:32 +00:00
6b7d321811
duplicate_checker.py aktualisiert
2025-08-06 14:04:03 +00:00
6e5e4364c0
duplicate_checker.py aktualisiert
2025-08-06 13:50:38 +00:00
7263755f83
duplicate_checker.py aktualisiert
2025-08-06 13:39:30 +00:00
3f8a05f349
duplicate_checker.py aktualisiert
2025-08-06 13:35:25 +00:00
9362c47ab7
duplicate_checker.py aktualisiert
2025-08-06 13:28:50 +00:00
e11b96aee3
duplicate_checker.py aktualisiert
2025-08-06 13:19:44 +00:00
f890eebaa1
duplicate_checker.py aktualisiert
2025-08-06 13:11:09 +00:00
39016bff94
duplicate_checker.py aktualisiert
2025-08-06 12:50:12 +00:00
33c4ee187a
duplicate_checker.py aktualisiert
2025-08-06 12:42:02 +00:00
97b640fff5
duplicate_checker.py aktualisiert
2025-08-06 11:37:35 +00:00
1d8a067746
duplicate_checker.py aktualisiert
2025-08-06 10:32:38 +00:00
722fd8fb9a
Add Logging
2025-08-06 09:31:33 +00:00
555d9dcbfc
duplicate_checker.py aktualisiert
2025-08-06 09:08:12 +00:00
42e09ed7ad
duplicate_checker.py aktualisiert
2025-08-06 09:07:10 +00:00
1c55039404
duplicate_checker.py aktualisiert
2025-08-06 09:06:07 +00:00
8cf8929308
duplicate_checker.py aktualisiert
2025-08-06 05:59:05 +00:00
f96ceb65f9
duplicate_checker.py aktualisiert
2025-08-06 05:45:15 +00:00
dedb647e19
duplicate_checker.py aktualisiert
2025-08-05 15:54:08 +00:00
6cf123d98e
duplicate_checker.py aktualisiert
2025-08-05 14:38:52 +00:00
4cb3e12c21
duplicate_checker.py aktualisiert
2025-08-05 14:36:25 +00:00
0bdea85563
duplicate_checker.py aktualisiert
2025-08-05 14:34:08 +00:00
a933423638
duplicate_checker.py aktualisiert
2025-08-05 14:30:02 +00:00
dc8c338b96
chat GPT version
2025-08-05 14:27:07 +00:00
012217f359
duplicate_checker.py aktualisiert
2025-08-04 06:08:27 +00:00
fa3c561925
duplicate_checker.py aktualisiert
2025-08-04 06:01:13 +00:00
cb76d4592a
duplicate_checker.py aktualisiert
2025-08-04 05:44:23 +00:00
5bc57fab86
Add Logging
2025-08-04 05:35:07 +00:00
9ba5bb74d6
duplicate_checker.py aktualisiert
2025-08-04 05:29:32 +00:00
c02367d52e
duplicate_checker.py aktualisiert
2025-08-03 08:31:02 +00:00
40d8afbd55
duplicate_checker.py aktualisiert
2025-08-03 08:27:12 +00:00
eaafe7be16
duplicate_checker.py aktualisiert
2025-08-03 08:21:36 +00:00
4972c347c4
Add Logging
2025-08-03 08:18:33 +00:00
8e795ac077
duplicate_checker.py aktualisiert
2025-08-03 08:00:37 +00:00
160889a08a
Rückgang zur stabilen Version
2025-08-01 13:27:15 +00:00