Crossviews

Overzicht

Crossviews is het geavanceerde relatieidentificatie-systeem van Wasstraat Archeologische Data. Dit innovatieve onderdeel vormt de backbone voor herkenning van verbanden tussen gegevens, deduplicatie en gegevensintelligentie.

Kerninnov

Crossviews wordt momenteel ontwikkeld als zelf-leerend (machine learning) systeem voor verhoogde universaliteit en automatische inlierzoeking. Dit is een sleutelinnovatie van het platform.

Functionaliteit

1. Relatie-Identificatie

Crossviews identificeert verborgen relaties tussen records die aanvankelijk niet verbonden lijken:

Record A: "Potscherf, Amsterdam, Bronstijd"
Record B: "Aardewerk fragment, Amsterdam, 1800 vC"
Record C: "Pottery sherd, Amsterdam, Bronze Age"

           │
           ▼
      Crossviews
           │
    ┌──────┼──────┐
    │      │      │
    ▼      ▼      ▼
 Taal   Context Periode
analyse analyse analyse
    │      │      │
    └──────┼──────┘
           │
           ▼
   Waarschijnlijke Verbanden:
   - B en A: dezelfde plaats, soortgelijke periode
   - C en B: dezelfde semantiek (aardewerk/pottery)
   - A en C: waarschijnlijk hetzelfde object

2. Record-Matching

Geavanceerde algoritmes voor het paarsgewijze vergelijken van records:

Gelijkenismetriek               Score
──────────────────────────────  ─────
Exacte tekstovereenkomst        95-100%
Fuzzy string matching           70-94%
Semantische gelijkenis          50-69%
Contextafhankelijke gelijkenis  30-49%
Geen gelijkenis                 <30%

Voorbeeld Matching

{
  "record_a": {
    "id": "WSTR-001",
    "beschrijving": "handgevormd aardewerk",
    "periode": "Vroeg Bronstijd",
    "locatie": "Amsterdam"
  },
  "record_b": {
    "id": "AMS-47",
    "beschrijving": "hand made pottery",
    "periode": "2000-1500 vC",
    "locatie": "Amsterdam"
  },
  "match_score": 0.87,
  "overeenkomsten": [
    "locatie: exact (Amsterdam)",
    "periode: zeer waarschijnlijk (chronologische overlap)",
    "beschrijving: semantisch equivalent (aardewerk)",
    "vervaardigingstechniek: match (handgevormd)"
  ],
  "aanbeveling": "WAARSCHIJNLIJK_DUPLICATE"
}

3. Bronenintuïtie

Crossviews herkennen welke bronnen elkaar overlappen of aanvullen:

Bron 1 (Amsterdam Gemeente):
├─ 450 records
├─ Periode: 2500-1000 vC
├─ Thema's: huishoudartefacten
└─ Dekking: Amsterdam centrum

Bron 2 (Universiteit Amsterdam):
├─ 320 records
├─ Periode: 2000-500 vC
├─ Thema's: speciale vondsten
└─ Dekking: Amsterdam regio

         
         
    Crossviews Analyse
         
    ┌────┴────┐
              
              
 Overlap   Aanvulling
 (~220     (~230 unieke
  records)  records per bron)

Bevinding: ~49% overlap, complementaire datasets

4. Machine Learning Mogelijkheden (In Ontwikkeling)

Het systeem wordt momenteel uitgebreid met ML-capaciteiten:

Zelf-Lerend Systeem

  • Trainingsfase: Systeem leert van handmatig geverifieerde matches
  • Generalisering: Patronen worden gegeneraliseerd naar nieuwe datasituaties
  • Adaptatie: Algoritmes verbeteren naarmate meer data wordt verwerkt

Automatische Fouterkenning

Fuzzy Matching Voorbeelden:
"aardewerk"       "aardewerken"     (spellingsvariant)
"potscherf"       "potscherf"       (exact)
"Bronstijd"       "Bronze Age"      (semantiek)
"52.3702"         "52.37"           (afrondingsfout)

Uitbijtingsdetectie

Automatische herkenning van anomalieën en ongewone waarden:

{
  "anomalieën_gedetecteerd": [
    {
      "record": "WSTR-2024-042",
      "veld": "diepte",
      "waarde": 125.5,
      "eenheid": "meter",
      "waarschijnlijkheid": 0.94,
      "verklaring": "Diepte onplausibel voor oppervlakte-vondsten"
    },
    {
      "record": "WSTR-2024-089",
      "veld": "datum_vondst",
      "waarde": "2127-03-15",
      "waarschijnlijkheid": 0.99,
      "verklaring": "Toekomstige datum, waarschijnlijk invoerfout"
    }
  ]
}

Architectuur

┌─────────────────────────────────┐
│  Opgeslagen Data (SingleStore)  │
└────────────┬────────────────────┘
             │
             ▼
┌─────────────────────────────────┐
│   Crossviews Engine             │
├─────────────────────────────────┤
│ ✓ Tekstvergelijking             │
│ ✓ Semantische analyse           │
│ ✓ Contextafhankelijke matching  │
│ ✓ ML-gebaseerde patroonherkenning│
└────────────┬────────────────────┘
             │
         ┌───┴───┐
         │       │
         ▼       ▼
    Relatie- Anomalie-
    grafiek  rapportage
         │       │
         └───┬───┘
             │
             ▼
┌─────────────────────────────────┐
│  Deduplica-analyse & Rapporten  │
└─────────────────────────────────┘

Verwerkingsfases

Fase 1: Voorbereiding

  • Normalisatie van invoegegevens
  • Indeksering voor snelle opzoeking
  • Cacheconstructie voor veelgebruikte queries

Fase 2: Paarsgewijze Vergelijking

# Pseudo-code
for record_a in dataset:
    for record_b in dataset:
        if record_a.id < record_b.id:  # Geen dubbele vergelijking
            similarity = calculate_similarity(
                record_a, record_b,
                metrics=['text', 'semantic', 'context']
            )
            if similarity > threshold:
                candidates.append((record_a, record_b, similarity))

Fase 3: Contextanalyse

  • Geografische nabijheid
  • Chronologische overlap
  • Materiaalconsistentie
  • Bronspiegel

Fase 4: ML-Classificatie

  • Training op handmatig geverifieerde matches
  • Classificatie van onbekende paren
  • Continuous learning van feedback

Fase 5: Rapportage

  • Generatie van deduplicatie-aanbevelingen
  • Anomalieverslagen
  • Relatiegrafiek

Uitvoer

Deduplicatie-Aanbevelingen

{
  "potentiële_duplicaten": [
    {
      "paar": ["WSTR-001", "AMS-047"],
      "overeenkomsten_percentage": 87,
      "vertrouwensniveau": "hoog",
      "aanbeveling": "WAARSCHIJNLIJK_DUPLICATE",
      "details": {
        "locatie_match": "exact",
        "periode_match": "zeer waarschijnlijk",
        "beschrijving_match": "fuzzy (87%)"
      }
    }
  ]
}

Anomalierapporten

{
  "anomalieën": [
    {
      "record_id": "WSTR-2024-042",
      "anomalie_type": "onplausibele_waarde",
      "veld": "diepte",
      "verwachte_bereik": "0.0 - 10.0",
      "geobserveerde_waarde": 125.5,
      "aanbeveling": "HANDMATIGE_VERIFICATIE_VEREIST"
    }
  ]
}

Best Practices

Handmatige Verificatie

Hoewel Crossviews zeer accuraat is, wordt altijd handmatige verificatie van kritieke matches aanbevolen voordat records worden geconsolideerd.

  • Controleer matches met hoge vertrouwensscore eerst
  • Verifieer anomaliedetectie tegen bronwaarden
  • Documenteer alle handmatig aangepaste matches
  • Train het ML-systeem met feedback

Integratie

Crossviews werkt samen met:

  • Transformatie: Leert van transformatiepatronen
  • Validatie: Kan abnormaliteiten valideren
  • Zoeken: Ondersteunt "vind gelijkaardige records"
  • Configuratie: Kan per gemeente fijn afgestemd worden