기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
노출 데이터를 사용하여 항목 상호 작용 이벤트를 기록합니다.
사용자-개인 맞춤레시피를 사용하거나 도메인 데이터세트 그룹의 데이터세트에 대한 스키마에 IMPRESSIONS 필드를 추가하면 작업에서 노출 데이터를 기록할 수 있습니다. PutEvents 노출은 사용자가 특정 항목과 상호작용(예: 클릭 또는 시청)했을 때 볼 수 있었던 항목의 목록입니다. Personalize는 노출 데이터를 사용하여 탐색을 안내합니다. 이때 상호작용 데이터 또는 관련성이 낮은 항목이 추천에 포함됩니다. Personalize가 모델링할 수 있는 암시적 및 명시적 노출에 대한 자세한 내용은 노출 데이터단원을 참조하세요.
PutEvents
요청에서 암시적 및 명시적 노출 데이터가 충돌하는 경우 Personalize는 기본적으로 명시적 노출을 사용합니다.
Personalize 추천을 기록하려면 사용자에게 노출 데이터로 표시하고 PutEvents요청에 recommendationId
을 포함시킵니다. 그러면 Personalize가 추천 데이터를 기반으로 암시적 노출을 도출합니다.
이벤트의 노출 데이터를 수동으로 기록하려면 PutEvents명령의 impression
입력 파라미터에 노출을 나열합니다. 다음 코드 예제는 Python (Boto3) 또는 Java SDK 2.x용 코드를 사용하여 PutEvents 연산에 recommendationId
a와 impression
an을 SDK 포함하는 방법을 보여줍니다. 둘 다 포함시킬 경우 Personalize는 기본적으로 명시적 노출을 사용합니다.
- 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
-
다음 putEvents
방법을 사용하여 노출 데이터와 a가 포함된 이벤트를 기록하십시오. recommendationId 노출 매개변수의 경우 목록을 itemIds a로 전달하십시오. 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());
}
}