As organizações estão continuamente investindo tempo e esforço no desenvolvimento de soluções de recomendação inteligentes para fornecer conteúdo personalizado e relevante para seus usuários. Os objetivos podem ser muitos: transformar a experiência do usuário, gerar interação significativa e impulsionar o consumo de conteúdo. Algumas dessas soluções usam modelos comuns de aprendizado de máquina (ML) criados com base em padrões históricos de interação, atributos demográficos do usuário, semelhanças de produtos e comportamento de grupo. Além desses atributos, o contexto (como clima, localização etc.) no momento da interação pode influenciar as decisões dos usuários durante a navegação pelo conteúdo.
Nesta postagem, mostramos como usar o tipo de dispositivo atual do usuário como contexto para aumentar a eficácia do seu Amazon Customizerecomendações baseadas em Além disso, mostramos como usar esse contexto para filtrar recomendações dinamicamente. Embora esta postagem mostre como o Amazon Personalize pode ser usado para um caso de uso de vídeo sob demanda (VOD), vale a pena observar que o Amazon Personalize pode ser usado em vários setores.
O que é o Amazon Personalize?
O Amazon Personalize permite que os desenvolvedores criem aplicativos com o mesmo tipo de tecnologia de ML usado pela Amazon.com para recomendações personalizadas em tempo real. O Amazon Personalize é capaz de oferecer uma ampla variedade de experiências de personalização, incluindo recomendações específicas de produtos, reclassificação personalizada de produtos e marketing direto personalizado. Além disso, como um serviço de IA totalmente gerenciado, o Amazon Personalize acelera as transformações digitais do cliente com ML, facilitando a integração de recomendações personalizadas em sites, aplicativos, sistemas de marketing por e-mail existentes e muito mais.
Por que o contexto é importante?
O uso dos metadados contextuais de um usuário, como localização, hora do dia, tipo de dispositivo e clima, fornece experiências personalizadas para usuários existentes e ajuda a melhorar a fase de inicialização a frio para usuários novos ou não identificados. O fase de partida a frio refere-se ao período em que seu mecanismo de recomendação fornece recomendações não personalizadas devido à falta de informações históricas sobre esse usuário. Em situações em que há outros requisitos para filtrar e promover itens (por exemplo, notícias e previsão do tempo), adicionar o contexto atual do usuário (estação do ano ou hora do dia) ajuda a melhorar a precisão ao incluir e excluir recomendações.
Vamos pegar o exemplo de uma plataforma VOD que recomenda shows, documentários e filmes ao usuário. Com base na análise de comportamento, sabemos que os usuários de VOD tendem a consumir conteúdo mais curto, como sitcoms em dispositivos móveis, e conteúdo mais longo, como filmes em sua TV ou desktop.
Visão geral da solução
Expandindo o exemplo de consideração do tipo de dispositivo de um usuário, mostramos como fornecer essas informações como contexto para que o Amazon Personalize possa aprender automaticamente a influência do dispositivo de um usuário em seus tipos de conteúdo preferidos.
Seguimos o padrão de arquitetura mostrado no diagrama a seguir para ilustrar como o contexto pode ser passado automaticamente para o Amazon Personalize. O contexto de derivação automática é obtido por meio de Amazon CloudFront cabeçalhos incluídos em solicitações como uma API REST em Gateway de API da Amazon que chama um AWS Lambda função para recuperar recomendações. Consulte o exemplo de código completo disponível em nosso Repositório GitHub. Nós fornecemos um Formação da Nuvem AWS modelo para criar os recursos necessários.
Nas seções a seguir, explicamos como configurar cada etapa do padrão de arquitetura de amostra.
Escolha uma receita
Receitas são algoritmos do Amazon Personalize preparados para casos de uso específicos. O Amazon Personalize fornece receitas com base em casos de uso comuns para modelos de treinamento. Para nosso caso de uso, criamos um recomendador personalizado simples do Amazon Personalize usando a receita de personalização do usuário. Ele prevê os itens com os quais um usuário irá interagir com base no conjunto de dados de interações. Além disso, esta receita também usa conjuntos de dados de itens e usuários para influenciar as recomendações, se fornecidas. Para saber mais sobre como esta receita funciona, consulte Receita de personalização do usuário.
Criar e importar um conjunto de dados
Aproveitar o contexto requer especificar valores de contexto com interações para que os recomendadores possam usar o contexto como recursos ao treinar modelos. Também temos que fornecer o contexto atual do usuário no momento da inferência. O esquema de interações (consulte o código a seguir) define a estrutura de dados históricos e em tempo real de interação de usuários para itens. O USER_ID
, ITEM_ID
e TIMESTAMP
campos são exigidos pelo Amazon Personalize para este conjunto de dados. DEVICE_TYPE
é um campo categórico personalizado que estamos adicionando a este exemplo para capturar o contexto atual do usuário e incluí-lo no treinamento do modelo. O Amazon Personalize usa esse conjunto de dados de interações para treinar modelos e criar campanhas de recomendação.
Da mesma forma, o esquema de itens (consulte o código a seguir) define a estrutura dos dados do catálogo de produtos e vídeos. O ITEM_ID
é exigido pelo Amazon Personalize para este conjunto de dados. CREATION_TIMESTAMP
é um nome de coluna reservado, mas não é obrigatório. GENRE
e ALLOWED_COUNTRIES
são campos personalizados que estamos adicionando neste exemplo para capturar o gênero do vídeo e os países onde os vídeos podem ser reproduzidos. O Amazon Personalize usa esse conjunto de dados de itens para treinar modelos e criar campanhas de recomendação.
Em nosso contexto, data histórica refere-se ao histórico de interação do usuário final com vídeos e itens na plataforma VOD. Esses dados geralmente são coletados e armazenados no banco de dados do aplicativo.
Para fins de demonstração, usamos a biblioteca Faker do Python para gerar alguns dados de teste simulando o conjunto de dados de interações com diferentes itens, usuários e tipos de dispositivos durante um período de 3 meses. Depois que o esquema e o local do arquivo de interações de entrada são definidos, as próximas etapas são criar um grupo de conjuntos de dados, incluir o conjunto de dados de interações no grupo de conjuntos de dados e, finalmente, importar os dados de treinamento para o conjunto de dados, conforme ilustrado nos trechos de código a seguir:
Reúna dados históricos e treine o modelo
Nesta etapa, definimos a receita escolhida e criamos uma solução e uma versão da solução referente ao grupo de conjuntos de dados previamente definido. Ao criar uma solução personalizada, você especifica uma receita e configura os parâmetros de treinamento. Quando você cria uma versão da solução para a solução, o Amazon Personalize treina o modelo que suporta a versão da solução com base na receita e na configuração de treinamento. Veja o seguinte código:
Criar um endpoint de campanha
Depois de treinar seu modelo, você o implanta em um campanha. Uma campanha cria e gerencia um ponto de extremidade de escalonamento automático para seu modelo treinado que você pode usar para obter recomendações personalizadas usando o GetRecommendations
API. Em uma etapa posterior, usamos esse endpoint de campanha para passar automaticamente o tipo de dispositivo como contexto como parâmetro e receber recomendações personalizadas. Veja o seguinte código:
Criar um filtro dinâmico
Ao obter recomendações da campanha criada, você pode filtrar os resultados com base em critérios personalizados. Para o nosso exemplo, criamos um filtro para atender ao requisito de recomendar vídeos que só podem ser reproduzidos no país atual do usuário. As informações do país são passadas dinamicamente do cabeçalho HTTP do CloudFront.
Crie uma função Lambda
A próxima etapa em nossa arquitetura é criar uma função Lambda para processar solicitações de API provenientes da distribuição do CloudFront e responder invocando o endpoint de campanha do Amazon Personalize. Nesta função do Lambda, definimos a lógica para analisar os seguintes cabeçalhos HTTP da solicitação do CloudFront e parâmetros de string de consulta para determinar o tipo de dispositivo do usuário e o ID do usuário, respectivamente:
CloudFront-Is-Desktop-Viewer
CloudFront-Is-Mobile-Viewer
CloudFront-Is-SmartTV-Viewer
CloudFront-Is-Tablet-Viewer
CloudFront-Viewer-Country
O código para criar esta função é implantado por meio do modelo CloudFormation.
Criar uma API REST
Para tornar a função Lambda e o endpoint de campanha do Amazon Personalize acessíveis à distribuição do CloudFront, criamos um endpoint de API REST configurado como um proxy Lambda. O API Gateway fornece ferramentas para criar e documentar APIs que roteiam solicitações HTTP para funções do Lambda. O recurso de integração de proxy Lambda permite que o CloudFront chame uma única função Lambda abstraindo solicitações para o endpoint de campanha do Amazon Personalize. O código para criar esta função é implantado por meio do modelo CloudFormation.
Criar uma distribuição do CloudFront
Ao criar uma distribuição do CloudFront, como esta é uma configuração de demonstração, desativamos o cache usando uma política de cache personalizada, garantindo que a solicitação vá sempre para a origem. Além disso, usamos uma política de solicitação de origem especificando os cabeçalhos HTTP necessários e os parâmetros de string de consulta incluídos em uma solicitação de origem. O código para criar esta função é implantado por meio do modelo CloudFormation.
Recomendações de teste
Quando o URL da distribuição do CloudFront é acessado de diferentes dispositivos (desktop, tablet, telefone e assim por diante), podemos ver as recomendações de vídeo personalizadas mais relevantes para o dispositivo. Além disso, se um usuário frio for apresentado, as recomendações personalizadas para o dispositivo do usuário serão apresentadas. Nas saídas de exemplo a seguir, os nomes dos vídeos são usados apenas para representação de seu gênero e tempo de execução para torná-los relacionáveis.
No código a seguir, um usuário conhecido que adora comédia com base em interações anteriores e está acessando de um dispositivo telefônico é apresentado a sitcoms mais curtos:
O seguinte usuário conhecido recebe filmes ao acessar de um dispositivo de smart TV com base em interações anteriores:
Um usuário frio (desconhecido) acessando de um telefone é apresentado a programas mais curtos, mas populares:
Recommendations for user: 666 ITEM_ID GENRE ALLOWED_COUNTRIES 940 Satire US|FI|CN|ES|HK|AE 760 Satire US|FI|CN|ES|HK|AE 160 Sitcom US|FI|CN|ES|HK|AE 880 Comedy US|FI|CN|ES|HK|AE 360 Satire US|PK|NI|JM|IN|DK 840 Satire US|PK|NI|JM|IN|DK 420 Satire US|PK|NI|JM|IN|DK
Um usuário frio (desconhecido) acessando de um desktop vê os principais filmes e documentários de ficção científica:
O seguinte usuário conhecido acessando de um telefone está retornando recomendações filtradas com base na localização (EUA):
Conclusão
Nesta postagem, descrevemos como usar o tipo de dispositivo do usuário como dados contextuais para tornar suas recomendações mais relevantes. O uso de metadados contextuais para treinar modelos do Amazon Personalize ajudará você a recomendar produtos relevantes para usuários novos e existentes, não apenas a partir dos dados do perfil, mas também de uma plataforma de dispositivo de navegação. Além disso, contextos como localização (país, cidade, região, código postal) e horário (dia da semana, fim de semana, dia da semana, estação do ano) abrem a oportunidade de fazer recomendações relacionadas ao usuário. Você pode executar o exemplo de código completo usando o modelo CloudFormation fornecido em nosso Repositório GitHub e clonar os notebooks em Estúdio Amazon SageMaker.
Sobre os autores
Gilles-Kuessan Satchivi é um AWS Enterprise Solutions Architect com experiência em rede, infraestrutura, segurança e operações de TI. Ele é apaixonado por ajudar os clientes a criar sistemas bem arquitetados na AWS. Antes de ingressar na AWS, ele trabalhou em comércio eletrônico por 17 anos. Fora do trabalho, ele gosta de ficar com a família e torcer pelo time de futebol dos filhos.
Aditya Pendyala é Arquiteto de Soluções Sênior na AWS baseado em Nova York. Ele tem uma vasta experiência na arquitetura de aplicativos baseados em nuvem. Atualmente, ele está trabalhando com grandes empresas para ajudá-las a criar arquiteturas de nuvem altamente escaláveis, flexíveis e resilientes, além de orientá-las em tudo relacionado à nuvem. Ele tem mestrado em Ciência da Computação pela Universidade de Shippensburg e acredita na frase “Quando você para de aprender, para de crescer”.
Prabhakar Chandrasekaran é gerente técnico de contas sênior do AWS Enterprise Support. Prabhakar gosta de ajudar os clientes a criar soluções de IA/ML de ponta na nuvem. Ele também trabalha com clientes corporativos fornecendo orientação proativa e assistência operacional, ajudando-os a melhorar o valor de suas soluções ao usar a AWS. Prabhakar possui seis AWS e seis outras certificações profissionais. Com mais de 20 anos de experiência profissional, Prabhakar foi engenheiro de dados e líder de programa na área de serviços financeiros antes de ingressar na AWS.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Automotivo / EVs, Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- BlockOffsets. Modernizando a Propriedade de Compensação Ambiental. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/recommend-and-dynamically-filter-items-based-on-user-context-in-amazon-personalize/
- :tem
- :é
- :não
- :onde
- $UP
- 1
- 10
- 100
- 11
- 12
- 160
- 17
- 20
- 20 anos
- 22
- 220
- 23
- 24
- 420
- 7
- 9
- a
- Sobre
- acelera
- acessadas
- acessível
- acessando
- Conta
- precisão
- alcançado
- em
- Açao Social
- acrescentando
- Adição
- Adicionalmente
- Vantagem
- Depois de
- AI
- AI / ML
- algoritmos
- Todos os Produtos
- permite
- tb
- Apesar
- Amazon
- Amazon Customize
- Amazon Web Services
- Amazon.com
- an
- análise
- analisar
- e
- api
- APIs
- aplicações
- arquitetura
- SOMOS
- Ordem
- AS
- Assistência
- At
- atributos
- automaticamente
- disponível
- AWS
- fundo
- apoio
- baseado
- BE
- Porque
- antes
- acredita
- além de
- ambos
- Navegando
- construir
- construído
- mas a
- by
- chamada
- chamadas
- Campanha
- Campanhas
- CAN
- capaz
- capturar
- casas
- casos
- catálogo
- certificações
- escolhido
- Cidades
- Na nuvem
- código
- frio
- Coluna
- COM
- Comédia
- vinda
- comum
- computador
- Ciência da Computação
- Configuração
- considerando
- consumir
- consumo
- conteúdo
- contexto
- contextual
- continuamente
- países
- país
- artesanato
- crio
- criado
- cria
- Criar
- critérios
- Atual
- Atualmente
- personalizadas
- cliente
- Clientes
- personalizado
- ponta
- dados,
- banco de dados
- conjuntos de dados
- dia
- decisões
- definido
- Define
- Grau
- entregando
- Demanda
- demonstração
- demográfico
- implantar
- implantado
- descrito
- área de trabalho
- Determinar
- desenvolvedores
- em desenvolvimento
- dispositivo
- Dispositivos/Instrumentos
- diferente
- digital
- diretamente
- distribuição
- documentários
- documentário
- distância
- dois
- dinâmico
- dinamicamente
- cada
- mais fácil
- Loja virtual
- eficácia
- esforço
- E-mail Marketing
- permite
- Ponto final
- Motor
- engenheiro
- aumentar
- assegurando
- Empreendimento
- empresas
- Cada
- exemplo
- excluindo
- existente
- vasta experiência
- Experiências
- extenso
- Experiência Extensiva
- família
- Característica
- Funcionalidades
- Ficção
- campo
- Campos
- Envie o
- filmes
- filtro
- Finalmente
- financeiro
- serviços financeiros
- flexível
- seguir
- seguinte
- Escolha
- da
- cheio
- totalmente
- função
- funções
- porta de entrada
- colhido
- gerar
- ter
- obtendo
- Objetivos
- vai
- Grupo
- Cresça:
- orientações
- Guias
- Ter
- he
- cabeçalhos
- ajudar
- ajuda
- ajuda
- altamente
- sua
- histórico
- história
- detém
- horror
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTML
- http
- HTTPS
- ID
- if
- importar
- importante
- melhorar
- in
- incluir
- incluído
- Incluindo
- indústrias
- influência
- INFORMAÇÕES
- Infraestrutura
- entrada
- integrar
- integração
- Inteligente
- interagir
- interação
- interações
- para dentro
- investir
- IT
- Unid
- juntando
- jpg
- apenas por
- Saber
- conhecido
- Falta
- grande
- Grandes empresas
- mais tarde
- líder
- APRENDER
- aprendizagem
- Biblioteca
- como
- gostos
- localização
- lógica
- longo
- ama
- máquina
- aprendizado de máquina
- fazer
- Fazendo
- gerenciados
- Gerente
- gestão
- muitos
- Marketing
- dominar
- significativo
- metadados
- ML
- Móvel Esteira
- dispositivos móveis
- modelo
- modelos
- mais
- a maioria
- Filmes
- múltiplo
- Mistério
- nome
- nomes
- navegação
- necessário
- networking
- Novo
- notícias
- Próximo
- notando
- NYC
- of
- on
- só
- abre
- operacional
- Operações
- Oportunidade
- or
- origem
- Outros
- A Nossa
- Fora
- lado de fora
- Acima de
- parâmetro
- parâmetros
- passar
- passou
- apaixonado
- passado
- padrão
- padrões
- significativo
- Personalização
- Personalizar
- Personalizado
- fase
- telefone
- plataforma
- platão
- Inteligência de Dados Platão
- PlatãoData
- desempenhado
- Privacidade
- Popular
- Publique
- postal
- alimentado
- Previsões
- preferido
- preparado
- apresentado
- anteriormente
- Prévio
- Proactive
- processo
- Produto
- Produtos
- profissional
- Perfil
- Agenda
- a promover
- fornecer
- fornecido
- fornece
- fornecendo
- procuração
- fins
- citar
- em tempo real
- receber
- receita
- recomendar
- Recomendação
- recomendações
- recomendando
- registro
- refere-se
- em relação a
- região
- relevante
- representação
- solicitar
- pedidos
- requeridos
- requerimento
- Requisitos
- exige
- reservado
- resiliente
- Recursos
- respectivamente
- Responder
- DESCANSO
- Resultados
- voltar
- Rota
- Execute
- sábio
- mesmo
- dizer
- escalável
- Ciência
- Ficção científica
- Épocas
- seções
- segurança
- Vejo
- senior
- servir
- serviço
- Serviços
- conjunto
- instalação
- mostrar
- mostrando
- Shows
- semelhanças
- simples
- solteiro
- situações
- SIX
- smart
- Smart TV
- So
- futebol
- solução
- Soluções
- alguns
- Espaço
- específico
- gastar
- Passo
- Passos
- armazenadas
- Tanga
- estrutura
- tal
- ajuda
- sistemas
- Tablet
- adaptados
- Tire
- Profissionais
- Dados Técnicos:
- Tecnologia
- modelo
- teste
- que
- A
- deles
- Eles
- Lá.
- Este
- coisas
- isto
- Através da
- tempo
- timestamp
- para
- ferramentas
- topo
- Trem
- treinado
- Training
- trens
- Transformar
- transformações
- verdadeiro
- tv
- tipo
- tipos
- universidade
- desconhecido
- URL
- us
- usar
- caso de uso
- usava
- Utilizador
- Experiência do Usuário
- usuários
- usos
- utilização
- geralmente
- valor
- Valores
- versão
- Vídeo
- video on demand
- VÍDEOS
- foi
- we
- Clima
- web
- serviços web
- sites
- semana
- fim de semana
- quando
- enquanto
- QUEM
- Largo
- precisarão
- de
- dentro
- Atividades:
- trabalhou
- trabalhar
- trabalho
- Equivalente há
- anos
- Vocês
- investimentos
- zefirnet