[ad_1]
En un nivel fundamental, la tecnología de aprendizaje automático (ML) aprende de los datos para hacer predicciones. Las empresas aprovechan sus datos con un servicio de personalización basado en ML para mejorar la experiencia de sus clientes. Este enfoque permite a las empresas utilizar datos para obtener información útil y aumentar sus ventas y lealtad a la marca.
Amazon Personalize acelera su transformación digital con ML, facilitando la integración de recomendaciones personalizadas en sitios web, aplicaciones, sistemas de marketing por correo electrónico existentes y más. Amazon Personalize permite a los desarrolladores implementar rápidamente un motor de personalización personalizado sin necesidad de conocimientos de aprendizaje automático. Amazon Personalize proporciona la infraestructura necesaria y administra todo el proceso de aprendizaje automático (ML), incluido el procesamiento de datos, la identificación de características, el uso de los algoritmos más adecuados y el entrenamiento, la optimización y el alojamiento de los modelos. Obtienes resultados a través de una API y solo pagas por lo que usas, sin tarifas mínimas ni compromisos iniciales.
El artículo “Arquitectura de recomendaciones personalizadas casi en tiempo real con Amazon Personalize” muestra cómo puede crear recomendaciones personalizadas casi en tiempo real utilizando Amazon Personalize y servicios de datos específicos de AWS. En esta publicación, lo guiaremos a través de una implementación de referencia de un sistema de recomendación personalizado en tiempo real utilizando Amazon Personalize.
Descripción general de la solución
La solución de recomendaciones personalizadas en tiempo real se implementa mediante Amazon Personalize, Amazon Simple Storage Service (Amazon S3), Amazon Kinesis Data Streams, AWS Lambda y Amazon API Gateway.
La arquitectura se implementa de la siguiente manera:
- Preparación de datos – Primero, cree un conjunto de registros, esquemas y registros que representen sus elementos, interacciones y datos de usuario.
- Entrenar el modelo – Después de importar sus datos, seleccione la receta que se ajuste a su caso de uso y luego cree una solución para entrenar un modelo creando una versión de la solución. Cuando la versión de su solución esté lista, puede crear una campaña para su versión de solución.
- Obtenga recomendaciones casi en tiempo real – Si tiene una campaña, puede integrar llamadas de campaña en su aplicación. Esto realiza llamadas a las API GetRecommendations o GetPersonalizedRanking para solicitar recomendaciones casi en tiempo real de Amazon Personalize.
Para obtener más información, consulte Crear recomendaciones personalizadas casi en tiempo real con Amazon Personalize.
El siguiente diagrama ilustra la arquitectura de la solución.
implementación
Demostramos esta implementación con un caso de uso que implica brindarle al usuario final recomendaciones de películas en tiempo real basadas en sus interacciones con la base de datos de películas a lo largo del tiempo.
La solución se implementa en los siguientes pasos:
- Requisito (preparación de datos)
- Configure su entorno de desarrollo
- Proporcionar la solución
- Crear una versión de solución
- Crear una campaña
- Crear un rastreador de eventos
- Obtener recomendaciones
- Graba interacciones en tiempo real
- Validar recomendaciones en tiempo real
- Limpiar
requisitos
Antes de comenzar, asegúrese de cumplir con los siguientes requisitos:
- Prepara tus datos de entrenamiento – Prepare los datos según las instrucciones y cárguelos en un depósito S3. Para este caso de uso específico, cargue datos de interacción y datos de elementos. Una interacción es un evento que registra y luego importa como datos de entrenamiento. Amazon Personalize genera recomendaciones basadas principalmente en los datos de interacción que importa a un registro de interacción. Puede grabar varios tipos de eventos, como por ejemplo: B. Haga clic, Ver o Me gusta. Aunque el modelo creado por Amazon Personalize puede hacer sugerencias basadas en las interacciones previas de un usuario, la calidad de esas sugerencias se puede mejorar si el modelo incluye datos sobre las asociaciones entre usuarios o elementos. Si un usuario ha interactuado con películas categorizadas como «Drama» en el registro del artículo, Amazon Personalize sugerirá películas (artículos) con el mismo género.
- Configure su entorno de desarrollo – Instale la interfaz de línea de comandos de AWS (AWS CLI).
- Configure CLI con su cuenta de Amazon – Configure la CLI de AWS con la información de su cuenta de AWS.
- Instale e inicie el kit de desarrollo en la nube de AWS (AWS CDK).
Proporcionar la solución
Para implementar la solución, haga lo siguiente:
- Clona el repositorio en una nueva carpeta en tu escritorio.
- Implemente la pila en su entorno de AWS.
Crear una versión de solución
Una solución se refiere a la combinación de una receta de Amazon Personalize, parámetros personalizados y una o más versiones de solución (modelos entrenados). Cuando implementa el proyecto CDK en el paso anterior, se crea automáticamente una solución con una receta de personalización del usuario. Una versión de solución se refiere a un modelo de aprendizaje automático entrenado. Cree una versión de la solución para su implementación.
Crear una campaña
Una campaña proporciona una versión de la solución (modelo entrenado) con una capacidad de transacción aprovisionada para generar recomendaciones en tiempo real. Crear una campaña para su implementación.
Crear un rastreador de eventos
Amazon Personalize puede hacer recomendaciones basadas únicamente en datos de eventos en tiempo real, solo en datos de eventos históricos o ambos. Registre eventos en tiempo real para ampliar sus datos de interacción y permitir que Amazon Personalize aprenda de las actividades recientes de sus usuarios. Esto mantiene sus datos actualizados y mejora la relevancia de las recomendaciones de Amazon Personalize. Antes de poder registrar eventos, debe crear un rastreador de eventos. Un rastreador de eventos reenvía nuevos datos de eventos al registro de interacción en su grupo de registros. Cree un rastreador de eventos para su implementación.
Obtener recomendaciones
En este caso de uso, el registro de interacción consta de ID de película. En consecuencia, las recomendaciones presentadas al usuario consisten en identificaciones de películas que más se acercan a sus preferencias personales, determinadas a partir de sus interacciones históricas. Puedes utilizar el… getRecommendations
API para obtener recomendaciones personalizadas para un usuario enviando las asociadas userID
, la cantidad de resultados de recomendaciones que necesita para el usuario y el ARN de la campaña. Puede encontrar el ARN de la campaña en el menú de la consola de Amazon Personalize.
Por ejemplo, la siguiente solicitud recupera 5 recomendaciones para el usuario cuyo userId
es 429:
La respuesta a la consulta es:
Los elementos devueltos por la llamada API son las películas que Amazon Personalize recomienda al usuario en función de sus interacciones históricas.
Los valores de puntuación proporcionados en este contexto representan números de punto flotante que van de cero a 1,0. Estos valores corresponden a la campaña actual y las recetas asociadas para este caso de uso. Se determinan en función de las puntuaciones colectivas asignadas a todos los elementos presentes en su conjunto de datos completo.
Graba interacciones en tiempo real
En el ejemplo anterior, se obtuvieron recomendaciones para el ID de usuario 429 en función de sus interacciones históricas con la base de datos de películas. Las recomendaciones en tiempo real requieren que las interacciones del usuario con los artículos se registren en tiempo real en Amazon Personalize. Estas interacciones se incluyen en el sistema de recomendaciones a través de Amazon Personalize Event Tracker. El tipo de interacción, también llamada EventType
está representado por la columna del mismo nombre en el registro de datos de interacción (EVENT_TYPE
). En este ejemplo, los eventos pueden ser del tipo Ver o Hacer clic, pero puede usar sus propios tipos de eventos según las necesidades de su aplicación.
En este ejemplo, la API expuesta que genera eventos de usuarios con los elementos recibe el parámetro Interacciones, que corresponde al número de eventos (interactions
) de un usuario (UserId
) con un solo elemento (itemId
) en este momento. El trackingId
El parámetro se puede encontrar en la consola de Amazon Personalize y en la respuesta de creación de solicitud de Event Tracker.
Este ejemplo muestra una putEvent
Solicitud: genere 1 interacción de tipo «clic» con el ID de elemento «185» para el ID de usuario «429» utilizando la marca de tiempo actual. Tenga en cuenta que en producción, sentAt debe establecerse en el momento de la interacción del usuario. En el siguiente ejemplo, configuramos esto en la hora en formato de época cuando escribimos la solicitud de API para esta publicación. Los eventos se envían a Amazon Kinesis Data Streams a través de una puerta de enlace API, por lo que debe enviar los parámetros stream-name y PartitionKey.
Recibirá una respuesta de confirmación similar a la siguiente:
Validar recomendaciones en tiempo real
Debido a que el registro de interacción se actualizó, las recomendaciones se actualizan automáticamente para reflejar las nuevas interacciones. Para validar las recomendaciones actualizadas en tiempo real, puede volver a llamar a la API getRecommendations con el mismo ID de usuario 429. El resultado debe ser diferente al anterior. Los siguientes resultados muestran una nueva recomendación con ID 594 y las recomendaciones con ID 16, 596, 153 y 261 han cambiado sus calificaciones. Estos artículos colocaron el nuevo género cinematográfico (“Animación|Niños|Drama|Fantasía|Musical”) entre las 5 principales recomendaciones.
Consulta:
Respuesta:
La respuesta muestra que la recomendación proporcionada por Amazon Personalize se actualizó en tiempo real.
Limpiar
Para evitar costos innecesarios, limpie la implementación de la solución utilizando Cleanup Resources.
Diploma
En esta publicación, le mostramos cómo implementar un sistema de recomendaciones personalizado en tiempo real utilizando Amazon Personalize. Las interacciones con Amazon Personalize para capturar interacciones en tiempo real y obtener recomendaciones se realizaron a través de una herramienta de línea de comandos llamada Curl. Sin embargo, estas llamadas API se pueden integrar en una aplicación empresarial y producir el mismo resultado.
Para ayudarle a elegir una nueva receta para su caso de uso, consulte Personalización en tiempo real. Para medir el impacto de las recomendaciones realizadas por Amazon Personalize, consulte Medición del impacto de las recomendaciones.
Sobre los autores
Cristian Márquez es un arquitecto senior de aplicaciones en la nube. Tiene una amplia experiencia en el diseño, construcción e implementación de software empresarial, sistemas distribuidos de alta carga y aplicaciones nativas en la nube. Tiene experiencia en lenguajes de programación backend y frontend así como en diseño de sistemas e implementación de prácticas DevOps. Ayuda activamente a los clientes a crear y proteger soluciones innovadoras en la nube, resolver sus problemas comerciales y alcanzar sus objetivos comerciales.
Anand Komandouru es arquitecto sénior de la nube en AWS. Se unió a la organización de servicios profesionales de AWS en 2021 y ayuda a los clientes a crear aplicaciones nativas de la nube en la nube de AWS. Tiene más de 20 años de experiencia desarrollando software y su principio de liderazgo favorito en Amazon es: «Los líderes tienen razón la mayor parte del tiempo».
[ad_2]