Jenis-jenis vector embedding
- Word embedding: Merepresentasikan kata dalam NLP dan menangkap hubungan semantik antar kata. Digunakan untuk terjemahan bahasa, kemiripan kata, analisis sentimen, dan lainnya.
- Sentence embedding: Menangkap makna dan konteks kalimat, serta digunakan untuk pencarian informasi, klasifikasi teks, analisis sentimen, dan lainnya.
- Document embedding: Menangkap isi dokumen seperti laporan atau artikel, serta digunakan untuk sistem rekomendasi, pencarian informasi, kemiripan dokumen, dan klasifikasi.
- Graph embedding: Merepresentasikan node dan edge graf dalam ruang vektor, serta digunakan untuk klasifikasi node, deteksi komunitas, prediksi link, dan lainnya.
- Image embedding: Merepresentasikan berbagai aspek gambar, serta digunakan untuk sistem rekomendasi berbasis konten, pengenalan gambar dan objek, sistem pencarian gambar, dan lainnya.
- Product embedding: Merepresentasikan produk digital atau fisik, serta digunakan untuk sistem rekomendasi dan klasifikasi produk, pencarian produk, dan lainnya.
- Audio embedding: Merepresentasikan ritme, tone, pitch, dan aspek lain dari sinyal audio, serta digunakan untuk deteksi emosi, pengenalan suara, rekomendasi musik, dan lainnya.
Cara jaringan saraf menghasilkan embedding
- Representation learning: Jaringan saraf memetakan data berdimensi tinggi ke ruang berdimensi rendah sambil mempertahankan fitur-fitur penting.
- Proses pelatihan: Jaringan saraf belajar mengubah data menjadi embedding yang bermakna. Hal ini terjadi melalui penyesuaian bobot dan bias neuron.
- Contoh: Dalam jaringan saraf untuk klasifikasi positif/negatif pada ulasan film, word embedding dipelajari. Kata seperti "good" dan "excellent" akan memiliki embedding yang mirip.
Cara kerja vector embedding
- Ruang vektor: Objek atau fitur direpresentasikan sebagai titik dalam ruang vektor multi-dimensi, dan item yang mirip ditempatkan berdekatan.
- Pengukuran jarak: Hubungan antar vektor dikuantifikasi menggunakan Euclidean distance, cosine similarity, dan lainnya.
- Contoh: Vektor untuk "cat" dan "dog" terletak lebih dekat dibandingkan vektor untuk "cat" dan "car".
Pengembangan dengan memanfaatkan vector embedding
- Chatbot: Merespons kueri pengguna dengan lebih baik, menghasilkan jawaban yang relevan secara kontekstual, dan mempertahankan percakapan yang konsisten.
- Semantic search engine: Memberikan hasil pencarian berdasarkan kemiripan semantik, bukan pencocokan kata kunci.
- Sistem klasifikasi teks: Mengklasifikasikan dokumen berdasarkan sintaks dan kata-kata.
- Sistem rekomendasi: Merekomendasikan konten berdasarkan kemiripan kata kunci dan deskripsi.
Cara membuat vector embedding untuk data
- Pengumpulan data: Mengumpulkan berbagai jenis data seperti teks, audio, gambar, dan data deret waktu.
- Pra-pemrosesan data: Memproses data agar sesuai untuk analisis melalui tokenisasi, penghilangan noise, pengubahan ukuran gambar, normalisasi, dan lainnya.
- Pembagian data: Membagi teks menjadi kalimat atau kata, gambar menjadi segmen, dan data deret waktu menjadi interval.
- Vektorisasi: Mengubah setiap potongan data menjadi vektor. Data teks menggunakan model text embedding OpenAI, data gambar menggunakan model CNN, dan data audio menggunakan spectrogram, dan sebagainya.
Cara menyimpan vector embedding
- Vector database: Menggunakan database yang dapat menyimpan dan menelusuri data vektor secara efisien.
- PostgreSQL: Dapat menyimpan data vektor bersama data relasional lainnya. Ekstensi pgvector dapat digunakan untuk menyimpan dan melakukan query terhadap vektor.
3 komentar
Model bahasa telah meningkatkan ukuran vektor untuk meningkatkan kemampuan menangkap konteks atau makna. Namun, semakin besar ukuran vektor, semakin kuat konsensus bahwa karena kutukan dimensi, jarak Euclidean tidak cocok sebagai ukuran kemiripan. Karena itu, hubungan (kemiripan) antarbektor umumnya diukur menggunakan cosine similarity.
Ini pendapat yang mengingatkan saya pada makalah yang baru-baru ini saya baca. Terkadang, tergantung pada modelnya, bahkan kemiripan kosinus pun bisa jadi tidak bermakna. "Is Cosine-Similarity of Embeddings Really About Similarity?" (2024)
Apa itu Embeddings dan mengapa penting
Panduan mendetail tentang Embedding di bidang machine learning
Titik awal yang bagus untuk pengembang aplikasi yang penasaran dengan AI: Embeddings