Preparar los datos de interacción entre los elementos para el entrenamiento - Amazon Personalize

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Preparar los datos de interacción entre los elementos para el entrenamiento

La interacción de un artículo es un evento de interacción positiva entre un usuario y un artículo de tu catálogo. Por ejemplo, un usuario que ve una película, ve un anuncio o compra un par de zapatos. Debe importar los datos sobre las interacciones de los usuarios con sus elementos en un conjunto de datos de interacciones de elementos. Puedes grabar varios tipos de eventos, como hacer clic, ver o comprar.

Por ejemplo, si un usuario hace clic en un elemento concreto y, a continuación, da a me gusta en el elemento, puede hacer que Amazon Personalize utilice estos eventos como datos de entrenamiento. Para cada evento, registraría el ID del usuario, el ID del elemento, la marca de tiempo (en formato de tiempo Unix) y el tipo de evento (hacer clic y me gusta). A continuación, se agregarían ambos eventos de interacción de elementos a un conjunto de datos de interacciones de elementos.

Para todos los casos de uso de dominios y recetas personalizadas, los datos de las interacciones entre artículos masivos deben estar en un CSV archivo. Cada fila debe representar una interacción única entre un usuario y un elemento. Cuando termine de preparar los datos, estará listo para crear un JSON archivo de esquema. Este archivo informa a Amazon Personalize sobre la estructura de sus datos. Para obtener más información, consulte Creación de JSON archivos de esquema para los esquemas de Amazon Personalize.

En las siguientes secciones se proporciona más información sobre cómo preparar los datos de interacción de los productos para Amazon Personalize. Para ver las pautas de formato de datos masivos para todos los tipos de datos, consulta las pautas de formato de datos masivos

Requisitos de datos de interacción entre artículos

En las siguientes secciones se enumeran los requisitos de datos de interacción de artículos para Amazon Personalize. Para conocer las cuotas adicionales, consultePuntos de conexión y cuotas de Amazon Personalize.

Requisitos mínimos de formación

Para todos los casos de uso de dominios y recetas personalizadas, los datos de las interacciones entre productos masivos deben incluir lo siguiente:

  • Como mínimo, 1000 registros de interacciones de elementos de los usuarios que interactúan con los elementos de su catálogo. Estas interacciones pueden provenir de importaciones masivas, de eventos transmitidos o ambos.

  • Al menos 25 usuarios únicos IDs con al menos dos interacciones entre elementos para cada uno.

Para obtener recomendaciones de calidad, le sugerimos que tenga al menos 50 000 interacciones de elementos de al menos 1000 usuarios, con dos o más interacciones de elementos cada uno.

Para crear un recomendador o una solución personalizada, debe crear como mínimo un conjunto de datos de interacciones de elementos.

Requisitos de columna

Los datos de interacciones entre los artículos deben tener las siguientes columnas.

  • USER_ID: el identificador único del usuario que interactuó con el artículo. Cada evento debe tener un USER _ID. Debe tener una string longitud máxima de 256 caracteres.

  • ITEM_ID: el identificador único del elemento con el que interactuó el usuario. Cada evento debe tener un ID de artículo. Debe tener string una longitud máxima de 256 caracteres.

  • TIMESTAMP— La hora en que ocurrió el evento (en formato de época de Unix en segundos). Cada interacción debe tener un. TIMESTAMP Para obtener más información, consulte Datos de marca temporal.

  • EVENT_ TYPE — La naturaleza del evento de interacción entre un artículo, como un clic, un reloj o una compra. Para los recomendadores de dominios, debes tener una columna de tipo de evento y cada interacción debe tener un tipo de evento. Para todas las recetas personalizadas, se recomienda usar una TYPE columna EVENT _, pero es opcional. Si la añades, cada evento debe tener un tipo de evento. Para obtener más información, consulte Datos de valor de evento y tipo de evento.

Puedes añadir columnas personalizadas adicionales según tu caso de uso y tus datos. El número máximo de columnas de metadatos opcionales es 5. Estas columnas pueden incluir valores vacíos o nulos. Se recomienda completar estas columnas al menos en un 70 por ciento.

Datos de marca temporal

Los datos de la marca de tiempo deben estar en formato Unix de época y estar expresados en segundos. Por ejemplo, la marca temporal de Epoch en segundos para la fecha del 31 de julio de 2020 es 1596238243. Para convertir fechas en marcas de tiempo de época de Unix, utilice un convertidor Epoch: convertidor de marcas de tiempo de Unix.

Amazon Personalize utiliza datos de marcas de tiempo para calcular la actualidad e identificar cualquier patrón basado en el tiempo. Ayuda a Amazon Personalize a mantener las recomendaciones en función up-to-date de las preferencias cambiantes de los usuarios.

Datos de valor de evento y tipo de evento

Un conjunto de datos de interacciones entre elementos puede almacenar datos sobre el tipo de evento y el valor del evento para cada interacción. Solo los recursos personalizados utilizan datos de valores de eventos.

Datos de tipo de evento

El tipo de evento de una interacción entre elementos proporciona un contexto sobre su naturaleza e importancia. Algunos ejemplos de tipos de eventos pueden ser hacer clic, ver o comprar. Amazon Personalize utiliza datos de tipo de evento, como datos de clics o compras, para identificar la intención y el interés del usuario. El número máximo de tipos de eventos distintos combinados con el número total de columnas de metadatos opcionales en un conjunto de datos de interacciones entre elementos es de 10.

Para los recomendadores de dominios, debes tener una columna de tipo de evento y cada interacción debe tener un tipo de evento. Para todas las recetas personalizadas, se recomienda usar una TYPE columna EVENT _, pero es opcional. Si la añades, cada evento debe tener un tipo de evento.

Si crea recursos personalizados, puede elegir los eventos que se utilizarán para la formación por tipo de evento. Si su conjunto de datos tiene varios tipos de eventos en una TYPE columna EVENT _ y no proporciona un tipo de evento al configurar una solución personalizada, Amazon Personalize utiliza todos los datos de interacciones de los elementos para el entrenamiento con el mismo peso, independientemente del tipo. Para obtener más información, consulte Elección de los datos de interacciones de elementos utilizados para el entrenamiento.

Los siguientes casos de uso tienen requisitos de tipo de evento específicos:

VIDEOCasos de uso del DEMAND dominio _ON_

  • Como has visto X, se requieren un mínimo de 1000 Watch eventos.

  • Los más populares requieren un mínimo de 1000 Watch eventos.

ECOMMERCEcasos de uso de dominios

  • Los más vistos requieren un mínimo de 1000 View eventos.

  • Los más vendidos requieren un mínimo de 1000 Purchase eventos.

Tipos de eventos positivos y negativos

Amazon Personalize asume que cualquier interacción es positiva. Las interacciones con un tipo de evento negativo, como una aversión, no impedirán necesariamente que el artículo aparezca en las recomendaciones futuras del usuario.

Las siguientes son formas de hacer que los eventos negativos y el desinterés de los usuarios influyan en las recomendaciones:

Datos sobre el valor de los eventos (recursos personalizados)

Los datos del valor del evento pueden ser el porcentaje de una película que ha visto un usuario o una valoración sobre 10. Si crea soluciones personalizadas, puede elegir los registros utilizados para el entrenamiento en función de los datos de VALUE las columnas EVENT EVENT _ TYPE y _. Con los recomendadores de dominios, Amazon Personalize no utiliza datos sobre el valor de los eventos y no puedes filtrarlos antes del entrenamiento.

Para elegir los registros en función del tipo y el valor, registre los datos del tipo y el valor del evento para los eventos. No todos los eventos deben tener un valor de evento. El valor que elija para cada evento depende de los datos que desee excluir y de los tipos de eventos que vaya a registrar. Por ejemplo, puede hacer coincidir la actividad del usuario, como el porcentaje de vídeo que ha visto el usuario, para los tipos de eventos ver.

Al configurar una solución, se establece un valor específico como umbral para excluir los registros del entrenamiento. Por ejemplo, si sus VALUE datos EVENT _ para los eventos con un EVENT _ TYPE de visualización son el porcentaje de un vídeo que ha visto un usuario, si establece el umbral del valor del evento en 0,5 y el tipo de evento que se va a ver, Amazon Personalize entrena el modelo utilizando solo eventos de interacción de visualización con un EVENT _ VALUE mayor o igual a 0,5.

Para obtener más información, consulte Elección de los datos de interacciones de elementos utilizados para el entrenamiento

Metadatos contextuales

Con determinadas recetas y casos de uso de generadores de recomendaciones, Amazon Personalize puede utilizar metadatos contextuales para identificar los patrones subyacentes que revelan los elementos más relevantes para sus usuarios. Los metadatos contextuales son datos de interacciones que se recopilan en el entorno del usuario en el momento de un evento, como su ubicación o el tipo de dispositivo. También puede especificar el contexto de un usuario al recibir recomendaciones para el usuario.

Incluye metadatos contextuales para ofrecer una experiencia más personalizada a tus usuarios y reducir la fase de arranque en frío para los nuevos usuarios. La fase de inicio en frío es cuando las recomendaciones son menos relevantes debido a la falta de datos históricos de los usuarios.

Por ejemplo, si tu CSV archivo de interacciones entre productos incluye una TYPE columna DEVICE _ con phone valores tablet y, Amazon Personalize puede aprender cómo los clientes compran de forma diferente en diferentes dispositivos. Cuando recibas recomendaciones para un usuario, puedes especificar su dispositivo y las recomendaciones serán más relevantes, incluso si el usuario no tiene un historial de interacciones.

A continuación, se muestra cómo formatear un CSV archivo de interacciones de elementos con una TYPE columna DEVICE _ como metadatos contextuales.

ITEM_ID,USER_ID,TIMESTAMP,DEVICE_TYPE,EVENT_TYPE shoe12345,12,1428624000,Tablet,CLICK shoe12346,12,1420416000,Tablet,CLICK shoe12347,12,1410652800,Tablet,BUY shoe4444,13,1409961600,Phone,CLICK shoe4445,13,1402876800,Phone,BUY shoe4336,13,1402185600,Phone,CLICK .....

Para los grupos de conjuntos de datos de dominio, los siguientes casos de uso de generador de recomendaciones pueden utilizar metadatos contextuales:

En el caso de los recursos personalizados, entre las recetas que utilizan metadatos contextuales se incluyen las siguientes:

Para obtener información sobre cómo incluir el contexto al recibir recomendaciones, consulte. Aumento de la relevancia de las recomendaciones con metadatos contextuales Para ver un ejemplo integral que muestra cómo usar los metadatos contextuales, consulta lo siguiente AWS Entrada de blog sobre Machine Learning: Aumenta la relevancia de tus recomendaciones de Amazon Personalize aprovechando la información contextual.

Datos de impresiones

Las impresiones son listas de elementos que estaban visibles para un usuario cuando interactuaba con un elemento concreto (por ejemplo, al hacer clic o verlo). Si utilizas un caso de uso de dominio que ofrezca la personalización o la User-Personalization receta, Amazon Personalize puede utilizar los datos de impresiones para guiar la exploración.

Con la exploración, las recomendaciones incluyen algunos elementos o acciones que, por lo general, es menos probable que se recomienden al usuario, como nuevos elementos o acciones, elementos o acciones con pocas interacciones, o bien elementos o acciones menos relevantes para el usuario en función de su comportamiento anterior. Cuanto más frecuente sea la aparición de un elemento en los datos de impresiones, menos probabilidades hay de que Amazon Personalize incluya el elemento en la exploración.

Cuando creas un recomendante o una solución, Amazon Personalize siempre excluye los datos de impresiones de la formación. Esto se debe a que Amazon Personalize no entrena tus modelos con datos de impresiones. En cambio, los usa cuando recibes recomendaciones para guiar la exploración para el usuario.

Los valores de impresión pueden tener como máximo 1000 caracteres (incluido el carácter de barra vertical). En el caso de los grupos de conjuntos de datos de dominio, los siguientes casos de uso recomendados pueden utilizar datos de impresiones:

Para obtener más información acerca de la exploración, consulte Exploration (Exploración). Amazon Personalize puede modelar dos tipos de impresiones: Impresiones implícitas y Impresiones explícitas.

Impresiones explícitas

Las impresiones explícitas son impresiones que registra y envía manualmente a Amazon Personalize. Use impresiones explícitas para manipular los resultados de Amazon Personalize. El orden de los elementos no tiene ningún impacto.

Por ejemplo, es posible que tenga una aplicación de compras que ofrezca recomendaciones de zapatos. Si solo recomienda zapatos que se encuentren en stock actualmente, puede especificar estos elementos utilizando impresiones explícitas. Su flujo de trabajo de recomendaciones usando impresiones explícitas podría ser el siguiente:

  1. Solicita recomendaciones para uno de sus usuarios mediante Amazon Personalize GetRecommendationsAPI.

  2. Amazon Personalize genera recomendaciones para el usuario mediante su modelo (versión de la solución) y las devuelve en la API respuesta.

  3. Al usuario se muestran solo los zapatos recomendados que están en stock.

  4. Para importar datos incrementales en tiempo real, cuando el usuario interactúa con un par de zapatos (por ejemplo, hace clic), usted registra la elección en una llamada al PutEvents API y enumera los artículos recomendados que están en stock en el impression parámetro. Para ver una muestra de código, consulte Registrar los eventos de interacción de los elementos con los datos de las impresiones.

    Para importar impresiones en los datos históricos de interacciones de elementos, puede enumerar las impresiones explícitas en su archivo csv y separar cada elemento con un carácter “|”. El carácter de la barra vertical cuenta para el límite de 1000 caracteres. Para ver un ejemplo, consulte Formato de impresiones explícitas.

  5. Amazon Personalize utiliza los datos de impresiones para guiar la exploración, donde las recomendaciones futuras incluyen nuevos zapatos con menos datos de interacciones o relevancia.

Formato de impresiones explícitas

Para incluir impresiones explícitas en el CSV archivo, añade una IMPRESSION columna. Para cada interacción entre elementos, añade una lista de caracteres itemIds separados por una barra vertical, «|». El carácter de la barra vertical cuenta para el límite de 1000 caracteres de los datos de impresiones. Si incluyes impresiones explícitas en la PutEvents operación, especificas los elementos en una matriz de cadenas.

El siguiente es un breve extracto de un CSV archivo que incluye impresiones explícitas en la IMPRESSION columna.

EVENT_TYPE IMPRESSION ITEM_ID TIMESTAMP USER_ID
click

73|70|17|95|96

73

1586731606

USER_1
click

35|82|78|57|20|63|1|90|76|75|49|71|26|24|25|6

35

1586735164

USER_2
... ... ... ... ...

La aplicación mostró elementos de usuario de USER_1 73, 70, 17, 95 y 96, y el usuario finalmente eligió el elemento 73. Al crear una nueva versión de solución basada en estos datos, los elementos 70, 17, 95 y 96 serán recomendados con menor frecuencia al usuario USER_1.

Impresiones implícitas

Las impresiones implícitas son las recomendaciones, recuperadas de Amazon Personalize, que muestra al usuario. No es necesario que tu CSV archivo incluya IMPRESSION columnas RECOMMENDATION _ID para usar impresiones implícitas. En su lugar, incluyes las RecommendationId (devueltas por las GetPersonalizedRanking operaciones GetRecommendations y) en PutEvents las solicitudes. Amazon Personalize obtiene las impresiones implícitas en función de los datos de sus recomendaciones.

Por ejemplo, es posible que tenga una aplicación que proporcione recomendaciones para streaming en vídeo. El flujo de trabajo de recomendaciones que utiliza impresiones implícitas podría ser el siguiente:

  1. Solicita recomendaciones de vídeo para uno de sus usuarios mediante la GetRecommendations API operación Amazon Personalize.

  2. Amazon Personalize genera recomendaciones para el usuario mediante su modelo (versión de la solución) y las devuelve con un recommendationId en la API respuesta.

  3. Las recomendaciones de vídeo se muestran al usuario en su aplicación.

  4. Cuando el usuario interactúa con un vídeo (por ejemplo, hace clic), graba la elección en una llamada al PutEvents API e inclúyela recommendationId como parámetro. Para ver una muestra de código, consulte Registrar los eventos de interacción de los elementos con los datos de las impresiones.

  5. Amazon Personalize utiliza el recommendationId para obtener los datos de impresión de las recomendaciones de vídeo anteriores y, a continuación, los utiliza para guiar la exploración, donde las recomendaciones futuras incluyen nuevos vídeos con menos datos de interacciones o relevancia.

    Para obtener más información sobre cómo registrar eventos con datos de impresiones implícitos, consulte Registrar los eventos de interacción de los elementos con los datos de las impresiones.

Ejemplo de datos de interacciones

Los siguientes datos de interacciones representan el historial de actividad de los usuarios en un sitio web de streaming de vídeo. Puede usar los datos para entrenar un modelo que ofrezca recomendaciones de películas basadas en los datos de interacciones de los usuarios. Tenga en cuenta que algunos valores de EVENT _ VALUE son nulos.

USER_ID,ITEM_ID,EVENT_TYPE,EVENT_VALUE,TIMESTAMP 196,242,watch,.50,881250949 186,302,watch,.75,891717742 22,377,click,,878887116 244,51,click,,880606923 166,346,watch,.50,886397596 298,474,watch,.25,884182806 115,265,click,,881171488 253,465,watch,.50,891628467 305,451,watch,.75,886324817

Amazon Personalize requiere las TIMESTAMP columnas USER_IDITEM_ID, y. USER_IDes el identificador de un usuario de su aplicación. ITEM_IDes el identificador de una película. EVENT_TYPEy EVENT_VALUE son los identificadores de las interacciones de los usuarios. En los datos de muestra, los eventos son watch y click los eventos y los valores son el porcentaje de un vídeo que ha visto un usuario. TIMESTAMPRepresenta la época de Unix en la que se realizó la compra de la película.

Cuando termine de preparar los datos, estará listo para crear un archivo de esquemaJSON. Este archivo informa a Amazon Personalize sobre la estructura de sus datos. Para obtener más información, consulte Creación de JSON archivos de esquema para los esquemas de Amazon Personalize. Este es el aspecto que tendría el JSON archivo de esquema para los datos de muestra.

{ "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "EVENT_TYPE", "type": "string" }, { "name": "EVENT_VALUE", "type": "float" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0" }