Personalize suas recomendações promovendo itens específicos usando regras de negócios com o Amazon Personalize PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Personalize suas recomendações promovendo itens específicos usando regras de negócios com o Amazon Personalize

Hoje, temos o prazer de anunciar Promoções recurso no Amazon Personalize que permite recomendar explicitamente itens específicos para seus usuários com base em regras que se alinham às suas metas de negócios. Por exemplo, você pode ter parcerias de marketing que exigem que você promova determinadas marcas, conteúdo interno ou categorias das quais deseja melhorar a visibilidade. As promoções oferecem mais controle sobre os itens recomendados. Você pode definir regras de negócios para identificar itens promocionais e exibi-los em toda a sua base de usuários, sem nenhum custo extra. Você também controla a porcentagem do conteúdo promovido em suas recomendações. O Amazon Personalize encontra automaticamente os itens relevantes no conjunto de itens promocionais que atendem à sua regra de negócios e os distribui de acordo com as recomendações de cada usuário.

O Amazon Personalize permite que você aprimore o envolvimento do cliente por meio de recomendações personalizadas de produtos e conteúdo em sites, aplicativos e campanhas de marketing direcionadas. Você pode começar sem qualquer experiência anterior em aprendizado de máquina (ML), usando APIs para criar facilmente recursos de personalização sofisticados com apenas alguns cliques. Todos os seus dados são criptografados para serem privados e seguros e são usados ​​apenas para criar recomendações para seus usuários.

Nesta postagem, demonstramos como personalizar suas recomendações com o novo recurso de promoções para um caso de uso de comércio eletrônico.

Visão geral da solução

Diferentes empresas podem usar promoções com base em suas metas individuais para o tipo de conteúdo em que desejam aumentar o envolvimento. Você pode usar promoções para que uma porcentagem de suas recomendações seja de um tipo específico para qualquer aplicativo, independentemente do domínio. Por exemplo, em aplicativos de comércio eletrônico, você pode usar esse recurso para que 20% dos itens recomendados sejam aqueles marcados como em promoção ou de uma determinada marca ou categoria. Para casos de uso de vídeo sob demanda, você pode usar esse recurso para preencher 40% de um carrossel com programas e filmes recém-lançados que deseja destacar ou para promover conteúdo ao vivo. Você pode usar promoções em grupos de conjuntos de dados de domínio e grupos de conjuntos de dados personalizados (Personalização do usuário e Itens similares receitas).

O Amazon Personalize simplifica a configuração de promoções: primeiro, crie um filtro que selecione os itens que você deseja promover. Você pode usar o console ou a API do Amazon Personalize para criar um filtro com sua lógica usando o Amazon Personalize DSL (linguagem específica do domínio). Leva apenas alguns minutos. Em seguida, ao solicitar recomendações, especifique a promoção especificando o filtro, a porcentagem das recomendações que devem corresponder a esse filtro e, se necessário, os parâmetros do filtro dinâmico. Os itens promovidos são distribuídos aleatoriamente nas recomendações, mas as recomendações existentes não são removidas.

O diagrama a seguir mostra como você pode usar promoções em recomendações no Amazon Personalize.

Você define os itens a serem promovidos no sistema de catálogo, carrega-os no conjunto de dados de itens do Amazon Personalize e obtém recomendações. Obter recomendações sem especificar uma promoção retorna os itens mais relevantes e, neste exemplo, apenas um item dos itens promovidos. Não há garantia de que os itens promovidos serão devolvidos. Obter recomendações com 50% de itens promovidos retorna metade dos itens pertencentes aos itens promovidos.

Esta postagem orienta você no processo de definição e aplicação de promoções em suas recomendações no Amazon Personalize para garantir que os resultados de uma campanha ou recomendação contenham itens específicos que você deseja que os usuários vejam. Para este exemplo, criamos um recomendador de varejo e promovemos itens com CATEGORY_L2 as halloween, que corresponde às decorações de Halloween. Uma amostra de código para este caso de uso está disponível em GitHub.

Pré-requisitos

Para usar promoções, primeiro configure alguns recursos do Amazon Personalize no console do Amazon Personalize. Crie seu grupo de conjuntos de dados, carregue seus dados e treine um recomendador. Para obter instruções completas, consulte Iniciar.

  1. Criar um grupo de conjuntos de dados.
  2. Crie uma Interactions conjunto de dados usando o seguinte esquema:
    {
        "type": "record",
        "name": "Interactions",
        "namespace": "com.amazonaws.personalize.schema",
        "fields": [
            {
                "name": "USER_ID",
                "type": "string"
            },
            {
                "name": "ITEM_ID",
                "type": "string"
            },
            {
                "name": "TIMESTAMP",
                "type": "long"
            },
            {
                "name": "EVENT_TYPE",
                "type": "string"
            }
        ],
        "version": "1.0"
    }

  3. Importar os dados de interação para o Amazon Personalize de Serviço de armazenamento simples da Amazon (Amazônia S3). Para este exemplo, usamos o seguinte arquivo de dados. Geramos os dados sintéticos com base no código do Projeto de loja de demonstração de varejo. Consulte o repositório do GitHub para saber mais sobre os dados e usos potenciais.
  4. Crie uma Items conjunto de dados usando o seguinte esquema:
    {
        "type": "record",
        "name": "Items",
        "namespace": "com.amazonaws.personalize.schema",
        "fields": [
            {
                "name": "ITEM_ID",
                "type": "string"
            },
            {
                "name": "PRICE",
                "type": "float"
            },
            {
                "name": "CATEGORY_L1",
                "type": ["string"],
                "categorical": true
            },
            {
                "name": "CATEGORY_L2",
                "type": ["string"],
                "categorical": true
            },
            {
                "name": "GENDER",
                "type": ["string"],
                "categorical": true
            }
        ],
        "version": "1.0"
    }

  5. Importe os dados do item para o Amazon Personalize do Amazon S3. Para este exemplo, usamos o seguinte arquivo de dados, com base no código do Projeto de loja de demonstração de varejo.Para obter mais informações sobre como formatar e importar suas interações e dados de itens do Amazon S3, consulte Importando registros em massa.
  6. Criar um recomendador. Neste exemplo, criamos um Recomendação “Recomendado para você”.

Crie um filtro para suas promoções

Agora que você configurou seus recursos do Amazon Personalize, você pode criar um filtro que seleciona os itens para sua promoção.

Você pode criar um filtro estático onde todas as variáveis ​​são codificadas na criação do filtro. Por exemplo, para adicionar todos os itens que CATEGORY_L2 as halloween, use a seguinte expressão de filtro:

INCLUDE ItemID WHERE Items.CATEGORY_L2 IN ("halloween")

Você também pode criar filtros dinâmicos. Os filtros dinâmicos são personalizáveis ​​em tempo real quando você solicita as recomendações. Para criar um filtro dinâmico, defina seus critérios de expressão de filtro usando um parâmetro de espaço reservado em vez de um valor fixo. Isso permite que você escolha os valores a serem filtrados aplicando um filtro a uma solicitação de recomendação, em vez de quando você cria sua expressão. Você fornece um filtro quando liga para o Obter recomendações or Obter classificação personalizada operações de API ou como parte de seus dados de entrada ao gerar recomendações em modo de lote por meio de um trabalho de inferência em lote.

Por exemplo, para selecionar todos os itens em uma categoria escolhida ao fazer sua chamada de inferência com um filtro aplicado, use a seguinte expressão de filtro:

INCLUDE ItemID WHERE Items.CATEGORY_L2 IN ($CATEGORY)

Você pode usar a DSL anterior para criar um filtro personalizável no console do Amazon Personalize. Conclua as seguintes etapas:

  1. No console do Amazon Personalize, no Filtros página, escolha Criar filtro.
  2. Escolha Nome do filtro, insira o nome do seu filtro (para esta postagem, inserimos category_filter).
  3. Selecionar Construir expressão ou adicione sua expressão manualmente para criar seu filtro personalizado.
  4. Construa a expressão “Incluir ItemID ONDE Items.CATEGORY_L2 IN $CATEGORY"Por Valor, você insere um valor de $ além de um nome de parâmetro semelhante ao nome da propriedade e fácil de lembrar (para este exemplo, $CATEGORY).
  5. Opcionalmente, para encadear expressões adicionais com seu filtro, escolha o sinal de mais.
  6. Para adicionar expressões de filtro adicionais, escolha Adicionar expressão.
  7. Escolha Criar filtro.
    Personalize suas recomendações promovendo itens específicos usando regras de negócios com o Amazon Personalize PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Você também pode criar filtros através do createFilter API no Amazon Personalize. Para mais informações, veja Criar filtro.

Aplicar promoções às suas recomendações

Aplicando um filtro quando obter recomendações é uma boa maneira de adaptar suas recomendações a critérios específicos. No entanto, o uso de filtros aplica o filtro diretamente a todas as recomendações retornadas. Ao usar promoções, você pode selecionar qual porcentagem das recomendações corresponde aos itens promovidos, permitindo misturar e combinar recomendações personalizadas e os melhores itens que correspondem aos critérios de promoção de cada usuário nas proporções que fazem sentido para seu caso de uso de negócios.

O código de exemplo a seguir é um corpo de solicitação para o GetRecommendations API que obtém recomendações para um usuário usando o "Recomendado para você" Recomendar:

{
    "recommenderArn" = "arn:aws:personalize:us-west-2:000000000000:recommender/test-recommender",
    userId = "1",
    numResults = 20
}

Essa solicitação retorna recomendações personalizadas para o usuário especificado. Dos itens do catálogo, esses são os 20 itens mais relevantes para o usuário.

Podemos fazer a mesma chamada e aplicar um filtro para retornar apenas os itens que correspondem ao filtro. O código de exemplo a seguir é um corpo de solicitação para o GetRecommendations API que obtém recomendações para um usuário usando o recomendador “Recomendado para você” e aplica uma filtro dinâmico devolver apenas itens relevantes que tenham CATEGORY_L2 as halloween:

{
    "recommenderArn" = "arn:aws:personalize:us-west-2:000000000000:recommender/test-recommender",
    userId = "1",
    numResults = 20,
    filterArn = "arn:aws:personalize:us-west-2:000000000000:filter/category_filter",
    filterValues={ "CATEGORY": ""halloween""}
}

Esta solicitação retorna recomendações personalizadas para o usuário especificado que CATEGORY_L2 as halloween. Dos itens do catálogo, esses são os 20 itens mais relevantes com CATEGORY_L2 as halloween para o usuário.

Você pode usar promoções se desejar que uma determinada porcentagem de itens seja de um atributo que deseja promover e que o restante seja os itens mais relevantes para esse usuário de todos os itens do catálogo. Podemos fazer a mesma chamada e aplicar uma promoção. O código de exemplo a seguir é um corpo de solicitação para o GetRecommendations API que obtém recomendações para um usuário usando o recomendador "Recomendado para você" e aplica uma promoção para incluir uma certa porcentagem de itens relevantes que CATEGORY_L2 as halloween:

{
    recommenderArn = "arn:aws:personalize:us-west-2:000000000000:recommender/test-recommender",
    userId = "1",
    numResults = 20,
    promotions = [{
        "name" : "halloween_promotion",
        "percentPromotedItems" : 20,
        "filterArn": "arn:aws:personalize:us-west-2:000000000000:filter/category_filter",
        "filterValues": {
            "CATEGORY" : ""halloween""
        }
    }]
}

Esta solicitação retorna 20% das recomendações que correspondem ao filtro especificado na promoção: itens com CATEGORY_L2 as halloween; e 80% de recomendações personalizadas para o usuário especificado que são os itens mais relevantes para o usuário dentre os itens do catálogo.

Você pode usar um filtro combinado com promoções. O filtro no bloco de parâmetros de nível superior se aplica apenas aos itens não promovidos.

O filtro para selecionar os itens promovidos é especificado no promotions bloco de parâmetros. O código de exemplo a seguir é um corpo de solicitação para o GetRecommendations API que obtém recomendações para um usuário usando o recomendador “Recomendado para você” e usa o filtro dinâmico que usamos duas vezes. O primeiro filtro se aplica a itens não promovidos, selecionando itens com CATEGORY_L2 as decorative, e o segundo filtro se aplica à promoção, promovendo itens com CATEGORY_L2 as halloween:

{
    recommenderArn = "arn:aws:personalize:us-west-2:000000000000:recommender/test-recommender",
    userId = "1",
    numResults = 20,
    "filterArn": "arn:aws:personalize:us-west-2:000000000000:filter/category_filter",
    "filterValues": {
        "CATEGORY" : ""decorative""
    }
    promotions = [{
        "name" : "halloween_promotion",
        "percentPromotedItems" : 20,
        "filterArn": "arn:aws:personalize:us-west-2:000000000000:filter/category_filter",
        "filterValues": {
            "CATEGORY" : ""halloween""
        }
    }]
}

Esta solicitação retorna 20% das recomendações que correspondem ao filtro especificado na promoção: itens com CATEGORY_L2 as halloween. Os 80% restantes dos itens recomendados são recomendações personalizadas para o usuário especificado com CATEGORY_L2 as decorative. Estes são os itens mais relevantes para o usuário dentre os itens do catálogo com CATEGORY_L2 as decorative.

limpar

Certifique-se de limpar todos os recursos não utilizados que você criou em sua conta seguindo as etapas descritas nesta postagem. Você pode excluir filtros, recomendações, conjuntos de dados e grupos de conjuntos de dados por meio do Console de gerenciamento da AWS ou usando o SDK do Python.

Resumo

Adicionando promoções  no Amazon Personalize permite que você personalize suas recomendações para cada usuário incluindo itens nos quais você deseja aumentar explicitamente a visibilidade e o engajamento. As promoções também permitem que você especifique qual porcentagem dos itens recomendados devem ser itens promovidos, o que adapta as recomendações para atender aos seus objetivos de negócios sem custo adicional. Você pode usar promoções para recomendações usando as receitas Personalização do usuário e Itens semelhantes, bem como recomendações otimizadas para casos de uso.

Para obter mais informações sobre o Amazon Personalize, consulte O que é o Amazon Personalizar?


Sobre os autores

Personalize suas recomendações promovendo itens específicos usando regras de negócios com o Amazon Personalize PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai. Ana Gruebler é arquiteto de soluções na AWS.

Personalize suas recomendações promovendo itens específicos usando regras de negócios com o Amazon Personalize PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Alex Burkleaux é arquiteto de soluções na AWS. Ela se concentra em ajudar os clientes a aplicar aprendizado de máquina e análise de dados para resolver problemas no setor de mídia e entretenimento. Em seu tempo livre, ela gosta de passar tempo com a família e se voluntariar como patrulheira de esqui em sua colina de esqui local.

Personalize suas recomendações promovendo itens específicos usando regras de negócios com o Amazon Personalize PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Liam Morrison é Gerente de Arquiteto de Soluções na AWS. Lidera uma equipe focada em serviços de Inteligência de Marketing. Ele passou os últimos 5 anos focado em aplicações práticas de Machine Learning em Mídia e Entretenimento, ajudando clientes a implementar personalização, processamento de linguagem natural, visão computacional e muito mais.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS