Fase 2: Embeddings & Pencarian Semantik

Pencarian kata kunci gagal ketika kata-kata tidak cocok secara persis.

Jika sebuah resume menyebutkan "team management" dan deskripsi pekerjaan meminta "leadership," pencarian dasar tidak akan memberikan hasil apa pun. Kata-katanya berbeda, tetapi maknanya sama.

Fase 2 mengatasi hal ini dengan menggunakan embeddings dan pencarian semantik.

Cara kerjanya:

• Tokenisasi: Komputer tidak membaca kata-kata. Mereka membaca angka. Sebuah tokenizer memecah teks menjadi potongan-potongan kecil yang disebut token dan mengubahnya menjadi Token ID. Kata-kata umum menjadi satu token. Kata-kata langka dipecah menjadi beberapa token.

• Embeddings: Token ID hanyalah sebuah label. Lapisan embedding mengubah ID tersebut menjadi sebuah vektor. Vektor adalah daftar panjang angka yang merepresentasikan makna. Alih-alih hanya satu angka, sebuah model menggunakan banyak dimensi untuk mendeskripsikan sebuah konsep.

• Dimensi: Anggaplah angka-angka ini sebagai koordinat. Satu dimensi mungkin merepresentasikan "frontend vs backend." Dimensi lain mungkin merepresentasikan "web vs systems." Vektor berdimensi tinggi memungkinkan model untuk menempatkan "React" dan "JavaScript" berdekatan dalam ruang matematis.

• Pencarian Semantik: Saat Anda mengajukan pertanyaan, sistem mengubah pertanyaan Anda menjadi sebuah vektor. Sistem kemudian membandingkan vektor Anda dengan vektor-vektor dari dokumen yang tersimpan.

• Cosine Similarity: Ini mengukur sudut antara dua vektor. Jika vektor-vektor tersebut menunjuk ke arah yang sama, maka keduanya serupa. Hal ini memungkinkan sistem untuk menemukan "persyaratan pengunduran diri" meskipun Anda hanya mencari "masa pemberitahuan."

Pelajaran kunci untuk produksi:

  • Vector Databases: Mencari jutaan vektor itu lambat. Database seperti Pinecone atau Qdrant menggunakan pengindeksan untuk menemukan tetangga terdekat (nearest neighbors) dalam hitungan milidetik.
  • Migrasi Model: Setiap model embedding menggunakan ruang matematis yang berbeda. Anda tidak dapat membandingkan vektor OpenAI dengan vektor Cohere. Jika Anda mengganti model, Anda harus melakukan re-embedding pada semua data Anda.
  • Biaya vs ROI: Melakukan re-embedding pada jutaan chunk sangatlah mahal. Perusahaan sering kali tetap menggunakan model lama kecuali peningkatan akurasinya sebanding dengan biaya migrasi.
  • Selalu simpan chunk teks mentah Anda. Jika Anda meningkatkan model di kemudian hari, Anda dapat menggunakan teks lama untuk membuat vektor baru.

Fase 2 adalah tempat di mana kecerdasan terjadi.

Sumber: https://dev.to/surajrkhonde/phase-2-embeddings-semantic-search-3lco

Komunitas belajar opsional: https://t.me/GyaanSetuAi