Lompat ke isi

Sebelas tahap, dijelaskan dua kali

Cara model bekerja

Sebelas tahap, dari berkas PDF sampai matriks yang bisa dipakai perawat. Tiap tahap dijelaskan dua kali: sekali dengan bahasa sehari-hari, sekali dengan istilah teknisnya.

  1. 2.1b

    Saringan relevansi domain

    Apakah artikel ini memang tentang perawatan paliatif dan efek samping obat? Kalau tidak, berhenti di sini.

    Teknis

    Skor relevansi dari enam kelompok istilah; ambang 8. Dari 405 artikel, 263 lolos.

  2. 2.2

    Ekstraksi teks PDF

    PDF diubah jadi teks biasa, halaman demi halaman.

    Teknis

    PyMuPDF, `page.get_text('text')` digabung antar halaman.

  3. 2.3

    Prapemrosesan

    Merapikan teks: kata yang terpotong di ujung baris disatukan, nomor sitasi dilepas dari kalimat.

    Teknis

    NFKC, pelipatan tanda hubung Unicode (U+2013 muncul di 8,6% kalimat), pemisahan penanda sitasi superskrip.

  4. 2.4

    Segmentasi kalimat

    Teks dipotong per kalimat. Yang terlalu pendek biasanya sisa tata letak; yang terlalu panjang biasanya tabel yang berubah jadi teks.

    Teknis

    NLTK punkt, lalu perbaikan pemenggalan kata dengan vokabulari korpus, lalu gerbang panjang 30–2.000 karakter. 137.906 kalimat, 92.713 masuk NER.

  5. 3.1

    Penandaan entitas

    Dua model kecerdasan buatan membaca tiap kalimat dan menyorot mana nama obat dan mana efek samping.

    Teknis

    BioBERT chemical + diseases berdampingan, batch 8, 512 token, ditambah pencocokan kamus 38/32 istilah.

  6. 3.2

    Normalisasi istilah

    Satu hal bisa ditulis bermacam-macam. Semua disatukan ke satu istilah baku.

    Teknis

    Lemmatization, ejaan British→American, RapidFuzz dengan dua pagar: penolakan pemetaan ke istilah lebih spesifik, dan penolakan pasangan obat yang hanya mirip ejaan.

  7. 3.2b

    Penyaringan entitas ketat

    Potongan teks yang lolos sebagai entitas tapi bukan istilah medis dibuang di sini — singkatan satu-dua huruf, angka, dan kata umum.

    Teknis

    Ambang jumlah huruf, daftar 32 istilah terlarang, dan pengecualian akhiran khas nama obat. Pencacahnya melaporkan masuk, keluar, dan dibuang.

  8. 3.3

    Ko-okurensi (jalur dasar)

    Semua obat dipasangkan dengan semua efek samping yang muncul di kalimat yang sama. Belum ada pemeriksaan makna.

    Teknis

    Jarak token ≤30. Negasi dideteksi pada rentang efek sampingnya (NegEx via negspaCy), bukan seluruh kalimat; pasangan bernegasi diberi bobot 0,65, tidak dibuang.

  9. 3.4

    Skor asosiasi

    Makin sering sepasang muncul bersama dan makin jarang masing-masing muncul sendiri, makin kuat hubungannya dianggap.

    Teknis

    PMI atas frekuensi terbobot; Final Score = PMI · log(1+frekuensi); Confidence = sigmoid.

  10. 4.1

    Relasi lanjutan dan saringan makna

    Di sinilah bedanya. Susunan kalimat diperiksa: apakah obatnya benar yang menyebabkan, apakah kalimatnya menyangkal, apakah obat justru dipakai mengatasi efek itu, dan apakah efeknya sebenarnya milik obat lain di kalimat yang sama.

    Teknis

    Dependency parsing spaCy dengan fallback ko-okurensi kausal. Penolakan tercatat: NO_CAUSAL_SIGNAL, NON_ADVERSE_CONTEXT, DISTANCE_EXCEEDED, atribusi ke obat lain.

  11. 4.1b

    Gerbang frekuensi

    Sebuah pasangan baru masuk matriks operasional kalau muncul minimal dua kali di seluruh korpus.

    Teknis

    `advanced_min_pair_frequency = 2`. Menurunkannya ke 1 menaikkan recall 0,800→0,933 tetapi menurunkan precision 0,632→0,538.

Yang situs ini tidak bisa lakukan

Tiga keterbatasan yang harus dinyatakan

1. Gerbang frekuensi bersifat tingkat korpus

Matriks operasional menuntut sebuah pasangan muncul minimal dua kali di seluruh 405 artikel. Satu dokumen yang diunggah nyaris tidak pernah memenuhinya sendirian, jadi angka “lolos gerbang” pada simulasi bukan penilaian apakah pasangan itu layak masuk matriks.

2. Vokabulari perbaikan kata berasal dari korpus

Penyatuan kata yang terpotong (“consti pation” → “constipation”) memakai daftar kata yang dibangun dari 137.906 kalimat korpus penelitian. Dokumen di luar korpus karena itu berperilaku sedikit berbeda dari seandainya dokumen itu memang bagian korpus. Ini batas struktural, bukan sesuatu yang bisa diukur habis.

3. Dua rezim numerik, terukur nol selisih

Angka artikel dihitung dengan GPU fp16; situs ini berjalan dengan CPU fp32. Keduanya diuji pada tiga sumbu terpisah — kesetiaan ekstraksi (GPU), presisi (CPU), dan komposisi batch — dan ketiganya menghasilkan nol selisih pada 211 pasangan jalur lanjutan dan 333 pasangan jalur dasar. Jadi yang tampil di sini bukan mendekati angka artikel, melainkan angka yang sama.