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 fitur tersebut untuk memprediksi rating pada pasangan user-item. Topik ini menjelaskan cara menggunakan algoritma Factorization Machine (FM) dan algoritma ekstraksi embedding untuk 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 biasanya mencakup modul recall dan sorting. Di modul recall, vektor merepresentasikan user dan item (konten yang akan direkomendasikan). 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. Hal ini memungkinkan Anda 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 temporary 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 mengubah data string menjadi data numerik. Dalam pipeline ini, komponenOne-hot Encoding-1 pertama-tama melakukan encoding pada seluruh set data, lalu meneruskan model yang dihasilkan ke komponenOne-hot Encoding-2 danOne-hot Encoding-3.
②
Menghasilkan model Factorization Machine (FM). Anda dapat mengklik komponen ini dan melihat parameter default pada tabParameters. Parameter ketiga dariDimensions (nilai default:1,1,10) menentukan dimensi embedding yang dihasilkan, yaitu10.
③
Menghasilkan pengkodean fitur user. Input untuk parameterSelect Binarize Columns adalahuserid,gender, danage. Input untuk parameterAppended Columns adalahuserid.
④
Menghasilkan pengkodean fitur item. Input untuk parameterSelect Binarize Columns adalahitemid,price, dansize. Input untuk parameterAppended Columns adalahitemid.
⑤
Mengekstraksi item embedding. Parameter untuk komponen ini adalah sebagai berikut:
-
Embedding Vector ID Column:feature_iddari model FM yang telah dilatih.
-
Embedding Vector Column:feature_weightsdari model FM yang telah dilatih.
-
Weight Vector Column: kolom data sparse dari hasil one-hot encoding.
-
Output Column Name: nama bidang untuk output embedding.
-
-
-
Jalankan pipeline dan lihat hasilnya.
-
Klik tombol
di bagian atas kanvas. -
Setelah eksekusi pipeline selesai, klik kanan komponen Embedding Extraction-1 di 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 di 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).
-