¡Participa de la Maratón Behind the Code, la competencia de programación más desafiante! Inscríbete aqui

Cree un recomendador con Apache Spark y Elasticsearch

Resumen

Los motores de recomendaciones están entre los casos de uso más conocidos, usados y valorados de las aplicaciones de machine learning. A pesar de esto, aunque existen muchos recursos para los aspectos básicos de la capacitación de un modelo de recomendaciones, hay relativamente pocos que expliquen cómo implementar realmente esos modelos para crear un sistema recomendador a gran escala.

Descripción

Este patrón para desarrolladores demuestra los elementos principales de la creación de un sistema recomendador con Apache Spark y Elasticsearch. Un Jupyter Notebook muestra cómo utilizar Spark para capacitar un modelo de recomendaciones de filtros colaborativos para datos de calificaciones almacenadas en Elasticsearch, guardando los factores del modelo para Elasticsearch, y después utilizar Elasticsearch para ofrecer recomendaciones en tiempo real a través del modelo.

Cuando finalice, sabrá cómo hacer lo siguiente:

  • Ingerir e indexar datos de eventos de los usuarios en Elasticsearch mediante el conector Elasticsearch Spark.
  • Cargar datos de eventos en Spark DataFrames y utilizar la biblioteca de machine learning de Spark (MLlib) para capacitar un modelo de recomendador de filtros colaborativos.
  • Exportar el modelo capacitado a Elasticsearch.
  • Utilizar un plug-in personalizado de Elasticsearch, calcular recomendaciones de elementos similares y de usuarios personalizados y combinar las recomendaciones con filtros de búsqueda y de contenido.

Flujo

flujo

  1. Cargar en Spark el conjunto de datos de películas.
  2. Utilizar las operaciones de Spark DataFrame para limpiar el conjunto de datos y cargarlos en Elasticsearch.
  3. Utilizar Spark MLlib, capacitar un modelo de recomendaciones de filtros colaborativos.
  4. Guardar en Elasticsearch el modelo resultante.
  5. Utilizar consultas de Elasticsearch y un plug-in personalizado de puntuaciones vectoriales y generar algunas recomendaciones de muestra. La API Movie Database se utiliza para mostrar imágenes de pósteres de las películas recomendadas.