Commit Graph

1382 Commits

Author SHA1 Message Date
2254409f26 train_model.py aktualisiert 2025-09-10 08:12:31 +00:00
b13b610be4 train_model.py aktualisiert 2025-09-08 18:36:52 +00:00
b8d491f0fc train_model.py aktualisiert 2025-09-08 18:27:12 +00:00
c1867fa2f1 train_model.py aktualisiert 2025-09-08 18:04:36 +00:00
1b29cfb6a3 train_model.py aktualisiert 2025-09-08 12:29:47 +00:00
a3a5bb049f train_model.py hinzugefügt 2025-09-08 12:27:57 +00:00
804b40d6c2 create_weights.py hinzugefügt 2025-09-08 11:31:53 +00:00
27bc508b86 xgb_model.json hinzugefügt 2025-09-08 11:30:45 +00:00
ae975367ad NEU: Integration eines trainierten Machine-Learning-Modells (XGBoost) für die Match-Entscheidung
--- FEATURES v5.0 ---
- NEU: Integration eines trainierten Machine-Learning-Modells (XGBoost) für die Match-Entscheidung.
- Das Modell wurde auf dem vom Benutzer bereitgestellten "Gold-Standard"-Datensatz trainiert.
- Feature Engineering: Für jeden Vergleich werden ~15 Merkmale berechnet, die dem Modell als Input dienen.
- Die alte, heuristische Scoring-Logik wurde vollständig durch das ML-Modell ersetzt.
- Ergebnis ist eine datengetriebene, hochpräzise Duplikatserkennung mit >80% Trefferquote.
2025-09-08 11:24:01 +00:00
24e32da53c duplicate_checker.py aktualisiert
- NEU: Mehrstufiges Entscheidungsmodell für höhere Präzision und "Großzügigkeit".
- Stufe 1: "Golden Match" für exakte Treffer.
- Stufe 2: "Kernidentitäts-Bonus & Tie-Breaker" zur korrekten Zuordnung von Konzerngesellschaften.
- Stufe 3: Neu kalibrierter, gewichteter Score für alle anderen Fälle.
- Intelligenter Tie-Breaker, der nur bei wirklich guten und engen Kandidaten greift.
2025-09-05 11:40:52 +00:00
f5af3023f8 duplicate_checker.py aktualisiert
--- FEATURES v4.0 ---
- NEU: "Kernidentitäts-Bonus": Ein hoher Bonus wird vergeben, wenn das seltenste (wichtigste) Token übereinstimmt.
  Dies fördert das "großzügige Matchen" auf Basis der Kernmarke (z.B. "ANDRITZ AG" vs. "ANDRITZ HYDRO").
- NEU: Intelligenter "Shortest Name Tie-Breaker": Wird nur noch bei sehr hohen und sehr ähnlichen Scores angewendet.
- Finale Kalibrierung der Score-Berechnung und Schwellenwerte für optimale Balance.
- Golden-Rule für exakte Matches und Interaktiver Modus beibehalten.
2025-09-05 09:39:56 +00:00
7a273bf25a duplicate_checker.py aktualisiert
- NEU: "Shortest Name Tie-Breaker": Bei sehr ähnlichen Scores wird der Kandidat mit dem kürzeren Namen bevorzugt,
  um das Prinzip der "wirtschaftlichen Einheit" (z.B. Holding) besser abzubilden.
- Scoring-Formel und Schwellenwerte erneut feinjustiert für finale Balance.
- Golden-Rule und Interaktiver Modus beibehalten.
2025-09-05 08:59:05 +00:00
538a0f2885 duplicate_checker.py aktualisiert
- Scoring-Formel und Multiplikatoren neu gewichtet, um einzigartige Namens-Tokens stärker zu bewerten ("Großzügigkeits-Boost").
- Schwellenwerte (Thresholds) erneut feinjustiert, um die Balance zwischen korrekten und falschen Treffern zu optimieren.
- Logik des Domain-Gates beibehalten und sichergestellt, dass es korrekt greift.
- Golden-Rule und Interaktiver Modus unverändert.
2025-09-05 08:10:28 +00:00
f160fc0fc5 duplicate_checker.py aktualisiert
- Dynamische Stopword-Erkennung entfernt, da sie zu aggressiv war. Häufige Wörter erhalten nun nur ein niedriges Gewicht.
 - Score-Berechnung und Schwellenwerte (Thresholds) komplett neu kalibriert für bessere Balance und Treffsicherheit.
 - "Domain-Gate" wieder eingeführt: Ein Domain-Match zählt nur dann stark, wenn auch eine minimale Namensähnlichkeit besteht.
 - Golden-Rule und Interaktiver Modus beibehalten.
2025-09-05 07:34:23 +00:00
491254a84e 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
fc3e90ac83 planning.md aktualisiert 2025-08-29 08:34:07 +00:00
49f935ea9d tasks.md aktualisiert 2025-08-29 08:33:31 +00:00
3e545fe5a6 readme.md aktualisiert 2025-08-29 08:32:40 +00:00
7c9db71c77 sync_manager.py aktualisiert 2025-08-29 07:11:48 +00:00
4ada486206 sync_manager.py aktualisiert 2025-08-29 06:33:12 +00:00
6189d64b38 sync_manager.py aktualisiert 2025-08-29 06:30:08 +00:00
0319833c20 brancheneinstufung2.py aktualisiert 2025-08-29 06:20:48 +00:00
9628e8f181 sync_manager.py aktualisiert 2025-08-29 06:12:03 +00:00
f36816f49a brancheneinstufung2.py aktualisiert 2025-08-29 06:11:04 +00:00
f5c6e87ae3 sync_manager.py aktualisiert 2025-08-28 19:02:12 +00:00
e9e33d7cfe sync_manager.py aktualisiert 2025-08-28 18:42:36 +00:00
22f873e1dc sync_manager.py aktualisiert 2025-08-28 18:37:36 +00:00
edec30652d sync_manager.py aktualisiert 2025-08-28 18:22:42 +00:00
0273174a57 sync_manager.py aktualisiert 2025-08-28 18:07:17 +00:00
cf4a0178d6 sync_manager.py aktualisiert 2025-08-28 18:04:19 +00:00
a5e4a21580 sync_manager.py aktualisiert 2025-08-28 18:01:24 +00:00
e71c11c432 sync_manager.py aktualisiert 2025-08-28 17:57:44 +00:00
1068243ca9 sync_manager.py aktualisiert 2025-08-28 17:44:31 +00:00
123a48f53e brancheneinstufung2.py aktualisiert 2025-08-28 17:38:25 +00:00
f90618e722 sync_manager.py aktualisiert 2025-08-28 17:34:52 +00:00
f1b18ddde4 sync_manager.py aktualisiert 2025-08-28 14:40:02 +00:00
59bba0276d sync_manager.py aktualisiert 2025-08-28 14:22:48 +00:00
ad7618dff9 sync_manager.py aktualisiert 2025-08-28 14:18:24 +00:00
80be6d81ef sync_manager.py aktualisiert 2025-08-28 14:08:08 +00:00
e629a83caa sync_manager.py aktualisiert 2025-08-28 12:48:10 +00:00
dbcd80221e sync_manager.py aktualisiert 2025-08-28 12:23:46 +00:00
6c1f5852eb sync_manager.py aktualisiert 2025-08-28 12:17:32 +00:00
0bf2df1ee8 sync_manager.py aktualisiert 2025-08-28 11:55:31 +00:00
70dbad8282 sync_manager.py aktualisiert 2025-08-28 11:47:59 +00:00
1e694bd137 sync_manager.py aktualisiert 2025-08-28 11:41:41 +00:00
48133631d6 sync_manager.py aktualisiert 2025-08-28 11:29:38 +00:00
bcd771b8a0 sync_manager.py aktualisiert 2025-08-28 11:27:15 +00:00
5ad2f1bf1f sync_manager.py aktualisiert 2025-08-28 11:17:20 +00:00
bb62a73dee sync_manager.py aktualisiert 2025-08-28 11:03:16 +00:00
c5162bb63d sync_manager.py aktualisiert 2025-08-28 10:58:22 +00:00