Creación de un sistema de recomendaciones basado en contenido

Azure Databricks
Azure Machine Learning

Ideas de solución

Este artículo es una idea de solución. Si te gustaría que ampliemos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comunícalo a través de los Comentarios de GitHub.

Las recomendaciones son un importante generador de ingresos para muchas empresas y se usan en diferentes tipos de sectores, como los de venta directa, noticias y medios de comunicación. Con la disponibilidad de grandes cantidades de datos acerca de la actividad del cliente, ahora puede proporcionar recomendaciones muy relevantes mediante el aprendizaje automático.

Architecture

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

Descargue un archivo de PowerPoint de esta arquitectura.

Flujo de datos

  1. de Apple. Azure Data Lake Storage almacena grandes cantidades de datos sobre el comportamiento del usuario y del consumidor.

  2. Lectura. Azure Databricks se conecta y lee desde Azure Data Lake Storage. La ingesta en Databricks permite preprocesar y entrenar para registrar el modelo.

  3. Preprocesar. El preprocesamiento de datos limpia, transforma y prepara los datos que se van a alimentar al modelo del sistema de recomendaciones.

  4. Entrenar. El entrenamiento tiene dos pasos: ingeniería de características y entrenamiento de modelos. Durante el entrenamiento de modelos, Azure Databricks usa el conjunto de datos preprocesado para entrenar y explicar el comportamiento del mejor modelo de recomendación.

  5. Postprocesar. El postprocesamiento implica la evaluación y la selección del modelo en función del mejor rendimiento de un modelo concreto.

  6. Implementar. Azure Databricks mantiene el modelo. Los puntos de conexión administrados por lotes implementan el modelo para la exposición a la pantalla de front-end. A medida que se implementa el modelo, los nuevos datos son accesibles a través de nuevos puntos de conexión. Se admiten recomendaciones por lotes y casi en tiempo real.

  7. Escritura. Las interfaces de usuario, como las aplicaciones web, pueden consumir los resultados del modelo almacenado. Los resultados se escriben y capturan en Azure Synapse. El modelo se ejecuta como inferencia por lotes y almacena los resultados en el almacén de datos correspondiente.

Componentes

Esta arquitectura utiliza los siguientes componentes:

  • Azure Data Lake Storage es un conjunto de funcionalidades de almacenamiento dedicadas al análisis de macrodatos y que proporcionan semántica del sistema de archivos, seguridad a nivel de archivo y escalado.

  • Azure Databricks es un clúster de Apache Spark administrado para el entrenamiento y la evaluación del modelo.

  • Azure Synapse Analytics es un almacenamiento de datos en la nube rápido, flexible y de confianza que le permite escalar, procesar y almacenar de forma elástica e independiente, con una arquitectura de procesamiento en paralelo masivo.

Detalles del escenario

El enfoque que se describe en este artículo se centra en crear un sistema de recomendaciones basado en contenido. Para obtener más información sobre los procedimientos recomendados de creación de sistemas de recomendación, consulte la documentación y ejemplos de Recomendadores en GitHub.

En este escenario de ejemplo se muestra cómo puede usar usted el aprendizaje automático para automatizar la personalización basada en contenido para los clientes. La solución usa Azure Databricks para entrenar un modelo que predice la probabilidad de que un usuario esté interesado en un elemento. Los puntos de conexión administrados por lotes implementan ese modelo como servicio de predicción. Puede usar este servicio para crear recomendaciones personalizadas mediante la clasificación de los elementos según el contenido que es más probable que consuma un usuario.

Posibles casos de uso

Esta solución es ideal para el sector minorista. Este escenario es pertinente para los casos de uso siguientes:

  • Recomendaciones de contenido para sitios web y aplicaciones móviles
  • Recomendaciones de productos para sitios de comercio electrónico
  • Presentación de recomendaciones de anuncios para sitios web

Tipos de sistemas de recomendación

Existen tres tipos principales de sistemas de recomendación:

  • Filtrado colaborativo. El filtrado colaborativo identifica patrones similares en el comportamiento de los clientes y recomienda elementos con los que otros clientes similares han interactuado. Una ventaja del filtrado colaborativo es la facilidad de generación de datos: los usuarios crean datos al interactuar con listas de elementos y productos. Además, los clientes pueden detectar nuevos elementos y productos distintos de los que se mantienen a partir de sus interacciones históricas. Sin embargo, el inconveniente del filtrado colaborativo es el problema de arranque en frío: dado que hay una escasez de interacciones entre los usuarios y las nuevas ofertas, un algoritmo que depende completamente de las interacciones del cliente no recomienda los elementos recién agregados.

  • Basado en contenidos. La recomendación basada en contenido usa información sobre los elementos para aprender las preferencias de los clientes y recomienda elementos que comparten propiedades con otros elementos con los que un cliente ha interactuado anteriormente. Los sistemas de recomendación basados en contenido no están obstaculizados por el problema de arranque en frío y pueden adaptarse a la introducción de nuevos elementos. Sin embargo, las recomendaciones se limitan a las características del elemento original con las que un cliente ha interactuado.

  • Método híbrido. Otro enfoque para crear sistemas de recomendación es combinar el filtrado colaborativo y basado en contenido. Este sistema recomienda elementos basados en clasificaciones de usuario e información sobre los elementos. El enfoque híbrido tiene las ventajas tanto del filtrado colaborativo como de la recomendación basada en contenido.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Otro colaborador:

  • Andrew Ajaluwa | Administrador de programas
  • Gary Moore | Programador/escritor

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes