A configuração de features é uma etapa fundamental na criação da sua solução de recomendação. Defina as features pela interface do usuário para gerar automaticamente o código SQL necessário para MaxCompute e Flink. Esse processo produz features estatísticas comuns, features de sequência, features MinMax e features chave-valor, entregando-as como amostras para os modelos de recuperação vetorial, ranqueamento grosseiro e ranqueamento fino.
1. Configuração de períodos e comportamentos comuns
Períodos comuns: Defina períodos estatísticos personalizados, como curto, médio e longo prazo. Evite usar muitos períodos, pois isso gera um número excessivo de features. Por exemplo, se cada período gerar 200 features, três períodos produzirão 600 features, enquanto seis períodos resultarão em 1.200.
Comportamentos de interesse: Referem-se aos valores enumerados de comportamento da sua tabela de logs de comportamento. Use cinco ou menos comportamentos para evitar a criação excessiva de features. Caso tenha muitos tipos de comportamento, agrupe os menos importantes ou semanticamente similares durante a preparação dos dados nas tabelas anteriores. A ordem dos comportamentos é importante e deve seguir a sequência em que ocorrem, como "exposição, clique, elogio" (correspondendo aos valores
expr,clickepraisedo campoevent). Uma ordem incorreta afeta a geração de features de proporção e exige correção manual.
Na página de configuração, defina os períodos estatísticos na seção "Common periods" e especifique os valores enumerados de comportamento na seção "Behaviors of interest". Clique no botão Generate Feature na parte inferior da página para derivar automaticamente as features estatísticas.
2. Features derivadas básicas
Por exemplo, no lado do usuário, as features de atributo básico podem incluir originalmente campos como gender, city, follow_cnt, register_time e age. Adicione uma feature de cálculo de tempo decorrido, selecione register_time como campo associado e gere a feature chamada user_register_time. Em seguida, adicione uma feature de discretização de features, selecione user_register_time como campo associado, defina o ponto de divisão como 3 e gere a feature denominada user_register_time_bin.
Algumas features de atributo básico são derivadas automaticamente das configurações da sua tabela anterior, mas clique em Add para criar mais. Observe que é possível derivar features de atributo básico no lado do usuário, no lado do item e a partir da tabela de logs de comportamento.
Resolução de endereço IP: Deriva features de um campo IP configurado em uma tabela anterior. Com base na sua configuração, o sistema resolve um endereço IP em estado, cidade e país. Note que os resultados da resolução podem ser imprecisos.
Cálculo de tempo decorrido: Calcula o número de dias desde a data de registro de um usuário ou item.
Discretização de features: Divide um campo numérico em intervalos com base em pontos de divisão especificados, convertendo-o em uma feature categórica.
Combinação de features: Combina múltiplos campos categóricos, como combinações categoria-categoria, categoria-tag ou tag-tag. Os campos combinados devem pertencer à mesma tabela e estar inteiramente no lado do usuário ou no lado do item.
Para a tabela de logs de comportamento, tanto a extração de hora do dia quanto a extração de dia da semana são derivadas do campo event_time, gerando as features denominadas day_h e week_day, respectivamente.
Estas duas derivações também estão disponíveis para a tabela de logs de comportamento:
Extração de hora do dia: Deriva a hora do dia a partir de uma entrada de log.
Extração de dia da semana: Deriva o dia da semana a partir de uma entrada de log.
Após adicionar as features derivadas básicas, clique em Save no canto superior direito para aplicar as alterações.
3. Features de preferência de comportamento
O sistema deriva automaticamente várias features estatísticas tanto para o lado do usuário quanto para o lado do item, usando IDs de usuário e IDs de item como chaves primárias para agregação. Os seis tipos de estatísticas a seguir estão disponíveis:
Estatísticas de comportamento
Cálculo de taxa de conversão
Contagem de comportamento por atributo principal
Proporção de comportamento por atributo principal
Features numéricas preferidas
Feature de combinação categoria-numérico principal
Para remover features desnecessárias, clique em Delete ou em Edit para remover um atributo específico. Clique em Add no canto inferior direito para adicionar mais features. As seções a seguir descrevem esses tipos de features estatísticas em detalhes.
Estatísticas de comportamento
Esta opção conta quantas vezes um usuário executa comportamentos específicos (como expr, click ou praise) dentro de períodos definidos (por exemplo, 3, 7 e 15 dias). Se um ID de Desduplicação for fornecido, a contagem ocorre após a desduplicação por esse ID. Caso um cenário esteja configurado, apenas os comportamentos dentro desse cenário são contabilizados. Com 3 períodos estatísticos e 3 comportamentos, este exemplo gera 9 features (3 períodos × 3 comportamentos = 9).
-
Cálculo de taxa de conversão
Neste exemplo, configuram-se 3 períodos estatísticos (3, 7 e 15 dias) e 2 fórmulas de taxa de conversão (
click/exprepraise/click).Essa feature calcula a taxa de conversão entre comportamentos. Ela computa a razão entre a contagem de um comportamento e outro ao longo de períodos específicos, como dividir a contagem de
clickpela contagem deexpr, ou a contagem depraisepela contagem declick. Modifique, adicione ou exclua essas fórmulas conforme necessário. Se um cenário estiver configurado, apenas os comportamentos desse cenário serão incluídos. Esta configuração de exemplo gera 6 features (número de períodos estatísticos × número de fórmulas de taxa de conversão). -
Contagem de comportamento por atributo principal

Esta feature conta quantas vezes um usuário realiza um comportamento (como
expr,clickoupraise) para cada valor de uma feature de atributo categórico ou multivalorado dentro de um determinado período (por exemplo, 3, 7 ou 15 dias). O resultado é uma feature chave-valor. Por exemplo, usando a categoriaday_he o comportamentoclick, uma feature gerada como "12:27.0,8:26.0,1:1.0" significa que, no período atual, o usuário clicou 27 vezes durante a hora 12, 26 vezes durante a hora 8 e 1 vez durante a hora 1. Se um cenário estiver configurado, apenas os dados desse cenário serão usados. Se o número de chaves ficar muito grande, ele será truncado para 100 por padrão. Esta configuração de exemplo gera 54 features (número de períodos estatísticos × número de comportamentos × número de features de atributo). -
Proporção de comportamento por atributo principal
Esta feature calcula a proporção de comportamentos, como
click/expr(taxa de cliques, CTR) oupraise/click, para cada valor de uma feature de atributo categórico ou multivalorado dentro de um determinado período (por exemplo, 3, 7 ou 15 dias). O resultado é uma feature chave-valor. Por exemplo, comcatecomo categoria eclick/exprcomo fórmula, uma feature gerada como "12:0.27,8:0.26" significa que a CTR do usuário para a categoria 12 é 0.27 e para a categoria 8 é 0.26 no período atual. Se um cenário estiver configurado, apenas os dados desse cenário serão usados. Se o número de chaves for muito grande, ele será truncado para 100 por padrão. Esta configuração de exemplo gera 36 features: 3 períodos estatísticos (3, 7, 15 dias) × 2 fórmulas de taxa de conversão (click/expr,praise/click) × 6 features de atributo. -
Features numéricas preferidas
Neste exemplo, as 4 features numéricas selecionadas são
click_count,praise_count,durationeitem_pub_time.Esta feature agrega um atributo numérico selecionado com base em um comportamento específico (como
expr,clickoupraise) e em uma lógica de cálculo (como soma, máximo, mínimo ou média) dentro de um determinado período (por exemplo, 3, 7 ou 15 dias). Se um cenário estiver configurado, apenas os dados desse cenário serão usados. Esta configuração de exemplo gera 36 features (número de períodos estatísticos × número de comportamentos × número de features numéricas). -
Feature de combinação categoria-numérico principal
Neste exemplo, as features categóricas para a combinação são
category,day_heweek_day. A feature numérica éplaytime, e a quantidade de truncamento está definida como 100.Esta feature calcula a preferência de um usuário por um valor numérico dentro de uma categoria específica. Ela agrega um valor numérico com base em uma lógica de cálculo (como soma, máximo, mínimo ou média) para cada comportamento (como
expr,clickoupraise) dentro de um determinado período (por exemplo, 3, 7 ou 15 dias). Se um cenário estiver configurado, apenas os dados desse cenário serão usados. Esta configuração de exemplo gera 27 features (número de períodos estatísticos × número de comportamentos × número de features categóricas na combinação).
4. Feature de sequência
As features de sequência só podem ser configuradas no lado do usuário. Como essas features frequentemente não estão disponíveis no início de um projeto de recomendação, simule-as a partir de dados históricos de comportamento. Isso acelera experimentos e implantações ao reduzir o tempo necessário para coletar features de sequência online. O evento simulado geralmente é uma exposição (expr). O leakage prevention period exclui comportamentos ocorridos nos últimos N segundos da sequência atual. Isso é crucial porque o refluxo de logs durante a inferência pode causar atrasos nos dados. Se a simulação for muito próxima do tempo real, poderá ocorrer vazamento de features durante o treinamento. O sequence feature separator é o delimitador entre itens em uma sequência, enquanto o sub-feature separator é o delimitador entre as subfeatures de um único item.
Na configuração geral, o Simulated event tem como padrão expr, o Sequence feature separator tem como padrão ; e o Sub-feature separator tem como padrão #. A tabela abaixo exibe as regras de feature de sequência configuradas, com colunas para Primary key, Category, Calculation logic e Operations. Clique em Add para criar uma nova regra ou use Edit e Delete para gerenciar as regras existentes.
Por exemplo, defina o Behavior period como 30 dias, selecione expr para Behavior, selecione item_id para Deduplication ID e selecione category, click_count, praise_count e duration para Sub-feature. Defina a Truncation quantity como 100.
Behavior period: Número de dias recentes dos quais coletar comportamentos. Se múltiplas sequências estiverem configuradas, o período mais longo terá precedência.
Behavior: Tipo de comportamento a ser coletado na sequência.
Scenario: Cenário pelo qual filtrar comportamentos. Se não for selecionado, comportamentos de todos os cenários serão coletados.
Deduplication ID: Subfeature usada para desduplicação dentro da sequência. Para um determinado ID, apenas a última ocorrência do comportamento é retida.
Sub-feature: Subfeatures que compõem um item na sequência. Geralmente são features não estatísticas do lado do item, incluindo features categóricas, categóricas multivaloradas e numéricas.
Truncation quantity: Número máximo de itens a serem retidos na sequência.
5. Feature em tempo real
Crie features estatísticas em tempo real com IDs de usuário ou IDs de item como chave primária. O leakage prevention period serve ao mesmo propósito das features de sequência: impede que comportamentos dos últimos N segundos sejam incluídos na contagem. Essa configuração é necessária porque os logs de comportamento sofrem atrasos ao serem transmitidos do cliente, passando pelo middleware orientado a mensagens, até o service de armazenamento online. Sem essa configuração, as estatísticas online podem ficar imprecisas. Para features em tempo real, o período estatístico é medido em segundos. Os quatro tipos estatísticos a seguir são suportados:
Estatísticas de comportamento
Cálculo de taxa de conversão
Contagem de comportamento por atributo principal
Proporção de comportamento por atributo principal
Esses quatro tipos têm o mesmo significado de seus equivalentes na seção de features de preferência de comportamento; apenas a unidade do período estatístico é diferente.
No exemplo de configuração, o Leakage prevention period está definido como 10 segundos. Com user_id como chave primária, as estatísticas são calculadas para os comportamentos click e praise dentro de uma janela de [1800, 3600] segundos. O valor Top-N está definido como 100, e os atributos de preferência são category e duration_bin. Use as ações Edit e Delete na coluna de operações para gerenciar as linhas. Na parte inferior, clique em Add para criar uma nova configuração ou em View Details para obter mais informações.
6. Feature de agregação
As features de agregação podem ser configuradas tanto no lado do usuário quanto no lado do item. Selecione uma ou mais condições de agregação. Apenas features categóricas podem ser usadas como condições de agregação.
O sistema calcula features com base nas condições de agregação atuais. Os tipos estatísticos disponíveis são os mesmos das features de preferência de comportamento e possuem os mesmos significados. Por exemplo, a primeira linha na configuração indica que o número total de eventos de click, praise e exposure é contado para diferentes combinações de gênero e idade. Tomando batom como exemplo, é mais provável que seja clicado por usuários do sexo feminino, portanto, analisar estatísticas de vendas de itens por gênero é útil.
Na tabela de configuração, a chave primária é User ID:gender_age, e cada tipo estatístico é calculado dentro de uma janela de [3, 10] dias com base na dimensão gender_age. Gerencie a configuração usando os links Add, View Details, Add aggregation condition e Delete aggregation condition na parte inferior da página.