Todos os produtos
Search
Central de documentação

Platform For AI:Melhores práticas para personalização de algoritmos modulares no PAI-Rec

Última atualização: Sep 07, 2026

Use um conjunto de dados público para configurar engenharia de features, recall e ranking no PAI-Rec e implante o código gerado no DataWorks. A abordagem modular permite publicar ou despublicar componentes individuais sem afetar o restante do pipeline.

Por que modularizar a personalização da solução de recomendação?

  • Grupos de features simplificam a iteração do modelo.

  • A publicação com um clique implanta o código e inicia o backfill de dados automaticamente.

  • Somente o módulo de ranking executa o backfill completo de todos os componentes necessários (grupos de features, amostras e módulos de geração de features), reduzindo o retrabalho causado por erros na engenharia de features.

Pré-requisitos

Conclua as seguintes preparações:

1. Criar uma instância do PAI-Rec e inicializar o service

  1. Faça login na página inicial da Recommendation System Development Platform e clique em Buy Now.

  2. Na página de compra da instância PAI-Rec, configure os parâmetros principais a seguir e clique em Buy Now.

    Parameter

    Description

    Region and zone

    Região onde o service cloud está implantado.

    Service Type

    Selecione Standard Edition and enable Recommendation Solution Customization.

  3. Faça login no PAI-Rec Management Console. No canto superior esquerdo da barra de menu superior, selecione uma região.

  4. No painel de navegação à esquerda, escolha Instances e clique no nome da instância para abrir a página de detalhes.

  5. Na seção Procedure, clique em Cloud Service Configuration para abrir a página System Configuration > Cloud Service Configuration. Clique em Edit, configure os parâmetros conforme a tabela Resource configuration e clique em Exit.

    Resource configuration

    Parameter

    Description

    Modeling

    Machine Learning Platform for AI Workspace

    Insira o workspace padrão do PAI criado.

    DataWorks Workspace

    Insira o workspace do DataWorks gerado automaticamente.

    MaxCompute Workspace

    Insira o projeto MaxCompute criado.

    OSS Bucket

    Selecione o bucket OSS criado.

    Engine

    Real-time Recall Engine

    Na opção Whether to use PAI-FeatureStore, selecione Yes.

    Real-time Feature Query

    Na opção Whether to use PAI-FeatureStore, selecione Yes.

  6. No painel de navegação à esquerda, escolha System Configuration > Permissions. Na aba Services, verifique o status de autorização de cada service cloud.

2. Clonar o conjunto de dados público

1. Sincronizar tabela de dados

Há duas opções de entrada de dados:

  1. Clonar dados do pai_online_project dentro de uma janela de tempo fixa. Esta opção não suporta tarefas agendadas.

  2. Usar um script Python para gerar dados. Execute a tarefa no DataWorks para gerar dados de um intervalo de tempo especificado.

Para geração diária agendada de dados e treinamento de modelos, implante um script Python. Consulte a aba Generate data using code.

Janela de tempo fixa

O PAI-Rec prepara três tabelas no projeto público pai_online_project:

  • Tabela de usuários: pai_online_project.rec_sln_demo_user_table

  • Tabela de itens: pai_online_project.rec_sln_demo_item_table

  • Tabela de comportamentos: pai_online_project.rec_sln_demo_behavior_table

As operações a seguir usam essas três tabelas. Como os dados são gerados aleatoriamente para simulação, métricas de treinamento como AUC podem ser baixas. Execute comandos SQL no DataWorks para sincronizar os dados das tabelas de pai_online_project para seu projeto DataWorks (por exemplo, DataWorks_a):

  1. Faça login no DataWorks console e selecione uma região no canto superior esquerdo da barra de menu superior.

  2. No painel de navegação à esquerda, clique em Data Development and O&M > Data Development.

  3. Selecione o workspace do DataWorks criado e clique em Enter Data Development.

  4. Passe o mouse sobre Create e escolha New node > MaxCompute > ODPS SQL. Configure os parâmetros conforme a tabela a seguir e clique em Confirm.

    Resource configuration

    Parameter

    Description

    Engine instance

    Selecione a source de dados MaxCompute vinculada.

    Node type

    Selecione o tipo de nó ODPS SQL.

    Path

    Selecione o caminho do nó atual. Por exemplo, Business Flow/Workflow/MaxCompute.

    Name

    Insira um nome personalizado, como Data.

  5. No editor do novo nó, copie e execute o código a seguir para sincronizar as tabelas de usuários, itens e comportamentos do projeto pai_online_project para seu projeto MaxCompute (por exemplo, project_mc). Antes de executar o código, defina variáveis para especificar uma janela de dados de 100 dias terminando na bizdate. Normalmente, defina bizdate como o dia anterior. Na área Scheduling parameters, clique em Add Parameter e adicione dois parâmetros: bizdate com o valor $[yyyymmdd-1] e bizdate_100 com o valor $[yyyymmdd-100]. A execução do código a seguir sincroniza os dados do projeto público pai_online_project para seu projeto:

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

Geração de código

Dados de janela de tempo fixa não suportam tarefas agendadas. Para executar tarefas conforme uma programação, implante um script Python para gerar dados:

  1. No console do DataWorks, crie um nó PyODPS 3 (Create and manage MaxCompute nodes).

  2. Baixe o arquivo create_data.py e cole o conteúdo no editor do nó PyODPS 3.

  3. No lado direito do editor, clique em Configure Scheduling e configure os parâmetros. Em seguida, clique nos ícones Save image e Submit image no canto superior direito.

    • Configure os parâmetros de agendamento:

      • Nota sobre substituição de variáveis:

        Nos parâmetros de agendamento, defina o argumento $user_table_name como rec_sln_demo_user_table.

        Defina o argumento $item_table_name como rec_sln_demo_item_table.

        Defina o argumento $behavior_table_name como rec_sln_demo_behavior_table.

        Além dos três argumentos de nome de tabela, o script também usa um parâmetro de agendamento bizdate, passado como a variável $bizdate.

        Configuração de parâmetros:

        Adicione um parâmetro chamado bizdate e defina seu valor como $[yyyymmdd-1].

    • Configure as dependências de agendamento.

  4. Clique em Operation Center e selecione Auto Triggered Task O&M > Recurring Job.

  5. Na coluna Actions da tarefa alvo, clique em Data backfill > Current and Descendant Nodes Retroactively.

  6. No painel Data Backfill, defina o timestamp dos dados e clique em Submit and Navigate.

    Para um período ideal de backfill de dados de 60 dias, defina o timestamp dos dados como Scheduled Task Date - 60 para garantir a integridade dos dados.

2. Configurar nós de dependência

Adicione três nós virtuais ao projeto DataWorks com dependências de agendamento no nó raiz e publique-os:

  1. Passe o mouse sobre Create e selecione new node > General-purpose > virtual node. Crie três nós virtuais usando a configuração de recursos a seguir e clique em Confirm.

    Resource configuration

    Parameter

    Description

    Default example

    Node type

    Selecione o tipo de nó.

    Virtual node

    Path

    Selecione o caminho do nó atual.

    Business Flow/Workflow/General

    Name

    Insira o nome da tabela de dados sincronizada correspondente.

    • rec_sln_demo_user_table_v1

    • rec_sln_demo_item_table_v1

    • rec_sln_demo_behavior_table_v1

  2. Selecione cada nó e defina seu conteúdo como select 1;. Em seguida, clique em Configure Scheduling à direita e conclua as configurações a seguir:

    • Na seção Time attributes, defina o Rerun attribute como Rerun node after success or failure.

    • Na seção Scheduling dependencies > Ancestor Nodes, insira o nome do workspace DataWorks, selecione o nó com o sufixo _root e clique em Add.

      Aplique essa configuração de dependência aos três nós virtuais.

  3. Clique no ícone image de cada nó virtual para enviar o nó.

3. Registrar dados

Registre as três tabelas sincronizadas no PAI-Rec antes de configurar a engenharia de features, recall e ranking:

  1. Faça login no PAI-Rec Management Console e selecione uma região no canto superior esquerdo.

  2. No painel de navegação à esquerda, clique em Instances e clique no nome de uma instância para abrir sua página de detalhes.

  3. No painel de navegação à esquerda, acesse Recommendation Solution Customization > Data Registration. Na aba MaxCompute Table, clique em Create Data Table. Adicione uma tabela de usuários, uma tabela de itens e uma tabela de comportamentos usando a configuração na tabela abaixo. Em seguida, clique em Import.

    Parameter

    Description

    Example

    MaxCompute project

    Selecione o projeto MaxCompute criado.

    project_mc

    MaxCompute table

    Selecione as tabelas de dados sincronizadas com seu workspace DataWorks.

    • User table: rec_sln_demo_user_table_v1

    • Item table: rec_sln_demo_item_table_v1

    • Behavior table: rec_sln_demo_behavior_table_v1

    Data table name

    Insira um nome personalizado.

    • User table

    • Item table

    • Behavior table

4. Criar um cenário de recomendação

Crie um cenário de recomendação antes de configurar as tarefas de recomendação. Para conceitos básicos e codificação de tráfego, consulte Basic Concepts.

No painel de navegação à esquerda, clique em Recommendation Scenario e depois em Create Scenario. Configure um cenário de recomendação com a configuração de recursos a seguir e clique em Determine.

Resource configuration

Parameter

Description

Example

Scenario name

Nome personalizado para o cenário.

Homepage

Scenario description

Descrição opcional do cenário.

None

5. Configurar um algoritmo

Uma configuração completa de produção inclui as definições de recall e ranking a seguir:

  • Recall hot global: recupera os top-K itens mais populares com base em dados de log.

  • Recall hot agrupado: recupera candidatos de itens populares de grupos específicos, como cidade ou gênero, para melhorar a relevância.

  • Recall etrec u2i: usa o algoritmo de filtragem colaborativa etrec.

  • Recall Swing u2i (opcional): usa o algoritmo Swing.

  • Recall vetorial (opcional): gera candidatos usando o Deep Structured Semantic Model (DSSM).

  • Ranking refinado: usa o modelo MultiTower para ranking de objetivo único e o modelo DBMTL para ranking multiobjetivo.

As etapas a seguir abordam o recall hot global e o recall etrec u2i de RECommender (eTREC, a collaborative filtering implementation), além do ranking refinado. Procedimento:

  1. No painel de navegação à esquerda, escolha Recommendation Solution Customization. Selecione um cenário criado e clique em Create Modular Recommendation Solution. Crie uma solução com as configurações de recursos a seguir e clique em Save and Go to Algorithm Solution Configuration.

    Mantenha os parâmetros não especificados com seus valores padrão. Data Table Configuration.

    Resource configuration

    Parameter

    Description

    Solution Name

    Insira um nome personalizado.

    Scenario Name

    Selecione o cenário de recomendação criado.

    Offline Data Source

    Selecione o projeto MaxCompute associado ao cenário de recomendação.

    Algorithm Framework

    Selecione PyTorch. Escolha um framework de algoritmo diferente conforme sua preferência.

    DataWorks Workspace

    Selecione o workspace DataWorks associado ao cenário de recomendação.

    Workflow Name

    Nome do fluxo de negócios criado no DataWorks quando o script da solução de recomendação é implantado. Insira um nome personalizado, como Flow.

    StorageAPI configuration

    China continental: para regiões como China (Beijing) e China (Shanghai), selecione "StorageAPI", um service de transmissão de dados com pagamento conforme o uso.

    Outras regiões: para regiões como China (Hong Kong), Singapore e Germany (Frankfurt), primeiro purchase and use a dedicated Data Transmission Service resource group. Se a opção de pagamento conforme o uso não estiver disponível, adquira um service de transmissão de dados baseado em assinatura. Após a compra, atualize a página e selecione o nome do service baseado em assinatura. Na tarefa de treinamento TorchEasyRec do PAI-DLC no DataWorks, adicione um parâmetro em formato semelhante ao seguinte: -odps_data_quota_name ot_xxxx_p#ot_yyyy.

    slim_mode

    Ative esta opção se a versão do DataWorks limitar o tamanho dos pacotes de código importados. Nesse caso, carregue manualmente os pacotes que excederem o limite. Para esta solução, selecione No.

    OSS bucket

    Selecione o bucket OSS associado ao cenário de recomendação.

    Project

    Selecione o projeto FeatureStore criado e escolha FeatureDB como source de dados online.

    User Entity

    Selecione a entidade de feature user do projeto FeatureStore.

    Item Entity

    Selecione a entidade de feature item do projeto FeatureStore.

  2. Na aba Configure Table, clique em Add ao lado de uma tabela de dados. Configure a behavior log table, a user table e a item table definindo seus campos correspondentes de partição, evento, feature e timestamp, e clique em Next.

    Mantenha os parâmetros não especificados com seus valores padrão. Data Table Configuration.

    Behavior log table resource configuration

    Ajuste as configurações com base nos dados reais. Neste tutorial, o log de comportamento contém o ID da solicitação, identificador único do usuário, página, timestamp do evento e tipo de evento. Se a tabela incluir dimensões adicionais, categorize-as como informações de usuário ou de item para simplificar a engenharia de features.

    Parameter

    Description

    Default example

    Behavior table name

    Selecione a tabela de comportamento registrada.

    rec_sln_demo_behavior_table_v1

    Time partition

    Campo de partição da tabela de comportamento.

    ds

    yyyymmdd

    Behavior information configuration

    Request ID

    ID que identifica cada solicitação de recomendação nos logs, geralmente um UUID gerado por programa. Opcional.

    request_id

    Behavior event

    Campo que registra eventos de comportamento nos logs.

    event

    Behavior event enum values

    Valores enumerados para eventos de comportamento, como exposição, clique, adição ao carrinho ou compra.

    expr,click,praise

    Behavior value

    Campo que representa a profundidade de um comportamento, como preço da transação ou duração da visualização.

    playtime

    Behavior timestamp

    Momento em que o evento de log ocorreu, como um timestamp com precisão de segundos.

    event_time

    Timestamp format

    Usado em conjunto com o timestamp de comportamento.

    unixtime

    Behavior scenario

    Cenário onde o log foi gerado, como homepage, página de busca ou página de detalhes do product.

    page

    Scenario enum values

    Especifica quais dados de cenários usar, permitindo estatísticas de features por cenário na engenharia de features.

    home,detail

    User information configuration

    User ID

    Campo do ID do usuário na tabela de comportamento.

    user_id

    User categorical features

    Features categóricas de usuário na tabela de comportamento, como tipo de rede, plataforma operacional ou gênero.

    net_type

    Item information configuration

    Item ID

    Campo do ID do item na tabela de comportamento.

    item_id

    User table resource configuration

    Parameter

    Description

    Default example

    User table name

    Selecione a tabela de usuários registrada.

    rec_sln_demo_user_table_v1

    Time partition

    Campo de partição de tempo da tabela de usuários.

    ds

    yyyymmdd

    User information configuration

    User ID

    Campo de ID do usuário na tabela de usuários.

    user_id

    Registration timestamp

    Momento em que o usuário se registrou.

    register_time

    Timestamp format

    Usado em conjunto com o timestamp de registro.

    unixtime

    Categorical feature

    Campos categóricos na tabela de usuários, como gênero, faixa etária ou cidade.

    gender,city

    Numerical Features

    Campos numéricos na tabela de usuários, como número de itens criados ou pontos.

    age,item_cnt,follow_cnt,follower_cnt

    Tag feature

    Nome do campo de feature de tag.

    tags

    Item table resource configuration

    Parameter

    Description

    Default example

    Item table name

    Selecione a tabela de itens registrada.

    rec_sln_demo_item_table_v1

    Time partition

    Campo de partição de tempo da tabela de itens.

    ds

    yyyymmdd

    Item information configuration

    Item ID

    Campo de ID do item na tabela de itens.

    item_id

    Author ID

    Autor do item.

    author

    Listing timestamp

    Nome do campo de timestamp de publicação do item.

    pub_time

    Timestamp format

    Usado em conjunto com o timestamp de publicação.

    unixtime

    Categorical feature

    Campos categóricos na tabela de itens, como categoria.

    category

    Numerical Features

    Campos numéricos na tabela de itens, como preço, vendas acumuladas ou número de curtidas.

    click_count,praise_count

  3. Em Feature Group Configuration, clique em Add. Configure os parâmetros conforme a tabela a seguir. Defina o nome e a versão do módulo de features e selecione a tabela de usuários, a tabela de itens e a tabela de log de comportamento configuradas na aba Configure Table.

    Resource configuration

    Parameter

    Description

    Default example

    Statistical Period

    Usado para geração de features em lote. Para limitar o número de features, defina os períodos estatísticos como 3, 7 e 15 dias. Esses períodos calculam features estatísticas para usuários e itens nas janelas de tempo correspondentes.

    Se o comportamento do usuário for esparso, considere usar um período de 21 dias.

    3,7,15

    Behavior

    Selecione os eventos de comportamento configurados. Recomendamos adicioná-los na seguinte ordem: expr (exposição), click e praise.

    expr,click,praise

    Clique em Determine. Essa ação gera várias features estatísticas para usuários e itens. Clique em Configure Feature neste grupo de features para visualizar as features de validação. Para esta solução, não edite as features derivadas; mantenha as configurações padrão. Edite features derivadas para adequá-las às necessidades do negócio (Feature Configuration). Clique em Publish para este grupo de features, selecione a data de partição de dados mais recente como data de execução da tarefa, defina o paralelismo máximo da tarefa como 10 e mantenha as outras configurações com seus valores padrão. Em seguida, clique em Determine. Essa ação gera um nó, implanta-o no DataWorks e faz o backfill de dados por data. Aguarde até que o status do módulo mude para Published antes de prosseguir. Clique em Online Details para visualizar mais informações sobre o módulo. Na Data Refill Task List, verifique o status de execução de cada tarefa. Se uma tarefa falhar, clique em View Task Node para ir ao DataWorks e visualizar informações detalhadas do erro. Após corrigir o problema, localize o nó na Data Refill Task List e clique em Rerun. Após o sucesso da tarefa, prossiga.

  4. Em Label Table Configuration, este módulo constrói alvos de amostra a partir da tabela de comportamento. Clique em Add, escolha Label Module como tipo de módulo, insira um nome para o módulo de rótulo e selecione o módulo de features configurado na etapa anterior. Clique em Create ao lado de Fine-grained ranking target settings (labels) e adicione os dois rótulos a seguir:

    • Alvo 1: defina Fine-grained ranking target name como is_click, defina Fine-grained ranking target expression como max(if(event='click',1,0)) e selecione CLASSIFICATION para Target type.

    • Alvo 2 (observe que o 'l' em 'ln' é minúsculo): defina Fine-grained ranking target name como ln_playtime, defina Fine-grained ranking target expression como ln(sum(playtime)+1), defina Fine-grained ranking target dependency como is_click e selecione REGRESSION para Target type. Em seguida, clique em OK.

    • Após clicar em Determine, publique o módulo da mesma forma que publicou o módulo de features. Aguarde até que o status mude para Published antes de prosseguir.

  5. Em Sample Configuration, este módulo associa tabelas de alvos de amostra com features e gera features de modelo no FeatureStore. Clique em Add, escolha Sample Module como tipo de módulo, nomeie a feature do modelo e selecione os módulos de features e rótulos das etapas anteriores. Publique o módulo e aguarde até que o status mude para Published antes de prosseguir.

  6. Em Feature Generation Configuration, este módulo deriva features adicionais de todas as features na tabela de amostra. A configuração personalizada não é suportada atualmente. Clique em Add, escolha Feature Generation como tipo de módulo, escolha Ranking como tipo de geração de features e selecione o módulo de features do modelo da etapa anterior de configuração de amostra. Aguarde até que o status mude para Published antes de prosseguir.

  7. Em Configure Sorting Method, clique em Add na seção de ranking refinado. Para a saída do módulo de features, selecione o módulo de geração de features da etapa anterior. Mantenha as outras opções com seus valores padrão e clique em Determine. Em seguida, publique o módulo. Depois que o status mudar para Published, o service de modelo será implantado no PAI-EAS.

  8. Em Retrieval Configuration, clique em Add ao lado da categoria alvo, configure os parâmetros, clique em Confirm e, em seguida, clique em Publish para publicar a configuração. Este documento inclui vários métodos de configuração de recall. Para concluir a implantação rapidamente, configure apenas Global Hot Recall e etrec u2i Recall. Os outros métodos, como recall vetorial e recall de métrica colaborativa, servem apenas como referência.

Resource configuration

Recall hot global

O recall hot global classifica itens populares com base em eventos de clique, onde top_n é o número de itens no ranking. Para modificar a fórmula de pontuação ou eventos, gere o código, implante-o no DataWorks e faça as alterações lá.

A fórmula de pontuação é click_uv*click_uv/(expr+adj_factor)*exp(-item_publish_days/fresh_decay_denom), onde:

  • click_uv: para a mesma taxa de cliques (CTR), um número maior de cliques de usuários únicos indica que um item é mais popular.

  • click_uv/(expr+adj_factor): esta é a taxa de cliques (CTR) suavizada, onde click_uv é o número de usuários únicos que clicaram e expr é o número de exposições. O fator de ajuste adj_factor evita a divisão por zero. Ele também impede que a CTR se aproxime de 1 quando a contagem de exposições é baixa, garantindo que a CTR calculada esteja mais próxima da CTR real.

  • exp(-item_publish_days/fresh_decay_denom): isso penaliza itens mais antigos. item_publish_days é o número de dias entre a data de publicação e a data atual.

Na página de edição de configuração, defina os parâmetros da seguinte forma: defina Recall model name como global_hot e Version como 1. Para Behavior log table, selecione rec_sln_demo_behavior_table_v1. Para Item table, selecione rec_sln_demo_item_table_v1. Defina Recall time window como 15 dias e Recall count como 500. Para Exposure behavior event, selecione expr, e para Click behavior event, selecione click. Mantenha o interruptor Hot score formula desligado. Para Recall engine, selecione FeatureStore.

Recall etrec u2i

O etrec é um algoritmo de filtragem colaborativa baseado em item (etrec collaborative filtering).

Configure o formulário de recall etrec u2i: insira um Recall model name (como etrec) e Version (como 1). Selecione uma Behavior log table (como rec_sln_demo_behavior_table_v1). Defina Whether to use real-time u2i como false e, para Recall engine, selecione FeatureStore. Na seção u2i behavior weight, adicione eventos e pesos, por exemplo, um peso de 1 para click e 3 para praise.

Parameter

Description

Training days

Número de dias de logs de comportamento a serem usados para treinamento. Padrão: 30. Ajuste com base no volume dos logs.

Recall count

Número de recomendações de usuário para item a serem geradas offline.

U2ITrigger

Itens com os quais um usuário interagiu, como itens clicados, favoritados ou comprados. Normalmente exclui itens apenas expostos.

Behavior time window

Número de dias recentes de dados de comportamento a serem coletados. Padrão: 15.

Behavior time decay coefficient

Geralmente entre 0 e 1. Um valor mais alto significa que comportamentos mais antigos decaem mais rápido e têm menos peso na construção do trigger_item.

Trigger selection count

Número de IDs de itens a serem recuperados por usuário para um product cartesiano com dados i2i gerados pelo etrec. Recomendado: 10 a 50. Valores muito grandes produzem candidatos de recall excessivos.

u2i behavior weight

Para eventos de exposição, omita-os ou defina seu peso como 0. Omitir eventos de exposição ignora o processamento de dados de exposição do usuário.

I2I model settings

Configurações de parâmetros para o etrec (etrec collaborative filtering). O número de itens relacionados não deve ser muito grande. Após ativar o interruptor, configure os seguintes parâmetros: para Similarity calculation strategy (sim_type), selecione uma opção como wbcosine, asymcosine ou jaccard (o exemplo usa wbcosine); defina Number of related items (top_n) como 500; defina Max behaviors per user (max_bhv) como 500; defina Min behaviors per user (min_bhv) como 2; para Calculation policy (operator), selecione uma opção como add, mul, min ou max (o exemplo usa add); defina Similarity calculation weight coefficient (weight) como 1; defina Decay coefficient (alpha) como 0.5. Ao terminar, clique em Confirm.

Recall hot agrupado

Configure rankings com base em atributos como cidade e gênero para recall personalizado básico. Neste exemplo, a chave de agrupamento combina gênero com o número do bucket de uma feature numérica.

Configure os parâmetros: defina Recall type como User grouped hot recall, Recall model name como group_hot, Version como 1, Behavior log table como rec_sln_demo_behavior_table_v1, Item table como rec_sln_demo_item_table_v1, User table como rec_sln_demo_user_table_v1, Feature module como ft, Recall time window como 15, Recall count como 500, Exposure behavior event como expr e Click behavior event como click.

Na seção User group trigger, adicione a feature gender (sem limites de bucket) e follow_cnt (limites de bucket: 1,5,10,20). Na seção Behavior group trigger, adicione a feature net_type (sem limites de bucket). Para Recall engine, selecione FeatureStore.

Recall Swing u2i

O Swing mede a similaridade de itens com base no padrão de coocorrência User-Item-User.

Configure os parâmetros do modelo de recall Swing u2i: defina Recall type como Swing u2i recall, Recall model name como swing, Version como 1, Behavior log table como rec_sln_demo_behavior_table_v1, Use real-time u2i como false, Training days como 30 e Recall count como 500. Para Recall engine, selecione FeatureStore e ative o interruptor U2I Trigger(weighted_behavior_u2i).

Configure os parâmetros do U2I Trigger: defina Behavior time window como 15, Decay coefficient como 0.2 e Trigger selection count como 10. Na seção u2i behavior weight, clique em Add para adicionar eventos de comportamento: um evento chamado click com peso de 1 e um evento chamado praise com peso de 3.

Ative o interruptor I2I model settings e configure os parâmetros: defina Number of related items (top_n) como 500, Max clicks per user (max_click_per_user) como 600, Max users per item (max_user_per_item) como 700, Max time span (max_time_span) como 1, Adjustment coefficient (alpha1) como 5, Adjustment coefficient (alpha2) como 1 e Adjustment coefficient (beta) como 0.3. Para Item weight calculation method (norm_method), selecione COUNT.

Recall vetorial

Esta solução usa o método de recall vetorial DSSM. A configuração é a seguinte:

  • Nome do alvo de recall: isso normalmente indica se ocorreu um clique. Defina como is_click.

  • Seleção do alvo de recall: defina como max(if(event='click', 1, 0)).

    O código a seguir fornece um exemplo:

    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

    Neste código:

    • ${behavior_table}: a tabela de comportamento.

    • ${bizdate_start}: a data de início da janela de tempo de comportamento.

    • event: o campo de evento na tabela ${behavior_table}. Use o nome real do campo de evento da sua tabela.

    • is_click: o nome do alvo.

    As fórmulas para cálculo de dimensão são as seguintes:

    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

    Aqui, count é o número de valores de feature enumerados. Use a função Log para features com um grande número de valores.

Configure os parâmetros do modelo de recall: defina Recall type como Vector recall, Recall model name como dssm, Version como 1, Feature module como ft e Model type como dssm. Ative o interruptor Negative sampling strategy, defina Sampling type como negative_sampler e defina Number of negative samples como 1024.

Defina Target type como CLASSIFICATION e Training days como 30. Defina Share embedding como true. Mantenha o interruptor Sample weight desligado. Defina Incremental training como true e Incremental training days como 1.