Dalam skenario rekomendasi, gunakan solusi FM-Embedding di Designer untuk memperoleh vektor fitur user dan item. Di modul recall, hitung dot product dari vektor-vektor tersebut untuk memprediksi rating pasangan user-item. Topik ini menjelaskan cara menggunakan algoritma Factorization Machine (FM) dan algoritma ekstraksi embedding guna menghasilkan vektor fitur user dan item secara cepat.
Prasyarat
-
Anda telah membuat ruang kerja. Untuk informasi selengkapnya, lihat Buat dan kelola ruang kerja.
-
Anda telah mengaitkan sumber daya MaxCompute dengan ruang kerja. Untuk informasi selengkapnya, lihat Kelola sumber daya komputasi ruang kerja.
Latar Belakang
Sistem rekomendasi umumnya terdiri atas modul recall dan sorting. Di modul recall, user dan item (konten yang akan direkomendasikan) direpresentasikan dalam bentuk vektor. Dot product antara vektor user dan vektor item menunjukkan tingkat ketertarikan user terhadap item tersebut. Pipeline ini didasarkan pada data rekomendasi dunia nyata, dan alur kerja bisnis lengkapnya telah dikonfigurasi sebelumnya dalam templat Designer, sehingga Anda dapat menghasilkan vektor fitur user dan item hanya dengan menyeret dan melepas komponen.
Set Data
Data sumber mencakup bidang-bidang berikut.
|
Parameter |
Tipe |
Deskripsi |
|
userid |
STRING |
ID user. |
|
age |
DOUBLE |
Usia user. |
|
gender |
STRING |
Jenis kelamin user. |
|
itemid |
STRING |
ID item. |
|
price |
DOUBLE |
Harga item. |
|
size |
DOUBLE |
Ukuran item. |
|
label |
DOUBLE |
Kolom target. Nilai yang valid:
|
Prosedur
Buka halaman Machine Learning Designer.
Masuk ke Konsol PAI.
Di panel navigasi kiri, klik Workspaces. Pada halaman Workspaces, klik nama ruang kerja yang ingin Anda kelola.
Di panel navigasi kiri, pilih .
-
Bangun pipeline.
-
Pada halaman Designer, klik tab Preset Templates.
-
Di daftar templat, klik Create di bawah Create.
-
Pada kotak dialog Create Pipeline, konfigurasikan parameter. Anda dapat menggunakan pengaturan default untuk semua parameter.
Parameter Data Storage menentukan path OSS Bucket untuk menyimpan data sementara dan model yang dihasilkan selama eksekusi pipeline.
-
Klik Confirm.
Pembuatan pipeline memerlukan waktu sekitar 10 detik.
-
Sistem secara otomatis membangun pipeline berdasarkan templat preset, seperti yang ditunjukkan pada gambar berikut.

Bagian
Deskripsi
①
Menjalankan one-hot encoding pada semua fitur. One-hot encoding mengonversi data string menjadi data numerik. Dalam pipeline ini, komponen One-hot Encoding-1 pertama kali melakukan encoding pada seluruh set data, lalu meneruskan model yang dihasilkan ke komponen One-hot Encoding-2 dan One-hot Encoding-3.
②
Menghasilkan model Factorization Machine (FM). Anda dapat mengklik komponen ini dan melihat parameter default pada tab Parameters. Parameter ketiga dari Dimensions (nilai default: 1,1,10) menentukan dimensi embedding yang dihasilkan, yaitu 10.
③
Menghasilkan pengkodean fitur user. Input untuk parameter Select Binarize Columns adalah userid, gender, dan age. Input untuk parameter Appended Columns adalah userid.
④
Menghasilkan pengkodean fitur item. Input untuk parameter Select Binarize Columns adalah itemid, price, dan size. Input untuk parameter Appended Columns adalah itemid.
⑤
Mengekstraksi embedding item. Parameter untuk komponen ini adalah sebagai berikut:
-
Embedding Vector ID Column: feature_id dari model FM yang telah dilatih.
-
Embedding Vector Column: feature_weights dari model FM yang telah dilatih.
-
Weight Vector Column: kolom data sparse dari hasil one-hot encoding.
-
Output Column Name: nama bidang untuk embedding output.
-
-
-
Jalankan pipeline dan lihat hasilnya.
-
Klik tombol
di bagian atas kanvas. -
Setelah eksekusi pipeline selesai, klik kanan komponen Embedding Extraction-1 pada kanvas dan pilih untuk melihat vektor fitur user. Tabel vektor fitur user berisi tiga kolom: userid (ID user), kv (fitur key-value, contohnya
10:1,7:1,37:1), dan embedding (vektor berdimensi tinggi yang terdiri dari bilangan titik mengambang yang dipisahkan spasi). -
Klik kanan komponen Embedding Extraction-2 pada kanvas dan pilih untuk melihat vektor fitur item. Tabel vektor fitur item berisi tiga kolom: itemid (identifier item, contohnya A hingga J), kv (pengkodean fitur sparse, contohnya
31;1,11;1,27:1), dan embedding (vektor titik mengambang multidimensi).
-