Criar um sistema de recomendação baseada em conteúdo

Azure Databricks
Azure Machine Learning

Ideias de solução

Esse artigo é uma ideia de solução. Se você deseja que ampliemos o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações de implementação ou diretrizes de preços, fale conosco fornecendo comentários no GitHub.

As recomendações são um dos principais fatores de receita para muitas empresas e são usadas em diferentes tipos de setores, incluindo varejo, notícias e mídia. Com a disponibilidade de grandes quantidades de dados sobre a atividade do cliente, você pode fornecer recomendações altamente relevantes usando o machine learning.

Arquitetura

Architectural diagram that shows training, evaluation, and development of a machine learning model for content-based personalization that uses Azure Databricks.

Baixe um arquivo do PowerPoint dessa arquitetura.

Fluxo de dados

  1. armazenar. O Azure Data Lake Storage armazena grandes quantidades de dados sobre o comportamento do usuário e do consumidor.

  2. Ler. O Azure Databricks se conecta e lê do Azure Data Lake Storage. A ingestão no Databricks permite que o pré-processamento e o treinamento registrem o modelo.

  3. Pré-processar. O pré-processamento de dados limpa, transforma e prepara os dados a serem alimentados para o modelo do sistema de recomendações.

  4. Treinar. O treinamento tem duas etapas: engenharia de recursos e treinamentode modelo. Durante o treinamento de modelo, o Azure Databricks usa o conjunto de dados pré-processado para treinar e explicar o comportamento do melhor modelo de recomendação.

  5. Pós-processar. O pós-processamento envolve avaliação e seleção de modelo com base em qual modelo tem melhor desempenho.

  6. Implantar. O Azure Databricks mantém o modelo. Os pontos de extremidade gerenciados em lote implantam o modelo para exposição à exibição de front-end. À medida que o modelo é implantado, os novos dados são acessíveis por meio de novos pontos de extremidade. Há suporte para recomendações em lotes e quase em tempo real.

  7. Gravação. As interfaces do usuário, como aplicativos Web, podem consumir os resultados do modelo armazenado. Os resultados são gravados e capturados no Azure Synapse. O modelo é executado como inferência em lote e armazena os resultados no respectivo armazenamento de dados.

Componentes

Esta arquitetura é formada pelos seguintes componentes:

  • O Azure Data Lake Storage é um conjunto de recursos de armazenamento dedicados à análise de Big Data e que fornecem semântica do sistema de arquivos, segurança em nível de arquivo e dimensionamento.

  • O Azure Databricks é um cluster do Apache Spark gerenciado para treinamento e avaliação de modelo.

  • O Azure Synapse Analytics é um data warehouse de nuvem rápido, flexível e confiável que permite dimensionar, computar e armazenar de forma elástica e independente, com uma arquitetura de processamento massivamente paralela.

Detalhes do cenário

A abordagem descrita nesse artigo se concentra em um sistema de recomendação baseada em conteúdo. Para obter mais informações sobre as práticas recomendadas de criação de sistemas de recomendação, consulte a documentação e os exemplos para Recomendadores no GitHub.

Esse cenário de exemplo mostra como sua empresa pode usar o aprendizado de máquina para automatizar a personalização baseada em conteúdo para os clientes. A solução usa o Azure Databricks para treinar um modelo que prevê a probabilidade de que um usuário esteja interessado em um item. Os pontos de extremidade gerenciados em lote implantam esse modelo como um serviço de previsão. Por sua vez, você pode usar essa previsão para criar recomendações personalizadas, classificando os itens com base no conteúdo que um usuário provavelmente consumirá.

Possíveis casos de uso

Essa solução é ideal para o setor de varejo. Ela é relevante para os seguintes casos de uso:

  • Recomendações de conteúdo para sites ou aplicativos móveis
  • Recomendações de produtos para sites de comércio eletrônico
  • Recomendações de publicidade gráfica para sites

Tipos de sistemas de recomendação

Há três tipos principais de sistemas de recomendação:

  • Filtragem colaborativa. A filtragem colaborativa identifica padrões semelhantes no comportamento do cliente e recomenda itens com os quais outros clientes semelhantes interagiram. Uma vantagem da filtragem colaborativa é a facilidade de gerar dados: os usuários criam dados enquanto interagem com listagens de itens e produtos. Além disso, os clientes podem descobrir novos itens e produtos diferentes daqueles que são coletados de suas interações históricas. No entanto, a desvantagem da filtragem colaborativa é o problema de início frio: como há uma escassez de interações entre usuários e novas ofertas, os itens recém-adicionados não são recomendados por um algoritmo que depende inteiramente das interações do cliente.

  • Baseada em conteúdo. A recomendação baseada em conteúdo usa as informações sobre os itens para aprender as preferências do cliente e recomenda itens que compartilham propriedades com itens com os quais um cliente tenha interagido anteriormente. Os sistemas de recomendação baseados em conteúdo não são prejudicados pelo problema de início frio e podem se adaptar à introdução de novos itens. No entanto, as recomendações são limitadas aos recursos do item original com o qual um cliente interagiu.

  • Método híbrido. Outra abordagem para criar sistemas de recomendação é misturar filtragem colaborativa e baseada em conteúdo. Esse sistema recomenda itens com base em classificações de usuário e em informações sobre itens. A abordagem híbrida tem as vantagens da filtragem colaborativa e da recomendação baseada em conteúdo.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

Outro colaborador:

  • Andrew Ajaluwa | Gerenciador de Programas
  • Gary Moore | Programador/escritor

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas