Nexa Intelligence Docs
Pipeline Data

taxonomy_correlation

Alur kalkulasi matriks korelasi ko-okurensi daun taksonomi lintas pilar strategis, sebaran wilayah irisan isu, dan pengisian indeks Elasticsearch taxonomy_correlation.

Pipeline Data: taxonomy_correlation (Korelasi Taksonomi Isu)

Pipeline ini bertugas menganalisis keterkaitan dan ko-okurensi kemunculan bersama (cross-pillar co-occurrence) antar-daun taksonomi isu strategis yang terdapat di dalam artikel berita siber, lalu menyimpannya ke dalam indeks Elasticsearch taxonomy_correlation.

Matriks korelasi ini memungkinkan analis intelijen memahami bagaimana satu peristiwa berdampak lintas sektor — misalnya bagaimana isu kelangkaan pangan berkorelasi langsung dengan potensi gangguan kamtibmas dan dinamika stabilitas politik di daerah tertentu.

Data dari pipeline ini memberi makan panel Korelasi Taksonomi & Isu Strategis di layar /dashboard/overview (GET /overview/taxonomy-correlation).


1. Ringkasan Arsitektur Alur

[Elasticsearch: articles]
(Artikel terindeks dengan array taxonomy.lineages & lokasi provinsi)
                       │
                       ▼ (Agregasi Ko-okurensi Taksonomi)
         [f1-api-backend & Aggregation Engine]
         • Scan seluruh lineage taksonomi aktif (L1 s.d. L5)
         • Hitung frekuensi kemunculan bersama pasangan daun taksonomi
         • Kalkulasi bobot korelasi relatif (correlation_score 0.0 - 1.0)
         • Pemetaan provinsi teratas tempat korelasi terdeteksi (top_regions)
                       │
                       ▼
       [Elasticsearch: taxonomy_correlation]
       (Matriks irisan pilar dan daun taksonomi strategis)
                       │
                       ▼
        [GET /overview/taxonomy-correlation]
        (Visualisasi Chord Diagram / Korelasi Lintas Sektor)

2. Metodologi Perhitungan Korelasi Ko-okurensi

Satu artikel berita seringkali diberi multi-label oleh worker D1 (misalnya sebuah berita memuat label Korupsi Pengadaan, Pangan, dan Penegakan Hukum):

  1. Pasangan Garis Keturunan (Lineage Pair Scanning): Sistem mengevaluasi setiap kombinasi pasangan daun taksonomi ($A, B$) yang muncul di dalam artikel yang sama.
  2. Kalkulasi Bobot Irisan (Co-occurrence Weight):
    Correlation(A, B) = CoOccurrenceCount(A, B) / Min(Count(A), Count(B))
    Formula ini mengukur seberapa kuat keterikatan kemunculan isu $B$ ketika isu $A$ diberitakan di media massa.
  3. Agregasi Geospasial Wilayah Irisan (top_regions): Menghitung provinsi-provinsi di mana korelasi antartaksonomi tersebut paling dominan terjadi, sehingga pembuat kebijakan dapat melihat episentrum krisis lintas sektoral.

3. Struktur Dokumen di Elasticsearch taxonomy_correlation

{
  "_id": "corr_pangan_kamtibmas_2026-09-26",
  "period": "24h",
  "source_pillar": "Pangan",
  "target_pillar": "Kamtibmas",
  "source_leaf": "Kelangkaan Beras",
  "target_leaf": "Penimbunan Komoditas",
  "co_occurrence_count": 34,
  "correlation_score": 0.78,
  "risk_impact": "TINGGI",
  "top_regions": [
    { "province": "Jawa Timur", "count": 14 },
    { "province": "Jawa Barat", "count": 11 },
    { "province": "Sumatera Utara", "count": 9 }
  ],
  "generated_at": "2026-09-26T04:00:00Z"
}

4. Ringkasan Parameter Operasional Pipeline

ParameterKonfigurasiKeterangan
Indeks Targettaxonomy_correlation (Elasticsearch)Matriks korelasi daun taksonomi isu strategis.
Endpoint APIGET /overview/taxonomy-correlationMemasok modul visualisasi matriks korelasi di Overview.

5. Spesifikasi Payload Request Pipeline

Query agregasi matrix ko-okurensi yang dieksekusi ke indeks articles:

POST /articles/_search
{
  "size": 0,
  "query": {
    "range": {
      "published_at": { "gte": "now-7d", "lte": "now" }
    }
  },
  "aggs": {
    "source_pillars": {
      "terms": { "field": "taxonomy.pillar.keyword", "size": 10 },
      "aggs": {
        "target_pillars": {
          "terms": { "field": "taxonomy.lineages.keyword", "size": 20 },
          "aggs": {
            "provinces": {
              "terms": { "field": "geo_location.province.keyword", "size": 5 }
            }
          }
        }
      }
    }
  }
}

On this page