All Products
Search
Document Center

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

Last Updated:Jun 26, 2026

Panduan ini menggunakan dataset publik untuk memandu Anda melalui konfigurasi rekayasa fitur, recall, dan ranking detail halus di PAI-Rec, lalu menerapkan kode yang dihasilkan ke DataWorks. Pendekatan modular memungkinkan Anda menerbitkan atau membatalkan penerbitan fungsi 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 sebelum memulai:

1. Buat instans PAI-Rec dan inisialisasi layanan

  1. Login ke halaman utama Platform Pengembangan Sistem Rekomendasi 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 atas, 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 dibuat 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

Solusi ini menawarkan 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 menjadwalkan pembuatan data harian dan pelatihan model, gunakan opsi kedua, yang menerapkan kode Python untuk menghasilkan data. 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 dalam topik ini didasarkan pada ketiga tabel tersebut. Data dihasilkan secara acak untuk simulasi tanpa makna bisnis nyata, yang dapat mengakibatkan metrik rendah (seperti AUC) selama pelatihan. 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 atas.

  2. Di panel navigasi 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, seperti 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 dari jendela waktu tetap tidak dapat digunakan untuk 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.

    • Konfigurasi 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].

    • Konfigurasi 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 60 hari, atur waktu data menjadi Scheduled Task Date - 60 untuk memastikan integritas data.

2. Konfigurasi node dependensi

Untuk memastikan pembuatan dan penerapan kode berjalan lancar, tambahkan tiga node kode SQL ke proyek DataWorks Anda dengan dependensi penjadwalan diatur ke node root. Setelah mengonfigurasi node, terbitkan mereka:

  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

Sebelum mengonfigurasi rekayasa fitur, recall, dan ranking, daftarkan ketiga tabel tersinkronisasi di PAI-Rec:

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

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

  3. Di panel navigasi kiri, navigasikan ke 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. 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 traffic, 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

Untuk konfigurasi produksi lengkap, gunakan pengaturan recall dan ranking detail halus berikut:

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

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

  • Etrec u2i recall: Menggunakan algoritma filtering kolaboratif 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.

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

  1. Di panel navigasi 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 Layanan Transmisi Data 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 opsi ini jika versi DataWorks Anda membatasi ukuran paket kode yang diimpor. Anda kemudian harus mengunggah secara manual paket apa pun yang melebihi batas. 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 behavior log table, user table, dan item table dengan mengatur partisi, event, fitur, dan field timestamp yang sesuai, lalu klik Next.

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

    Behavior log table resource configuration

    Saat mengonfigurasi tabel log perilaku, sesuaikan pengaturan berdasarkan data aktual Anda. Dalam tutorial ini, log perilaku berisi informasi penting seperti ID permintaan, pengenal pengguna unik, halaman, waktu event, dan jenis event. Jika tabel Anda mencakup dimensi data yang lebih kaya, kami sarankan mengkategorikan informasi ini sebagai informasi pengguna atau item untuk menyederhanakan rekayasa fitur selanjutnya.

    Parameter

    Deskripsi

    Contoh default

    Behavior table name

    Pilih tabel perilaku yang telah didaftarkan.

    rec_sln_demo_behavior_table_v1

    Time partition

    Field partisi tabel perilaku.

    ds

    yyyymmdd

    Behavior information configuration

    Request ID

    ID yang mengidentifikasi setiap permintaan rekomendasi dalam log, biasanya UUID yang dihasilkan program. Parameter ini opsional.

    request_id

    Behavior event

    Field yang mencatat event perilaku dalam log.

    event

    Behavior event enum values

    Nilai enumerasi untuk event perilaku, seperti eksposur, klik, tambah ke keranjang, atau pembelian.

    expr,click,praise

    Behavior value

    Field 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 stempel waktu perilaku.

    unixtime

    Behavior scenario

    Field yang menunjukkan skenario tempat log dihasilkan, seperti halaman utama, halaman pencarian, atau halaman detail produk.

    page

    Scenario enum values

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

    home,detail

    User information configuration

    User ID

    Field untuk ID pengguna di tabel perilaku.

    user_id

    User categorical features

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

    net_type

    Item information configuration

    Item ID

    Field untuk ID item di 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

    Field partisi waktu tabel pengguna.

    ds

    yyyymmdd

    User information configuration

    User ID

    Field ID pengguna di tabel pengguna.

    user_id

    Registration timestamp

    Waktu pengguna mendaftar.

    register_time

    Timestamp format

    Digunakan bersama dengan registration timestamp.

    unixtime

    Categorical feature

    Field kategorikal di tabel pengguna, seperti gender, kelompok usia, atau kota.

    gender,city

    Numerical Features

    Field numerik di tabel pengguna, seperti jumlah item yang dibuat atau poin.

    age,item_cnt,follow_cnt,follower_cnt

    Tag feature

    Nama field 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

    Field partisi waktu tabel item.

    ds

    yyyymmdd

    Item information configuration

    Item ID

    Field ID item di tabel item.

    item_id

    Author ID

    Penulis item tersebut.

    author

    Listing timestamp

    Nama field timestamp listing item.

    pub_time

    Timestamp format

    Digunakan bersama dengan listing timestamp.

    unixtime

    Categorical feature

    Field kategorikal di tabel item, seperti kategori.

    category

    Numerical Features

    Field numerik di 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

    Pengaturan ini digunakan untuk pembangkitan fitur batch. Untuk menghindari pembuatan terlalu banyak fitur, solusi ini mengatur periode statistik menjadi 3, 7, dan 15 hari. Periode ini digunakan untuk menghitung fitur statistik untuk pengguna dan item selama 3, 7, dan 15 hari terakhir, masing-masing.

    Jika perilaku pengguna jarang, pertimbangkan menggunakan periode 21 hari.

    3,7,15

    Behavior

    Pilih event perilaku yang telah Anda konfigurasi. Kami sarankan menambahkannya dalam urutan berikut: expr (eksposur), 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 mengedit fitur turunan dan pertahankan pengaturan default. Anda dapat mengedit fitur turunan sesuai kebutuhan bisnis Anda (Feature Configuration). Klik Publish untuk grup fitur ini, pilih tanggal partisi data terbaru sebagai tanggal eksekusi tugas, atur paralelisme tugas maksimum menjadi 10, dan pertahankan pengaturan lain pada nilai defaultnya. 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 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 di 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 defaultnya 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 merepresentasikan jumlah item dalam peringkat. Untuk memodifikasi formula skor atau event yang digunakan untuk skoring, Anda dapat menghasilkan kode terkait, menerapkannya ke DataWorks, lalu melakukan perubahan Anda.

Formula 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 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 dekat ke 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 filtering kolaboratif berbasis item (filtering kolaboratif etrec).

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 bobot, misalnya bobot 1 untuk click dan 3 untuk praise.

Parameter

Deskripsi

Training days

Jumlah hari log perilaku yang digunakan untuk pelatihan. Defaultnya adalah 30 hari. Anda dapat menyesuaikan nilai ini 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, ditambahkan ke favorit, atau dibeli. Ini biasanya mengecualikan item yang hanya dieksposur.

Behavior time window

Jumlah hari terbaru data perilaku yang dikumpulkan. Defaultnya adalah 15.

Behavior time decay coefficient

Nilai ini 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 untuk setiap pengguna untuk melakukan Produk Kartesius dengan data i2i yang dihasilkan oleh etrec. Nilai antara 10 dan 50 direkomendasikan. Jika nilai ini terlalu besar, dapat menghasilkan terlalu banyak kandidat recall.

u2i behavior weight

Untuk event eksposur, jangan konfigurasi atau atur bobotnya menjadi 0. Kami sarankan tidak mengkonfigurasi event eksposur, karena ini melewati pemrosesan data eksposur pengguna.

I2I model settings

Pengaturan parameter untuk etrec (filtering kolaboratif etrec). 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

Anda dapat mengonfigurasi peringkat berdasarkan atribut seperti kota dan gender untuk memberikan recall personalisasi dasar. Dalam contoh berikut, kunci pengelompokan adalah kombinasi gender dan 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 adalah metode korelasi item yang mengukur kemiripan item berdasarkan pola User-Item-User.

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: Field event di tabel ${behavior_table}. Gunakan nama sebenarnya dari field 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.