|
|
ed4c341db8
|
Dockerfile.brancheneinstufung aktualisiert
|
2025-08-19 10:15:55 +00:00 |
|
|
|
b67bd7a4a6
|
start.sh aktualisiert
|
2025-08-19 10:15:39 +00:00 |
|
|
|
102f4db99c
|
start.sh aktualisiert
|
2025-08-19 09:24:20 +00:00 |
|
|
|
b04be34f35
|
app.py aktualisiert
|
2025-08-18 19:27:08 +00:00 |
|
|
|
292a2607e9
|
Dockerfile.brancheneinstufung aktualisiert
|
2025-08-18 19:26:10 +00:00 |
|
|
|
88038cca61
|
start.sh aktualisiert
|
2025-08-18 19:23:30 +00:00 |
|
|
|
2965e0f825
|
Cloudflare_token hinzugefügt
|
2025-08-18 19:04:29 +00:00 |
|
|
|
55d47adaf0
|
requirements.txt aktualisiert
|
2025-08-18 14:44:11 +00:00 |
|
|
|
db79af38eb
|
Dockerfile.brancheneinstufung aktualisiert
|
2025-08-18 14:43:04 +00:00 |
|
|
|
70e2dca3cc
|
start.sh aktualisiert
|
2025-08-18 14:39:13 +00:00 |
|
|
|
7cf23759c0
|
duplicate_checker.py aktualisiert
|
2025-08-18 13:34:29 +00:00 |
|
|
|
bec3cea80d
|
tasks.md aktualisiert
|
2025-08-18 12:48:54 +00:00 |
|
|
|
10b453091c
|
planning.md aktualisiert
|
2025-08-18 12:48:37 +00:00 |
|
|
|
b898026a3a
|
readme.md aktualisiert
|
2025-08-18 12:48:19 +00:00 |
|
|
|
b586bb3d65
|
duplicate_checker.py aktualisiert
|
2025-08-18 12:48:05 +00:00 |
|
|
|
7d07a52617
|
duplicate_checker.py aktualisiert
|
2025-08-18 12:27:31 +00:00 |
|
|
|
721cb39cb0
|
duplicate_checker.py aktualisiert
|
2025-08-18 12:11:35 +00:00 |
|
|
|
af2e60f93d
|
duplicate_checker.py aktualisiert
|
2025-08-18 11:32:37 +00:00 |
|
|
|
ce9b458cef
|
app.py aktualisiert
|
2025-08-18 11:25:50 +00:00 |
|
|
|
49e4c68e1e
|
Dockerfile.brancheneinstufung aktualisiert
|
2025-08-18 11:08:39 +00:00 |
|
|
|
d4876393fb
|
start.sh hinzugefügt
|
2025-08-18 11:04:28 +00:00 |
|
|
|
f48bce9ee0
|
app.py aktualisiert
|
2025-08-18 10:58:02 +00:00 |
|
|
|
4d9a181bb8
|
Dockerfile.brancheneinstufung aktualisiert
|
2025-08-18 10:38:34 +00:00 |
|
|
|
c83aba24b5
|
app.py aktualisiert
|
2025-08-18 10:09:10 +00:00 |
|
|
|
e0c7efcafa
|
Dockerfile.brancheneinstufung aktualisiert
|
2025-08-18 10:03:15 +00:00 |
|
|
|
fd3308241a
|
app.py aktualisiert
|
2025-08-18 09:45:15 +00:00 |
|
|
|
8c8ca15e80
|
app.py aktualisiert
|
2025-08-18 09:39:05 +00:00 |
|
|
|
d45d857659
|
helpers.py aktualisiert
|
2025-08-18 09:15:33 +00:00 |
|
|
|
7d76a38cae
|
duplicate_checker.py aktualisiert
|
2025-08-18 08:39:27 +00:00 |
|
|
|
edd0b14f6c
|
app.py aktualisiert
|
2025-08-18 08:28:26 +00:00 |
|
|
|
cc753ecb8d
|
Dockerfile.brancheneinstufung aktualisiert
|
2025-08-18 07:22:58 +00:00 |
|
|
|
6f2161c9ab
|
app.py aktualisiert
|
2025-08-18 07:20:29 +00:00 |
|
|
|
fd6dcd119b
|
requirements.txt aktualisiert
|
2025-08-18 07:19:27 +00:00 |
|
|
|
902bf3382d
|
Dockerfile.brancheneinstufung aktualisiert
|
2025-08-18 06:38:00 +00:00 |
|
|
|
56ad962f75
|
requirements.txt aktualisiert
|
2025-08-18 06:09:39 +00:00 |
|
|
|
1501c46acc
|
Dockerfile.brancheneinstufung hinzugefügt
|
2025-08-18 06:08:54 +00:00 |
|
|
|
7156debf4d
|
app.py aktualisiert
|
2025-08-08 12:17:55 +00:00 |
|
|
|
f6dc4da1f3
|
app.py aktualisiert
|
2025-08-08 12:07:11 +00:00 |
|
|
|
36e28be051
|
app.py aktualisiert
|
2025-08-08 08:40:10 +00:00 |
|
|
|
e916e4ebc1
|
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 |
|
|
|
56430d6838
|
duplicate_checker.py aktualisiert
|
2025-08-08 06:35:24 +00:00 |
|
|
|
96ba680cb9
|
duplicate_checker.py aktualisiert
|
2025-08-08 06:31:57 +00:00 |
|
|
|
aea5d45c7d
|
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 |
|
|
|
8e80a3f75e
|
duplicate_checker.py aktualisiert
|
2025-08-08 06:11:37 +00:00 |
|
|
|
f420b84aee
|
duplicate_checker.py aktualisiert
|
2025-08-08 06:07:04 +00:00 |
|
|
|
ec56daa9ea
|
duplicate_checker.py aktualisiert
|
2025-08-08 06:00:19 +00:00 |
|
|
|
be3f48aceb
|
url_check nur für matching
|
2025-08-08 05:43:45 +00:00 |
|
|
|
aa4cf6ed24
|
url check ergänzt
|
2025-08-08 05:34:32 +00:00 |
|
|
|
4cd5dccc6f
|
duplicate_checker.py aktualisiert
|
2025-08-06 14:04:03 +00:00 |
|
|
|
e58e493e38
|
duplicate_checker.py aktualisiert
|
2025-08-06 13:50:38 +00:00 |
|