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.
Preparación de los datos de interacción de elemento para el entrenamiento
Una interacción de elemento es una interacción positiva entre un usuario y un elemento del catálogo. Por ejemplo, un usuario 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. Puede registrar varios tipos de eventos, como hacer clic, ver o compra.
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.
En todos los casos de uso de dominio y recetas personalizadas, los datos de interacciones de elemento masivos deben estar en un archivo CSV. Cada fila debe representar una interacción individual entre un usuario y un elemento. Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte Creación de archivos JSON 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 elemento para Amazon Personalize. Para ver las directrices de formato de datos masivos para todos los tipos de datos, consulte las directrices de formato de datos masivos
Temas
Requisitos de datos de interacciones de elemento
En las siguientes secciones se enumeran los requisitos de datos de interacción de elemento para Amazon Personalize. Para conocer las cuotas adicionales, consulte Puntos de conexión y cuotas de Amazon Personalize.
Requisitos de entrenamiento mínimos
En todos los casos de uso de dominio y recetas personalizadas, los datos de interacciones de elemento masivos deben tener 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
El conjunto de datos de interacciones de elemento debe tener las siguientes columnas.
-
USER_ID: identificador único del usuario que ha interactuado con el elemento. Cada evento debe tener un USER_ID. Debe ser una
string
con una longitud máxima de 256 caracteres. -
ITEM_ID: identificador único del elemento con el que ha interactuado el usuario. Cada evento debe tener un ID de elemento. Debe ser una
string
con una longitud máxima de 256 caracteres. -
TIMESTAMP: hora a la que se ha producido el evento (en formato de tiempo Unix en segundos). Cada interacción debe tener TIMESTAMP. Para obtener más información, consulte Datos de marca temporal.
-
EVENT_TYPE: la naturaleza del evento de interacción con un elemento, como hacer clic, ver o comprar. Para los recomendadores de dominios, debe tener una columna de tipo de evento y cada interacción debe tener un tipo de evento. Para todas las recetas personalizadas, se recomienda una columna EVENT_TYPE, pero es opcional. Si lo agrega, cada evento debe tener un tipo de evento. Para obtener más información, consulte Datos de valor de evento y tipo de evento.
Tiene la libertad de agregar campos personalizados adicionales según el caso de uso y los datos. El número máximo de columnas de metadatos opcionales es 5. Estas columnas pueden incluir valores vacíos o nulos. Se recomienda que estas columnas estén completadas en un 70 % como mínimo.
Datos de marca temporal
Los datos de marca temporal deben estar en formato de tiempo Unix expresado 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 temporales de tiempo Unix, utilice un convertidor de tiempo, convertidor de marcas temporales Unix
Amazon Personalize utiliza datos de marca temporal para calcular si son recientes 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 de elemento puede almacenar datos de tipo y valor de 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 de elemento proporciona contexto sobre la 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 hacer clic o comprar, para identificar la intención y el interés del usuario. El número máximo de tipos de evento distintos combinados con el número total de columnas de metadatos opcionales en un conjunto de datos de interacciones de elemento es de 10.
Para los recomendadores de dominios, debe tener una columna de tipo de evento y cada interacción debe tener un tipo de evento. Para todas las recetas personalizadas, se recomienda una columna EVENT_TYPE, pero es opcional. Si lo agrega, cada evento debe tener un tipo de evento.
Si crea recursos personalizados, puede elegir los eventos que se utilizarán para el entrenamiento por tipo de evento. Si el conjunto de datos tiene varios tipos de evento en una columna EVENT_TYPE y no proporciona ningún tipo de evento al configurar una solución personalizada, Amazon Personalize utiliza todos los datos de interacciones de elemento para el entrenamiento con la misma ponderación, con independencia 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:
Casos de uso de dominio de VIDEO_ON_DEMAND
-
Como ha visto X, se requieren un mínimo de 1000 eventos
Watch
. -
Los más populares requieren un mínimo de 1000 eventos
Watch
.
Casos de uso de dominio de ECOMMERCE
-
Los que más se han visto requieren un mínimo de 1000 eventos
View
. -
Los más vendidos requieren un mínimo de 1000 eventos
Purchase
.
Tipos de eventos positivos y negativos
Amazon Personalize supone que cualquier interacción es positiva. Las interacciones con un tipo de evento negativo, como no me gusta, no impedirán necesariamente que el elemento aparezca en las recomendaciones futuras del usuario.
A continuación, se indican formas de hacer que los eventos negativos y el desinterés de los usuarios influyan en las recomendaciones:
-
Para todos los casos de uso de dominio y la receta User-Personalization, Amazon Personalize puede utilizar los datos de impresiones. Cuando un elemento aparece en los datos de impresiones y un usuario no los elige, es menos probable que aparezca en las recomendaciones. Para obtener más información, consulte Datos de impresiones.
-
Si utiliza recursos personalizados e importa tipos de eventos positivos y negativos, puede centrarse únicamente en los tipos de eventos positivos y, después, filtrar los elementos con los que el usuario haya interactuado de forma negativa. Para obtener más información, consulte Elección de los datos de interacciones de elementos utilizados para el entrenamiento y Recomendaciones de filtrado y segmentos de usuarios.
Datos de valor de evento (recursos personalizados)
Los datos de valor de 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 que se utilizan para el entrenamiento según los datos de las columnas EVENT_TYPE y EVENT_VALUE. Con los recomendadores de dominios, Amazon Personalize no usa datos de valor de eventos y no puede filtrar eventos antes del entrenamiento.
Para elegir registros según el tipo y el valor, registre los datos de tipo y valor de evento de 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 los datos EVENT_VALUE de los eventos con un EVENT_TYPE de ver 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 en ver, Amazon Personalize entrena el modelo utilizando únicamente eventos de interacción ver con un EVENT_VALUE superior 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 cuando reciba recomendaciones para el usuario.
Incluya metadatos contextuales para ofrecer una experiencia más personalizada a los usuarios y reducir la fase de arranque en frío para los nuevos usuarios. La fase de arranque en frío se produce cuando las recomendaciones son menos relevantes debido a la falta de datos de usuario históricos.
Por ejemplo, si el archivo CSV de interacciones de elemento incluye una columna DEVICE_TYPE con los valores tablet
y phone
, Amazon Personalize puede aprender cómo los clientes compran de forma diferente en dispositivos distintos. Cuando reciba recomendaciones para un usuario, puede especificar el dispositivo y las recomendaciones serán más relevantes, aunque el usuario no tenga un historial de interacciones.
A continuación, se muestra cómo formatear un archivo CSV de interacciones de elemento con una columna DEVICE_TYPE 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:
-
Recomendaciones (dominio de ECOMMERCE)
-
Mejores opciones (dominio de VIDEO_ON_DEMAND)
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 utilizar los metadatos contextuales, consulte la siguiente entrada del blog de AWS Machine Learning: Aumentar la relevancia de sus recomendaciones de Amazon Personalize mediante el aprovechamiento de 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 utiliza un caso de uso de dominio que ofrezca personalización o la receta User-Personalization, 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 crea un recomendador o una solución, Amazon Personalize siempre excluye los datos de impresiones del entrenamiento. Esto se debe a que Amazon Personalize no entrena los modelos con datos de impresiones. En vez de eso, los usa cuando recibe recomendaciones para guiar la exploración del usuario.
Los valores de impresión pueden tener como máximo 1000 caracteres (incluido el carácter de barra vertical). Para los grupos de conjuntos de datos de dominio, los siguientes casos de uso de recomendador pueden utilizar datos de impresiones:
-
Recomendaciones (dominio de ECOMMERCE)
-
Mejores opciones (dominio de VIDEO_ON_DEMAND)
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:
-
Solicite recomendaciones para uno de sus usuarios mediante la API de GetRecommendations de API Amazon Personalize.
-
Amazon Personalize genera recomendaciones para el usuario que utiliza su modelo (versión de la solución) y las devuelve en la respuesta de la API.
-
Al usuario se muestran solo los zapatos recomendados que están en stock.
-
Para importar datos incrementales en tiempo real, cuando el usuario interactúa con un par de zapatos (por ejemplo, hace clic en ellos), registra la elección en una llamada a la API de PutEvents y enumera los elementos recomendados que se encuentran en stock en el parámetro
impression
. Para ver una muestra de código, consulte Registro de eventos de interacción de elemento con datos de 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.
-
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 archivo CSV, agregue una columna IMPRESSION. Para cada interacción de elemento, agregue una lista de ID de elementos 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 incluye impresiones explícitas en la operación PutEvents, especifique los elementos en una matriz de cadenas.
A continuación, se ofrece un breve extracto de un archivo CSV que incluye impresiones explícitas en la columna IMPRESSION
.
EVENT_TYPE | IMPRESSION | ITEM_ID | TIMESTAMP | USER_ID |
---|---|---|---|---|
click |
73|70|17|95|96 |
73 |
1586731606 |
USUARIO_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 el archivo CSV incluya las columnas IMPRESSION o RECOMMENDATION_ID para utilizar impresiones implícitas. En vez de eso, incluya las RecommendationId
(devueltas por las operaciones GetRecommendations y GetPersonalizedRanking) en las solicitudes de PutEvents. 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:
-
Solicita recomendaciones de vídeo para uno de sus usuarios mediante la operación de la API de GetRecommendations de Amazon Personalize.
-
Amazon Personalize genera recomendaciones para el usuario que utiliza su modelo (versión de la solución) y las devuelve con un
recommendationId
en la respuesta de la API. -
Las recomendaciones de vídeo se muestran al usuario en su aplicación.
-
Cuando el usuario interactúa con un vídeo (por ejemplo, hace clic en él), registra la elección en una llamada a la API de PutEvents e incluye el
recommendationId
como parámetro. Para ver una muestra de código, consulte Registro de eventos de interacción de elemento con datos de impresiones. -
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 Registro de eventos de interacción de elemento con datos de impresiones.
Ejemplo de datos de interacciones
Los siguientes datos de interacciones representan la actividad de usuario histórica de un sitio web que transmite 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 para 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 columnas USER_ID
, ITEM_ID
y TIMESTAMP
. USER_ID
es el identificador de un usuario de la aplicación. ITEM_ID
es el identificador de una película. EVENT_TYPE
y EVENT_VALUE
son los identificadores de las interacciones de usuario. En los datos de muestra, los eventos son watch
y click
y los valores son el porcentaje de un vídeo que ha visto un usuario. TIMESTAMP
representa la hora en formato Unix en el que se produjo la compra de la película.
Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte Creación de archivos JSON de esquema para los esquemas de Amazon Personalize. Este es el aspecto que tendría el archivo JSON 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" }