All Products
Search
Document Center

Platform For AI:Evaluasi pengambilan vektor

Last Updated:Apr 01, 2026

Komponen Evaluasi Recall Berbasis Vektor mengukur akurasi sistem pengambilan vektor dengan menghitung tingkat hit (hit rate) di ruang penyematan berdimensi tinggi. Gunakan komponen ini untuk mengevaluasi recall u2i (user-to-item) dan i2i (item-to-item) dalam sistem rekomendasi dan pipeline information retrieval.

Cara kerja

Komponen ini mendukung dua jenis recall:

  • u2i: Menggunakan vektor pengguna untuk mengambil K item teratas yang paling mirip dengan pengguna tertentu.

  • i2i: Menggunakan vektor item untuk mengambil K item teratas yang paling mirip dengan item tertentu.

Tingkat hit dihitung sebagai berikut: diberikan himpunan M berisi item relevan (vektor pengguna untuk u2i, vektor item untuk i2i) yang memicu recall, komponen mengambil K tetangga terdekat dan menghitung berapa banyak, N, yang termasuk dalam M. Tingkat hit sama dengan |N| / |M|.

Komponen ini juga menghasilkan item yang berada di luar M beserta nilai jaraknya untuk mendukung analisis kasus buruk (bad case analysis).

Komponen ini dapat dijalankan dalam mode standalone atau terdistribusi:

  1. Semua worker memuat tabel penyematan pengguna atau item dan membangun indeks yang dibutuhkan untuk pencarian k-nearest neighbor (KNN).

  2. Worker melakukan lookup pada tabel sekuens ground truth secara batch dan mengembalikan K tetangga terdekat.

  3. Komponen menghitung tingkat hit dengan membandingkan nilai sekuens dalam tabel sekuens ground truth terhadap hasil K teratas.

  4. Hasil agregasi ditulis ke tabel MaxCompute.

Penting

Saat mengevaluasi presisi recall, tabel penyematan dan tabel sekuens ground truth harus berasal dari titik waktu yang berbeda. Kumpulkan data penyematan pada waktu T dan data sekuens ground truth pada waktu T+1. Jika kedua tabel menggunakan data dari titik waktu yang sama, tingkat hit akan meningkat secara artifisial melebihi nilai sebenarnya.

Input

Tabel penyematan item

Menyimpan vektor item, biasanya dihasilkan oleh algoritma pelatihan seperti GraphSAGE.

KolomTipeContoh
item idbigint23456677
item embeddingsstring0.1,0.2,0.3,...

Tabel penyematan pengguna

Menyimpan vektor pengguna, biasanya dihasilkan oleh algoritma pelatihan seperti GraphSAGE. Diperlukan hanya untuk recall u2i.

KolomTipeContoh
user idbigint12345
user embeddingsstring0.1,0.2,0.3,...

Tabel sekuens ground truth

Tabel ground truth yang memetakan setiap pemicu ke himpunan item relevannya. Untuk recall u2i, kolom trigger id dipetakan ke kolom user id. Untuk recall i2i, dipetakan ke kolom item id.

KolomTipeContoh
trigger idbigint12345
item idsstring23456677,2233445,6837292,...

Output

tabel total_hitrate

Berisi tingkat hit keseluruhan di seluruh pemicu.

KolomTipeContoh
hitratedouble0.4

tabel hitrate_details

Berisi satu baris per pemicu, sesuai jumlah baris pada tabel sekuens ground truth.

KolomTipeDeskripsi
idbigintUntuk recall u2i: user_id. Untuk recall i2i: item_id.
topk_idsstringID dari K item teratas yang direcall, dipisahkan koma.
topk_distsstringNilai jarak yang bersesuaian dengan setiap item dalam topk_ids.
hitratedoubleTingkat hit untuk pemicu ini.
bad_idsstringItem yang direcall tetapi tidak termasuk dalam himpunan relevan M.
bad_distsstringNilai jarak yang bersesuaian dengan setiap item dalam bad_ids.

Parameter komponen

GrupParameterTipeDeskripsi
Inputitem_emb_tablestringTabel penyematan item.
Inputtrue_seq_tablestringTabel ground truth. Untuk recall u2i: pengguna dan item yang relevan bagi pengguna. Untuk recall i2i: item dan item yang relevan bagi item tersebut.
Inputuser_emb_tablestring (opsional)Tabel penyematan pengguna. Diperlukan hanya untuk recall u2i.
Outputtotal_hitratestringTabel output untuk nilai tingkat hit total.
Outputhitrate_detailsstringTabel output untuk detail tingkat hit per pemicu.
Parameterrecall_typestringJenis recall: u2i atau i2i.
Parameteremb_dimintDimensi penyematan dari tabel penyematan.
ParameterkintJumlah item yang direcall (top K).
Parametermetricint (opsional, default: 1)Metrik kemiripan. 0 menggunakan jarak L2 dan mengembalikan K item teratas dengan jarak terpendek. 1 menggunakan inner product dan mengembalikan K item teratas dengan nilai inner product terbesar.
Parameterstrictbool (opsional, default: False)Jika True, menghitung kemiripan tanpa aproksimasi. Ini menghilangkan deviasi kecil dalam perhitungan tingkat hit tetapi secara signifikan meningkatkan waktu komputasi.
Parameterlifecycleint (opsional, default: 7)Periode retensi untuk tabel output, dalam hari.
Tuningbatch_sizeint (opsional, default: 1024)Jumlah sampel yang diproses per batch. Kurangi nilai ini jika worker kehabisan memori.
Tuningworker_countint (opsional, default: 1)Jumlah worker. Tingkatkan nilai ini untuk tabel input besar atau ketika satu worker tidak cukup cepat.
Tuningworker_memoryint (opsional, default: 20000)Memori yang dialokasikan untuk setiap worker, dalam MB.

Contoh perintah

Perintah berikut mengevaluasi tingkat hit recall u2i. Inner product digunakan sebagai metrik kemiripan, mode ketat dinonaktifkan, dan evaluasi dijalankan secara batch. Satu worker memproses 1.024 item per batch dengan memori 20.000 MB. Tabel output disimpan selama 7 hari.

pai -name hitrate_gl_ext
    -Ditem_emb_table='item_emb_table'
    -Duser_emb_table='user_emb_table'
    -Dtrue_seq_table='true_seq_table'
    -Dhitrate_details='hitrate_details'
    -Dtotal_hitrate='total_hitrate'
    -Drecall_type='u2i'
    -Dk=5
    -Demb_dim=10
    -Dmetric=1
    -Dstrict=False
    -Dbatch_size=1024
    -Dworker_count=1
    -Dworker_memory=20000
    -Dlifecycle=7;