학습을 위한 항목 상호 작용 데이터 준비 - Personalize

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

학습을 위한 항목 상호 작용 데이터 준비

항목 상호 작용은 카탈로그에 있는 항목과 사용자 간의 긍정적인 상호 작용 이벤트입니다. 예를 들어 영화를 보거나 목록을 보거나 신발을 구매하는 사용자입니다. 항목과 사용자의 상호 작용에 대한 데이터를 항목 상호 작용 데이터 세트로 가져옵니다. 클릭, 시청 또는 구매 등과 같은 여러 이벤트 유형을 기록할 수 있습니다.

예를 들어, 사용자가 특정 항목을 클릭한 다음 해당 항목에 좋아요를 누르면 Personalize에서 이러한 이벤트를 교육 데이터로 사용할 수 있게 만들 수 있습니다. 각 이벤트에 대해 사용자 ID, 항목 ID, 타임스탬프(Unix 타임 에포크 형식) 및 이벤트 유형(클릭 및 좋아요)을 기록합니다. 그런 다음 두 항목 상호 작용 이벤트를 항목 상호 작용 데이터 세트에 추가합니다.

모든 도메인 사용 사례 및 사용자 지정 레시피의 경우 대량 항목 상호 작용 데이터가 CSV 파일에 있어야 합니다. 각 행은 사용자와 항목 간의 단일 상호 작용을 나타내야 합니다. 데이터 준비를 마치면 스키마 JSON 파일을 생성할 준비가 된 것입니다. 이 파일은 Amazon Personalize에 데이터 구조에 대해 알려줍니다. 자세한 내용은 Amazon Personalize 스키마에 대한 스키마 JSON 파일 생성 단원을 참조하십시오.

다음 섹션에서는 Amazon Personalize를 위해 항목 상호 작용 데이터를 준비하는 방법에 대한 자세한 정보를 제공합니다. 모든 유형의 데이터에 대한 대량 데이터 형식 지침은 대량 데이터 형식 지침을 참조하세요.

항목 상호 작용 데이터 요구 사항

다음 섹션에서는 Amazon Personalize에 대한 항목 상호 작용 데이터 요구 사항을 나열합니다. 추가 할당량은 Personalize 엔드포인트 및 할당량 섹션을 참조하세요.

최소 학습 요구 사항

모든 도메인 사용 사례 및 사용자 지정 레시피에 대해 대량 항목 상호 작용 데이터에 다음이 포함되어야 합니다.

  • 카탈로그의 항목과 상호 작용하는 사용자의 1,000개 이상의 항목 상호 작용 기록. 이러한 상호작용은 대량 가져오기, 스트리밍된 이벤트 또는 둘 다에서 발생할 수 있습니다.

  • 각각에 대해 최소 2개의 항목 상호 작용IDs이 있는 최소 25명의 고유 사용자.

품질 추천의 경우, 각 2번 이상의 항목 상호 작용을 갖는 1,000명 이상의 사용자로부터 50,000건 이상의 항목 상호 작용을 갖는 것이 좋습니다.

추천 또는 사용자 지정 솔루션을 만들려면 최소한 항목 상호 작용 데이터 세트를 만들어야 합니다.

열 요구 사항

항목 상호 작용 데이터에 다음 열이 있어야 합니다.

  • USER_ID - 항목과 상호 작용하는 사용자의 고유 식별자입니다. 모든 이벤트에는 USER_ID가 있어야 합니다. 최대 길이가 256자인 string이어야 합니다.

  • ITEM_ID - 사용자가 상호 작용한 항목의 고유 식별자입니다. 모든 이벤트에는 항목 ID가 있어야 합니다. 최대 길이가 256자인 string이어야 합니다.

  • TIMESTAMP - 이벤트가 발생한 시간입니다(Unix epoch 시간 형식, 초). 모든 상호 작용에는이 있어야 합니다TIMESTAMP. 자세한 내용은 타임스탬프 데이터 단원을 참조하십시오.

  • EVENT_TYPE – 클릭, 시청 또는 구매와 같은 항목 상호 작용 이벤트의 특성입니다. 도메인 추천자의 경우 이벤트 유형 열이 있어야 하며 모든 상호 작용에는 이벤트 유형이 있어야 합니다. 모든 사용자 지정 레시피에는 EVENT_TYPE 열이 권장되지만 선택 사항입니다. 추가하면 모든 이벤트에 이벤트 유형이 있어야 합니다. 자세한 정보는 이벤트 유형 및 이벤트 값 데이터 섹션을 참조하세요.

사용 사례와 데이터에 따라 추가 사용자 지정 열을 추가할 수 있습니다. 선택적인 메타데이터의 최대 열 수는 5개입니다. 이러한 열에는 빈 값/널 값이 포함될 수 있습니다. 이러한 열은 최소 70% 이상 완성하는 것이 좋습니다.

타임스탬프 데이터

타임스탬프 데이터는 Unix epoch 시간 형식(초)이어야 합니다. 예를 들어, 2020년 7월 31일 날짜의 에포크 타임스탬프(초)는 1596238243입니다. 날짜를 Unix epoch 타임스탬프로 변환하려면 Epoch 변환기 - Unix 타임스탬프 변환기를 사용합니다.

Amazon Personalize는 타임스탬프 데이터를 사용하여 최신 상태를 계산하고 시간 기반 패턴을 식별합니다. 이를 통해 Personalize는 사용자의 진화하는 기본 설정에 따라 권장 사항을 up-to-date 유지할 수 있습니다.

이벤트 유형 및 이벤트 값 데이터

항목 상호 작용 데이터세트는 각 상호 작용에 대한 이벤트 유형 및 이벤트 값 데이터를 저장할 수 있습니다. 사용자 지정 리소스만 이벤트 값 데이터를 사용합니다.

이벤트 유형 데이터

항목 상호 작용의 이벤트 유형은 특성 및 중요성에 대한 컨텍스트를 제공합니다. 이벤트 유형 예는 클릭, 시청 또는 구매일 수 있습니다. Amazon Personalize는 클릭 또는 구매 데이터와 같은 이벤트 유형 데이터를 사용하여 사용자 의도와 관심을 식별합니다. 항목 상호 작용 데이터세트의 선택형 메타데이터 열의 총 개수와 개별 이벤트 유형의 최대 개수를 합산하면 10개입니다.

도메인 추천자의 경우 이벤트 유형 열이 있어야 하며 모든 상호 작용에는 이벤트 유형이 있어야 합니다. 모든 사용자 지정 레시피에는 EVENT_TYPE 열이 권장되지만 선택 사항입니다. 추가하면 모든 이벤트에 이벤트 유형이 있어야 합니다.

사용자 지정 리소스를 생성하는 경우 이벤트 유형별로 학습에 사용되는 이벤트를 선택할 수 있습니다. 데이터 세트에 EVENT_TYPE 열에 여러 이벤트 유형이 있고 사용자 지정 솔루션을 구성할 때 이벤트 유형을 제공하지 않는 경우 Personalize는 유형에 관계없이 동일한 가중치로 훈련하기 위해 모든 항목 상호 작용 데이터를 사용합니다. 자세한 내용은 교육에 사용할 항목 상호 작용 데이터 선택 단원을 참조하십시오.

다음 사용 사례에는 특정 이벤트 유형 요구 사항이 있습니다.

VIDEO_ON_DEMAND 도메인 사용 사례

  • X에 최소 1,000개의 Watch 이벤트가 필요한 것을 보셨기 때문입니다.

  • 가장 인기 있는 항목에는 최소 1,000개의 Watch 이벤트가 필요합니다.

ECOMMERCE 도메인 사용 사례

  • 가장 많이 본 항목에는 최소 1,000개의 View 이벤트가 필요합니다.

  • 베스트셀러에는 최소 1,000개의 Purchase 이벤트가 필요합니다.

긍정 및 부정 이벤트 유형

Amazon Personalize는 모든 상호 작용이 긍정적이라고 가정합니다. 싫음과 같은 부정적인 이벤트 유형과의 상호 작용으로 인해 항목이 사용자의 향후 추천 사항에 표시되지 않는 것은 아닙니다.

다음은 부정적인 이벤트와 사용자의 무관심한 영향 추천을 하는 방법입니다.

  • 모든 도메인 사용 사례 및 사용자-개인 맞춤 레시피에 대해 Amazon Personalize는 노출 데이터를 사용할 수 있습니다. 항목이 노출 데이터에 나타나고 사용자가 선택하지 않으면 항목이 추천에 나타날 가능성이 줄어듭니다. 자세한 내용은 노출 데이터 단원을 참조하십시오.

  • 사용자 지정 리소스를 사용하고 긍정 및 부정 이벤트 유형을 가져오는 경우 긍정 이벤트 유형만 학습한 다음 사용자가 부정적으로 상호 작용한 항목을 필터링할 수 있습니다. 자세한 내용은 교육에 사용할 항목 상호 작용 데이터 선택추천 및 사용자 세그먼트 필터링 단원을 참조하세요.

이벤트 값 데이터(사용자 지정 리소스)

이벤트 값 데이터는 사용자가 시청한 영화의 백분율이거나 10점 만점의 평가일 수 있습니다. 사용자 지정 솔루션을 생성하는 경우 EVENT_TYPE 및 EVENT_VALUE 열의 데이터를 기반으로 훈련에 사용되는 레코드를 선택할 수 있습니다. 도메인 추천자를 사용하면 Amazon Personalize는 이벤트 값 데이터를 사용하지 않으며 학습 전에 이벤트를 필터링할 수 없습니다.

유형 및 값에 따라 레코드를 선택하려면 이벤트의 이벤트 유형 및 이벤트 값 데이터를 기록합니다. 모든 이벤트에 이벤트 값이 있어야 하는 것은 아닙니다. 각 이벤트에 대해 선택하는 값은 제외하려는 데이터와 기록하려는 이벤트 유형에 따라 달라집니다. 예를 들어, 시청 이벤트 유형별로 사용자가 시청한 동영상의 비율과 같은 사용자 활동을 일치시킬 수 있습니다.

솔루션을 구성할 때 특정 값을 임계값으로 설정하여 교육에서 레코드를 제외합니다. 예를 들어, EVENT_VALUE의 시계가 있는 이벤트에 대한 EVENT_TYPE 데이터가 사용자가 시청한 비디오의 백분율인 경우, 이벤트 값 임계값을 0.5로 설정하고 시청할 이벤트 유형을 설정하면 Personalize는 EVENT_VALUE가 0.5 이상인 시계 상호 작용 이벤트만 사용하여 모델을 훈련합니다.

자세한 내용은 교육에 사용할 항목 상호 작용 데이터 선택 단원을 참조하세요.

컨텍스트 메타데이터

Personalize는 특정 레시피와 추천 사용 사례를 통해 사용자에게 가장 관련성이 높은 항목을 나타내는 기본 패턴을 식별할 때 컨택스트 메타데이터를 사용할 수 있습니다. 컨텍스트 메타데이터는 이벤트 발생 시 사용자 환경에서 수집하는 상호작용 데이터(예: 위치 또는 디바이스 유형)입니다. 사용자에 대한 추천 사항을 가져올 때 사용자의 컨텍스트를 지정할 수도 있습니다.

컨텍스트 메타데이터를 포함시켜 사용자에게 보다 개인화된 경험을 제공하고 새 사용자의 콜드 스타트 단계를 줄입니다. 콜드 스타트 단계는 과거 사용자 데이터의 부족으로 인해 추천 사항의 관련성이 떨어지는 단계입니다.

예를 들어, 항목 상호 작용 CSV 파일에 tabletphone 값이 있는 DEVICE_TYPE 열이 포함되어 있는 경우 Personalize는 고객이 다른 디바이스로 어떻게 다르게 쇼핑하는지 알아볼 수 있습니다. 사용자에 대한 추천을 받으면 디바이스를 지정할 수 있으며 사용자에게 상호 작용 기록이 없더라도 추천의 관련성이 더 높아집니다.

다음은 DEVICE_TYPE 열을 컨텍스트 메타데이터로 사용하여 항목 상호 작용 CSV 파일의 형식을 지정하는 방법을 보여줍니다.

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 .....

도메인 데이터세트 그룹의 경우 다음과 같은 추천자 사용 사례에서 컨텍스트 메타데이터를 사용할 수 있습니다.

사용자 지정 리소스의 경우 컨텍스트 메타데이터를 사용하는 레시피에는 다음이 포함됩니다.

추천 사항을 가져올 때 컨텍스트를 포함하는 방법에 대한 자세한 내용은 컨텍스트 메타데이터로 추천 관련성 높이기 섹션을 참조하세요. 컨텍스트 메타데이터를 사용하는 방법을 보여주는 엔드 투 엔드 예제는 다음 AWS Machine Learning 블로그 게시물을 참조하세요. 컨텍스트 정보를 활용하여 Personalize 권장 사항의 관련성을 높입니다.

노출 데이터

노출은 사용자가 특정 항목과 상호작용(예: 클릭 또는 시청)했을 때 볼 수 있었던 항목의 목록입니다. 개인 맞춤 또는 사용자-개인 맞춤 레시피를 제공하는 도메인 사용 사례를 사용하는 경우 Amazon Personalize는 노출 데이터를 사용하여 탐색을 안내할 수 있습니다.

탐색을 사용하면 추천에 새 항목 또는 작업, 상호 작용이 거의 없는 항목 또는 작업, 이전 행동을 기준으로 사용자와 관련성이 낮은 항목 또는 작업 등 일반적으로 사용자에게 추천될 가능성이 낮은 일부 항목 또는 작업이 포함됩니다. 노출 데이터에서 항목이 더 자주 나타날수록 Personalize에서 탐색에 해당 항목을 포함할 가능성이 낮아집니다.

추천자 또는 솔루션을 생성할 때 Amazon Personalize는 항상 노출 데이터를 학습에서 제외합니다. 이는 Amazon Personalize가 노출 데이터로 모델을 학습시키지 않기 때문입니다. 대신 추천을 받을 때 이를 사용하여 사용자를 위한 탐색을 안내합니다.

노출 값은 최대 1000자(세로 막대 문자 포함)를 포함할 수 있습니다. 도메인 데이터세트 그룹의 경우 다음과 같은 추천자 사용 사례에서 노출 데이터를 사용할 수 있습니다.

탐색에 대한 자세한 내용은 탐색단원을 참조하세요. Personalize는 다음과 같은 두 가지 유형의 노출: 암시적 노출명시적 노출를 모델링할 수 있습니다.

명시적 노출

명시적 노출은 수동으로 기록하여 Personalize에 전송하는 노출입니다. 명시적 노출을 사용하여 Personalize의 결과를 조작할 수 있습니다. 품목 순서는 영향을 받지 않습니다.

예를 들면, 신발을 위한 추천을 제공하는 쇼핑 애플리케이션이 있을 수 있습니다. 현재 재고가 있는 신발만 추천하는 경우, 명시적인 노출을 사용하여 해당 품목을 지정할 수 있습니다. 명시적 노출을 사용하는 추천 워크플로우는 다음과 같을 수 있습니다.

  1. Personalize를 사용하여 사용자 중 한 GetRecommendations 명에 대한 추천을 요청합니다API.

  2. Personalize는 모델(솔루션 버전)을 사용하여 사용자에 대한 권장 사항을 생성하고 API 응답에 반환합니다.

  3. 재고가 있는 권장 신발만 사용자에게 보여줍니다.

  4. 실시간 증분 데이터 가져오기의 경우 사용자가 신발 한 켤레와 상호 작용(예: 클릭)할 때에 대한 호출에 선택 사항을 기록하고 impression 파라미터에 재고가 있는 권장 항목을 PutEvents API 나열합니다. 코드 샘플에 대해서는 노출 데이터를 사용하여 항목 상호 작용 이벤트 기록단원을 참조하세요.

    이력 항목 상호 작용 데이터에서 노출을 가져오기 위해 csv 파일에 명시적 노출을 나열하고 각 항목을 '|' 문자로 구분할 수 있습니다. 세로 막대 문자는 1000자 한도에 포합됩니다. 관련 예제는 명시적 노출의 형식 지정단원을 참조하세요.

  5. Personalize는 노출 데이터를 사용하여 탐색을 안내하며, 향후 추천에는 상호작용 데이터 또는 관련성이 더 적은 새로운 신발이 포함됩니다.

명시적 노출의 형식 지정

CSV 파일에 명시적 노출을 포함하려면 IMPRESSION 열을 추가합니다. 각 항목 상호 작용에 대해 세로 막대, '|', 문자로 itemIds 구분된 목록을 추가합니다. 노출 데이터의 경우 세로 막대 문자도 1000자 한도에 포함됩니다. PutEvents 작업에 명시적 노출을 포함하는 경우 문자열 배열의 항목을 지정합니다.

다음은 IMPRESSION 열에 명시적 인상이 포함된 CSV 파일에서 발췌한 짧은 발췌문입니다.

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
... ... ... ... ...

애플리케이션이 사용자 USER_1항목 73, 70, 17, 9596을 보여 주었고 사용자가 최종적으로 항목 73을 선택했습니다. 이 데이터를 기반으로 새 솔루션 버전을 만들면 사용자 USER_1에게 70, 17, 9596항목이 추천되는 빈도가 줄어듭니다.

암시적 노출

암시적 노출은 사용자에게 보여주는 Personalize에서 검색한 추천입니다. 암시적 인상을 사용하기 위해 CSV 파일에 IMPRESSION 또는 RECOMMENDATION_ID 열을 포함할 필요가 없습니다. 대신 PutEvents 요청에 RecommendationId(GetRecommendationsGetPersonalizedRanking 작업에서 반환됨)를 포함합니다. Personalize는 추천 데이터를 기반으로 암시적 노출을 도출합니다.

예를 들면, 동영상 스트리밍을 위한 추천을 제공하는 애플리케이션이 있을 수 있습니다. 암시적 노출을 사용하는 추천 워크플로우는 다음과 같을 수 있습니다.

  1. Personalize GetRecommendations API 작업을 사용하여 사용자 중 한 명에 대한 비디오 권장 사항을 요청합니다.

  2. Personalize는 모델(솔루션 버전)을 사용하여 사용자에 대한 권장 사항을 생성하고 API 응답recommendationId에서와 함께 반환합니다.

  3. 애플리케이션에서 사용자에게 동영상 추천을 보여줍니다.

  4. 사용자가 비디오와 상호 작용(예:가 클릭)할 때에 대한 호출에서 선택 사항을 기록하고를 파라미터recommendationIdPutEvents API 포함합니다. 코드 샘플에 대해서는 노출 데이터를 사용하여 항목 상호 작용 이벤트 기록단원을 참조하세요.

  5. Personalize는 recommendationId를 사용하여 이전 동영상 권고 사항에서 노출 데이터를 추출한 다음 노출 데이터를 사용하여 탐색을 안내합니다. 이 경우, 향후 추천에는 상호작용 데이터 또는 관련성이 적은 새 동영상이 포함됩니다.

    암시적 노출 데이터를 사용한 이벤트 기록에 대한 자세한 내용은 노출 데이터를 사용하여 항목 상호 작용 이벤트 기록단원을 참조하세요.

상호작용 데이터 예제

다음과 같은 상호작용 데이터는 비디오 스트리밍 웹사이트에서의 과거 사용자 활동을 나타냅니다. 이 데이터를 사용하여 사용자의 상호작용 데이터를 기반으로 영화 추천을 제공하는 모델을 학습시킬 수 있습니다. EVENT_VALUE의 일부 값은 null입니다.

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에는 USER_ID, ITEM_IDTIMESTAMP 열이 필요합니다. USER_ID는 애플리케이션의 사용자 식별자입니다. ITEM_ID는 영화의 식별자입니다. EVENT_TYPEEVENT_VALUE은 사용자 상호 작용의 식별자입니다. 샘플 데이터에서 이벤트는 watchclick 이벤트이고 값은 사용자가 시청한 비디오의 백분율입니다. TIMESTAMP는 영화 구매가 이루어진 Unix epoch 시간을 나타냅니다.

데이터 준비를 마치면 스키마 JSON 파일을 생성할 준비가 된 것입니다. 이 파일은 Amazon Personalize에 데이터 구조에 대해 알려줍니다. 자세한 내용은 Amazon Personalize 스키마에 대한 스키마 JSON 파일 생성 단원을 참조하십시오. 이것이 샘플 데이터에 대한 스키마 JSON 파일의 모습입니다.

{ "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" }