Tüm Ürünler
Search
Belge Merkezi

Platform For AI:PAI-Rec modüler algoritma özelleştirmesi için en iyi uygulamalar

Son Güncelleme:Oct 05, 2026

PAI-Rec'te özellik mühendisliğini, hatırlamayı ve sıralamayı yapılandırmak için genel bir veri kümesi kullanın, ardından oluşturulan kodu DataWorks'e dağıtın. Modüler yaklaşım, işlem hattının geri kalanını etkilemeden tek tek bileşenleri yayınlamanıza veya yayından kaldırmanıza olanak tanır.

Öneri çözümü özelleştirmesini neden modüler hale getirmelisiniz?

  • Özellik grupları model yinelemesini basitleştirir.

  • Tek tıkla yayınlama, kodu dağıtır ve veri doldurma işlemini otomatik olarak başlatır.

  • Yalnızca sıralama modülü tüm gerekli bileşenleri (özellik grupları, örnekler ve özellik oluşturma modülleri) tamamen doldurur; bu durum, özellik mühendisliği hatalarından kaynaklanan yeniden çalışmayı azaltır.

Ön koşullar

Aşağıdaki hazırlıkları tamamlayın:

1. PAI-Rec örneği oluşturun ve hizmeti başlatın

  1. Öneri Sistemi Geliştirme Platformu ana sayfasında oturum açın ve Buy Now öğesine tıklayın.

  2. PAI-Rec örneği satın alma sayfasında aşağıdaki anahtar parametreleri yapılandırın ve ardından Buy Now öğesine tıklayın.


    Parametre


    Açıklama


    Region and zone


    Bulut hizmetinizin dağıtıldığı bölge.


    Service Type

    Standard Edition and enable Recommendation Solution Customization seçeneğini seçin.

  3. PAI-Rec Yönetim Konsolu üzerinde oturum açın. Üst menü çubuğunun sol üst köşesinde bir bölge seçin.

  4. Sol gezinme bölmesinde Instances seçeneğine gidin ve ardından örnek ayrıntıları sayfasını açmak için örnek adına tıklayın.

  5. Procedure bölümünde, System Configuration > Cloud Service Configuration sayfasını açmak için Cloud Service Configuration öğesine tıklayın. Edit öğesine tıklayın, parametreleri Kaynak yapılandırması tablosunda gösterildiği gibi yapılandırın ve ardından Exit öğesine tıklayın.

    Kaynak yapılandırması

    Parametre

    Açıklama

    Modelleme

    Machine Learning Platform for AI Workspace

    Oluşturduğunuz varsayılan PAI çalışma alanını girin.

    DataWorks Workspace

    Otomatik olarak oluşturulan DataWorks çalışma alanını girin.

    MaxCompute Workspace

    Oluşturduğunuz MaxCompute projesini girin.

    OSS Bucket

    Oluşturduğunuz OSS paketini seçin.

    Motor

    Real-time Recall Engine

    Whether to use PAI-FeatureStore seçeneği için Yes değerini seçin.

    Real-time Feature Query

    Whether to use PAI-FeatureStore seçeneği için Yes değerini seçin.

  6. Sol gezinme bölmesinde System Configuration > Permissions seçeneğine gidin. Services sekmesinde her bir bulut hizmetinin yetkilendirme durumunu doğrulayın.

2. Genel veri kümesini klonlayın

1. Veri tablosunu senkronize edin

İki veri girişi seçeneği mevcuttur:

  1. Belirli bir zaman penceresi içinde pai_online_project'ten verileri klonlayın. Bu seçenek zamanlanmış görevleri desteklemez.

  2. Veri oluşturmak için bir Python betiği kullanın. Belirtilen bir zaman aralığı için veri oluşturmak üzere görevi DataWorks'te çalıştırabilirsiniz.

Günlük veri oluşturma ve model eğitimi için zamanlanmış görevler kullanmak istiyorsanız bunun yerine bir Python betiği dağıtın. Kod kullanarak veri oluşturma sekmesine bakın.

Sabit zaman penceresi

PAI-Rec, pai_online_project genel projesinde üç tablo hazırlar:

  • Kullanıcı tablosu: pai_online_project.rec_sln_demo_user_table

  • Öğe tablosu: pai_online_project.rec_sln_demo_item_table

  • Davranış tablosu: pai_online_project.rec_sln_demo_behavior_table

Aşağıdaki işlemler bu üç tabloyu kullanır. Veriler simülasyon amacıyla rastgele oluşturulduğundan AUC gibi eğitim ölçümleri düşük olabilir. Tablo verilerini pai_online_project konumundan DataWorks projenize (örneğin DataWorks_a) senkronize etmek için DataWorks'te SQL komutlarını çalıştırın:

  1. DataWorks konsolunda oturum açın ve üst menü çubuğunun sol üst köşesinden bir bölge seçin.

  2. Sol taraftaki gezinme bölmesinde Data Development and O&M > Data Development seçeneğine tıklayın.

  3. Oluşturduğunuz DataWorks çalışma alanını seçin ve Enter Data Development öğesine tıklayın.

  4. Create üzerine gelin ve ardından New node > MaxCompute > ODPS SQL seçeneğine gidin. Parametreleri aşağıdaki tabloda açıklandığı gibi yapılandırın ve ardından Confirm öğesine tıklayın.

    Kaynak yapılandırması


    Parametre


    Açıklama


    Engine instance


    Bağladığınız MaxCompute veri kaynağını seçin.


    Node type


    ODPS SQL düğüm türünü seçin.


    Path


    Geçerli düğüm için yolu seçin. Örneğin, Business Flow/Workflow/MaxCompute.


    Name


    Örneğin Data gibi özel bir ad girin.

  5. Yeni düğüm düzenleyicisinde, aşağıdaki kodu kopyalayıp çalıştırarak kullanıcı, öğe ve davranış tablolarını pai_online_project projesinden MaxCompute projenize (örneğin project_mc) senkronize edin. Kodu çalıştırmadan önce, bizdate ile biten 100 günlük bir veri penceresi belirtmek için değişkenleri ayarlayın. Genellikle bizdate değerini önceki güne ayarlamanız gerekir. Zamanlama parametreleri alanında Parametre Ekle'ye tıklayın ve değeri $[yyyymmdd-1] olan bizdate ile değeri $[yyyymmdd-100] olan bizdate_100 olmak üzere iki parametre ekleyin. Aşağıdaki kodu çalıştırmak, verileri genel pai_online_project projesinden projenize senkronize eder:

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}";

Kod oluşturma

Sabit zaman pencereli veriler zamanlanmış görevleri desteklemez. Görevleri zamanlamaya göre çalıştırmak için veri oluşturacak bir Python betiği dağıtın:

  1. DataWorks konsolunda bir PyODPS 3 düğümü oluşturun (MaxCompute düğümleri oluşturma ve yönetme).

  2. create_data.py dosyasını indirin ve ardından dosyanın içeriğini PyODPS 3 düğüm düzenleyicisine yapıştırın.

  3. Düzenleyicinin sağ tarafında Configure Scheduling seçeneğine tıklayın ve parametreleri yapılandırın. Ardından, sağ üst köşedeki Kaydet image ve Gönder image simgelerine tıklayın.

    • Zamanlama parametrelerini yapılandırın:

      • Değişken değiştirme notu:

        Zamanlama parametrelerinde, $user_table_name bağımsız değişkenini rec_sln_demo_user_table olarak ayarlayın.

        $item_table_name bağımsız değişkenini rec_sln_demo_item_table olarak ayarlayın.

        $behavior_table_name bağımsız değişkenini rec_sln_demo_behavior_table olarak ayarlayın.

        Üç tablo adı bağımsız değişkenine ek olarak betik, $bizdate değişkeni olarak iletilen bir bizdate zamanlama parametresi de kullanır.

        Parametre yapılandırması:

        bizdate adlı bir parametre ekleyin ve değerini $[yyyymmdd-1] olarak ayarlayın.

    • Zamanlama bağımlılıklarını yapılandırın.

  4. Operation Center'ı tıklayın ve Auto Triggered Task O&M > Recurring Job seçeneğini belirleyin.

  5. Hedef görevin İşlemler sütununda Data backfill > Current and Descendant Nodes Retroactively öğesini tıklayın.

  6. Data Backfill panelinde veri zaman damgasını ayarlayın ve ardından Submit and Navigate öğesini tıklayın.

    Veri bütünlüğünü sağlamak için 60 günlük optimum bir geriye dönük veri doldurma süresi amacıyla veri zaman damgasını Scheduled Task Date - 60 olarak ayarlayın.

2. Bağımlılık düğümlerini yapılandırma

DataWorks projenize kök düğüm üzerinde zamanlama bağımlılığı olan üç sanal düğüm ekleyin ve ardından bunları yayınlayın:

  1. Create üzerine gelin ve new node > General-purpose > virtual node seçeneğini belirleyin. Aşağıdaki kaynak yapılandırmasını kullanarak üç sanal düğüm oluşturun ve ardından Confirm öğesini tıklayın.

    Kaynak yapılandırması

    Parameter

    Description

    Default example

    Node type

    Düğüm türünü seçin.

    Sanal düğüm

    Path

    Geçerli düğüm için yolu seçin.

    İş Akışı/İş Akışı/Genel

    Name

    İlgili senkronize edilen veri tablosunun adını girin.

    • rec_sln_demo_user_table_v1

    • rec_sln_demo_item_table_v1

    • rec_sln_demo_behavior_table_v1

  2. Her bir düğümü seçin ve içeriğini select 1; olarak ayarlayın. Ardından sağ taraftaki Configure Scheduling öğesini tıklayın ve aşağıdaki ayarları tamamlayın:

    • Time attributes bölümünde, Rerun attribute özelliğini Rerun node after success or failure olarak ayarlayın.

    • Scheduling dependencies > Ancestor Nodes bölümünde DataWorks çalışma alanı adını girin, _root son ekine sahip düğümü seçin ve Add öğesini tıklayın.

      Bu bağımlılık yapılandırmasını üç sanal düğümün tümüne uygulayın.

  3. Her sanal düğüm için düğümü göndermek üzere image simgesini tıklayın.

3. Verileri kaydetme

Özellik mühendisliği, geri çağırma ve sıralamayı yapılandırmadan önce senkronize edilen üç tabloyu PAI-Rec'e kaydedin:

  1. PAI-Rec Management Console adresinde oturum açın ve sol üst köşeden bir bölge seçin.

  2. Sol gezinme bölmesinde Instances öğesini tıklayın ve ardından ayrıntılar sayfasını açmak için bir örneğin adını tıklayın.

  3. Sol gezinme bölmesinde Recommendation Solution Customization > Data Registration konumuna gidin. MaxCompute Table sekmesinde Create Data Table öğesini tıklayın. Aşağıdaki tablodaki yapılandırmayı kullanarak bir kullanıcı tablosu, bir öğe tablosu ve bir davranış tablosu ekleyin. Ardından Import öğesini tıklayın.

    Parameter

    Description

    Example

    MaxCompute projesi

    Oluşturduğunuz MaxCompute projesini seçin.

    project_mc

    MaxCompute tablosu

    DataWorks çalışma alanınıza senkronize edilen veri tablolarını seçin.

    • Kullanıcı tablosu: rec_sln_demo_user_table_v1

    • Öğe tablosu: rec_sln_demo_item_table_v1

    • Davranış tablosu: rec_sln_demo_behavior_table_v1

    Veri tablosu adı

    Özel bir ad girin.

    • Kullanıcı tablosu

    • Öğe tablosu

    • Davranış tablosu

4. Bir öneri senaryosu oluşturma

Öneri görevlerini yapılandırmadan önce bir öneri senaryosu oluşturun. Temel kavramlar ve trafik kodlaması hakkında bilgi için bkz. Basic Concepts.

Sol gezinme bölmesinde Recommendation Scenario ve ardından Create Scenario öğelerini tıklayın. Aşağıdaki kaynak yapılandırmasıyla bir öneri senaryosu yapılandırın ve Determine öğesini tıklayın.

Kaynak yapılandırması


Parameter


Description


Example


Senaryo adı


Senaryo için özel bir ad.


Ana Sayfa


Senaryo açıklaması


Senaryo için isteğe bağlı bir açıklama.


Yok

5. Bir algoritma kurma

Tam bir üretim yapılandırması aşağıdaki geri çağırma ve sıralama ayarlarını içerir:

  • Genel popüler geri çağırma: Günlük verilerine göre en popüler K öğeyi alır.

  • Gruplanmış popüler geri çağırma: İlgililiği artırmak için şehir veya cinsiyet gibi belirli gruplardan popüler öğe adaylarını alır.

  • Etrec u2i geri çağırma: Etrec işbirlikçi filtreleme algoritmasını kullanır.

  • Swing u2i geri çağırma (isteğe bağlı): Swing algoritmasını kullanır.

  • Vektör geri çağırma (isteğe bağlı): Derin Yapısal Anlamsal Model (DSSM) kullanarak adaylar oluşturur.

  • İnce taneli sıralama: Tek amaçlı sıralama için MultiTower modelini ve çok amaçlı sıralama için DBMTL modelini kullanır.

Aşağıdaki adımlar, RECommender (eTREC, a collaborative filtering implementation) bölümündeki genel popüler geri çağırma ve etrec u2i geri çağırmayı ve ayrıca ince taneli sıralamayı kapsar. Adımlar:

  1. Sol gezinme bölmesinde Recommendation Solution Customization seçeneğini belirleyin. Oluşturduğunuz bir senaryoyu seçin ve ardından Create Modular Recommendation Solution öğesini tıklayın. Aşağıdaki kaynak yapılandırmalarıyla bir çözüm oluşturun ve ardından Save and Go to Algorithm Solution Configuration öğesini tıklayın.

    Belirtilmeyen parametreleri varsayılan değerlerinde bırakın. Data Table Configuration.

    Kaynak yapılandırması


    Parameter


    Description


    Solution Name


    Özel bir ad girin.


    Scenario Name


    Oluşturduğunuz öneri senaryosunu seçin.


    Offline Data Source


    Öneri senaryosuyla ilişkili MaxCompute projesini seçin.


    Algorithm Framework


    PyTorch'u seçin. Tercihinize bağlı olarak farklı bir algoritma çerçevesi seçebilirsiniz.


    DataWorks Workspace


    Öneri senaryosuyla ilişkili DataWorks çalışma alanını seçin.


    Workflow Name


    Öneri çözümü betiği dağıtıldığında DataWorks'te oluşturulan iş akışının adı. Flow gibi özel bir ad girebilirsiniz.


    StorageAPI yapılandırması

    Çin anakarası: Çin (Pekin) ve Çin (Şanghay) gibi bölgeler için kullandıkça öde bir veri aktarım hizmeti olan "StorageAPI"yi seçebilirsiniz.

    Diğer bölgeler: Çin (Hong Kong), Singapur ve Almanya (Frankfurt) gibi bölgeler için öncelikle özel bir Veri Aktarım Hizmeti kaynak grubu satın almanız ve kullanmanız gerekir. Kullandıkça öde seçeneği mevcut değilse abonelik tabanlı bir veri aktarım hizmeti satın almanız gerekir. Satın alma işleminden sonra sayfayı yenileyin ve abonelik tabanlı hizmetinizin adını seçin. DataWorks'teki PAI-DLC TorchEasyRec eğitim işinde aşağıdakine benzer bir biçimde bir parametre ekleyin: -odps_data_quota_name ot_xxxx_p#ot_yyyy.


    slim_mode


    DataWorks sürümünüz içe aktarılan kod paketlerinin boyutunu kısıtlıyorsa bunu etkinleştirin. Bu durumda limiti aşan paketleri manuel olarak yüklemeniz gerekir. Bu çözüm için No seçeneğini belirleyin.


    OSS bucket


    Öneri senaryosuyla ilişkili OSS paketini seçin.


    Project


    Oluşturduğunuz FeatureStore projesini seçin ve çevrimiçi veri kaynağı olarak FeatureDB'yi seçin.


    User Entity


    FeatureStore projenizden user özellik varlığını seçin.


    Item Entity


    FeatureStore projenizden item özellik varlığını seçin.

  2. Configure Table sekmesinde bir veri tablosunun yanındaki Add öğesini tıklayın. İlgili bölüm, olay, özellik ve zaman damgası alanlarını ayarlayarak davranış günlük tablosunu, kullanıcı tablosunu ve öğe tablosunu yapılandırın ve ardından Next öğesini tıklayın.

    Belirtilmeyen parametreleri varsayılan değerlerinde bırakın. Data Table Configuration.

    Davranış günlük tablosu kaynak yapılandırması

    Ayarları gerçek verilerinize göre düzenleyin. Bu öğreticide davranış günlüğü istek kimliğini, benzersiz kullanıcı tanımlayıcısını, sayfayı, olay zaman damgasını ve olay türünü içerir. Tablonuzda ek boyutlar varsa özellik mühendisliğini basitleştirmek için bunları kullanıcı veya öğe bilgisi olarak sınıflandırın.

    Parameter

    Description

    Default example

    Behavior table name

    Kayıtlı davranış tablosunu seçin.

    rec_sln_demo_behavior_table_v1

    Time partition

    Davranış tablosunun bölüm alanı.

    ds

    yyyymmdd

    Davranış bilgisi yapılandırması

    Request ID

    Günlüklerdeki her öneri isteğini tanımlayan kimlik, genellikle program tarafından oluşturulan bir UUID. İsteğe bağlı.

    request_id

    Behavior event

    Günlüklerde davranış olaylarını kaydeden alan.

    event

    Behavior event enum values

    Maruz kalma, tıklama, sepete ekleme veya satın alma gibi davranış olayları için numaralandırılmış değerler.

    expr,click,praise

    Behavior value

    İşlem fiyatı veya izleme süresi gibi bir davranışın derinliğini temsil eden bir alan.

    playtime

    Behavior timestamp

    Günlük olayının gerçekleştiği zaman, saniye doğruluğunda bir zaman damgası.

    event_time

    Timestamp format

    Davranış zaman damgasıyla birlikte kullanılır.

    unixtime

    Behavior scenario

    Günlüğün oluşturulduğu senaryo, örneğin ana sayfa, arama sayfası veya ürün ayrıntıları sayfası.

    page

    Scenario enum values

    Hangi senaryoların verilerinin kullanılacağını belirtir ve özellik mühendisliğinde senaryo başına özellik istatistiklerini etkinleştirir.

    home,detail

    Kullanıcı bilgisi yapılandırması

    User ID

    Davranış tablosundaki kullanıcı kimliği alanı.

    user_id

    User categorical features

    Davranış tablosundaki kategorik kullanıcı özellikleri, örneğin ağ türü, işletim platformu veya cinsiyet.

    net_type

    Öğe bilgisi yapılandırması

    Item ID

    Davranış tablosundaki öğe kimliği alanı.

    item_id

    Kullanıcı tablosu kaynak yapılandırması

    Parameter

    Description

    Default example

    User table name

    Kayıtlı kullanıcı tablosunu seçin.

    rec_sln_demo_user_table_v1

    Time partition

    Kullanıcı tablosunun zaman bölümü alanı.

    ds

    yyyymmdd

    Kullanıcı bilgisi yapılandırması

    User ID

    Kullanıcı tablosundaki kullanıcı kimliği alanı.

    user_id

    Registration timestamp

    Kullanıcının kayıt olduğu zaman.

    register_time

    Timestamp format

    Kayıt zaman damgasıyla birlikte kullanılır.

    unixtime

    Categorical feature

    Kullanıcı tablosundaki kategorik alanlar, örneğin cinsiyet, yaş grubu veya şehir.

    gender,city

    Numerical Features

    Kullanıcı tablosundaki sayısal alanlar, örneğin oluşturulan öğe sayısı veya puanlar.

    age,item_cnt,follow_cnt,follower_cnt

    Tag feature

    Etiket özelliği alanının adı.

    tags

    Öğe tablosu kaynak yapılandırması

    Parameter

    Description

    Default example

    Item table name

    Kayıtlı öğe tablosunu seçin.

    rec_sln_demo_item_table_v1

    Time partition

    Öğe tablosunun zaman bölümü alanı.

    ds

    yyyymmdd

    Öğe bilgisi yapılandırması

    Item ID

    Öğe tablosundaki öğe kimliği alanı.

    item_id

    Author ID

    Öğenin yazarı.

    author

    Listing timestamp

    Öğe listeleme zaman damgası alanının adı.

    pub_time

    Timestamp format

    Listeleme zaman damgasıyla birlikte kullanılır.

    unixtime

    Categorical feature

    Öğe tablosundaki kategorik alanlar, örneğin kategori.

    category

    Numerical Features

    Öğe tablosundaki sayısal alanlar, örneğin fiyat, kümülatif satış veya beğeni sayısı.

    click_count,praise_count

  3. Feature Group Configuration altında Add öğesini tıklayın. Parametreleri aşağıdaki tabloda gösterildiği gibi yapılandırın. Özellik modülü adını ve sürümünü ayarlayın ve Configure Table sekmesinde yapılandırdığınız kullanıcı tablosunu, öğe tablosunu ve davranış günlük tablosunu seçin.

    Kaynak yapılandırması


    Parameter


    Description


    Default example


    Statistical Period

    Toplu özellik oluşturma için kullanılır. Özellik sayısını sınırlamak için istatistiksel dönemleri 3, 7 ve 15 gün olarak ayarlayın. Bu dönemler, ilgili zaman pencereleri üzerinden kullanıcılar ve öğeler için istatistiksel özellikleri hesaplar.

    Kullanıcı davranışı seyrekse 21 günlük bir dönem kullanmayı düşünün.


    3,7,15


    Behavior


    Yapılandırdığınız davranış olaylarını seçin. Bunları şu sırayla eklemenizi öneririz: expr (maruz kalma), click ve praise.


    expr,click,praise

    Determine öğesini tıklayın. Bu işlem hem kullanıcılar hem de öğeler için çeşitli istatistiksel özellikler oluşturur. Doğrulama özelliklerini görüntülemek için bu özellik grubunun Configure Feature öğesini tıklayın. Bu çözüm için türetilmiş özellikleri düzenlemeyin ve varsayılan ayarları koruyun. Türetilmiş özellikleri iş ihtiyaçlarınıza uygun şekilde düzenleyebilirsiniz (Feature Configuration). Bu özellik grubu için Publish öğesini tıklayın, görev çalıştırma tarihi olarak en son veri bölümü tarihini seçin, maksimum görev paralelliğini 10 olarak ayarlayın ve diğer ayarları varsayılanlarında bırakın. Ardından Determine öğesini tıklayın. Bu işlem bir düğüm oluşturur, onu DataWorks'e dağıtır ve tarihe göre verileri geriye dönük olarak doldurur. Bir sonraki adıma geçmeden önce modülün durumunun Published olarak değişmesini bekleyin. Modülle ilgili daha fazla bilgiyi görüntülemek için Online Details öğesini tıklayın. Data Refill Task List bölümünde her görevin çalışma durumunu kontrol edebilirsiniz. Bir görev başarısız olursa ayrıntılı hata bilgilerini görüntülemek üzere DataWorks'e gitmek için View Task Node öğesini tıklayın. Sorunu giderdikten sonra Data Refill Task List bölümünde düğümü bulun ve Rerun öğesini tıklayın. Görev başarılı olduktan sonra devam edebilirsiniz.

  4. Label Table Configuration altında bu modül davranış tablosundan örnek hedefler oluşturur. Add öğesini tıklayın, modül türü olarak Label Module seçeneğini belirleyin, etiket modülü için bir ad girin ve önceki adımda yapılandırdığınız özellik modülünü seçin. Fine-grained ranking target settings (labels) öğesinin yanındaki Create öğesini tıklayın ve aşağıdaki iki etiketi ekleyin:

    • Hedef 1: Fine-grained ranking target name öğesini is_click olarak ayarlayın, Fine-grained ranking target expression öğesini max(if(event='click',1,0)) olarak ayarlayın ve Target type için CLASSIFICATION seçeneğini belirleyin.

    • Hedef 2 ('ln' içindeki 'l' harfinin küçük olduğuna dikkat edin): Fine-grained ranking target name öğesini ln_playtime olarak ayarlayın, Fine-grained ranking target expression öğesini ln(sum(playtime)+1) olarak ayarlayın, Fine-grained ranking target dependency öğesini is_click olarak ayarlayın ve Target type için REGRESSION seçeneğini belirleyin. Ardından OK öğesini tıklayın.

    • Determine öğesini tıkladıktan sonra modülü özellik modülünü yayınladığınız şekilde yayınlayın. Bir sonraki adıma geçmeden önce durumun Published olarak değişmesini bekleyin.

  5. Sample Configuration altında bu modül örnek hedef tablolarını özelliklerle ilişkilendirir ve FeatureStore'da model özellikleri oluşturur. Add öğesini tıklayın, modül türü olarak Sample Module seçeneğini belirleyin, model özelliğine bir ad verin ve önceki adımlardaki özellik ve etiket modüllerini seçin. Modülü yayınlayın ve bir sonraki adıma geçmeden önce durumun Published olarak değişmesini bekleyin.

  6. Feature Generation Configuration altında bu modül örnek tablodaki tüm özelliklerden ek özellikler türetir. Özel yapılandırma şu anda desteklenmemektedir. Add öğesini tıklayın, modül türü olarak Feature Generation seçeneğini belirleyin, özellik oluşturma türü olarak Ranking seçeneğini belirleyin ve önceki örnek yapılandırma adımındaki model özellik modülünü seçin. Bir sonraki adıma geçmeden önce durumun Published olarak değişmesini bekleyin.

  7. Configure Sorting Method altında ince taneli sıralama bölümünde Add öğesini tıklayın. Özellik modülü çıktısı için önceki adımdaki özellik oluşturma modülünü seçin. Diğer seçenekleri varsayılan değerlerinde bırakın ve Determine öğesini tıklayın. Ardından modülü yayınlayın. Durum Published olarak değiştikten sonra model hizmeti PAI-EAS'a dağıtılır.

  8. Retrieval Configuration altında hedef kategorinin yanındaki Add öğesini tıklayın, parametreleri yapılandırın, Confirm ve ardından yapılandırmayı Publish edin. Bu belgede birkaç geri çağırma yapılandırma yöntemi yer almaktadır. Dağıtımı hızlıca tamamlamak için yalnızca Global Hot Recall ve etrec u2i Recall yöntemlerini yapılandırmanız yeterlidir. Vektör geri çağırma ve işbirlikçi ölçüm geri çağırma gibi diğer yöntemler yalnızca referans amaçlıdır.

Kaynak yapılandırması

Genel popüler geri çağırma

Genel popüler geri çağırma, tıklama olaylarına göre popüler öğeleri sıralar; burada top_n sıralamadaki öğe sayısını belirtir. Puanlama formülünü veya olayları değiştirmek için kodu oluşturun, DataWorks'e dağıtın ve değişikliklerinizi orada yapın.

Puanlama formülü click_uv*click_uv/(expr+adj_factor)*exp(-item_publish_days/fresh_decay_denom) şeklindedir; burada:

  • click_uv: Aynı tıklama oranı (CTR) için daha yüksek sayıda benzersiz kullanıcı tıklaması bir öğenin daha popüler olduğunu gösterir.

  • click_uv/(expr+adj_factor): Bu, yumuşatılmış tıklama oranıdır (CTR); burada click_uv tıklayan benzersiz kullanıcı sayısı ve expr maruz kalma sayısıdır. Ayarlama faktörü adj_factor sıfıra bölünmeyi önler. Ayrıca maruz kalma sayısı düşük olduğunda CTR'nin 1'e yaklaşmasını önleyerek hesaplanan CTR'nin gerçek CTR'ye daha yakın olmasını sağlar.

  • exp(-item_publish_days/fresh_decay_denom): Bu, daha eski öğelere ceza uygular. item_publish_days yayın tarihi ile geçerli tarih arasındaki gün sayısıdır.

Yapılandırmayı düzenleme sayfasında parametreleri şu şekilde ayarlayın: Recall model name öğesini global_hot ve Version öğesini 1 olarak ayarlayın. Behavior log table için rec_sln_demo_behavior_table_v1 seçeneğini belirleyin. Item table için rec_sln_demo_item_table_v1 seçeneğini belirleyin. Recall time window öğesini 15 gün ve Recall count öğesini 500 olarak ayarlayın. Exposure behavior event için expr ve Click behavior event için click seçeneğini belirleyin. Hot score formula anahtarını kapalı tutun. Recall engine için FeatureStore seçeneğini belirleyin.

Etrec u2i geri çağırma

etrec bir öğe tabanlı işbirlikçi filtreleme algoritmasıdır (etrec collaborative filtering).

Etrec u2i geri çağırma formunu yapılandırın: bir Recall model name (örneğin etrec) ve Version (örneğin 1) girin. Bir Behavior log table (örneğin rec_sln_demo_behavior_table_v1) seçin. Whether to use real-time u2i öğesini false olarak ayarlayın ve Recall engine için FeatureStore seçeneğini belirleyin. u2i behavior weight bölümünde olaylar ve ağırlıklar ekleyebilirsiniz; örneğin click için 1 ve praise için 3 ağırlığı.


Parameter


Description


Training days


Eğitim için kullanılacak davranış günlüklerinin gün sayısı. Varsayılan: 30. Günlük hacminize göre ayarlayın.


Recall count


Çevrimdışı olarak oluşturulacak kullanıcıdan öğeye öneri sayısı.


U2ITrigger


Kullanıcının etkileşimde bulunduğu öğeler, örneğin tıklanan, favorilere eklenen veya satın alınan öğeler. Genellikle yalnızca maruz kalma içeren öğeleri dışlar.


Behavior time window


Toplanacak son günlerdeki davranış verilerinin sayısı. Varsayılan: 15.


Behavior time decay coefficient


Genellikle 0 ile 1 arasındadır. Daha yüksek bir değer, daha eski davranışların daha hızlı azaldığı ve trigger_item oluşturulurken daha az ağırlık taşıdığı anlamına gelir.


Trigger selection count


Etrec tarafından oluşturulan i2i verileriyle Kartezyen çarpım yapmak için kullanıcı başına alınacak öğe kimliği sayısı. Önerilen: 10 ila 50. Çok büyük değerler aşırı geri çağırma adayları üretir.


u2i behavior weight


Maruz kalma olayları için bunları atlayın veya ağırlıklarını 0 olarak ayarlayın. Maruz kalma olaylarını atlamak kullanıcı maruz kalma verilerinin işlenmesini atlar.


I2I model settings


Etrec için parametre ayarları (etrec collaborative filtering). İlgili öğe sayısı çok büyük olmamalıdır. Anahtarı etkinleştirdikten sonra aşağıdaki parametreleri yapılandırın: Similarity calculation strategy (sim_type) için wbcosine, asymcosine veya jaccard gibi bir seçenek belirleyin (örnek wbcosine kullanır); Number of related items (top_n) öğesini 500 olarak ayarlayın; Max behaviors per user (max_bhv) öğesini 500 olarak ayarlayın; Min behaviors per user (min_bhv) öğesini 2 olarak ayarlayın; Calculation policy (operator) için add, mul, min veya max gibi bir seçenek belirleyin (örnek add kullanır); Similarity calculation weight coefficient (weight) öğesini 1 olarak ayarlayın; Decay coefficient (alpha) öğesini 0.5 olarak ayarlayın. İşlem bittiğinde Confirm öğesini tıklayın.

Gruplanmış popüler geri çağırma

Temel kişiselleştirilmiş geri çağırma için şehir ve cinsiyet gibi niteliklere göre sıralamaları yapılandırın. Bu örnekte gruplama anahtarı cinsiyeti sayısal bir özelliğin paket numarasıyla birleştirir.

Parametreleri yapılandırın: Recall type öğesini User grouped hot recall, Recall model name öğesini group_hot, Version öğesini 1, Behavior log table öğesini rec_sln_demo_behavior_table_v1, Item table öğesini rec_sln_demo_item_table_v1, User table öğesini rec_sln_demo_user_table_v1, Feature module öğesini ft, Recall time window öğesini 15, Recall count öğesini 500, Exposure behavior event öğesini expr ve Click behavior event öğesini click olarak ayarlayın.

User group trigger bölümünde gender (paket sınırı yok) ve follow_cnt (paket sınırları: 1,5,10,20) özelliklerini ekleyin. Behavior group trigger bölümünde net_type (paket sınırı yok) özelliğini ekleyin. Recall engine için FeatureStore seçeneğini belirleyin.

Swing u2i geri çağırma

Swing, Kullanıcı-Öğe-Kullanıcı birlikte oluşum desenine dayalı olarak öğe benzerliğini ölçer.

Swing u2i geri çağırma modeli parametrelerini yapılandırın: Recall type öğesini Swing u2i recall, Recall model name öğesini swing, Version öğesini 1, Behavior log table öğesini rec_sln_demo_behavior_table_v1, Use real-time u2i öğesini false, Training days öğesini 30 ve Recall count öğesini 500 olarak ayarlayın. Recall engine için FeatureStore seçeneğini belirleyin ve U2I Trigger(weighted_behavior_u2i) anahtarını etkinleştirin.

U2I Trigger parametrelerini yapılandırın: Behavior time window öğesini 15, Decay coefficient öğesini 0.2 ve Trigger selection count öğesini 10 olarak ayarlayın. u2i behavior weight bölümünde davranış olayları eklemek için Add öğesini tıklayın: click adlı bir olay için 1 ağırlığı ve praise adlı bir olay için 3 ağırlığı.

I2I model settings anahtarını etkinleştirin ve ardından parametreleri yapılandırın: Number of related items (top_n) öğesini 500, Max clicks per user (max_click_per_user) öğesini 600, Max users per item (max_user_per_item) öğesini 700, Max time span (max_time_span) öğesini 1, Adjustment coefficient (alpha1) öğesini 5, Adjustment coefficient (alpha2) öğesini 1 ve Adjustment coefficient (beta) öğesini 0.3 olarak ayarlayın. Item weight calculation method (norm_method) için COUNT seçeneğini belirleyin.

Vektör geri çağırma

Bu çözüm DSSM vektör geri çağırma yöntemini kullanır. Yapılandırma aşağıdaki gibidir:

  • Geri çağırma hedefi adı: Bu genellikle bir tıklamanın gerçekleşip gerçekleşmediğini belirtir. Bunu is_click olarak ayarlayın.

  • Geri çağırma hedefi seçimi: Bunu max(if(event='click', 1, 0)) olarak ayarlayın.

    Aşağıdaki kod bir örnek sağlar:

    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

    Bu kodda:

    • ${behavior_table}: Davranış tablosu.

    • ${bizdate_start}: Davranış zaman penceresinin başlangıç tarihi.

    • event: ${behavior_table} tablosundaki olay alanı. Tablonuzdaki olay alanının gerçek adını kullanın.

    • is_click: Hedef adı.

    Boyut hesaplama formülleri aşağıdaki gibidir:

    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

    Burada count numaralandırılmış özellik değeri sayısıdır. Çok sayıda değere sahip özellikler için Log işlevini kullanın.

Geri çağırma modeli parametrelerini yapılandırın: Recall type öğesini Vector recall, Recall model name öğesini dssm, Version öğesini 1, Feature module öğesini ft ve Model type öğesini dssm olarak ayarlayın. Negative sampling strategy anahtarını etkinleştirin, Sampling type öğesini negative_sampler olarak ayarlayın ve Number of negative samples öğesini 1024 olarak ayarlayın.

Target type öğesini CLASSIFICATION ve Training days öğesini 30 olarak ayarlayın. Share embedding öğesini true olarak ayarlayın. Sample weight anahtarını kapalı tutun. Incremental training öğesini true ve Incremental training days öğesini 1 olarak ayarlayın.