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.
- 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
Ekstraksi teks PDF
PDF diubah jadi teks biasa, halaman demi halaman.
Teknis
PyMuPDF, `page.get_text('text')` digabung antar halaman.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.