All Products
Search
Document Center

Platform For AI:Praktik terbaik kustomisasi algoritma modular PAI-Rec

Last Updated:Sep 08, 2026

Gunakan dataset publik untuk mengonfigurasi rekayasa fitur, recall, dan ranking di PAI-Rec, lalu terapkan kode yang dihasilkan ke DataWorks. Pendekatan modular memungkinkan Anda menerbitkan atau membatalkan penerbitan komponen individual tanpa memengaruhi sisa pipeline.

Mengapa memodularisasi kustomisasi solusi rekomendasi?

  • Kelompok fitur menyederhanakan iterasi model.

  • Penerbitan satu klik menerapkan kode dan memulai pengisian ulang data secara otomatis.

  • Hanya modul ranking yang sepenuhnya melakukan backfill semua komponen yang diperlukan (kelompok fitur, sampel, dan modul pembangkit fitur), sehingga mengurangi pekerjaan ulang akibat kesalahan rekayasa fitur.

Prasyarat

Lakukan persiapan berikut:

1. Buat instans PAI-Rec dan inisialisasi layanan

  1. Login ke halaman utama Recommendation System Development Platform dan klik Buy Now.

  2. Di halaman pembelian instans PAI-Rec, konfigurasikan parameter utama berikut, lalu klik Buy Now.

    Parameter

    Deskripsi

    Region and zone

    Wilayah tempat layanan cloud Anda diterapkan.

    Service Type

    Pilih Standard Edition and enable Recommendation Solution Customization.

  3. Login ke Konsol Manajemen PAI-Rec. Di pojok kiri atas bilah menu, pilih wilayah.

  4. Di panel navigasi kiri, pilih Instances, lalu klik nama instans untuk membuka halaman detail instans.

  5. Di bagian Procedure, klik Cloud Service Configuration untuk membuka halaman System Configuration > Cloud Service Configuration. Klik Edit, konfigurasikan parameter seperti yang ditunjukkan dalam tabel Resource configuration, lalu klik Exit.

    Resource configuration

    Parameter

    Deskripsi

    Modeling

    Machine Learning Platform for AI Workspace

    Masukkan ruang kerja PAI default yang telah Anda buat.

    DataWorks Workspace

    Masukkan ruang kerja DataWorks yang dihasilkan secara otomatis.

    MaxCompute Workspace

    Masukkan proyek MaxCompute yang telah Anda buat.

    OSS Bucket

    Pilih bucket OSS yang telah Anda buat.

    Engine

    Real-time Recall Engine

    Untuk opsi Whether to use PAI-FeatureStore, pilih Yes.

    Real-time Feature Query

    Untuk opsi Whether to use PAI-FeatureStore, pilih Yes.

  6. Di panel navigasi kiri, pilih System Configuration > Permissions. Di tab Services, verifikasi status otorisasi setiap layanan cloud.

2. Klona dataset publik

1. Sinkronisasi tabel data

Tersedia dua opsi input data:

  1. Klona data dari pai_online_project dalam jendela waktu tetap. Opsi ini tidak mendukung tugas terjadwal.

  2. Gunakan skrip Python untuk menghasilkan data. Anda dapat menjalankan tugas di DataWorks untuk menghasilkan data dalam rentang waktu tertentu.

Untuk pembuatan data harian terjadwal dan pelatihan model, sebaiknya terapkan skrip Python. Lihat tab Generate data using code.

Jendela waktu tetap

PAI-Rec menyiapkan tiga tabel di proyek publik pai_online_project:

  • Tabel pengguna: pai_online_project.rec_sln_demo_user_table

  • Tabel item: pai_online_project.rec_sln_demo_item_table

  • Tabel perilaku: pai_online_project.rec_sln_demo_behavior_table

Operasi berikut menggunakan ketiga tabel ini. Karena datanya dihasilkan secara acak untuk simulasi, metrik pelatihan seperti AUC mungkin rendah. Jalankan perintah SQL di DataWorks untuk menyinkronkan data tabel dari pai_online_project ke proyek DataWorks Anda (misalnya, DataWorks_a):

  1. Login ke Konsol DataWorks dan pilih wilayah dari pojok kiri atas bilah menu.

  2. Di panel navigasi sisi kiri, klik Data Development and O&M > Data Development.

  3. Pilih ruang kerja DataWorks yang telah Anda buat dan klik Enter Data Development.

  4. Arahkan kursor ke Create, lalu pilih New node > MaxCompute > ODPS SQL. Konfigurasikan parameter seperti yang dijelaskan dalam tabel berikut, lalu klik Confirm.

    Resource configuration

    Parameter

    Deskripsi

    Engine instance

    Pilih sumber data MaxCompute yang telah Anda bind.

    Node type

    Pilih jenis node ODPS SQL.

    Path

    Pilih path untuk node saat ini. Misalnya, Business Flow/Workflow/MaxCompute.

    Name

    Masukkan nama kustom, misalnya Data.

  5. Di editor node baru, salin dan jalankan kode berikut untuk menyinkronkan tabel pengguna, item, dan perilaku dari proyek pai_online_project ke proyek MaxCompute Anda (misalnya, project_mc). Sebelum menjalankan kode, atur variabel untuk menentukan jendela data 100 hari yang berakhir pada bizdate. Biasanya, Anda harus mengatur bizdate ke hari sebelumnya. Di area Scheduling parameters, klik Add Parameter, lalu tambahkan dua parameter: bizdate dengan nilai $[yyyymmdd-1], dan bizdate_100 dengan nilai $[yyyymmdd-100]. Menjalankan kode berikut akan menyinkronkan data dari proyek publik pai_online_project ke proyek Anda:

CREATE TABLE IF NOT EXISTS rec_sln_demo_user_table_v1(
 user_id BIGINT COMMENT 'Unique user ID',
 gender STRING COMMENT 'Gender',
 age BIGINT COMMENT 'Age',
 city STRING COMMENT 'City',
 item_cnt BIGINT COMMENT 'Number of published items',
 follow_cnt BIGINT COMMENT 'Number of followed accounts',
 follower_cnt BIGINT COMMENT 'Number of followers',
 register_time BIGINT COMMENT 'Registration time',
 tags STRING COMMENT 'User tags'
) PARTITIONED BY (ds STRING) STORED AS ALIORC;
INSERT OVERWRITE TABLE rec_sln_demo_user_table_v1 PARTITION(ds)
SELECT *
FROM pai_online_project.rec_sln_demo_user_table
WHERE ds >= "${bizdate_100}" and ds <= "${bizdate}";
CREATE TABLE IF NOT EXISTS rec_sln_demo_item_table_v1(
 item_id BIGINT COMMENT 'Item ID',
 duration DOUBLE COMMENT 'Video duration',
 title STRING COMMENT 'Title',
 category STRING COMMENT 'Primary category',
 author BIGINT COMMENT 'Author',
 click_count BIGINT COMMENT 'Total clicks',
 praise_count BIGINT COMMENT 'Total likes',
 pub_time BIGINT COMMENT 'Publish time'
) PARTITIONED BY (ds STRING) STORED AS ALIORC;
INSERT OVERWRITE TABLE rec_sln_demo_item_table_v1 PARTITION(ds)
SELECT *
FROM pai_online_project.rec_sln_demo_item_table
WHERE ds >= "${bizdate_100}" and ds <= "${bizdate}";
CREATE TABLE IF NOT EXISTS rec_sln_demo_behavior_table_v1(
 request_id STRING COMMENT 'Tracking ID/Request ID',
 user_id STRING COMMENT 'Unique user ID',
 exp_id STRING COMMENT 'Experiment ID',
 page STRING COMMENT 'Page',
 net_type STRING COMMENT 'Network type',
 event_time BIGINT COMMENT 'Event time',
 item_id STRING COMMENT 'Item ID',
 event STRING COMMENT 'Event type',
 playtime DOUBLE COMMENT 'Playback/Reading duration'
) PARTITIONED BY (ds STRING) STORED AS ALIORC;
INSERT OVERWRITE TABLE rec_sln_demo_behavior_table_v1 PARTITION(ds)
SELECT *
FROM pai_online_project.rec_sln_demo_behavior_table
WHERE ds >= "${bizdate_100}" and ds <= "${bizdate}";

Pembuatan kode

Data jendela waktu tetap tidak mendukung tugas terjadwal. Untuk menjalankan tugas sesuai jadwal, terapkan skrip Python untuk menghasilkan data:

  1. Di Konsol DataWorks, buat node PyODPS 3 (Buat dan kelola node MaxCompute).

  2. Unduh create_data.py, lalu tempel isi file tersebut ke editor node PyODPS 3.

  3. Di sisi kanan editor, klik Configure Scheduling dan konfigurasikan parameter. Lalu, klik ikon Simpan image dan Submit image di pojok kanan atas.

    • Konfigurasikan parameter penjadwalan:

      • Catatan tentang substitusi variabel:

        Di parameter penjadwalan, atur argumen $user_table_name menjadi rec_sln_demo_user_table.

        Atur argumen $item_table_name menjadi rec_sln_demo_item_table.

        Atur argumen $behavior_table_name menjadi rec_sln_demo_behavior_table.

        Selain tiga argumen nama tabel, skrip juga menggunakan parameter penjadwalan bizdate, yang diteruskan sebagai variabel $bizdate.

        Konfigurasi parameter:

        Tambahkan parameter bernama bizdate dan atur nilainya menjadi $[yyyymmdd-1].

    • Konfigurasikan dependensi penjadwalan.

  4. Klik Operation Center, lalu pilih Auto Triggered Task O&M > Recurring Job.

  5. Klik Data backfill > Current and Descendant Nodes Retroactively di kolom Actions tugas target.

  6. Di panel Data Backfill, atur waktu data, lalu klik Submit and Navigate.

    Untuk periode pengisian ulang data optimal selama 60 hari, atur waktu data menjadi Scheduled Task Date - 60 untuk memastikan integritas data.

2. Konfigurasikan node dependensi

Tambahkan tiga node virtual ke proyek DataWorks Anda dengan dependensi penjadwalan pada node root, lalu terbitkan:

  1. Arahkan kursor ke Create dan pilih new node > General-purpose > virtual node. Buat tiga node virtual menggunakan konfigurasi sumber daya berikut, lalu klik Confirm.

    Resource configuration

    Parameter

    Deskripsi

    Contoh default

    Node type

    Pilih jenis node.

    Virtual node

    Path

    Pilih path untuk node saat ini.

    Business Flow/Workflow/General

    Name

    Masukkan nama tabel data tersinkronisasi yang sesuai.

    • rec_sln_demo_user_table_v1

    • rec_sln_demo_item_table_v1

    • rec_sln_demo_behavior_table_v1

  2. Pilih setiap node dan atur isinya menjadi select 1;. Lalu, klik Configure Scheduling di sisi kanan dan lengkapi pengaturan berikut:

    • Di bagian Time attributes, atur Rerun attribute menjadi Rerun node after success or failure.

    • Di bagian Scheduling dependencies > Ancestor Nodes, masukkan nama ruang kerja DataWorks, pilih node dengan akhiran _root, lalu klik Add.

      Terapkan konfigurasi dependensi ini ke ketiga node virtual.

  3. Klik ikon image untuk setiap node virtual guna mengirimkan node tersebut.

3. Daftarkan data

Daftarkan ketiga tabel yang telah disinkronkan di PAI-Rec sebelum mengonfigurasi rekayasa fitur, recall, dan ranking:

  1. Login ke Konsol Manajemen PAI-Rec dan pilih wilayah dari pojok kiri atas.

  2. Di panel navigasi sisi kiri, klik Instances, lalu klik nama instans untuk membuka halaman detailnya.

  3. Di panel navigasi sisi kiri, buka Recommendation Solution Customization > Data Registration. Di tab MaxCompute Table, klik Create Data Table. Tambahkan tabel pengguna, tabel item, dan tabel perilaku menggunakan konfigurasi dalam tabel di bawah ini. Lalu, klik Import.

    Parameter

    Deskripsi

    Contoh

    MaxCompute project

    Pilih proyek MaxCompute yang telah Anda buat.

    project_mc

    MaxCompute table

    Pilih tabel data yang telah disinkronkan ke ruang kerja DataWorks Anda.

    • Tabel pengguna: rec_sln_demo_user_table_v1

    • Tabel item: rec_sln_demo_item_table_v1

    • Tabel perilaku: rec_sln_demo_behavior_table_v1

    Data table name

    Masukkan nama kustom.

    • Tabel pengguna

    • Tabel item

    • Tabel perilaku

4. Buat skenario rekomendasi

Buat skenario rekomendasi sebelum mengonfigurasi tugas rekomendasi. Untuk konsep dasar dan encoding trafik, lihat Basic Concepts.

Di panel navigasi kiri, klik Recommendation Scenario lalu Create Scenario. Konfigurasikan skenario rekomendasi dengan konfigurasi sumber daya berikut dan klik Determine.

Resource configuration

Parameter

Deskripsi

Contoh

Scenario name

Nama kustom untuk skenario tersebut.

Homepage

Scenario description

Deskripsi opsional untuk skenario tersebut.

None

5. Siapkan algoritma

Konfigurasi produksi lengkap mencakup pengaturan recall dan ranking berikut:

  • Global hot recall: Mengambil K item terpopuler berdasarkan data log.

  • Grouped hot recall: Mengambil kandidat item populer dari kelompok tertentu, seperti kota atau gender, untuk meningkatkan relevansi.

  • Etrec u2i recall: Menggunakan algoritma collaborative filtering etrec.

  • Swing u2i recall (opsional): Menggunakan algoritma Swing.

  • Vector recall (opsional): Menghasilkan kandidat menggunakan Deep Structured Semantic Model (DSSM).

  • Fine-grained ranking: Menggunakan model MultiTower untuk ranking tujuan tunggal dan model DBMTL untuk ranking multi-tujuan.

Langkah-langkah berikut mencakup global hot recall dan etrec u2i recall dari RECommender (eTREC, implementasi collaborative filtering), serta fine-grained ranking. Langkah-langkahnya:

  1. Di panel navigasi sisi kiri, pilih Recommendation Solution Customization. Pilih skenario yang telah Anda buat, lalu klik Create Modular Recommendation Solution. Buat solusi dengan konfigurasi sumber daya berikut, lalu klik Save and Go to Algorithm Solution Configuration.

    Biarkan parameter yang tidak ditentukan pada nilai defaultnya. Data Table Configuration.

    Resource configuration

    Parameter

    Deskripsi

    Solution Name

    Masukkan nama kustom.

    Scenario Name

    Pilih skenario rekomendasi yang telah Anda buat.

    Offline Data Source

    Pilih proyek MaxCompute yang terkait dengan skenario rekomendasi.

    Algorithm Framework

    Pilih PyTorch. Anda dapat memilih framework algoritma lain berdasarkan preferensi Anda.

    DataWorks Workspace

    Pilih ruang kerja DataWorks yang terkait dengan skenario rekomendasi.

    Workflow Name

    Nama alur bisnis yang dibuat di DataWorks saat skrip solusi rekomendasi diterapkan. Anda dapat memasukkan nama kustom, seperti Flow.

    StorageAPI configuration

    Wilayah Daratan Tiongkok: Untuk wilayah seperti Tiongkok (Beijing) dan Tiongkok (Shanghai), Anda dapat memilih "StorageAPI", yaitu layanan transmisi data bayar sesuai penggunaan.

    Wilayah lain: Untuk wilayah seperti Tiongkok (Hong Kong), Singapura, dan Jerman (Frankfurt), Anda harus terlebih dahulu membeli dan menggunakan kelompok sumber daya Data Transmission Service khusus. Jika opsi bayar sesuai penggunaan tidak tersedia, Anda harus membeli layanan transmisi data berlangganan. Setelah pembelian, refresh halaman dan pilih nama layanan berlangganan Anda. Di pekerjaan pelatihan PAI-DLC TorchEasyRec di DataWorks, tambahkan parameter dalam format berikut: -odps_data_quota_name ot_xxxx_p#ot_yyyy.

    slim_mode

    Aktifkan ini jika versi DataWorks Anda membatasi ukuran paket kode yang diimpor. Anda harus mengunggah manual paket yang melebihi batas tersebut. Untuk solusi ini, pilih No.

    OSS bucket

    Pilih bucket OSS yang terkait dengan skenario rekomendasi.

    Project

    Pilih proyek FeatureStore yang telah Anda buat, dan pilih FeatureDB sebagai sumber data online.

    User Entity

    Pilih entitas fitur user dari proyek FeatureStore Anda.

    Item Entity

    Pilih entitas fitur item dari proyek FeatureStore Anda.

  2. Di tab Configure Table, klik Add di sebelah tabel data. Konfigurasikan tabel log perilaku, tabel pengguna, dan tabel item dengan mengatur bidang partisi, event, fitur, dan timestamp yang sesuai, lalu klik Next.

    Biarkan parameter yang tidak ditentukan pada nilai defaultnya. Data Table Configuration.

    Behavior log table resource configuration

    Sesuaikan pengaturan berdasarkan data aktual Anda. Dalam tutorial ini, log perilaku berisi ID permintaan, pengenal pengguna unik, halaman, timestamp event, dan jenis event. Jika tabel Anda mencakup dimensi tambahan, kategorikan sebagai informasi pengguna atau item untuk menyederhanakan rekayasa fitur.

    Parameter

    Deskripsi

    Contoh default

    Behavior table name

    Pilih tabel perilaku yang telah didaftarkan.

    rec_sln_demo_behavior_table_v1

    Time partition

    Bidang partisi tabel perilaku.

    ds

    yyyymmdd

    Behavior information configuration

    Request ID

    ID yang mengidentifikasi setiap permintaan rekomendasi dalam log, biasanya UUID yang dihasilkan program. Opsional.

    request_id

    Behavior event

    Bidang yang mencatat event perilaku dalam log.

    event

    Behavior event enum values

    Nilai enumerasi untuk event perilaku, seperti exposure, click, add to cart, atau purchase.

    expr,click,praise

    Behavior value

    Bidang yang merepresentasikan kedalaman perilaku, seperti harga transaksi atau durasi menonton.

    playtime

    Behavior timestamp

    Waktu terjadinya event log, sebagai timestamp akurat hingga detik.

    event_time

    Timestamp format

    Digunakan bersama dengan behavior timestamp.

    unixtime

    Behavior scenario

    Skenario tempat log dihasilkan, seperti halaman utama, halaman pencarian, atau halaman detail produk.

    page

    Scenario enum values

    Menentukan data skenario mana yang akan digunakan, memungkinkan statistik fitur per skenario dalam rekayasa fitur.

    home,detail

    User information configuration

    User ID

    Bidang untuk ID pengguna dalam tabel perilaku.

    user_id

    User categorical features

    Fitur kategorikal pengguna dalam tabel perilaku, seperti jenis jaringan, platform operasi, atau gender.

    net_type

    Item information configuration

    Item ID

    Bidang untuk ID item dalam tabel perilaku.

    item_id

    User table resource configuration

    Parameter

    Deskripsi

    Contoh default

    User table name

    Pilih tabel pengguna yang telah didaftarkan.

    rec_sln_demo_user_table_v1

    Time partition

    Bidang partisi waktu tabel pengguna.

    ds

    yyyymmdd

    User information configuration

    User ID

    Bidang ID pengguna dalam tabel pengguna.

    user_id

    Registration timestamp

    Waktu pengguna mendaftar.

    register_time

    Timestamp format

    Digunakan bersama dengan registration timestamp.

    unixtime

    Categorical feature

    Bidang kategorikal dalam tabel pengguna, seperti gender, kelompok usia, atau kota.

    gender,city

    Numerical Features

    Bidang numerik dalam tabel pengguna, seperti jumlah item yang dibuat atau poin.

    age,item_cnt,follow_cnt,follower_cnt

    Tag feature

    Nama bidang fitur tag.

    tags

    Item table resource configuration

    Parameter

    Deskripsi

    Contoh default

    Item table name

    Pilih tabel item yang telah didaftarkan.

    rec_sln_demo_item_table_v1

    Time partition

    Bidang partisi waktu tabel item.

    ds

    yyyymmdd

    Item information configuration

    Item ID

    Bidang ID item dalam tabel item.

    item_id

    Author ID

    Penulis item tersebut.

    author

    Listing timestamp

    Nama bidang timestamp listing item.

    pub_time

    Timestamp format

    Digunakan bersama dengan listing timestamp.

    unixtime

    Categorical feature

    Bidang kategorikal dalam tabel item, seperti kategori.

    category

    Numerical Features

    Bidang numerik dalam tabel item, seperti harga, penjualan kumulatif, atau jumlah suka.

    click_count,praise_count

  3. Di bawah Feature Group Configuration, klik Add. Konfigurasikan parameter seperti yang ditunjukkan dalam tabel berikut. Atur nama dan versi modul fitur, lalu pilih tabel pengguna, tabel item, dan tabel log perilaku yang telah Anda konfigurasi di tab Configure Table.

    Resource configuration

    Parameter

    Deskripsi

    Contoh default

    Statistical Period

    Digunakan untuk pembangkitan fitur batch. Untuk membatasi jumlah fitur, atur periode statistik menjadi 3, 7, dan 15 hari. Periode ini menghitung fitur statistik untuk pengguna dan item dalam jendela waktu yang sesuai.

    Jika perilaku pengguna jarang, pertimbangkan menggunakan periode 21 hari.

    3,7,15

    Behavior

    Pilih event perilaku yang telah Anda konfigurasi. Kami menyarankan menambahkannya dalam urutan berikut: expr (exposure), click, dan praise.

    expr,click,praise

    Klik Determine. Tindakan ini menghasilkan berbagai fitur statistik untuk pengguna dan item. Klik Configure Feature untuk grup fitur ini guna melihat fitur validasi. Untuk solusi ini, jangan edit fitur turunan dan biarkan pengaturan default. Anda dapat mengedit fitur turunan sesuai kebutuhan bisnis (Feature Configuration). Klik Publish untuk grup fitur ini, pilih tanggal partisi data terbaru sebagai tanggal eksekusi tugas, atur paralelisme tugas maksimum menjadi 10, dan biarkan pengaturan lain pada nilai default. Lalu, klik Determine. Tindakan ini menghasilkan node, menerapkannya ke DataWorks, dan melakukan backfill data berdasarkan tanggal. Tunggu hingga status modul berubah menjadi Published sebelum melanjutkan ke langkah berikutnya. Klik Online Details untuk melihat informasi lebih lanjut tentang modul tersebut. Di Data Refill Task List, Anda dapat memeriksa status eksekusi setiap tugas. Jika tugas gagal, klik View Task Node untuk membuka DataWorks dan melihat informasi error detail. Setelah memperbaiki masalah, temukan node tersebut di Data Refill Task List dan klik Rerun. Setelah tugas berhasil, Anda dapat melanjutkan.

  4. Di bawah Label Table Configuration, modul ini membangun target sampel dari tabel perilaku. Klik Add, pilih Label Module sebagai jenis modul, masukkan nama untuk modul label, lalu pilih modul fitur yang telah Anda konfigurasi pada langkah sebelumnya. Klik Create di sebelah Fine-grained ranking target settings (labels) dan tambahkan dua label berikut:

    • Target 1: Atur Fine-grained ranking target name menjadi is_click, atur Fine-grained ranking target expression menjadi max(if(event='click',1,0)), dan pilih CLASSIFICATION untuk Target type.

    • Target 2 (perhatikan bahwa 'l' dalam 'ln' adalah huruf kecil): Atur Fine-grained ranking target name menjadi ln_playtime, atur Fine-grained ranking target expression menjadi ln(sum(playtime)+1), atur Fine-grained ranking target dependency menjadi is_click, dan pilih REGRESSION untuk Target type. Lalu, klik OK.

    • Setelah Anda mengklik Determine, terbitkan modul ini dengan cara yang sama seperti menerbitkan modul fitur. Tunggu hingga status berubah menjadi Published sebelum melanjutkan ke langkah berikutnya.

  5. Di bawah Sample Configuration, modul ini mengasosiasikan tabel target sampel dengan fitur dan menghasilkan fitur model di FeatureStore. Klik Add, pilih Sample Module sebagai jenis modul, beri nama fitur model, lalu pilih modul fitur dan label dari langkah-langkah sebelumnya. Terbitkan modul dan tunggu hingga status berubah menjadi Published sebelum melanjutkan ke langkah berikutnya.

  6. Di bawah Feature Generation Configuration, modul ini menurunkan fitur tambahan dari semua fitur dalam tabel sampel. Konfigurasi kustom saat ini tidak didukung. Klik Add, pilih Feature Generation sebagai jenis modul, pilih Ranking sebagai jenis pembangkitan fitur, lalu pilih modul fitur model dari langkah konfigurasi sampel sebelumnya. Tunggu hingga status berubah menjadi Published sebelum melanjutkan ke langkah berikutnya.

  7. Di bawah Configure Sorting Method, klik Add di bagian fine-grained ranking. Untuk output modul fitur, pilih modul pembangkitan fitur dari langkah sebelumnya. Biarkan opsi lain pada nilai default dan klik Determine. Lalu, terbitkan modul tersebut. Setelah status berubah menjadi Published, layanan model diterapkan ke PAI-EAS.

  8. Di bawah Retrieval Configuration, klik Add di sebelah kategori target, konfigurasikan parameter, klik Confirm, lalu Publish konfigurasi tersebut. Dokumen ini mencakup beberapa metode konfigurasi recall. Untuk menyelesaikan penerapan dengan cepat, Anda hanya perlu mengonfigurasi Global Hot Recall dan etrec u2i Recall. Metode lain, seperti vector recall dan collaborative metric recall, hanya sebagai referensi.

Resource configuration

Global hot recall

Global hot recall mengurutkan item populer berdasarkan event klik, di mana top_n adalah jumlah item dalam peringkat. Untuk memodifikasi formula skor atau event, hasilkan kode, terapkan ke DataWorks, lalu lakukan perubahan di sana.

Rumus skor adalah click_uv*click_uv/(expr+adj_factor)*exp(-item_publish_days/fresh_decay_denom), di mana:

  • click_uv: Untuk tingkat klik (CTR) yang sama, jumlah klik pengguna unik yang lebih tinggi menunjukkan bahwa item tersebut lebih populer.

  • click_uv/(expr+adj_factor): Ini adalah tingkat klik (CTR) yang telah dihaluskan, di mana click_uv adalah jumlah pengguna unik yang mengklik dan expr adalah jumlah eksposur. Faktor penyesuaian adj_factor mencegah pembagian dengan nol. Ini juga mencegah CTR mendekati 1 ketika jumlah eksposur rendah, sehingga memastikan CTR yang dihitung lebih mendekati CTR sebenarnya.

  • exp(-item_publish_days/fresh_decay_denom): Ini memberikan penalti pada item yang lebih lama. item_publish_days adalah jumlah hari antara tanggal publikasi dan tanggal saat ini.

Di halaman edit konfigurasi, atur parameter sebagai berikut: atur Recall model name menjadi global_hot dan Version menjadi 1. Untuk Behavior log table, pilih rec_sln_demo_behavior_table_v1. Untuk Item table, pilih rec_sln_demo_item_table_v1. Atur Recall time window menjadi 15 hari dan Recall count menjadi 500. Untuk Exposure behavior event, pilih expr, dan untuk Click behavior event, pilih click. Matikan sakelar Hot score formula. Untuk Recall engine, pilih FeatureStore.

Etrec u2i recall

etrec adalah algoritma collaborative filtering berbasis item (etrec collaborative filtering).

Konfigurasikan formulir etrec u2i recall: masukkan Recall model name (misalnya etrec) dan Version (misalnya 1). Pilih Behavior log table (misalnya rec_sln_demo_behavior_table_v1). Atur Whether to use real-time u2i menjadi false dan untuk Recall engine, pilih FeatureStore. Di bagian u2i behavior weight, Anda dapat menambahkan event dan bobotnya, misalnya bobot 1 untuk click dan 3 untuk praise.

Parameter

Deskripsi

Training days

Jumlah hari log perilaku yang digunakan untuk pelatihan. Default: 30. Sesuaikan berdasarkan volume log Anda.

Recall count

Jumlah rekomendasi pengguna-ke-item yang dihasilkan secara offline.

U2ITrigger

Item yang telah berinteraksi dengan pengguna, seperti item yang diklik, difavoritkan, atau dibeli. Biasanya tidak termasuk item yang hanya diekspos.

Behavior time window

Jumlah hari terakhir data perilaku yang dikumpulkan. Default: 15.

Behavior time decay coefficient

Biasanya antara 0 dan 1. Nilai yang lebih tinggi berarti perilaku lama lebih cepat meluruh dan memiliki bobot lebih rendah saat membangun trigger_item.

Trigger selection count

Jumlah ID item yang diambil per pengguna untuk Produk Kartesius dengan data i2i yang dihasilkan etrec. Direkomendasikan: 10 hingga 50. Nilai yang terlalu besar menghasilkan kandidat recall berlebihan.

u2i behavior weight

Untuk event eksposur, baik abaikan maupun atur bobotnya menjadi 0. Mengabaikan event eksposur melewati pemrosesan data eksposur pengguna.

I2I model settings

Pengaturan parameter untuk etrec (etrec collaborative filtering). Jumlah item terkait sebaiknya tidak terlalu besar. Setelah Anda mengaktifkan sakelar, konfigurasikan parameter berikut: untuk Similarity calculation strategy (sim_type), pilih opsi seperti wbcosine, asymcosine, atau jaccard (contoh menggunakan wbcosine); atur Number of related items (top_n) menjadi 500; atur Max behaviors per user (max_bhv) menjadi 500; atur Min behaviors per user (min_bhv) menjadi 2; untuk Calculation policy (operator), pilih opsi seperti add, mul, min, atau max (contoh menggunakan add); atur Similarity calculation weight coefficient (weight) menjadi 1; atur Decay coefficient (alpha) menjadi 0.5. Setelah selesai, klik Confirm.

Grouped hot recall

Konfigurasikan peringkat berdasarkan atribut seperti kota dan gender untuk recall personalisasi dasar. Dalam contoh ini, kunci pengelompokan menggabungkan gender dengan nomor bucket fitur numerik.

Konfigurasikan parameter: atur Recall type menjadi User grouped hot recall, Recall model name menjadi group_hot, Version menjadi 1, Behavior log table menjadi rec_sln_demo_behavior_table_v1, Item table menjadi rec_sln_demo_item_table_v1, User table menjadi rec_sln_demo_user_table_v1, Feature module menjadi ft, Recall time window menjadi 15, Recall count menjadi 500, Exposure behavior event menjadi expr, dan Click behavior event menjadi click.

Di bagian User group trigger, tambahkan fitur gender (tanpa batas bucket) dan follow_cnt (batas bucket: 1,5,10,20). Di bagian Behavior group trigger, tambahkan fitur net_type (tanpa batas bucket). Untuk Recall engine, pilih FeatureStore.

Swing u2i recall

Swing mengukur kemiripan item berdasarkan pola ko-kejadian Pengguna-Item-Pengguna.

Konfigurasikan parameter model recall Swing u2i: atur Recall type menjadi Swing u2i recall, Recall model name menjadi swing, Version menjadi 1, Behavior log table menjadi rec_sln_demo_behavior_table_v1, Use real-time u2i menjadi false, Training days menjadi 30, dan Recall count menjadi 500. Untuk Recall engine, pilih FeatureStore, dan aktifkan sakelar U2I Trigger(weighted_behavior_u2i).

Konfigurasikan parameter U2I Trigger: atur Behavior time window menjadi 15, Decay coefficient menjadi 0.2, dan Trigger selection count menjadi 10. Di bagian u2i behavior weight, klik Add untuk menambahkan event perilaku: event bernama click dengan bobot 1, dan event bernama praise dengan bobot 3.

Aktifkan sakelar I2I model settings, lalu konfigurasikan parameter: atur Number of related items (top_n) menjadi 500, Max clicks per user (max_click_per_user) menjadi 600, Max users per item (max_user_per_item) menjadi 700, Max time span (max_time_span) menjadi 1, Adjustment coefficient (alpha1) menjadi 5, Adjustment coefficient (alpha2) menjadi 1, dan Adjustment coefficient (beta) menjadi 0.3. Untuk Item weight calculation method (norm_method), pilih COUNT.

Vector recall

Solusi ini menggunakan metode vector recall DSSM. Konfigurasinya sebagai berikut:

  • Recall target name: Biasanya menunjukkan apakah terjadi klik. Atur ini menjadi is_click.

  • Recall target selection: Atur ini menjadi max(if(event='click', 1, 0)).

    Kode berikut memberikan contoh:

    select max(if(event='click',1,0)) is_click ,...
    from ${behavior_table}
    where between dt=${bizdate_start} and dt=${bizdate_end}
    group by req_id,user_id,item

    Dalam kode ini:

    • ${behavior_table}: Tabel perilaku.

    • ${bizdate_start}: Tanggal mulai jendela waktu perilaku.

    • event: Bidang event di tabel ${behavior_table}. Gunakan nama sebenarnya dari bidang event di tabel Anda.

    • is_click: Nama target.

    Rumus untuk perhitungan dimensi adalah sebagai berikut:

    EMB_SQRT4_STEP8: (8 + Pow(count, 0.25)) / 8) * 8
    EMB_SQRT4_STEP4: (4 + Pow(count, 0.25)) / 4) * 4
    EMB_LN_STEP8:    (8 + Log(count + 1)) / 8) * 8
    EMB_LN_STEP4:    (4 + Log(count + 1)) / 4) * 4

    Di sini, count adalah jumlah nilai fitur enumerasi. Gunakan fungsi Log untuk fitur dengan jumlah nilai yang besar.

Konfigurasikan parameter model recall: atur Recall type menjadi Vector recall, Recall model name menjadi dssm, Version menjadi 1, Feature module menjadi ft, dan Model type menjadi dssm. Aktifkan sakelar Negative sampling strategy, atur Sampling type menjadi negative_sampler, dan atur Number of negative samples menjadi 1024.

Atur Target type menjadi CLASSIFICATION dan Training days menjadi 30. Atur Share embedding menjadi true. Matikan sakelar Sample weight. Atur Incremental training menjadi true dan Incremental training days menjadi 1.