Pencarian Semantik Dengan Vektor

Pencarian Semantik Dengan Vektor

Jika Anda mengikuti berita terbaru dalam pencarian, Anda mungkin pernah mendengar tentang pencarian vektor.

Dan Anda bahkan mungkin sudah mulai menggali topik untuk mencoba mempelajari lebih lanjut tentangnya, hanya untuk keluar dari ujung yang lain bingung. Bukankah kamu meninggalkan matematika itu di perguruan tinggi?

Membangun pencarian vektor itu sulit. Memahami itu tidak harus.

Dan memahami bahwa pencarian vektor bukanlah masa depan, pencarian hibrida adalah – itu sama pentingnya.

Apa Itu Vektor?

Ketika kita berbicara tentang vektor dalam konteks pembelajaran mesin, yang kita maksud adalah ini: Vektor adalah kelompok angka yang mewakili sesuatu.

Benda itu bisa berupa gambar, kata, atau hampir apa saja.

Pertanyaannya, tentu saja, adalah mengapa vektor-vektor itu berguna dan bagaimana mereka dibuat.

Mari kita lihat dulu dari mana vektor-vektor itu berasal. Jawaban singkatnya: Pembelajaran mesin.

Jay Alammar mungkin memiliki posting blog terbaik yang pernah ditulis apa itu vektor?.

Sebagai ringkasan, bagaimanapun, model pembelajaran mesin memasukkan item (mari kita asumsikan hanya kata-kata mulai sekarang) dan mencoba mencari formula terbaik untuk memprediksi sesuatu yang lain.

Misalnya, Anda mungkin memiliki model yang menggunakan kata “lebah”, dan model tersebut mencoba mencari formula terbaik yang akan secara akurat memprediksi bahwa “lebah” terlihat dalam konteks yang sama sebagai “serangga” dan “tawon”.

Setelah model itu memiliki formula terbaik, ia dapat mengubah kata “lebah” menjadi sekelompok angka yang kebetulan mirip dengan kelompok angka untuk “serangga” dan “tawon.”

Mengapa Vektor Sangat Kuat

Vektor sangat kuat karena alasan ini: Model bahasa besar seperti Generative Pre-trained Transformer 3 (GPT-3) atau dari Google memperhitungkan miliaran kata dan kalimat, sehingga mereka dapat mulai membuat koneksi ini dan menjadi sangat cerdas.

Sangat mudah untuk memahami mengapa orang begitu bersemangat untuk menerapkan kecerdasan itu untuk melakukan pencarian.

Beberapa bahkan mengatakan bahwa pencarian vektor akan menggantikan pencarian kata kunci kami telah dikenal dan dicintai selama beberapa dekade.

Masalahnya, pencarian vektor itu tidak menggantikan pencarian kata kunci secara keseluruhan. Untuk berpikir bahwa pencarian kata kunci tidak akan mempertahankan nilai yang sangat besar menempatkan terlalu banyak optimisme pada yang baru dan berkilau.

Pencarian vektor dan pencarian kata kunci masing-masing memiliki kekuatannya sendiri, dan keduanya bekerja paling baik saat bekerja sama.

Pencarian Vektor Untuk Pertanyaan Ekor Panjang

Jika Anda bekerja dalam pencarian, Anda mungkin sangat akrab dengan ekor panjang kueri.

Konsep ini, dipopulerkan oleh Chris Anderson untuk menggambarkan konten digitalmengatakan bahwa ada beberapa item (untuk kueri penelusuran) yang jauh lebih populer daripada yang lainnya, tetapi ada banyak item individual yang masih diinginkan oleh seseorang.

Begitu pula dengan pencarian.

Beberapa kueri (juga disebut kueri “kepala”) masing-masing banyak dicari, tetapi sebagian besar kueri ditelusuri sangat sedikit – bahkan mungkin hanya satu kali.

Angka akan berbeda dari satu situs ke situs lainnya, tetapi di situs rata-rata, sekitar sepertiga dari total penelusuran mungkin berasal dari hanya beberapa lusin kueri, sementara hampir setengah volume penelusuran berasal dari kueri yang berada di luar 1.000 kueri paling populer.

Kueri ekor panjang cenderung lebih panjang, dan bahkan mungkin kueri bahasa alami.

Penelitian dari perusahaan saya Algolia menunjukkan bahwa 75% kueri adalah dua kata atau lebih sedikit. 90% kueri terdiri dari empat kata atau kurang. Kemudian, untuk mendapatkan 99% kueri, Anda memerlukan 13 kata!

Namun, mereka tidak selalu panjang, mereka bisa saja tidak jelas. Untuk situs web mode wanita, “gaun ungu muda” bisa menjadi pertanyaan panjang karena orang tidak terlalu sering meminta warna itu. “Gelang” mungkin juga merupakan pertanyaan yang jarang terlihat, bahkan jika situs web tersebut memang memiliki gelang untuk dijual.

Pencarian vektor umumnya berfungsi dengan baik untuk kueri ekor panjang. Dapat dipahami bahwa gelang mirip dengan gelang, dan memunculkan gelang bahkan tanpa pengaturan sinonim. Itu bisa menunjukkan gaun merah muda atau ungu ketika seseorang mencari sesuatu dalam warna ungu muda.

Pencarian vektor bahkan dapat bekerja dengan baik untuk kueri bahasa yang panjang atau alami. “Sesuatu untuk membuat minuman saya tetap dingin” akan memunculkan lemari es dalam pencarian vektor yang disetel dengan baik, sedangkan, dengan pencarian kata kunci, Anda lebih baik berharap bahwa teks ada di suatu tempat dalam deskripsi produk.

Dengan kata lain, pencarian vektor meningkatkan ingatan hasil pencarian, atau berapa banyak hasil yang ditemukan.

Cara Kerja Pencarian Vektor

Pencarian vektor melakukan ini dengan mengambil kelompok angka yang kami jelaskan di atas dan meminta mesin pencari vektor bertanya, “Jika saya harus membuat grafik kelompok angka ini sebagai garis, mana yang paling dekat satu sama lain?”

Cara mudah untuk mengkonseptualisasikan ini adalah dengan memikirkan grup yang hanya memiliki dua angka. Grup [1,2] akan lebih dekat dengan grup [2,2] daripada itu ke grup [2,500].

(Tentu saja, karena vektor memiliki lusinan angka di dalamnya, mereka sedang “digambarkan” dalam lusinan dimensi, yang tidak begitu mudah untuk divisualisasikan.)

Pendekatan untuk menentukan kesamaan ini sangat kuat karena vektor yang mewakili kata-kata seperti “dokter” dan “obat” akan “digambarkan” jauh lebih mirip daripada kata-kata “dokter” dan “batu”.

Kelemahan Untuk Pencarian Vektor

Namun, ada kerugian untuk pencarian vektor.

Pertama adalah biaya. Semua pembelajaran mesin yang kita bahas di atas? Ini memiliki biaya.

Menyimpan vektor lebih mahal daripada menyimpan indeks pencarian berbasis kata kunci, untuk satu hal. Pencarian pada vektor tersebut juga lebih lambat daripada pencarian kata kunci dalam banyak kasus.

Sekarang, hashing dapat mengurangi kedua masalah ini.

Ya, kami memperkenalkan lebih banyak konsep teknis, tetapi ini adalah konsep lain yang cukup sederhana untuk dipahami dasar-dasarnya.

Hashing melakukan serangkaian langkah untuk mengubah beberapa informasi (seperti string atau angka) menjadi angka, yang memakan lebih sedikit memori daripada informasi aslinya.

Ternyata kita juga bisa menggunakan hashing untuk mengurangi ukuran vektor sambil tetap mempertahankan apa yang membuat vektor berguna: kemampuannya untuk mencocokkan item yang secara konseptual serupa.

Dengan menggunakan hashing, kita dapat membuat pencarian vektor lebih cepat dan membuat vektor menggunakan lebih sedikit ruang secara keseluruhan.

Detailnya sangat teknis, tetapi yang penting adalah memahami bahwa itu mungkin.

Kegunaan Pencarian Kata Kunci yang Berkelanjutan

Ini tidak berarti bahwa pencarian kata kunci tidak tetap berguna! Pencarian kata kunci umumnya lebih cepat daripada pencarian vektor.

Selain itu, lebih mudah untuk memahami mengapa hasil diberi peringkat seperti itu.

Ambil contoh kueri “texas” dan “tejano” dan “state” sebagai pencocokan kata yang potensial. Jelas, “tejano” lebih dekat jika kita melihat perbandingan dari perspektif pencarian kata kunci murni. Namun, tidak mudah untuk mengetahui mana yang lebih dekat dari pendekatan pencarian vektor.

Pencarian berbasis kata kunci memahami “texas” sebagai lebih mirip dengan “tejano” karena menggunakan pendekatan berbasis tekstual untuk menemukan catatan.

Jika rekaman berisi kata-kata yang persis sama dengan apa yang ada dalam kueri (atau dalam tingkat perbedaan tertentu untuk memperhitungkan kesalahan ketik), maka rekaman dianggap relevan dan kembali ke kumpulan hasil.

Dengan kata lain, pencarian kata kunci berfokus pada ketepatan hasil pencarian, atau memastikan bahwa catatan yang kembali relevan, meskipun jumlahnya lebih sedikit.

Pencarian Kata Kunci Sebagai Bermanfaat Untuk Pertanyaan Kepala

Karena alasan ini, pencarian kata kunci berkinerja sangat baik untuk kueri utama: kueri yang paling populer.

Kueri kepala cenderung lebih pendek, dan juga lebih mudah untuk dioptimalkan. Itu berarti bahwa jika, untuk alasan apa pun, kata kunci tidak cocok dengan teks yang tepat di dalam catatan, kata kunci itu sering tertangkap melalui analitik, dan Anda dapat menambahkan sinonim.

Karena pencarian kata kunci berfungsi paling baik untuk kueri kepala dan pencarian vektor bekerja paling baik untuk kueri ekor panjang, keduanya bekerja paling baik secara bersamaan.

Ini dikenal sebagai pencarian hibrida.

Pencarian hibrid adalah ketika mesin pencari menggunakan pencarian kata kunci dan vektor untuk satu kueri dan memberi peringkat catatan dengan benar, apa pun pendekatan pencarian yang menghasilkannya.

Rekor Peringkat Di Seluruh Sumber Pencarian

Catatan pemeringkatan yang berasal dari dua sumber berbeda memang tidak mudah.

Kedua pendekatan ini, menurut sifatnya, memiliki cara yang berbeda untuk mencetak rekor.

Pencarian vektor akan mengembalikan skor, sementara beberapa mesin berbasis kata kunci tidak. Bahkan jika mesin berbasis kata kunci memberikan skor, tidak ada jaminan bahwa kedua skor tersebut setara.

Jika skornya tidak setara, maka Anda tidak dapat mengatakan bahwa skor 0,8 dari mesin kata kunci lebih relevan daripada skor 0,79 dari mesin vektor.

Alternatif lain adalah menjalankan semua hasil melalui penilaian mesin vektor atau mesin kata kunci.

Ini memiliki keuntungan mendapatkan penarikan ekstra dari mesin vektor, tetapi memiliki beberapa kelemahan juga. Hasil penarikan ekstra yang berasal dari mesin vektor tidak akan dinilai relevan dari skor kata kunci, atau hasil tersebut akan muncul di kumpulan hasil.

Anda juga dapat menjalankan semua hasil – kata kunci atau lainnya – melalui penilaian vektor, tetapi ini lambat dan mahal.

Pencarian Vektor Sebagai Pengganti

Itu sebabnya beberapa mesin pencari bahkan tidak mencoba untuk memadukan keduanya, tetapi akan selalu menampilkan hasil kata kunci terlebih dahulu, dan kemudian hasil vektor kedua.

Pemikiran di sini adalah bahwa jika pencarian mengembalikan nol atau sedikit hasil, maka Anda dapat kembali ke hasil vektor.

Ingat, pencarian vektor diarahkan untuk meningkatkan ingatan atau menemukan lebih banyak hasil, sehingga mungkin menemukan hasil yang relevan yang tidak ditemukan oleh pencarian kata kunci.

Ini adalah pengganti yang layak tetapi bukan masa depan pencarian hibrida sejati.

Pencarian hibrid sejati akan memberi peringkat pada beberapa sumber pencarian yang berbeda dalam kumpulan hasil yang sama dengan membuat skor yang dapat dibandingkan di berbagai sumber yang berbeda.

Ada banyak penelitian tentang pendekatan ini hari ini, tetapi hanya sedikit yang melakukannya dengan baik dan menyediakan mesin mereka secara publik.

Jadi apa artinya ini bagi Anda?

Saat ini, hal terbaik yang dapat Anda lakukan mungkin adalah duduk diam dan tetap mengikuti perkembangan terkini tentang apa yang terjadi di industri ini.

Pencarian hibrida berbasis vektor dan kata kunci akan datang di tahun-tahun mendatang, dan akan tersedia untuk orang-orang tanpa tim ilmu data.

Sementara itu, pencarian kata kunci masih berharga dan hanya akan ditingkatkan ketika pencarian vektor dibawa nanti.

Lebih banyak sumber daya:


Gambar Unggulan: pluie_r/Shutterstock

Share

Leave a Reply

Your email address will not be published. Required fields are marked *