Como registrar dados de impressões - Amazon Personalize

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como registrar dados de impressões

Se você usar a User-Personalization receita ou adicionar o campo IMPRESSÕES ao seu esquema para um conjunto de dados em um grupo de conjuntos de dados do Domínio, poderá registrar dados de impressões em sua operação. PutEvents Impressões são listas de itens que estavam visíveis para um usuário durante a interação (por exemplo, clicar ou assistir) com determinado item. O Amazon Personalize usa dados de impressões para orientar a exploração, considerando que as recomendações incluem itens com menos dados de interações ou relevância. Para mais informações sobre as impressões implícitas e explícitas que o Amazon Personalize pode modelar, consulte Dados de impressões.

Importante

Se você fornecer dados de impressões implícitas e explícitas conflitantes nas solicitações de PutEvents, o Amazon Personalize usa as impressões explícitas por padrão.

Para registrar as recomendações do Amazon Personalize que você apresenta ao usuário como dados de impressões, inclua o recommendationId na sua solicitação de PutEvents. O Amazon Personalize derivará as impressões implícitas com base nos dados de recomendações.

Para registrar manualmente os dados de impressões de um evento, liste as impressões no parâmetro de entrada de impression do comando PutEvents. O exemplo de código a seguir mostra como incluir a recommendationId e an impression em uma PutEvents operação com o SDK para Python (Boto3) ou o SDK para Java 2.x. Se incluir os dois, o Amazon Personalize usará as impressões explícitas por padrão.

SDK for Python (Boto3)
import boto3 personalize_events = boto3.client(service_name='personalize-events') personalize_events.put_events( trackingId = 'tracking_id', userId= 'userId', sessionId = 'sessionId', eventList = [{ 'eventId': 'event1', 'eventType': 'rating', 'sentAt': 1553631760, 'itemId': 'item id', 'recommendationId': 'recommendation id', 'impression': ['itemId1', 'itemId2', 'itemId3'] }] )
SDK for Java 2.x

Use o método de putEvents a seguir para registrar um evento com dados de impressões e um recommendationId. Para o parâmetro impressions, passe a lista de itemIDs como um. ArrayList

public static void putEvents(PersonalizeEventsClient personalizeEventsClient, String trackingId, String sessionId, String userId, String eventType, Float eventValue, String itemId, ArrayList<String> impressions, String recommendationId) { try { Event event = Event.builder() .eventType(eventType) .sentAt(Instant.ofEpochMilli(System.currentTimeMillis() + 10 * 60 * 1000)) .itemId(itemId) .eventValue(eventValue) .impression(impressions) .recommendationId(recommendationId) .build(); PutEventsRequest putEventsRequest = PutEventsRequest.builder() .trackingId(trackingId) .userId(userId) .sessionId(sessionId) .eventList(event) .build(); int responseCode = personalizeEventsClient.putEvents(putEventsRequest) .sdkHttpResponse() .statusCode(); System.out.println("Response code: " + responseCode); } catch (PersonalizeEventsException e) { System.out.println(e.awsErrorDetails().errorMessage()); } }