Como preparar dados de entrada para recomendações em lote - 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 preparar dados de entrada para recomendações em lote

Um trabalho de inferência em lote importa seus JSON dados de entrada em lote de um bucket do Amazon S3, usa sua versão de solução personalizada para gerar recomendações e, em seguida, exporta as recomendações do item para um bucket do Amazon S3. Antes de receber recomendações de lotes, você deve preparar e carregar seu JSON arquivo em um bucket do Amazon S3. Recomendamos que você crie uma pasta de saída no seu bucket do Amazon S3 ou use um bucket de saída separado do Amazon S3. Em seguida, pode executar vários trabalhos de inferência em lote usando o mesmo local de dados de entrada.

Se você usar um filtro com parâmetros de espaço reservado$GENRE, como, deverá fornecer os valores dos parâmetros em um filterValues objeto na sua entradaJSON. Para obter mais informações, consulte Fornecendo valores de filtro em sua entrada JSON.

Preparar e importar dados
  1. Formate os dados de entrada em lote de acordo com a fórmula. Não é possível obter recomendações em lote com a fórmula Trending-Now.

    • Para USER _ PERSONALIZATION receitas e a receita Popularity-Count, seus dados de entrada são um JSON arquivo com uma lista de userIds

    • Para RELATED _ ITEMS receitas, seus dados de entrada são uma lista de itemIds

    • Para PERSONALIZED _ RANKING receitas, seus dados de entrada são uma lista deuserIds, cada uma emparelhada com uma coleção de itemIds

    Separe cada linha com uma nova linha. Para exemplos de dados de entrada, consulte Exemplos de entrada e saída JSON de tarefas de inferência em lote.

  2. Carregue sua entrada JSON em uma pasta de entrada em seu bucket do Amazon S3. Para obter mais informações, consulte Fazer upload de arquivos e pastas usando arrastar e soltar no Guia do usuário do Amazon Simple Storage Service.

  3. Crie um local separado para seus dados de saída, seja uma pasta ou um bucket diferente do Amazon S3. Ao criar um local separado para a saídaJSON, você pode executar vários trabalhos de inferência em lote com o mesmo local de dados de entrada.

  4. Crie um trabalho de inferência em lote. O Amazon Personalize envia as recomendações da versão da sua solução para o local dos dados de saída.

Exemplos de entrada e saída JSON de tarefas de inferência em lote

Como formatar seus dados de entrada de acordo com a fórmula. Se você usar um filtro com parâmetros de espaço reservado$GENRE, como, deverá fornecer os valores dos parâmetros em um filterValues objeto na sua entradaJSON. Para obter mais informações, consulte Fornecendo valores de filtro em sua entrada JSON.

As seções a seguir listam exemplos de JSON entrada e saída formatados corretamente para trabalhos de inferência em lote. Não é possível obter recomendações em lote com a fórmula Trending-Now.

USER_ PERSONALIZATION receitas

A seguir, são mostrados exemplos JSON de entrada e saída formatados corretamente para as PERSONALIZATION receitas USER _. Se você usa User-Personalization-v2, cada item recomendado inclui uma lista de motivos pelos quais o item foi incluído nas recomendações. Essa lista pode estar vazia. Para obter informações sobre possíveis motivos, consulteMotivos de recomendação com User-Personalization-v 2.

Input

Separe cada userId com uma nova linha da seguinte maneira.

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

A seguir, são mostrados exemplos de JSON entrada e saída formatados corretamente para a receita Popularity-Count. Não é possível obter recomendações em lote com a fórmula Trending-Now.

Input

Separe cada userId com uma nova linha da seguinte maneira.

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

A seguir, são mostrados exemplos JSON de entrada e saída formatados corretamente para PERSONALIZED _ RANKING receitas.

Input

Separe cada userId e uma lista de itemIds a serem classificados com uma nova linha da seguinte forma.

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

A seguir, são mostrados exemplos JSON de entrada e saída formatados corretamente para RELATED _ ITEMS receitas.

Input

Separe cada itemId com uma nova linha da seguinte maneira.

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

A seguir, são mostrados exemplos JSON de entrada e saída formatados corretamente para a receita de itens semelhantes com temas.

Input

Separe cada itemId com uma nova linha da seguinte maneira.

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