- Penanganan deklinasi nama orang bahasa Islandia berubah menjadi empat bentuk tergantung pada konteks
- Mengembangkan fitur dengan pustaka JavaScript berbasis data untuk mengembalikan kasus gramatikal yang tepat pada nama yang dimasukkan
- Menyimpan semua nama secara langsung menimbulkan peningkatan ukuran dan masalah kelangkaan data, sehingga diselesaikan dengan struktur trie dan teknik kompresi
- Berkat kompresi trie, inferensi otomatis berbasis pola umum memungkinkan cakupan lebih dari 80% data dengan basis data yang sangat kecil
- Pada skenario biasa mencapai akurasi di atas 74%, dan untuk sektor publik serta kasus yang menuntut ketelitian tinggi disediakan versi strict terpisah
Latar Belakang Masalah
- Pada antarmuka berbahasa Islandia, menampilkan nama orang menghadapi tantangan karena deklinasi
- Nama dalam bahasa Islandia memiliki bentuk berbeda berdasarkan empat kasus gramatikal: nominatif, akusatif, datif, dan genitif
- Basis data biasanya menyimpan nama dalam bentuk nominatif, sehingga saat konteks memerlukan kasus lain menjadi sulit
- Penggunaan bentuk yang tidak tepat membuat terlihat tidak natural bagi penutur asli
Pengumpulan dan Pembersihan Data
- Islandia membuka data DIM (Database of Icelandic Morphology) yang dikelola oleh Árnastofnun
- Data deklinasi nama dapat diproses menjadi CSV dengan Kristín’s Format (K-format)
- Meskipun seluruh data DIM berjumlah 7 juta baris dan sangat besar, setelah memfilter nama pribadi resmi yang disetujui (4.500 nama) data deklinasi dapat diperoleh untuk lebih dari 3.600 nama
- Untuk setiap nama dapat disusun array bentuk dari nominatif hingga genitif
Struktur Dasar Pustaka
- Implementasi awal dimulai dari fungsi applyCase yang mengembalikan bentuk tepat dari array nama~perubahan kasus
- Namun, pemuatan berbasis array sederhana menghasilkan ukuran besar (30kB gzip)
- Ada keterbatasan bahwa nama yang tidak termasuk dalam data tidak bisa ditangani
Penghapusan Duplikasi dan Ekstraksi Pola
- Mengekstrak awalan umum di antara empat bentuk nama lalu menyimpan hanya himpunan sufiks (suffix encoding) untuk meminimalkan duplikasi
- Ditemukan banyak nama yang mengikuti pola deklinasi yang sama
Penerapan Trie untuk Pencocokan Pola
- Melalui struktur trie (penyisipan terbalik berbasis sufiks), memetakan nilai untuk grup nama yang berbagi pola serupa menjadi lebih optimal
- Menyimpan informasi deklinasi satu kali di bawah pola bersama (akhiran nama) sehingga prediksi untuk nama baru tetap tinggi
Kompresi dan Optimisasi Trie
- Jika nilai pada setiap leaf subpohon sama, nilai tersebut dialokasikan ke node induk dan anak-anak dihapus untuk mengompresi pohon
- Hasilnya, jumlah node berkurang hingga 15,4% dan ukuran menyusut menjadi 4,01kB
- Leaf saudara yang memiliki nilai sama digabung menjadi satu node dalam kompresi tahap kedua, mencapai 3,27kB
Kinerja dan Generalisasi Trie
- Saat ada masukan nama baru, deklinasi otomatis berbasis pola serupa dimungkinkan
- Pada nama yang tidak dikenal, akurasi deklinasi mencapai 74% benar dan 26% salah, sementara tingkat kesalahan pada pengguna nyata hanya 0,34%
- Akurasi inferensi meningkat semakin tinggi keteraturan (regularity) dan kelengkapan (comprehensiveness) data
Penerapan dan Distribusi Pustaka Nyata
- Akhirnya, didistribusikan sebagai pustaka beygla yang menggunakan trie terkompresi
- Disediakan dalam ukuran minimum (4,46kB) dan modul strict yang lebih ketat dan lengkap (15kB)
- Versi strict dipilih untuk konteks yang memerlukan akurasi 100% seperti dokumen publik, sedangkan versi ringan cocok untuk web app umum
Kesimpulan dan Potensi Ekstensi
- Kompresi data pola deklinasi bahasa dengan trie berpotensi diterapkan untuk otomatisasi deklinasi nama, alamat, dan nomina lain pada bahasa-bahasa infleksional selain bahasa Islandia
- Kombinasi data dengan tingkat keteraturan tinggi dan kompresi trie menjadi solusi untuk memaksimalkan efisiensi data dan kinerja pada otomatisasi deklinasi isomorfik
Ucapan Terima Kasih
- Pengembangan beygla mencakup banyak umpan balik dari para ahli dan optimisasi
- Kompresi tambahan pada trie mengurangi ukuran dari 3,43kB menjadi 3,27kB
Ringkasan
- Kasus otomatisasi deklinasi nama bahasa Islandia yang dipresentasikan di sini menjadi lebih ringan dan otomatis melalui struktur trie berbasis pola
- Menjadi contoh strategis pengolahan data praktis dengan pertimbangan kompromi ukuran–akurasi yang tepat
Belum ada komentar.