Beranda Topics Pencarian Vektor Apa itu pencarian vektor?
Jelajahi solusi pencarian vektor IBM Daftar untuk mendapatkan pembaruan AI
Ilustrasi dengan kolase piktogram awan, diagram lingkaran, piktogram grafik

Diterbitkan: 6 Juni 2024
Kontributor: Meredith Syed, Erika Russi

Apa itu pencarian vektor?

Pencarian vektor adalah teknik pencarian yang digunakan untuk menemukan item atau titik data serupa, biasanya direpresentasikan sebagai vektor, dalam koleksi besar. Vektor, atau penyematan, adalah representasi numerik dari kata, entitas, dokumen, gambar atau video. Vektorkan menangkap hubungan semantik antara elemen, memungkinkan pemrosesan yang efektif oleh model machine learning dan aplikasi kecerdasan buatan. 

Pencarian vektor vs. pencarian tradisional

Berbeda dengan pencarian tradisional, yang biasanya menggunakan pencarian kata kunci, pencarian vektor bergantung pada teknik pencarian kesamaan vektor seperti pencarian k-nearest neighbor (knn) untuk mengambil titik data yang mirip dengan vektor kueri berdasarkan beberapa metrik jarak. Vektor menangkap hubungan semantik dan kesamaan antara titik data, memungkinkan pencarian semantik alih-alih pencarian kata kunci sederhana.

Untuk mengilustrasikan perbedaan antara kata kunci tradisional dan pencarian vektor, mari kita lihat sebuah contoh. Katakanlah Anda sedang mencari informasi tentang restoran pizza terbaik dan Anda mencari "restoran pizza terbaik" di mesin pencari kata kunci tradisional. Pencarian kata kunci mencari halaman yang mengandung kata "terbaik", "pizza", dan "restoran" dan hanya memberikan hasil seperti "Restoran Pizza Terbaik" atau "Restoran Pizza di dekat saya". Pencarian kata kunci tradisional berfokus pada pencocokan kata kunci daripada memahami konteks atau maksud di balik pencarian.

Sebaliknya, dalam pencarian vektor semantik, mesin pencari memahami maksud di balik kueri. Semantik, menurut definisi, berarti berkaitan dengan makna dalam bahasa, yaitu pencarian semantik memahami makna dan konteks kueri. Dalam hal ini, pencarian vektor akan mencari konten yang membahas tentang tempat pizza dengan peringkat teratas atau sangat direkomendasikan, meskipun kata-kata yang tepat "restoran pizza terbaik" tidak digunakan dalam konten tersebut. Hasilnya lebih relevan secara kontekstual dan mungkin termasuk artikel atau panduan yang membahas tempat pizza berkualitas tinggi di berbagai lokasi.

Cara pencarian tradisional biasanya mewakili data menggunakan token atau ciri-ciri diskrit, seperti kata kunci, tag, atau metadata. Seperti yang ditunjukkan dalam contoh kami di atas, metode ini bergantung pada kecocokan yang tepat untuk mengambil hasil yang relevan. Selain itu, pencarian vektor merepresentasikan data sebagai vektor padat (yaitu vektor di mana sebagian besar atau semua elemennya bukan nol) dalam ruang vektor berkelanjutan, yaitu ruang matematis di mana data direpresentasikan sebagai vektor. Setiap dimensi vektor padat sesuai dengan fitur laten atau aspek data, yaitu karakteristik atau atribut yang mendasari yang tidak diamati secara langsung, tetapi disimpulkan dari data melalui model atau algoritma matematika. Fitur laten ini menangkap pola dan hubungan tersembunyi dalam data, memungkinkan representasi item yang lebih bermakna dan akurat sebagai vektor dalam ruang dimensi tinggi.

 

Metode pencarian tradisional mungkin mengalami kesulitan dalam hal skalabilitas untuk kumpulan data besar atau data berdimensi tinggi karena keterbatasan komputasi dan memori. Sebaliknya, penyematan vektor lebih mudah untuk diskalakan ke kumpulan data yang lebih besar dan model yang lebih kompleks. Tidak seperti representasi data yang jarang di mana sebagian besar nilainya nol di seluruh dimensi, penyematan adalah representasi vektor padat yang memiliki nilai non-nol di sebagian besar dimensi. Hal ini memungkinkan penyematan vektor untuk menyimpan lebih banyak informasi dalam ruang yang lebih kecil dan berdimensi lebih rendah, sehingga membutuhkan lebih sedikit memori.1 Akibatnya, algoritma dan model machine learning dapat menggunakan penyematan lebih efisien dengan sumber daya komputasi yang lebih sedikit.

Cara memilih model dasar AI yang tepat

Gunakan kerangka kerja pemilihan model ini untuk memilih model yang paling tepat sambil menyeimbangkan kebutuhan kinerja Anda dengan biaya, risiko, dan kebutuhan penerapan.

Konten terkait

Daftar untuk mendapatkan buku elektronik di penyimpanan data AI

Proses vektorisasi

Untuk penjelasan ini, kami akan berfokus pada representasi vektor yang dapat diterapkan dalam pemrosesan bahasa alami (NLP), yaitu vektor yang merepresentasikan kata, entitas, atau dokumen.

Kami akan mengilustrasikan proses vektorisasi dengan memvektorisasi sebuah korpus kecil kalimat dalam bahasa Inggris: "the cat sat on the mat”, “the dog played in the yard”, dan “birds chirped in the trees”".

Langkah pertama untuk membangun penyematan vektor adalah membersihkan dan memproses kumpulan data mentah. Ini mungkin melibatkan penghapusan kebisingan dan standardisasi teks. Untuk contoh kami, kami tidak akan melakukan pembersihan apa pun karena teks sudah dibersihkan dan distandardisasi.

Berikutnya, model penyematan dipilih untuk dilatih pada kumpulan data. Model penyematan yang terlatih digunakan untuk menghasilkan penyematan untuk setiap titik data dalam kumpulan data. Untuk data teks, model penyematan sumber terbuka yang populer meliputi Word2Vec, GloVe, FastText atau model berbasis transformator terlatih seperti BERT atau RoBERTa2.

Sebagai contoh kita, kita akan menggunakan Word2Vec untuk menghasilkan penyematan kita.

 

Selanjutnya, penyematan disimpan dalam basis data vektor atau plugin pencarian vektor untuk mesin pencari, seperti Elasticsearch, digunakan. Dalam pencarian vektor, relevansi hasil pencarian ditetapkan dengan menilai kesamaan antara vektor kueri, yang dihasilkan oleh vektorisasi kueri, dan vektor dokumen, yang merupakan representasi data yang ditanyakan. Indeks perlu dibuat dalam basis data vektor untuk memungkinkan pengambilan penyematan yang cepat dan efisien berdasarkan kueri yang serupa. Teknik seperti hierarchical navigable small world (HNSW) dapat digunakan untuk mengindeks penyematan dan memfasilitasi pencarian kemiripan pada waktu kueri. HNSW mengatur kumpulan data dan memungkinkan pencarian cepat untuk tetangga terdekat dengan mengelompokkan vektor-vektor yang serupa selama proses konstruksi indeks.

Terakhir, mekanisme atau prosedur untuk menghasilkan vektor untuk kueri baru harus ditetapkan. Hal ini biasanya melibatkan pembuatan API atau layanan yang menerima kueri penelusuran pengguna sebagai masukan secara real-time, memprosesnya menggunakan model vektor yang sama, dan menghasilkan representasi vektor yang sesuai. Vektor ini kemudian dapat digunakan untuk mencari di basis data untuk mendapatkan hasil yang paling relevan.

Menemukan kesamaan dengan pengukuran jarak dan algoritma ANN

Dalam pencarian vektor, relevansi ditentukan dengan mengukur kesamaan antara kueri dan vektor dokumen. Untuk membandingkan dua vektor satu sama lain dan menentukan kemiripannya, beberapa pengukuran jarak dapat digunakan, seperti jarak Euclidean atau kemiripan kosinus3.

Jarak Euclidean

Jarak Euclidean adalah ukuran jarak garis lurus antara dua titik. Ini dihitung sebagai akar kuadrat dari jumlah perbedaan kuadrat antara koordinat yang sesuai dari dua titik.

Rumus ini dapat diperluas ke ruang dimensi yang lebih tinggi dengan menambahkan lebih banyak istilah untuk memperhitungkan dimensi tambahan.

Kesamaan kosinus

Kesamaan kosinus adalah ukuran kesamaan antara dua vektor dalam ruang multi-dimensi. Ini menghitung kosinus sudut antara dua vektor, yang mengindikasikan seberapa dekat vektor-vektor tersebut sejajar satu sama lain.

Secara matematis, kesamaan kosinus, cos(θ), antara dua vektor dihitung sebagai perkalian titik kedua vektor dibagi dengan perkalian besarnya.

Kesamaan kosinus berkisar dari -1 hingga 1, di mana: 

  • 1 menunjukkan bahwa vektor sejajar sempurna (menunjuk ke arah yang sama),
  • 0 menunjukkan bahwa vektor ortogonal (tegak lurus satu sama lain) dan
  • -1 menunjukkan bahwa vektor menunjuk ke arah yang berlawanan.

Kesamaan cosinus sangat berguna ketika berhadapan dengan vektor, karena berfokus pada hubungan arah antara vektor dan bukan besarannya.

Approximate-nearest neighbor (ANN)

Meskipun metrik jarak yang disebutkan sebelumnya dapat digunakan untuk mengukur kemiripan vektor, akan menjadi tidak efisien dan lambat untuk membandingkan semua vektor yang mungkin dengan vektor kueri pada waktu pencarian kemiripan. Untuk mengatasinya, kita dapat menggunakan pencarian Approximate-nearest neighbor (ANN).

Alih-alih menemukan kecocokan yang tepat, algoritma ANN secara efisien mencari vektor yang kira-kira paling dekat dengan kueri yang diberikan berdasarkan beberapa metrik jarak seperti jarak Euclidean atau kesamaan kosinus. Dengan memungkinkan beberapa tingkat perkiraan, algoritma ini dapat secara signifikan mengurangi biaya komputasi pencarian tetangga terdekat tanpa perlu menghitung kesamaan penyematan di seluruh korpus.

Salah satu algoritma ANN yang paling populer adalah grafik HNSW. Struktur graf dunia kecil yang dapat dinavigasi secara hirarkis mengindeks kumpulan data dan memfasilitasi pencarian cepat untuk tetangga terdekat dengan mengelompokkan vektor-vektor yang serupa saat membangun indeks. HNSW mengatur data ke dalam lingkungan, menghubungkannya dengan kemungkinan koneksi. Ketika mengindeks vektor padat, HNSW mengidentifikasi lingkungan yang sesuai dan koneksi potensialnya, menyimpannya dalam struktur graf. Selama pencarian HNSW dengan kueri vektor padat, HNSW akan menemukan titik masuk lingkungan yang optimal dan mengembalikan tetangga terdekat.

Aplikasi pencarian vektor

Pencarian vektor memiliki banyak contoh penggunaan di seluruh domain karena kemampuannya untuk mengambil item serupa secara efisien berdasarkan representasi vektornya. Beberapa aplikasi umum pencarian vektor meliputi:

Pencarian informasi

Pencarian vektor digunakan dalam mesin pencari untuk mengambil dokumen, artikel, halaman web, atau konten tekstual lainnya berdasarkan kesamaannya dengan kueri. Hal ini memungkinkan pengguna untuk menemukan informasi relevan bahkan jika istilah yang digunakan dalam kueri tidak ada dalam dokumen.

Retrieval augmented generation (RAG)

Pencarian vektor sangat penting dalam kerangka kerja Retrieval Augmented Generation (RAG) untuk mengambil konteks yang relevan dari korpus teks yang besar. RAG adalah kerangka kerja untuk AI generatif yang menggabungkan pencarian vektor dengan model bahasa generatif untuk menghasilkan respons.

Dalam tugas pembuatan bahasa tradisional, model bahasa besar (LLM) seperti GPT (Generative Pre-trained Transformer) milik OpenAI atau Model Granite IBM digunakan untuk membangun respons berdasarkan prompt input. Namun, model-model ini mungkin sulit untuk menghasilkan tanggapan yang relevan secara kontekstual, akurat secara faktual, atau terkini. RAG mengatasi batasan ini dengan memasukkan langkah pengambilan sebelum pembuatan respons. Selama pencarian, pencarian vektor dapat digunakan untuk mengidentifikasi informasi yang relevan secara kontekstual, seperti bagian yang relevan atau dokumen dari kumpulan teks yang besar, yang biasanya disimpan dalam basis data vektor. Selanjutnya, LLM digunakan untuk menghasilkan respons berdasarkan konteks yang diambil.

Selain pembuatan bahasa, RAG dan pencarian vektor memiliki aplikasi lebih lanjut dalam berbagai tugas NLP lainnya, termasuk menjawab pertanyaan, chatbot, ringkasan, dan pembuatan konten.

Pencarian hybrid

Pencarian vektor dapat diintegrasikan ke dalam pendekatan pencarian hybrid untuk meningkatkan efektivitas dan fleksibilitas proses pencarian. Pencarian hybrid menggabungkan pencarian vektor dengan teknik pencarian lain, seperti pencarian berbasis kata kunci atau pencarian berbasis metadata. Pencarian vektor dapat digunakan untuk mengambil item berdasarkan kemiripannya dengan kueri, sementara metode pencarian lain dapat digunakan untuk mengambil item berdasarkan kecocokan persis atau kriteria tertentu.

Pencarian video dan gambar

Penyimpanan vektor digunakan dalam mesin pencari gambar dan video untuk mengindeks dan mengambil konten visual berdasarkan kesamaan. Penyematan gambar dan video disimpan sebagai vektor, sehingga pengguna dapat mencari gambar atau video yang mirip secara visual di seluruh kumpulan data yang besar.

Sistem rekomendasi

Mesin rekomendasi dalam layanan streaming serta e-commerce, media sosial, dan platform media visual dapat didukung oleh pencarian vektor. Pencarian vektor memungkinkan rekomendasi produk, film, musik, atau item lain berdasarkan kemiripannya dengan item yang pernah berinteraksi atau disukai pengguna sebelumnya.

Analisis geospasial

Pencarian vektor digunakan dalam aplikasi data geospasial untuk mengambil data spasial seperti tempat menarik, fitur geografis atau lintasan spasial berdasarkan kedekatan atau kemiripannya dengan lokasi kueri atau pola. Ini memungkinkan pencarian dan analisis spasial yang efisien dalam sistem informasi geografis dan layanan berbasis lokasi.

Sumber daya terkait Cara penyimpanan data dan tata kelola memengaruhi inisiatif AI Anda

Organisasi dengan penyimpanan data dan tata kelola AI yang sesuai tujuan lebih siap untuk memaksimalkan upaya AI dan manfaat bisnis.

Model Granite watsonx yang dikembangkan oleh IBM dan siap untuk perusahaan kini telah tersedia

IBM mengumumkan ketersediaan umum model pertama dalam watsonx Granite Model Series—kumpulan model AI generatif untuk memajukan penerapan AI generatif ke dalam aplikasi dan alur kerja bisnis.

Apa yang dimaksud dengan generasi retrieval-augmented?

RAG adalah kerangka kerja AI untuk mengambil fakta dari basis pengetahuan eksternal untuk mendasarkan LLM pada informasi yang paling akurat dan terkini serta memberikan wawasan kepada pengguna tentang proses generatif LLM.

Ambil langkah selanjutnya

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Jelajahi watsonx.ai Pesan demo langsung
Catatan kaki

Bahaaldine Azarmi and Jeff Vestal, Vector Search for Practitioners with Elastic, Packt Publishing, 2023

2 Vicki Boykis, “What are embeddings,” 2023, https://vickiboykis.com/what_are_embeddings/ (tautan berada di luar ibm.com)

3 Trey Grainger, Doug Turnbull and Max Irwin, AI Powered Search, Manning Publications, 2024