Mendapatkan peringkat yang dipersonalisasi (AWS SDK) - Amazon Personalize

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mendapatkan peringkat yang dipersonalisasi (AWS SDK)

Contoh kode berikut menunjukkan bagaimana variasi yang berbeda tentang cara mendapatkan peringkat yang dipersonalisasi dengan AWS SDK.

Mendapatkan peringkat yang dipersonalisasi

Kode berikut menunjukkan cara mendapatkan peringkat yang dipersonalisasi untuk pengguna. Tentukan ID pengguna dan daftar ID item yang akan diberi peringkat bagi pengguna. ID item harus ada dalam data yang Anda gunakan untuk melatih versi solusi. Daftar rekomendasi peringkat dikembalikan. Amazon Personalize mempertimbangkan item pertama dalam daftar yang paling menarik bagi pengguna.

SDK for Python (Boto3)
import boto3 personalizeRt = boto3.client('personalize-runtime') response = personalizeRt.get_personalized_ranking( campaignArn = "Campaign arn", userId = "UserID", inputList = ['ItemID1','ItemID2'] ) print("Personalized Ranking") for item in response['personalizedRanking']: print (item['itemId'])
SDK for Java 2.x
public static List<PredictedItem> getRankedRecs(PersonalizeRuntimeClient personalizeRuntimeClient, String campaignArn, String userId, ArrayList<String> items) { try { GetPersonalizedRankingRequest rankingRecommendationsRequest = GetPersonalizedRankingRequest.builder() .campaignArn(campaignArn) .userId(userId) .inputList(items) .build(); GetPersonalizedRankingResponse recommendationsResponse = personalizeRuntimeClient.getPersonalizedRanking(rankingRecommendationsRequest); List<PredictedItem> rankedItems = recommendationsResponse.personalizedRanking(); int rank = 1; for (PredictedItem item : rankedItems) { System.out.println("Item ranked at position " + rank + " details"); System.out.println("Item Id is : " + item.itemId()); System.out.println("Item score is : " + item.score()); System.out.println("---------------------------------------------"); rank++; } return rankedItems; } catch (PersonalizeRuntimeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return null; }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { GetPersonalizedRankingCommand } from "@aws-sdk/client-personalize-runtime"; import { personalizeRuntimeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeRuntimeClient = new PersonalizeRuntimeClient({ region: "REGION"}); // Set the ranking request parameters. export const getPersonalizedRankingParam = { campaignArn: "CAMPAIGN_ARN", /* required */ userId: 'USER_ID', /* required */ inputList: ["ITEM_ID_1", "ITEM_ID_2", "ITEM_ID_3", "ITEM_ID_4"] } export const run = async () => { try { const response = await personalizeRuntimeClient.send(new GetPersonalizedRankingCommand(getPersonalizedRankingParam)); console.log("Success!", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Termasuk metadata item dalam peringkat yang dipersonalisasi

Jika Anda mengaktifkan metadata dalam rekomendasi untuk kampanye, Anda dapat menentukan kolom metadata kumpulan data Item yang akan disertakan dalam respons. Untuk informasi tentang mengaktifkan metadata, lihat. Metadata item dalam rekomendasi

Contoh kode berikut menunjukkan cara menentukan kolom metadata sebagai bagian dari permintaan Anda untuk peringkat yang dipersonalisasi.

import boto3 personalizeRt = boto3.client('personalize-runtime') response = personalizeRt.get_personalized_ranking( campaignArn = "Campaign arn", userId = "UserID", inputList = ['ItemID1','ItemID2'], metadataColumns = { "ITEMS": ['columnNameA','columnNameB'] } ) print("Personalized Ranking") for item in response['personalizedRanking']: print (item['itemId']) print (item['metadata'])

Mendapatkan peringkat yang dipersonalisasi menggunakan metadata kontekstual

Gunakan kode berikut untuk mendapatkan peringkat yang dipersonalisasi berdasarkan metadata kontekstual. Untukcontext, untuk setiap pasangan kunci-nilai, berikan bidang metadata sebagai kunci dan data konteks sebagai nilai. Dalam kode contoh berikut, kuncinya adalah DEVICE dan nilainya adalahmobile phone. Ganti nilai-nilai ini dan Campaign ARN dan User ID dengan nilai-nilai Anda sendiri. Juga ubah inputList ke daftar ID item yang ada di data yang Anda gunakan untuk melatih solusi. Amazon Personalize mempertimbangkan item pertama dalam daftar yang paling menarik bagi pengguna.

import boto3 personalizeRt = boto3.client('personalize-runtime') response = personalizeRt.get_personalized_ranking( campaignArn = "Campaign ARN", userId = "User ID", inputList = ['ItemID1', 'ItemID2'], context = { 'DEVICE': 'mobile phone' } ) print("Personalized Ranking") for item in response['personalizedRanking']: print(item['itemId'])