All Products
Search
Document Center

DashVector:Pencarian Sadar Kata Kunci

Last Updated:Apr 01, 2026

Pencarian semantik sadar kata kunci menggabungkan pencocokan kata kunci dan pemahaman semantik dalam satu kueri DashVector. Dengan menyimpan vektor jarang (untuk frekuensi kata) dan vektor padat (untuk makna semantik) dalam satu koleksi, Anda memperoleh recall yang lebih kuat tanpa perlu menjalankan dua sistem pencarian terpisah.

Konsep Utama

Sparse vectors merepresentasikan kata kunci beserta frekuensi kemunculannya. Vektor ini sebagian besar berisi nilai nol, dengan beberapa nilai bukan nol yang masing-masing mewakili satu kata kunci dalam dokumen. Di DashVector, vektor jarang {1:0.4, 10000:0.6, 222222:0.8} memiliki tiga kata kunci (elemen 1, 10000, dan 222222), di mana nilainya merupakan bobot masing-masing kata kunci tersebut.

Dense vectors merepresentasikan makna semantik dari konten. Model penyematan mengonversi teks menjadi larik bilangan titik mengambang dengan panjang tetap, menangkap hubungan konseptual yang tidak dapat ditangkap melalui pencocokan kata kunci.

Sparse vectorsDense vectors
MerepresentasikanKata kunci dan frekuensi kemunculannyaMakna semantik
StrukturSebagian besar nol, sedikit nilai bukan nolSebagian besar nilai bukan nol
Dibangun denganIndeks terbalik, TF-IDF, BM25Model penyematan
KeunggulanPencocokan kata kunci eksakKesamaan konseptual
Contoh celahTidak dapat mencocokkan "raining heavily" dengan "rain cats and dogs"Tidak dapat mencocokkan "rice irrigating" dengan "irrigating rice" jika model belum dilatih

Pencarian semantik sadar kata kunci mengatasi kedua kelemahan tersebut sekaligus. Skor akhir untuk setiap hasil merupakan jumlah dari hasil kali titik (dot product) antara vektor kueri dan vektor dokumen—skor dari vektor padat dan vektor jarang dijumlahkan bersama.

Kapan Menggunakan Pencarian Semantik Sadar Kata Kunci

Gunakan pencarian semantik sadar kata kunci ketika:

  • Kueri menggabungkan bahasa alami dengan istilah spesifik (nama Produk, kode kesalahan, ID)

  • Pengguna mencari idiom, sinonim, atau konsep yang diparafrase

  • Korpus Anda memerlukan recall kata kunci yang presisi sekaligus pemahaman kontekstual

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Jalankan Pencarian Semantik Sadar Kata Kunci

Langkah-langkah berikut membuat koleksi, memasukkan dokumen dengan kedua jenis vektor, dan menjalankan kueri hibrida.

Penting

Hanya koleksi yang menggunakan metric='dotproduct' yang mendukung vektor jarang.

Langkah 1: Buat koleksi

import dashvector

# Ganti YOUR_API_KEY dengan kunci API Anda (lihat Manage API keys).
# Ganti YOUR_CLUSTER_ENDPOINT dengan titik akhir kluster Anda (lihat halaman detail kluster).
client = dashvector.Client(
    api_key='YOUR_API_KEY',
    endpoint='YOUR_CLUSTER_ENDPOINT'
)

# dimension=4 digunakan di sini demi kesederhanaan.
# Atur nilai ini agar sesuai dengan dimensi output model penyematan Anda.
ret = client.create('hybrid_collection', dimension=4, metric='dotproduct')

collection = client.get('hybrid_collection')
assert collection

Langkah 2: Masukkan dokumen dengan vektor jarang

from dashvector import Doc

collection.insert(Doc(
    id='A',
    vector=[0.1, 0.2, 0.3, 0.4],
    sparse_vector={1: 0.3, 10: 0.4, 100: 0.3}
))

Bidang sparse_vector memetakan ID kata kunci ke bobotnya. Gunakan penyandi vektor jarang seperti DashText untuk menghasilkan vektor ini dari teks mentah — lihat Sparse vector encoder.

Langkah 3: Kueri dengan kedua jenis vektor

Berikan baik vector maupun sparse_vector dalam kueri yang sama. DashVector memberi skor setiap hasil dengan menjumlahkan hasil kali titik dari kedua jenis vektor tersebut.

docs = collection.query(
    vector=[0.1, 0.1, 0.1, 0.1],
    sparse_vector={1: 0.3, 20: 0.7}
)

Hasil diurutkan berdasarkan skor hasil kali titik gabungan — semakin tinggi nilainya, semakin relevan hasilnya.

Sparse Vector Encoder

DashText adalah penyandi vektor jarang yang direkomendasikan untuk DashVector. Alat ini mengonversi teks mentah ke format sparse_vector seperti yang ditunjukkan di atas. Lihat DashText quick start untuk instruksi penyiapan.

Langkah Selanjutnya