Membuat mesin pencari full-text dengan 150 baris kode Python
(bart.degoe.de)Artikel yang menjelaskan dasar-dasar mesin pencari langkah demi langkah menggunakan seluruh data judul + ringkasan Wikipedia bahasa Inggris, tanpa teknik yang istimewa
-
Menyiapkan data dengan membuat objek Abstract
-
Membuat indeks: tokenisasi dan pemfilteran
→ huruf kecil
→ stemming
→ mengecualikan 25 kata yang paling sering digunakan dalam bahasa Inggris (the, be, to, of, a..)
-
Membuat pencarian dasar
-
Menambahkan fitur relevansi: Term Frequency (seberapa sering kata tersebut digunakan dalam ringkasan)
-
Menambahkan Inverse Document Frequency: jumlah dokumen lain yang terhubung ke dokumen ini
1 komentar
Pencarian fuzzy string yang juga mendukung pencarian konsonan awal Hangul https://id.news.hada.io/topic?id=3631
Tulisan ini sama sekali berbeda dari sisi dasar teknis maupun implementasinya, tetapi karena menjelaskan bagian-bagian dasarnya secara rinci langkah demi langkah, saya membacanya dengan cukup menarik.
Ada beberapa library Python yang mengimplementasikan fitur terkait seperti pencarian full-text/pemodelan topik/pengindeksan dokumen/kemiripan dengan lebih serius.
Whoosh : https://pypi.org/project/Whoosh/
GenSim : https://github.com/RaRe-Technologies/gensim
SQLite memiliki ekstensi Full-Text-Search tersendiri.