Logotipo de Zephyrnet

Personalice sus recomendaciones promocionando artículos específicos utilizando reglas comerciales con Amazon Personalize

Fecha:

Hoy, nos complace anunciar Promos función en Amazon Personalize que le permite recomendar explícitamente elementos específicos a sus usuarios según las reglas que se alinean con sus objetivos comerciales. Por ejemplo, puede tener asociaciones de marketing que requieran que promueva ciertas marcas, contenido interno o categorías cuya visibilidad desee mejorar. Las promociones le dan más control sobre los artículos recomendados. Puede definir reglas comerciales para identificar artículos promocionales y exhibirlos en toda su base de usuarios, sin ningún costo adicional. También controlas el porcentaje del contenido promocionado en tus recomendaciones. Amazon Personalize encuentra automáticamente los artículos relevantes dentro del conjunto de artículos promocionales que cumplen con su regla comercial y los distribuye dentro de las recomendaciones de cada usuario.

Amazon Personalize le permite mejorar la participación del cliente al potenciar recomendaciones personalizadas de productos y contenido en sitios web, aplicaciones y campañas de marketing dirigidas. Puede comenzar sin ninguna experiencia previa en aprendizaje automático (ML), utilizando API para crear fácilmente capacidades de personalización sofisticadas con unos pocos clics. Todos sus datos están encriptados para que sean privados y seguros, y solo se usan para crear recomendaciones para sus usuarios.

En esta publicación, demostramos cómo personalizar sus recomendaciones con la nueva función de promociones para un caso de uso de comercio electrónico.

Resumen de la solución

Diferentes empresas pueden usar promociones en función de sus objetivos individuales para el tipo de contenido en el que desean aumentar la participación. Puede usar promociones para que un porcentaje de sus recomendaciones sea de un tipo particular para cualquier aplicación, independientemente del dominio. Por ejemplo, en las aplicaciones de comercio electrónico, puede usar esta característica para que el 20% de los artículos recomendados sean aquellos marcados como en oferta, o de una determinada marca o categoría. Para casos de uso de video a pedido, puede usar esta función para llenar el 40 % de un carrusel con programas y películas recién lanzados que desea destacar o para promocionar contenido en vivo. Puedes usar promociones en grupos de conjuntos de datos de dominio y grupos de conjuntos de datos personalizados (Personalización del usuario y Artículos similares recetas).

Amazon Personalize simplifica la configuración de promociones: primero, cree un filtro que seleccione los artículos que desea promocionar. Puede utilizar la consola o la API de Amazon Personalize para crear un filtro con su lógica utilizando el DSL (idioma específico del dominio) de Amazon Personalize. Solo toma unos minutos. Luego, cuando solicite recomendaciones, especifique la promoción especificando el filtro, el porcentaje de las recomendaciones que deben coincidir con ese filtro y, si es necesario, los parámetros del filtro dinámico. Los elementos promocionados se distribuyen aleatoriamente en las recomendaciones, pero las recomendaciones existentes no se eliminan.

El siguiente diagrama muestra cómo puede usar promociones en recomendaciones en Amazon Personalize.

Usted define los artículos para promocionar en el sistema de catálogo, los carga en el conjunto de datos de artículos de Amazon Personalize y luego obtiene recomendaciones. Obtener recomendaciones sin especificar una promoción devuelve los artículos más relevantes y, en este ejemplo, solo un artículo de los artículos promocionados. No hay garantía de que se devuelvan los artículos promocionados. Obtener recomendaciones con un 50 % de artículos promocionados devuelve la mitad de los artículos pertenecientes a los artículos promocionados.

Esta publicación lo guía a través del proceso de definición y aplicación de promociones en sus recomendaciones en Amazon Personalize para garantizar que los resultados de una campaña o recomendador contengan elementos específicos que desea que los usuarios vean. Para este ejemplo, creamos un recomendador minorista y promocionamos artículos con CATEGORY_L2 as halloween, que corresponde a las decoraciones de Halloween. Un ejemplo de código para este caso de uso está disponible en GitHub.

Requisitos previos

Para utilizar las promociones, primero configura algunos recursos de Amazon Personalize en la consola de Amazon Personalize. Cree su grupo de conjuntos de datos, cargue sus datos y capacite a un recomendador. Para obtener instrucciones completas, consulte Cómo comenzar.

  1. Crear un grupo de conjunto de datos.
  2. Crear una Interactions conjunto de datos usando lo siguiente Esquema:
    {
        "type": "record",
        "name": "Interactions",
        "namespace": "com.amazonaws.personalize.schema",
        "fields": [
            {
                "name": "USER_ID",
                "type": "string"
            },
            {
                "name": "ITEM_ID",
                "type": "string"
            },
            {
                "name": "TIMESTAMP",
                "type": "long"
            },
            {
                "name": "EVENT_TYPE",
                "type": "string"
            }
        ],
        "version": "1.0"
    }

  3. Importar los datos de interacción a Amazon Personalize desde Servicio de almacenamiento simple de Amazon (Amazon S3). Para este ejemplo, usamos el siguiente archivo de datos. Generamos los datos sintéticos basados ​​en el código en el Proyecto de tienda de demostración minorista. Consulte el repositorio de GitHub para obtener más información sobre los datos y los posibles usos.
  4. Crear una Items conjunto de datos utilizando el siguiente esquema:
    {
        "type": "record",
        "name": "Items",
        "namespace": "com.amazonaws.personalize.schema",
        "fields": [
            {
                "name": "ITEM_ID",
                "type": "string"
            },
            {
                "name": "PRICE",
                "type": "float"
            },
            {
                "name": "CATEGORY_L1",
                "type": ["string"],
                "categorical": true
            },
            {
                "name": "CATEGORY_L2",
                "type": ["string"],
                "categorical": true
            },
            {
                "name": "GENDER",
                "type": ["string"],
                "categorical": true
            }
        ],
        "version": "1.0"
    }

  5. Importe los datos del artículo a Amazon Personalize desde Amazon S3. Para este ejemplo, usamos el siguiente archivo de datos, basado en el código del Proyecto de tienda de demostración minorista.Para obtener más información sobre cómo formatear e importar sus interacciones y datos de artículos desde Amazon S3, consulte Importación de registros masivos.
  6. Crear un recomendador. En este ejemplo, creamos un Recomendador "Recomendado para ti".

Crea un filtro para tus promociones

Ahora que ha configurado sus recursos de Amazon Personalize, puede crear un filtrar que selecciona los artículos para su promoción.

Puede crear un filtro estático donde todas las variables están codificadas en la creación del filtro. Por ejemplo, para agregar todos los elementos que tienen CATEGORY_L2 as halloween, use la siguiente expresión de filtro:

INCLUDE ItemID WHERE Items.CATEGORY_L2 IN ("halloween")

También puede crear filtros dinámicos. Los filtros dinámicos son personalizables en tiempo real cuando solicitas las recomendaciones. Para crear un filtro dinámico, defina sus criterios de expresión de filtro utilizando un parámetro de marcador de posición en lugar de un valor fijo. Esto le permite elegir los valores para filtrar aplicando un filtro a una solicitud de recomendación, en lugar de cuando crea su expresión. Usted proporciona un filtro cuando llama al Obtener recomendaciones or ObtenerClasificaciónPersonalizada Operaciones API, o como parte de sus datos de entrada al generar recomendaciones en modo por lotes a través de un trabajo de inferencia por lotes.

Por ejemplo, para seleccionar todos los elementos en una categoría elegida cuando realiza su llamada de inferencia con un filtro aplicado, use la siguiente expresión de filtro:

INCLUDE ItemID WHERE Items.CATEGORY_L2 IN ($CATEGORY)

Puede utilizar el DSL anterior para crear un filtro personalizable en la consola de Amazon Personalize. Complete los siguientes pasos:

  1. En la consola de Amazon Personalize, en el Filtros página, elige Crear filtro.
  2. Nombre del filtro, ingrese el nombre de su filtro (para esta publicación, ingresamos category_filter).
  3. Seleccione Construir expresión o agregue su expresión manualmente para crear su filtro personalizado.
  4. Construya la expresión “Incluir ItemID ¿Dónde? Items.CATEGORY_L2 IN $CATEGORY"Para Valor, introduce un valor de $ más un nombre de parámetro que sea similar al nombre de su propiedad y fácil de recordar (para este ejemplo, $CATEGORY).
  5. Opcionalmente, para encadenar expresiones adicionales con su filtro, elija el signo más.
  6. Para agregar expresiones de filtro adicionales, elija Agregar expresión.
  7. Elige Crear filtro.

También puede crear filtros a través de createFilter API en Amazon Personalize. Para más información, ver CrearFiltro.

Aplica promociones a tus recomendaciones

Aplicando un filtrar cuando obtener recomendaciones es una buena manera de adaptar sus recomendaciones a criterios específicos. Sin embargo, el uso de filtros aplica directamente el filtro a todas las recomendaciones devueltas. Al usar promociones, puede seleccionar qué porcentaje de las recomendaciones corresponde a los artículos promocionados, lo que le permite mezclar y combinar recomendaciones personalizadas y los mejores artículos que coinciden con los criterios de promoción para cada usuario en las proporciones que tengan sentido para su caso de uso comercial.

El siguiente código de ejemplo es un cuerpo de solicitud para GetRecommendations API que obtiene recomendaciones para un usuario que utiliza el "Recomendado para ti" recomendador:

{
    "recommenderArn" = "arn:aws:personalize:us-west-2:000000000000:recommender/test-recommender",
    userId = "1",
    numResults = 20
}

Esta solicitud devuelve recomendaciones personalizadas para el usuario especificado. De los artículos del catálogo, estos son los 20 artículos más relevantes para el usuario.

Podemos hacer la misma llamada y aplicar un filtro para devolver solo los elementos que coincidan con el filtro. El siguiente código de ejemplo es un cuerpo de solicitud para el GetRecommendations API que obtiene recomendaciones para un usuario utilizando el recomendador "Recomendado para usted" y aplica un filtro dinámico para devolver solo los artículos relevantes que tienen CATEGORY_L2 as halloween:

{
    "recommenderArn" = "arn:aws:personalize:us-west-2:000000000000:recommender/test-recommender",
    userId = "1",
    numResults = 20,
    filterArn = "arn:aws:personalize:us-west-2:000000000000:filter/category_filter",
    filterValues={ "CATEGORY": ""halloween""}
}

Esta solicitud devuelve recomendaciones personalizadas para el usuario especificado que tiene CATEGORY_L2 as halloween. De los artículos del catálogo, estos son los 20 artículos más relevantes con CATEGORY_L2 as halloween para el usuario.

Puede utilizar las promociones si desea que un cierto porcentaje de artículos sean de un atributo que desea promocionar, y que el resto sean artículos que sean los más relevantes para este usuario de todos los artículos del catálogo. Podemos hacer la misma llamada y aplicar una promoción. El siguiente código de ejemplo es un cuerpo de solicitud para el GetRecommendations API que obtiene recomendaciones para un usuario utilizando el recomendador "Recomendado para usted" y aplica una promoción para incluir un cierto porcentaje de artículos relevantes que tienen CATEGORY_L2 as halloween:

{
    recommenderArn = "arn:aws:personalize:us-west-2:000000000000:recommender/test-recommender",
    userId = "1",
    numResults = 20,
    promotions = [{
        "name" : "halloween_promotion",
        "percentPromotedItems" : 20,
        "filterArn": "arn:aws:personalize:us-west-2:000000000000:filter/category_filter",
        "filterValues": {
            "CATEGORY" : ""halloween""
        }
    }]
}

Esta solicitud devuelve el 20 % de las recomendaciones que coinciden con el filtro especificado en la promoción: artículos con CATEGORY_L2 as halloween; y 80% recomendaciones personalizadas para el usuario especificado que son los artículos más relevantes para el usuario de los artículos del catálogo.

Puedes usar un filtro combinado con promociones. El filtro en el bloque de parámetros de nivel superior se aplica solo a los elementos no promocionados.

El filtro para seleccionar los artículos promocionados se especifica en el promotions bloque de parámetros. El siguiente código de ejemplo es un cuerpo de solicitud para el GetRecommendations API que obtiene recomendaciones para un usuario usando el recomendador "Recomendado para ti" y usa el filtro dinámico que hemos estado usando dos veces. El primer filtro se aplica a los artículos no promocionados, seleccionando artículos con CATEGORY_L2 as decorative, y el segundo filtro se aplica a la promoción, promocionando artículos con CATEGORY_L2 as halloween:

{
    recommenderArn = "arn:aws:personalize:us-west-2:000000000000:recommender/test-recommender",
    userId = "1",
    numResults = 20,
    "filterArn": "arn:aws:personalize:us-west-2:000000000000:filter/category_filter",
    "filterValues": {
        "CATEGORY" : ""decorative""
    }
    promotions = [{
        "name" : "halloween_promotion",
        "percentPromotedItems" : 20,
        "filterArn": "arn:aws:personalize:us-west-2:000000000000:filter/category_filter",
        "filterValues": {
            "CATEGORY" : ""halloween""
        }
    }]
}

Esta solicitud devuelve el 20 % de las recomendaciones que coinciden con el filtro especificado en la promoción: artículos con CATEGORY_L2 as halloween. El 80% restante de los elementos recomendados son recomendaciones personalizadas para el usuario especificado con CATEGORY_L2 as decorative. Son los artículos más relevantes para el usuario de los artículos del catálogo con CATEGORY_L2 as decorative.

Limpiar

Asegúrese de limpiar los recursos no utilizados que creó en su cuenta mientras sigue los pasos descritos en esta publicación. Puede eliminar filtros, recomendadores, conjuntos de datos y grupos de conjuntos de datos mediante el Consola de administración de AWS o usando el SDK de Python.

Resumen

Adición promociones  en Amazon Personalize le permite personalizar sus recomendaciones para cada usuario al incluir elementos en los que desea aumentar explícitamente la visibilidad y el compromiso. Las promociones también le permiten especificar qué porcentaje de los artículos recomendados deben promocionarse, lo que adapta las recomendaciones para cumplir con sus objetivos comerciales sin costo adicional. Puede usar promociones para recomendaciones utilizando las recetas de personalización de usuario y elementos similares, así como recomendadores optimizados de casos de uso.

Para obtener más información acerca de Amazon Personalize, consulte ¿Qué es Amazon Personalize?


Sobre los autores

anna grubler es arquitecto de soluciones en AWS.

alex burkleaux es arquitecto de soluciones en AWS. Se enfoca en ayudar a los clientes a aplicar el aprendizaje automático y el análisis de datos para resolver problemas en la industria de los medios y el entretenimiento. En su tiempo libre, le gusta pasar tiempo con su familia y ser voluntaria como patrullera de esquí en su pista de esquí local.

Liam Morrison es gerente de arquitectura de soluciones en AWS. Lidera un equipo enfocado en servicios de Marketing Intelligence. Pasó los últimos 5 años enfocado en aplicaciones prácticas de aprendizaje automático en medios y entretenimiento, ayudando a los clientes a implementar la personalización, el procesamiento del lenguaje natural, la visión por computadora y más.

punto_img

Información más reciente

punto_img