Übersicht
Die Multi-Layer Enrichment Engine ist ein hochentwickeltes System zur intelligenten Anreicherung von Business-Daten. Es verwendet einen mehrstufigen Ansatz, um präzise Kontaktinformationen zu ermitteln und deren Vertrauenswürdigkeit zu bewerten.
Datenfluss durch die Engine
Business Input
→
4-Layer Processing
→
Confidence Scoring
→
Enriched Output
Hauptmerkmale
- Intelligente Layer-Orchestrierung mit automatischem Skip bei ausreichenden Daten
- Confidence Scoring für jedes Datenfeld (high, medium, low, guess)
- Parallele Verarbeitung für optimale Performance
- Fallback-Mechanismen für maximale Datenabdeckung
- Quality Score Berechnung (0-100) für Gesamtbewertung
Die 4 Enrichment Layers
Jede Schicht hat eine spezifische Funktion und arbeitet komplementär zu den anderen:
1. ScrapingLayer 🌐
Direkte Website-Analyse für authentische Daten
- Scraping von Impressum, Kontakt, Über-uns Seiten
- JavaScript-Rendering mit Puppeteer
- Intelligente Navigation zu relevanten Unterseiten
- HTML-Parsing und Content-Extraktion
- Confidence Level: HIGH
2. AISearchLayer 🤖
KI-gestützte Websuche mit Perplexity AI
- Natürlichsprachliche Business-Recherche
- Domain-spezifische Suche für präzise Ergebnisse
- Mehrere AI-Modelle (sonar, sonar-pro, reasoning)
- Verifizierte Quellenangaben
- Confidence Level: HIGH bis MEDIUM
3. PatternLayer 🔍
Musterbasierte Datengenerierung
- E-Mail Pattern Recognition (info@, kontakt@, etc.)
- Branchen-spezifische Muster (z.B. praxis@ für Ärzte)
- Name-basierte E-Mail Generierung
- Validierung gegen bekannte Formate
- Confidence Level: LOW
4. DefaultsLayer 📝
Fallback für garantierte Datenvollständigkeit
- Generische Anreden ("Sehr geehrte Damen und Herren")
- Standard E-Mail Adressen (info@domain)
- Branchen-typische Defaults
- Lokalisierte Inhalte (DE/EN/ES)
- Confidence Level: GUESS
Confidence Scoring System
Jedes angereicherte Datenfeld erhält eine Confidence-Bewertung:
HIGH (80-100)
MEDIUM (50-79)
LOW (20-49)
GUESS (0-19)
Scoring-Faktoren
- Datenquelle: Direkte Website > AI Search > Patterns > Defaults
- Validierung: Format-Checks, Domain-Verifizierung
- Konsistenz: Übereinstimmung über mehrere Quellen
- Aktualität: Zeitstempel der Datenquelle
- Vollständigkeit: Alle relevanten Felder gefüllt
Beispiel Quality Score Berechnung:
E-Mail von Website gefunden: +40 Punkte Kontaktperson identifiziert: +30 Punkte Position angegeben: +10 Punkte Telefonnummer verifiziert: +10 Punkte Zusatzinformationen: +10 Punkte ───────────────────────────────── Gesamt Quality Score: 100/100 ✅
API Referenz
POST
/api/scraper/enrich-contacts
Request Body
{ "businesses": [ { "name": "Beispiel GmbH", "website": "https://beispiel.de", "address": "Hauptstraße 1, 12345 Stadt" } ], "options": { "layers": ["scraping", "ai", "patterns", "defaults"], "minConfidence": "medium", "findEmails": true, "findPhones": true, "findContacts": true, "useAI": true } }
Response
{ "success": true, "results": [ { "name": "Beispiel GmbH", "email": "info@beispiel.de", "emailConfidence": "high", "contactPerson": "Max Mustermann", "contactConfidence": "high", "position": "Geschäftsführer", "phone": "+49 123 456789", "enrichmentSource": ["scraping", "ai"], "enrichmentQuality": 95, "qualityTier": "excellent", "processingTime": 3247 } ] }
Optionen
- layers: Array der zu verwendenden Layer (Standard: alle)
- minConfidence: Minimale Confidence ("high", "medium", "low", "guess")
- findEmails: E-Mail-Adressen suchen (Standard: true)
- findPhones: Telefonnummern suchen (Standard: true)
- findContacts: Ansprechpartner suchen (Standard: true)
- useAI: KI-Analyse aktivieren (Standard: true)
Praktische Beispiele
Beispiel 1: Zahnarztpraxen anreichern
// 1. Businesses finden const businesses = await findBusinesses({ query: "Zahnarzt", location: "München", limit: 10 }); // 2. Mit Multi-Layer Engine anreichern const enriched = await enrichContacts({ businesses: businesses, options: { layers: ["scraping", "patterns"], // Nur Scraping und Patterns minConfidence: "medium" } });
Beispiel 2: High-Confidence Only
// Nur hochwertige Daten akzeptieren const enriched = await enrichContacts({ businesses: businessList, options: { layers: ["scraping", "ai"], // Nur Premium-Layer minConfidence: "high", // Nur HIGH confidence useAI: true } });
Beispiel 3: Performance-Optimiert
// Schnelle Anreicherung mit Patterns const enriched = await enrichContacts({ businesses: businessList, options: { layers: ["patterns", "defaults"], // Schnelle Layer minConfidence: "guess", // Alle Daten akzeptieren useAI: false // Keine AI für Speed } });
⚠️ Hinweis: Die Layer werden sequenziell verarbeitet. Wenn ein Layer ausreichende Daten mit hoher Confidence findet, werden nachfolgende Layer automatisch übersprungen (Smart Skip Feature).
Performance & Optimierung
Durchschnittliche Verarbeitungszeiten
- ScrapingLayer: 3-10 Sekunden pro Website
- AISearchLayer: 2-5 Sekunden pro Anfrage
- PatternLayer: <100ms (instant)
- DefaultsLayer: <10ms (instant)
Optimierungs-Tipps
- Nutze Layer-Selektion für spezifische Use-Cases
- Setze minConfidence für automatisches Filtering
- Batch-Processing für mehrere Businesses gleichzeitig
- Cache-Nutzung bei wiederholten Anfragen
Multi-Layer Enrichment Engine v2.0 | Teil des Minerva Business Intelligence Toolkit