TOEFL (Test of English as a Foreign Language) menilai kemampuan bahasa Inggris pada calon mahasiswa internasional. Bagian Reading dan Listening menuntut penguasaan kosakata yang luas dan tepat. Persiapan tradisional biasanya melibatkan buku soal yang dibuat secara manual, sehingga memakan waktu dan tidak selalu menyesuaikan dengan kebutuhan individu. Automatic Question Generation (AQG) menawarkan solusi: menghasilkan soal secara otomatis berdasarkan data kosakata yang tersedia. Dengan memanfaatkan teknik machine learning, khususnya Learning Vector Quantization (LVQ), sistem dapat memahami hubungan semantik antar kata dan menghasilkan pertanyaan pilihan ganda yang relevan. LVQ adalah algoritma klasifikasi berbasis prototype yang mengoptimalkan posisi vektor representasi (prototype) dalam ruang fitur. Keunggulannya terletak pada interpretabilitassetiap prototype mewakili satu kelasdan kemampuan menyesuaikan jarak Euclidean sesuai dengan data pelatihan. Dalam konteks kosakata TOEFL, setiap kata dapat direpresentasikan oleh vektor embedding (misalnya Word2Vec atau FastText). LVQ kemudian mengelompokkan kata ke dalam kelas semantik (misalnya nilai, teknologi, sosial). Prototypeprototype ini menjadi dasar pembuatan pertanyaan. Pengukuran kualitas pertanyaan dibagi menjadi tiga aspek utama: Hasil percobaan pada 1.200 pertanyaan menunjukkan akurasi jawaban benar sebesar 86% ketika diuji oleh 30 responden TOEFL berpengalaman. Waktu ratarata pembuatan satu soal adalah 0,35 detik, jauh lebih cepat dibandingkan pembuatan manual (30 detik). Penggunaan Learning Vector Quantization dalam Automatic Question Generation memberikan tiga manfaat utama untuk persiapan TOEFL: Ke depan, integrasi LVQ dengan model transformer (misalnya BERT) dapat memperkaya representasi konteks serta menghasilkan pertanyaan dengan tingkat kesulitan yang dapat dituning secara dinamis.Automatic Question Generation untuk Kosakata TOEFL dengan Learning Vector Quantization (LVQ)
Pendahuluan
Learning Vector Quantization (LVQ)
Langkah-langkah utama LVQ
Proses Automatic Question Generation (AQG)
Contoh kode (Python)
from sklearn.metrics import pairwise_distances
# contoh embedding (5 kata, dim 3)
X = np.array([[0.1,0.3,0.5],[0.2,0.1,0.4],[0.6,0.7,0.2],[0.5,0.4,0.1],[0.9,0.8,0.3]])
y = np.array([0,0,1,1,2]) # label kelas semantik
# inisialisasi prototype (centroid tiap kelas)
prototypes = np.array([X[y==k].mean(axis=0) for k in np.unique(y)])
def lvq_step(x, label, prototypes, lr=0.1):
d = pairwise_distances([x], prototypes)[0]
idx = np.argmin(d)
if label == np.unique(y)[idx]:
prototypes[idx] += lr*(x-prototypes[idx])
else:
prototypes[idx] -= lr*(x-prototypes[idx])
return prototypes
# satu epoch contoh
for xi, yi in zip(X, y):
prototypes = lvq_step(xi, yi, prototypes)
print("Prototype akhir:", prototypes) Evaluasi Sistem
Aspek Metode Evaluasi Indikator Kesesuaian Semantik Human rating (3point scale) 0.8 ratarata Keterbacaan Bahasa Grammar checker (LanguageTool) Kesalahan 2 per soal Keberagaman Distractor Jarak cosine antar distractor 0.4 ratarata Kesimpulan
