IsonSearch, mesin pencari kami untuk web Indonesia, kini menemukan halaman berdasarkan makna sekaligus kata kunci. Pertanyaan yang disampaikan dalam bahasa Indonesia sehari-hari dapat mengarah ke halaman tepercaya yang ditulis dengan bahasa administrasi formal, meskipun keduanya hampir tidak menggunakan kata yang sama.
Catatan ini menjelaskan cara kerjanya dan dampaknya terhadap IsonAI, asisten yang menggunakan index tersebut sebagai sumber landasan untuk jawabannya.
Mengapa kata kunci saja tidak cukup
Pencarian klasik mencocokkan kata, bukan makna. Cara ini bekerja baik ketika kueri menggunakan kosakata yang sama dengan halaman yang semestinya ditemukan. Untuk bahasa Indonesia, asumsi ini terlalu sering meleset.
Orang bertanya dengan bahasa sehari-hari, sedangkan halaman tepercaya ditulis dalam bahasa administrasi formal. Seseorang mengetik "cara ngurus KTP hilang". Halaman pemerintah yang benar-benar menjawab pertanyaan itu mungkin menggunakan frasa seperti "prosedur penerbitan KTP-el karena hilang". Maksudnya sama, tetapi hampir tidak ada kata yang sama. Akibatnya, mesin pencari berbasis kata kunci dapat sama sekali melewatkan sumber terbaik.
Perbedaan ragam bahasa bukan satu-satunya kendala. Teks Indonesia kerap mencampurkan sinonim dan kata serapan (daring berdampingan dengan online, unggah dengan upload), banyak menggunakan singkatan (BPJS, SIM, NPWP, pemda), memiliki variasi istilah antardaerah, dan sering diketik dengan ejaan santai.
Bagi manusia, ini hanya gangguan kecil. Kita dapat menyusun ulang pertanyaan lalu mencari lagi. Asisten AI yang mengambil bukti dalam satu kesempatan tidak memiliki peluang kedua itu. Sumber yang terlewat pun menghasilkan jawaban yang lebih lemah.
Retrieval berdasarkan makna, berdampingan dengan kata kunci
Halaman dalam index IsonSearch kini juga memiliki representasi vektor, yaitu embedding yang menangkap topik halaman tersebut. Embedding ini dihasilkan oleh model AI yang kami jalankan pada perangkat keras milik sendiri.
Kueri diubah menjadi embedding dengan cara yang sama. Mesin kemudian mencari halaman dengan vektor yang paling dekat dengan vektor kueri melalui pencarian k-nearest-neighbor (KNN). Jarak dalam ruang tersebut mengikuti makna, bukan ejaan. Inilah yang dibutuhkan oleh contoh di atas. Pertanyaan sehari-hari dan halaman berbahasa formal akan berdekatan karena membahas hal yang sama.
Hasil berbasis makna tidak menggantikan hasil berbasis kata kunci. Keduanya digabungkan. Pencocokan leksikal tetap presisi pada bidang yang menjadi kekuatannya, seperti nama, angka, dan frasa persis. Sisi semantik menambah cakupan ketika kata kunci gagal, misalnya pada parafrasa dan perbedaan ragam bahasa.
Kurasi tetap diterapkan di atas keduanya. Tingkat kualitas sumber menempatkan situs pemerintah, media mapan, dan sumber akademik di atas web umum. Penyaringan oleh IsonSearch Curator menentukan sumber mana yang dapat masuk ke peringkat. Pencarian semantik memperluas apa yang dapat kami temukan. Kurasi menjaga agar hasil yang kami berikan tetap dapat dipercaya. Lapisan tersebut kami jelaskan dalam Mengkurasi web Indonesia untuk AI.
Menjalankannya pada perangkat keras milik sendiri
Index ini mencakup jutaan halaman Indonesia yang telah dikurasi. Bagian tersulit dari pekerjaan ini adalah menyimpan satu vektor untuk setiap halaman dan menelusuri seluruh vektor tersebut dengan cepat karena semuanya kami jalankan pada mesin milik sendiri di Jakarta. Kami tidak bersedia menyewa database vektor di cloud milik pihak lain. Index dan kueri tetap berada di dalam negeri.
Rancangan yang memungkinkan sistem ini berjalan memiliki dua bagian. Pertama, vektor disimpan dalam bentuk ringkas. Kedua, pencarian dilakukan dalam dua tahap: pemindaian awal yang cepat atas vektor ringkas menghasilkan daftar pendek, lalu tahap kedua yang presisi menilai ulang daftar tersebut. Jalan pintas ini hanya berguna jika tidak mengubah hasil yang dilihat pengguna. Karena itu, sebelum mengoperasikannya, kami membandingkan pencarian dua tahap dengan pencarian eksak menggunakan kueri nyata dan memastikan bahwa hasilnya tetap konsisten dalam praktik.
Kebaruan ditangani saat ingest. Halaman baru menerima vektornya ketika masuk ke index, sehingga pencarian berbasis makna tetap sama mutakhirnya dengan proses perayapan.
Dampaknya terhadap IsonAI
IsonSearch menjadi sumber landasan bagi IsonAI. Ketika seseorang bertanya kepada asisten tentang topik Indonesia, IsonAI mengambil bukti dari index dan menyertakan sitasinya.
Setelah semantic retrieval dioperasikan, pertanyaan dengan bahasa sehari-hari kini dapat mengarah ke halaman tepercaya yang menggunakan bahasa formal. Dalam praktiknya, lebih sedikit sumber lokal yang terlewat dan jawaban memiliki landasan yang lebih baik, lengkap dengan sitasi menuju halaman Indonesia yang sebenarnya.
Semantic retrieval merupakan salah satu komponen pemeringkatan, bukan keseluruhan sistem. Komponen ini bekerja bersama bagian retrieval lainnya, termasuk sinyal kebaruan dan tingkat kualitas yang dijelaskan di atas. Sistem tersebut kini berjalan di lingkungan produksi dan melayani IsonSearch maupun IsonAI.
Kondisi saat ini
Retrieval berbasis makna telah beroperasi dan terus disempurnakan. Embedding, perpaduan antara pemeringkatan leksikal dan semantik, serta evaluasi yang mendasarinya masih terus disesuaikan.
IsonSearch diperkenalkan dalam Memperkenalkan IsonSearch. Catatan pendamping yang lebih singkat tentang fitur ini tersedia di IsonSearch kini mencari berdasarkan makna. Pertanyaan dan permintaan terkait riset dapat dikirim ke research@epithre.com.
