데이터 형식 지침 - Personalize

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

데이터 형식 지침

Personalize 데이터세트로 데이터를 가져올 때 레코드를 대량으로 가져오거나 개별적으로 가져오거나 두 가지 방법으로 모두 가져오도록 선택할 수 있습니다.

  • 대량 가져오기에는 많은 수의 이력 레코드를 한 번에 가져오는 작업이 포함됩니다. Data Wrangler 및 여러 데이터 원본을 사용하여 대량 SageMaker 데이터를 준비하고 가져올 수 있습니다. 또는 직접 대량 데이터를 준비하여 S3의 CSV 파일에서 Personalize로 직접 가져올 수도 있습니다.

  • 개별 가져오기의 경우 Personalize 콘솔 및 API 작업을 통해 개별 레코드를 가져옵니다. 또는 라이브 이벤트의 상호작용 데이터를 실시간으로 스트리밍할 수 있습니다. 가져오기 옵션에 대한 자세한 내용은 개별 레코드 가져오기단원을 참조하세요.

대량 데이터를 가져오기 전에 형식이 올바른지 확인합니다. 다음 단원은 대량 데이터의 형식을 지정하는 데 도움이 될 수 있습니다. 데이터 형식을 지정하는 방법을 잘 모르겠으면 Amazon 데이터 랭글러 ( SageMaker Data Wrangler) 를 사용하여 데이터를 준비할 수 있습니다. 자세한 정보는 Amazon SageMaker 데이터 랭글러를 사용하여 데이터 준비 및 가져오기을 참조하세요.

대량 데이터 형식 지침 및 요구 사항

다음 지침 및 요구 사항은 대량 데이터의 형식을 올바르게 지정하는 데 도움이 될 수 있습니다.

  • 입력 데이터는 CSV(쉼표로 구분된 값) 파일에 있어야만 합니다.

  • CSV 파일의 첫 번째 행에는 열 헤더가 포함되어야만 합니다. 헤더를 따옴표(")로 묶지 않습니다.

  • 데이터세트 유형의 필수 필드가 있는지 확인하고, 해당 이름이 Personalize 요구 사항과 일치하는지 확인합니다. 예를 들어, 항목 데이터에는 각 항목의 ID가 포함된 ITEM_IDENTIFICATION_NUMBER로 불리는 열이 있을 수 있습니다. 이 열을 ITEM_ID 필드로 사용하려면 열 이름을 ITEM_ID로 바꾸세요. Data Wrangler를 사용하여 데이터 형식을 지정하는 경우, Personalize Data Wrangler 변환용 맵 열을 사용하여 열의 이름이 올바르게 지정되었는지 확인할 수 있습니다.

    필수 필드에 대한 자세한 내용은 스키마단원을 참조하세요. 데이터를 준비하기 위하여 Data Wrangler를 사용하는 것에 대한 자세한 내용은 Amazon SageMaker 데이터 랭글러를 사용하여 데이터 준비 및 가져오기단원을 참조하세요.

  • CSV 파일의 열 헤더 이름은 스키마에 매핑되어야만 합니다.

  • CSV 파일의 각 레코드는 하나의 줄에 있어야만 합니다.

  • 각 열의 데이터 유형은 스키마에 매핑되어야만 합니다. Data Wrangler를 사용하여 데이터의 형식을 지정한 경우, Data Wrangler 변환 값을 유형으로 파싱을 사용하여 데이터 유형을 변환할 수 있습니다.

  • TIMESTAMPCREATION_TIMESTAMP데이터는 UNIX epoch 시간 형식이어야 합니다. 자세한 정보는 타임스탬프 데이터을 참조하세요.

  • 항목 ID, 사용자 ID 및 작업 ID 데이터에 문자나 특수 " 문자를 포함하지 마십시오.

  • 데이터에 ASCII로 인코딩되지 않은 문자가 포함된 경우, CSV 파일은 UTF-8 형식으로 인코딩되어야만 합니다.

  • 비정형 텍스트 메타데이터에 설명된 대로 모든 텍스트 데이터의 형식을 지정해야만 합니다.

  • 명시적 노출의 형식 지정범주형 데이터의 형식 지정에서 설명된 대로 노출 수 데이터와 범주형 데이터에 형식을 지정해야만 합니다.

상호작용 데이터 예제

다음과 같은 상호작용 데이터는 영화 티켓을 판매하는 웹사이트에서의 과거 사용자 활동을 나타냅니다. 이 데이터를 사용하여 사용자의 상호작용 데이터를 기반으로 영화 추천을 제공하는 모델을 학습시킬 수 있습니다.

USER_ID,ITEM_ID,EVENT_TYPE,EVENT_VALUE,TIMESTAMP 196,242,click,15,881250949 186,302,click,13,891717742 22,377,click,10,878887116 244,51,click,20,880606923 166,346,click,10,886397596 298,474,click,40,884182806 115,265,click,20,881171488 253,465,click,50,891628467 305,451,click,30,886324817

다음은 관련 상호작용 스키마입니다.

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

Personalize에는 USER_ID, ITEM_IDTIMESTAMP필드가 필요합니다. USER_ID는 애플리케이션의 사용자 식별자입니다. ITEM_ID는 영화의 식별자입니다. EVENT_TYPEEVENT_VALUE은 사용자 활동의 식별자입니다. 이 샘플 데이터에서 click은 영화 구입 이벤트를, 15는 영화의 구입 가격을 나타낼 수 있습니다. TIMESTAMP는 영화 구입이 발생한 Unix epoch 시간을 나타냅니다.

타임스탬프 데이터

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

명시적 노출의 형식 지정

사용자-개인 맞춤 레시피를 사용하면 노출 데이터를 기록하고 업로드할 수 있습니다. 노출은 사용자가 특정 항목과 상호작용(예: 클릭 또는 시청)할 때 사용자가 볼 수 있었던 항목의 목록입니다. 대량 데이터 가져오기에서 노출 데이터를 업로드하려면 각 항목 ID를 수동으로 기록합니다. 과거 상호작용 데이터의 일부로 값을 세로 막대(‘|’) 문자로 구분해야 합니다. 노출 데이터의 경우 세로 막대 문자도 1000자 한도에 포함됩니다. 노출 데이터 준비에 대한 자세한 내용은 노출 데이터단원을 참조하세요.

다음은 IMPRESSION 열에 명시적 노출이 포함된 항목 상호 작용 데이터 세트에서 발췌한 것입니다.

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항목이 추천되는 빈도가 줄어듭니다.

범주형 데이터의 형식 지정

범주형 문자열 데이터를 사용할 때 단일 항목에 여러 범주를 포함시키려면 세로 막대 ‘|’ 문자를 사용하여 값을 구분합니다. 예를 들어, 범주가 두 개 있는 항목의 경우 데이터 행은 다음과 비슷할 것입니다.

ITEM_ID,GENRE item_123,horror|comedy

데이터의 형식을 지정한 후 Personalize로 가져올 수 있도록 S3 버킷에 업로드합니다. 자세한 내용은 S3 버킷에 업로드단원을 참조하세요.