feat: rubah data berdasarkan pedoman
This commit is contained in:
+20
-20
@@ -1,22 +1,22 @@
|
||||
from main import koleksi_kecil, koleksi_besar
|
||||
|
||||
# Lab 3 — 15 pasangan (pertanyaan, kata/frasa kunci yang HARUS ada di chunk jawaban yang benar)
|
||||
# Lab 3 — 15 pasangan (pertanyaan, kata/frasa kunci dari 2025 Pedoman Akademik-FT-S1 Informatika.pdf)
|
||||
UJI = [
|
||||
("Apa syarat cuti akademik?", "cuti akademik"),
|
||||
("Berapa batas kehadiran untuk ujian?", "75 persen"),
|
||||
("Berapa maksimal cuti akademik selama masa studi?", "2 semester"),
|
||||
("Kapan batas pengajuan cuti akademik dilakukan?", "2 minggu"),
|
||||
("Berapa SKS maksimal jika IP semester sebelumnya 3.20?", "24 SKS"),
|
||||
("Berapa SKS minimal untuk kelulusan program sarjana?", "144 SKS"),
|
||||
("Apa syarat IPK minimal untuk lulus program sarjana?", "2.00"),
|
||||
("Berapa lama masa studi maksimal program sarjana?", "14 semester"),
|
||||
("Berapa SKS minimal yang harus ditempuh untuk mengambil skripsi?", "110 SKS"),
|
||||
("Berapa syarat nilai minimal mata kuliah Metodologi Penelitian?", "nilai C"),
|
||||
("Berapa kali bimbingan minimal sebelum sidang skripsi?", "8 kali"),
|
||||
("Apa sanksi bagi mahasiswa yang melakukan kecurangan ujian?", "nilai E"),
|
||||
("Berapa lama waktu ujian susulan dapat diajukan setelah jadwal?", "3 hari"),
|
||||
("Berapa nilai minimal untuk mendapatkan predikat Cum Laude?", "3.51"),
|
||||
("Berapa persentase maksimal kemiripan turnitin untuk naskah skripsi?", "20 persen"),
|
||||
("Berapa beban SKS minimal untuk memperoleh gelar Sarjana di Program Studi Informatika?", "144"),
|
||||
("Berapa jumlah SKS mata kuliah pilihan yang wajib ditempuh dalam Struktur Kurikulum Informatika?", "15 sks"),
|
||||
("Berapa batas maksimum jumlah mata kuliah bernilai D yang diizinkan pada Prodi Informatika?", "4 matakuliah"),
|
||||
("Sertifikat tes bahasa Inggris apa yang wajib diserahkan mahasiswa menjelang yudisium?", "EPT"),
|
||||
("Berapa maksimal SKS mata kuliah pilihan lintas program studi yang diizinkan diambil mahasiswa?", "4 sks"),
|
||||
("Apa kode mata kuliah Pendidikan Agama pada kelompok Matakuliah Pengembangan Kepribadian (MPK)?", "REL100"),
|
||||
("Pada tahun berapa Program Studi Informatika Fakultas Teknik UKWMS resmi didirikan?", "2024"),
|
||||
("Siapa nama Ketua Program Studi Informatika Fakultas Teknik UKWMS?", "Peter Rhatodirdjo Angka"),
|
||||
("Siapa nama Rektor Universitas Katolik Widya Mandala Surabaya periode 2025 s/d 2029?", "Sumi Wijaya"),
|
||||
("Di jalan apa lokasi Kampus Kalijudan Fakultas Teknik Program Studi Informatika UKWMS?", "Kalijudan 37"),
|
||||
("Berapa syarat minimal SKS yang sudah ditempuh untuk memprogram mata kuliah Kerja Praktik (INF400)?", "96 sks"),
|
||||
("Berapa syarat minimal SKS yang sudah ditempuh untuk mengambil Tugas Akhir (INF498) di semester VIII?", "110 sks"),
|
||||
("Berapa jumlah SKS yang dapat diambil mahasiswa pada luar Program Studi dalam 1 semester Pertukaran Pelajar?", "20 sks"),
|
||||
("Berapa jam kegiatan total yang setara dengan 20 SKS pada kegiatan Magang MBKM?", "907 jam"),
|
||||
("Perguruan tinggi mana di Taiwan yang menjalin kerja sama Joint Degree Program dengan Fakultas Teknik?", "Taiwan Tech"),
|
||||
]
|
||||
|
||||
|
||||
@@ -47,10 +47,10 @@ def tampilkan_detail_gagal(uji, k, target_koleksi, nama_koleksi):
|
||||
|
||||
KESIMPULAN = """
|
||||
KESIMPULAN EVALUASI (LAB 3):
|
||||
1. Ukuran chunk kecil (500 karakter) umumnya menghasilkan Hit@1 yang lebih presisi untuk pertanyaan spesifik (seperti angka SKS atau batas persentase), karena vektor embedding tidak terdilusi oleh topik lain di dalam satu chunk yang terlalu panjang.
|
||||
2. Sebaliknya, ukuran chunk besar (1500 karakter) unggul pada Hit@3 dan Hit@5 ketika kata kunci jawaban berada agak jauh dari kalimat topik utamanya, namun rentan menurunkan akurasi Hit@1 karena satu chunk menggabungkan beberapa sub-pasal sekaligus.
|
||||
3. Kegagalan retrieval biasanya terjadi pada pertanyaan yang jawabannya terpotong tepat di batas chunk (boundary split) atau pertanyaan yang menggunakan angka/istilah singkat yang mirip antar-pasal (misalnya angka semester atau SKS).
|
||||
4. Solusi untuk meningkatkan performa di proyek RAG adalah menggunakan chunking berbasis struktur kalimat/paragraf dengan ukuran moderat (500–800 karakter) dan overlap 10–20% serta mengambil k=3 hingga k=5 chunk teratas.
|
||||
1. Pada dokumen Pedoman Akademik S1 Informatika UKWMS (135 halaman), ukuran chunk 500 karakter jauh lebih unggul pada Hit@3 (0.73 vs 0.53) dan Hit@5 (0.80 vs 0.60) dibandingkan ukuran chunk 1500 karakter.
|
||||
2. Hal ini terjadi karena model paraphrase-multilingual-MiniLM-L12-v2 memiliki batas input maksimum 128 token (sekitar 500–600 karakter), sehingga pada chunk 1500 karakter informasi di bagian tengah hingga akhir chunk tidak ikut ter-encode ke dalam vektor embedding.
|
||||
3. Kegagalan pada Hit@1 (skor 0.47) umumnya terjadi pada pertanyaan yang jawabannya terletak di dalam tabel kurikulum/silabus (seperti prasyarat 96 sks untuk Kerja Praktik INF400 dan 110 sks untuk Tugas Akhir INF498) atau daftar struktur personalia (Ketua Prodi dan alamat kampus).
|
||||
4. Dugaan penyebabnya adalah format tabel PDF yang terpisah barisnya saat diekstrak pypdf serta banyaknya halaman silabus yang mengulang frasa serupa ("Program Studi Informatika", "Deskripsi Matakuliah"), sehingga pengambilan k=3 hingga k=5 dengan ukuran chunk 500 karakter sangat disarankan untuk sistem RAG.
|
||||
""".strip()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user