배치 추천을 위한 입력 데이터 준비 - Personalize

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

배치 추천을 위한 입력 데이터 준비

배치 추론 작업은 Amazon S3 버킷에서 배치 입력 JSON 데이터를 가져오고, 사용자 지정 솔루션 버전을 사용하여 권장 사항을 생성한 다음, 항목 권장 사항을 Amazon S3 버킷으로 내보냅니다. 배치 권장 사항을 받으려면 먼저 JSON 파일을 준비하여 Amazon S3 버킷에 업로드해야 합니다. S3 버킷에 출력 폴더를 생성하거나 별도의 출력 S3 버킷을 사용하는 것이 좋습니다. 그런 다음 동일한 입력 데이터 위치를 사용하여 여러 배치 추론 작업을 실행할 수 있습니다.

자리 표시자 매개 변수가 포함된 필터 (예$GENRE:) 를 사용하는 경우 JSON 입력에 filterValues 객체의 매개 변수 값을 제공해야 합니다. 자세한 내용은 입력에 필터 값 제공 JSON 단원을 참조하십시오.

데이터를 준비하고 가져오려면
  1. 레시피에 따라 배치 입력 데이터의 형식을 지정합니다. 지금-유행 레시피로는 배치 추천을 받을 수 없습니다.

    • USER_ PERSONALIZATION 레시피와 Popularity-Count 레시피의 경우 입력 데이터는 다음 목록이 포함된 파일입니다JSON. userIds

    • RELATED_ ITEMS recipes의 경우 입력 데이터는 다음 목록입니다. itemIds

    • PERSONALIZED_ RANKING 레시피의 경우 입력 데이터는 목록이며userIds, 각 목록은 다음과 같은 컬렉션과 쌍을 이룹니다. itemIds

    각 행을 새 줄로 구분합니다. 입력 데이터 예제는 Batch 추론 작업 입력 및 출력 예제 JSON단원을 참조하세요.

  2. Amazon S3 버킷의 입력 폴더에 입력을 업로드합니다. JSON 자세한 내용은 Simple Storage Service 사용 설명서의 드래그 앤 드롭을 사용하여 파일 및 폴더 업로드 단원을 참조하세요.

  3. 출력 데이터를 저장할 별도의 위치(폴더 또는 다른 S3 버킷)를 만듭니다. 출력을 JSON 위한 별도의 위치를 생성하면 동일한 입력 데이터 위치로 여러 배치 추론 작업을 실행할 수 있습니다.

  4. 배치 추론 작업을 생성합니다. Personalize는 솔루션 버전의 추천을 출력 데이터 위치로 출력합니다.

Batch 추론 작업 입력 및 출력 예제 JSON

사용하는 레시피에 따라 입력 데이터 형식을 지정하는 방법. 자리 표시자 매개 변수 (예:) 가 포함된 필터를 사용하는 경우 입력에 filterValues 개체의 매개 변수 값을 제공해야 합니다. $GENRE JSON 자세한 내용은 입력에 필터 값 제공 JSON 단원을 참조하십시오.

다음 섹션에는 배치 추론 작업에 대한 올바른 형식의 JSON 입력 및 출력 예제가 나열되어 있습니다. 지금-유행 레시피로는 배치 추천을 받을 수 없습니다.

USER_ 레시피 PERSONALIZATION

다음은 USER _ PERSONALIZATION 레시피의 올바른 형식의 JSON 입력 및 출력 예제를 보여줍니다. User-Personalization-v2를 사용하는 경우 각 권장 항목에는 해당 항목이 권장 사항에 포함된 이유 목록이 포함됩니다. 이 목록은 비어 있을 수 있습니다. 가능한 이유에 대한 자세한 내용은 을 참조하십시오 User-Personalization-v2를 사용하는 권장 이유.

Input

다음과 같이 각 userId을 새 줄로 구분합니다.

{"userId": "4638"} {"userId": "663"} {"userId": "3384"} ...
Output
{"input":{"userId":"4638"},"output":{"recommendedItems":["63992","115149","110102","148626","148888","31685","102445","69526","92535","143355","62374","7451","56171","122882","66097","91542","142488","139385","40583","71530","39292","111360","34048","47099","135137"],"scores":[0.0152238,0.0069081,0.0068222,0.006394,0.0059746,0.0055851,0.0049357,0.0044644,0.0042968,0.004015,0.0038805,0.0037476,0.0036563,0.0036178,0.00341,0.0033467,0.0033258,0.0032454,0.0032076,0.0031996,0.0029558,0.0029021,0.0029007,0.0028837,0.0028316]},"error":null} {"input":{"userId":"663"},"output":{"recommendedItems":["368","377","25","780","1610","648","1270","6","165","1196","1097","300","1183","608","104","474","736","293","141","2987","1265","2716","223","733","2028"],"scores":[0.0406197,0.0372557,0.0254077,0.0151975,0.014991,0.0127175,0.0124547,0.0116712,0.0091098,0.0085492,0.0079035,0.0078995,0.0075598,0.0074876,0.0072006,0.0071775,0.0068923,0.0066552,0.0066232,0.0062504,0.0062386,0.0061121,0.0060942,0.0060781,0.0059263]},"error":null} {"input":{"userId":"3384"},"output":{"recommendedItems":["597","21","223","2144","208","2424","594","595","920","104","520","367","2081","39","1035","2054","160","1370","48","1092","158","2671","500","474","1907"],"scores":[0.0241061,0.0119394,0.0118012,0.010662,0.0086972,0.0079428,0.0073218,0.0071438,0.0069602,0.0056961,0.0055999,0.005577,0.0054387,0.0051787,0.0051412,0.0050493,0.0047126,0.0045393,0.0042159,0.0042098,0.004205,0.0042029,0.0040778,0.0038897,0.0038809]},"error":null} ...

다음은 Popularity-Count 레시피의 올바른 형식의 JSON 입력 및 출력 예제를 보여줍니다. 지금-유행 레시피로는 배치 추천을 받을 수 없습니다.

Input

다음과 같이 각 userId을 새 줄로 구분합니다.

{"userId": "12"} {"userId": "105"} {"userId": "41"} ...
Output
{"input": {"userId": "12"}, "output": {"recommendedItems": ["105", "106", "441"]}} {"input": {"userId": "105"}, "output": {"recommendedItems": ["105", "106", "441"]}} {"input": {"userId": "41"}, "output": {"recommendedItems": ["105", "106", "441"]}} ...

PERSONALIZED_ 레시피 RANKING

다음은 PERSONALIZED _ RANKING 레시피의 올바른 형식의 JSON 입력 및 출력 예제를 보여줍니다.

Input

다음과 같이 순위가 매겨질 각 userIditemIds목록을 새 줄로 구분합니다.

{"userId": "891", "itemList": ["27", "886", "101"]} {"userId": "445", "itemList": ["527", "55", "901"]} {"userId": "71", "itemList": ["27", "351", "101"]} ...
Output
{"input":{"userId":"891","itemList":["27","886","101"]},"output":{"recommendedItems":["27","101","886"],"scores":[0.48421,0.28133,0.23446]}} {"input":{"userId":"445","itemList":["527","55","901"]},"output":{"recommendedItems":["901","527","55"],"scores":[0.46972,0.31011,0.22017]}} {"input":{"userId":"71","itemList":["29","351","199"]},"output":{"recommendedItems":["351","29","199"],"scores":[0.68937,0.24829,0.06232]}} ...

다음은 RELATED _ ITEMS 레시피의 올바른 형식의 JSON 입력 및 출력 예제를 보여줍니다.

Input

다음과 같이 각 itemId을 새 줄로 구분합니다.

{"itemId": "105"} {"itemId": "106"} {"itemId": "441"} ...
Output
{"input": {"itemId": "105"}, "output": {"recommendedItems": ["106", "107", "49"]}} {"input": {"itemId": "106"}, "output": {"recommendedItems": ["105", "107", "49"]}} {"input": {"itemId": "441"}, "output": {"recommendedItems": ["2", "442", "435"]}} ...

다음은 테마가 있는 Similar-Items 레시피의 올바른 형식의 JSON 입력 및 출력 예제를 보여줍니다.

Input

다음과 같이 각 itemId을 새 줄로 구분합니다.

{"itemId": "40"} {"itemId": "43"} ...
Output
{"input":{"itemId":"40"},"output":{"recommendedItems":["36","50","44","22","21","29","3","1","2","39"],"theme":"Movies with a strong female lead","itemsThemeRelevanceScores":[0.19994527,0.183059963,0.17478035,0.1618133,0.1574806,0.15468733,0.1499242,0.14353688,0.13531424,0.10291852]}} {"input":{"itemId":"43"},"output":{"recommendedItems":["50","21","36","3","17","2","39","1","10","5"],"theme":"The best movies of 1995","itemsThemeRelevanceScores":[0.184988,0.1795761,0.11143453,0.0989443,0.08258403,0.07952615,0.07115086,0.0621634,-0.138913,-0.188913]}} ...