{
  "citation": "Hopkins, Daniel J., dan Gary King. 2010. American Journal of Political Science 54(1), 229–247.",
  "title": "A Method of Automated Nonparametric Content Analysis for Social Science",
  "doi": "https://doi.org/10.1111/j.1540-5907.2009.00428.x",
  "pdf_url": "https://gking.harvard.edu/files/words.pdf",
  "source_url": "https://gking.harvard.edu/publication/a-method-of-automated-nonparametric-content-analysis-for-social-science/",
  "kerry_example": {
    "documents": 10000,
    "human_labeled": 442,
    "labeling_days": 5,
    "year": 2006,
    "journal_page": 231
  },
  "benchmark": {
    "source": "Tabel 1, halaman jurnal 240",
    "original_documents": 4303,
    "removed_extremely_negative_test_posts": 422,
    "design": "Blog Bush dibagi acak sekitar separuh untuk pelatihan dan pengujian, lalu separuh tulisan sangat negatif dalam bagian pengujian dihapus untuk mengubah komposisinya.",
    "provenance": "Seluruh angka disalin dari Tabel 1. Galat proporsi dilaporkan dalam poin persentase; ketepatan label dalam persen dokumen. Tidak ada interval kepercayaan untuk metrik tabel ini yang direka. Dataset replikasi tidak diolah ulang.",
    "methods": [
      {
        "id": "direct",
        "label": "Estimasi langsung",
        "original_label": "Nonparametric",
        "train_accuracy": null,
        "cross_validation_accuracy": null,
        "test_accuracy": null,
        "proportion_mae": 1.2
      },
      {
        "id": "linear",
        "label": "SVM linear",
        "original_label": "Linear",
        "train_accuracy": 67.6,
        "cross_validation_accuracy": 55.2,
        "test_accuracy": 49.3,
        "proportion_mae": 7.7
      },
      {
        "id": "radial",
        "label": "SVM radial",
        "original_label": "Radial",
        "train_accuracy": 67.6,
        "cross_validation_accuracy": 54.2,
        "test_accuracy": 49.1,
        "proportion_mae": 7.7
      },
      {
        "id": "polynomial",
        "label": "SVM polynomial",
        "original_label": "Polynomial",
        "train_accuracy": 99.7,
        "cross_validation_accuracy": 48.9,
        "test_accuracy": 47.8,
        "proportion_mae": 5.3
      },
      {
        "id": "sigmoid",
        "label": "SVM sigmoid",
        "original_label": "Sigmoid",
        "train_accuracy": 15.6,
        "cross_validation_accuracy": 15.6,
        "test_accuracy": 18.2,
        "proportion_mae": 23.2
      }
    ]
  },
  "original_categories": [
    "Sangat negatif (−2)",
    "Negatif (−1)",
    "Netral (0)",
    "Positif (+1)",
    "Sangat positif (+2)",
    "Tanpa pendapat (NA)",
    "Bukan blog (NB)"
  ],
  "coding_categories": [
    {
      "id": "positive",
      "label": "Positif"
    },
    {
      "id": "negative",
      "label": "Negatif"
    },
    {
      "id": "neutral",
      "label": "Netral"
    },
    {
      "id": "no_opinion",
      "label": "Tanpa pendapat"
    },
    {
      "id": "off_topic",
      "label": "Di luar topik"
    }
  ],
  "coding_examples": [
    {
      "text": "Program perbaikan layanan ini membantu. Sekarang saya lebih mudah mengurus berkas.",
      "category": "positive",
      "explanation": "Penulis menyampaikan penilaian yang mendukung program, disertai pengalaman yang dirasakan membantu."
    },
    {
      "text": "Katanya lebih cepat, tetapi saya tetap menunggu dua jam. Program ini mengecewakan.",
      "category": "negative",
      "explanation": "Ada penilaian negatif terhadap program. Keluhan bukan sekadar penyebutan kata tentang waktu tunggu."
    },
    {
      "text": "Saya belum condong mendukung atau menolak program ini.",
      "category": "neutral",
      "explanation": "Penulis menyatakan sikap yang tidak condong ke dukungan atau penolakan. Ini contoh netral menurut aturan latihan."
    },
    {
      "text": "Program layanan baru mulai berjalan pada hari Senin.",
      "category": "no_opinion",
      "explanation": "Kalimat memberi informasi tentang program tanpa menilai apakah program tersebut baik atau buruk."
    },
    {
      "text": "Ada yang tahu tempat membeli pot bunga di dekat stasiun?",
      "category": "off_topic",
      "explanation": "Teks tidak membahas program layanan yang menjadi sasaran latihan."
    },
    {
      "text": "Mantap, cepat sekali. Cuma perlu menunggu dua jam untuk satu berkas.",
      "category": "negative",
      "explanation": "Untuk latihan ini, gabungan pujian berlebihan dan keluhan waktu tunggu dibaca sebagai sindiran. Dalam data nyata, kasus ambigu perlu konteks dan aturan pelabelan yang disepakati."
    }
  ],
  "mixture": {
    "labels": [
      "Positif",
      "Negatif",
      "Netral"
    ],
    "patterns": [
      "Pola A",
      "Pola B",
      "Pola C"
    ],
    "training_matrix": [
      [
        0.65,
        0.15,
        0.2
      ],
      [
        0.1,
        0.7,
        0.2
      ],
      [
        0.25,
        0.15,
        0.6
      ]
    ],
    "drift_matrix": [
      [
        0.65,
        0.4,
        0.2
      ],
      [
        0.1,
        0.4,
        0.2
      ],
      [
        0.25,
        0.2,
        0.6
      ]
    ],
    "provenance": "Angka pedagogis yang dibuat penulis blog. Baris adalah tiga pola eksklusif, kolom adalah tiga kategori. Tiap kolom berjumlah satu. Simulator menyelesaikan sistem campuran tiga kali tiga dengan pola pelatihan tetap. Pada skenario perubahan bahasa, kolom negatif pada data sasaran adalah rata-rata kolom positif dan negatif pada pelatihan. Ini demonstrasi aljabar sederhana, bukan implementasi atau replikasi ReadMe."
  },
  "classification_demo": {
    "documents": 100,
    "true_negative": 40,
    "true_positive": 60,
    "mistakes": 20,
    "provenance": "Contoh aritmetika rekaan. Selalu 80 label benar; arah 20 kesalahan dapat diubah."
  },
  "denominator_demo": {
    "active_accounts": 10,
    "other_accounts": 90,
    "other_posts_each": 1,
    "provenance": "Akun dan tulisan hipotetis. Tidak menggambarkan survei atau pengamatan media sosial Indonesia."
  }
}