Mendapatkan segmen pengguna dengan pekerjaan segmen batch - Amazon Personalize

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

Mendapatkan segmen pengguna dengan pekerjaan segmen batch

Jika Anda menggunakan SEGMENTATION resep USER _, Anda dapat membuat pekerjaan segmen batch untuk mendapatkan segmen pengguna dengan versi solusi Anda. Setiap segmen pengguna diurutkan dalam urutan menurun berdasarkan probabilitas bahwa setiap pengguna akan berinteraksi dengan item dalam inventaris Anda. Bergantung pada resepnya, data masukan Anda harus berupa daftar item (Resep item-Affinity) atau atribut item (Resep Item-Atribusi-Afinitas) dalam JSON format. Anda dapat membuat pekerjaan segmen batch dengan konsol Amazon Personalize, AWS Command Line Interface (AWS CLI), atau. AWS SDKs

Saat membuat pekerjaan segmen batch, Anda menentukan jalur Amazon S3 ke lokasi input dan output Anda. Amazon S3 berbasis awalan. Jika Anda memberikan awalan untuk lokasi data input, Amazon Personalize menggunakan semua file yang cocok dengan awalan tersebut sebagai data input. Misalnya, jika Anda menyediakan s3://amzn-s3-demo-bucket/folderName dan bucket Anda juga memiliki folder dengan jalurs3://amzn-s3-demo-bucket/folderName_test, Amazon Personalize menggunakan semua file di kedua folder sebagai data input. Untuk hanya menggunakan file dalam folder tertentu sebagai data input, akhiri jalur Amazon S3 dengan pembatas awalan, seperti/: s3://amzn-s3-demo-bucket/folderName/ Untuk informasi selengkapnya tentang cara Amazon S3 mengatur objek, lihat Mengatur, mencantumkan, dan bekerja dengan objek Anda.

Membuat pekerjaan segmen batch (konsol)

Setelah selesaiMempersiapkan data masukan untuk rekomendasi batch, Anda siap untuk membuat pekerjaan segmen batch. Prosedur ini mengasumsikan bahwa Anda telah membuat solusi dan versi solusi (model terlatih) dengan SEGEMENTATION resep USER _.

Untuk mendapatkan buat pekerjaan segmen batch (konsol)
  1. Buka konsol Amazon Personalize di https://console.aws.amazon.com/personalize/rumah dan masuk ke akun Anda.

  2. Pada halaman grup Datasets, pilih grup dataset Anda.

  3. Pilih pekerjaan segmen batch di panel navigasi, lalu pilih Buat pekerjaan segmen batch.

  4. Dalam detail pekerjaan segmen batch, untuk nama pekerjaan segmen Batch, tentukan nama untuk pekerjaan segmen batch Anda.

  5. Untuk Solusi, pilih solusi dan kemudian pilih ID versi Solusi yang ingin Anda gunakan untuk menghasilkan rekomendasi. Anda dapat membuat pekerjaan segmen batch hanya jika Anda menggunakan SEGEMENTATION resep USER _.

  6. Untuk Jumlah pengguna, secara opsional menentukan jumlah pengguna Amazon Personalize menghasilkan untuk setiap segmen pengguna. Default-nya adalah 25. Maksimal 5 juta.

  7. Untuk sumber Input, tentukan jalur Amazon S3 ke file input Anda atau gunakan Browse S3 untuk memilih bucket Amazon S3 Anda.

    Gunakan sintaks berikut: s3://amzn-s3-demo-bucket/<folder name>/<input JSON file name>.json

    Data masukan Anda harus dalam format yang benar untuk resep yang digunakan solusi Anda. Untuk contoh data masukan lihatContoh JSON masukan dan keluaran pekerjaan segmen Batch.

  8. Untuk tujuan Output, tentukan jalur ke lokasi keluaran Anda atau gunakan Browse S3 untuk memilih bucket Amazon S3 Anda. Sebaiknya gunakan lokasi yang berbeda untuk data keluaran Anda (baik folder atau bucket Amazon S3 yang berbeda).

    Gunakan sintaks berikut: s3://amzn-s3-demo-bucket/<output folder name>/

  9. Untuk IAMperan, pilih salah satu dari berikut ini:

    • Pilih Buat dan gunakan peran layanan baru dan masukkan nama peran Layanan untuk membuat peran baru, atau

    • Jika Anda telah membuat peran dengan izin yang benar, pilih Gunakan peran layanan yang ada dan pilih IAM peran tersebut.

    Peran yang Anda gunakan harus memiliki akses baca dan tulis ke bucket Amazon S3 masukan dan keluaran Anda masing-masing.

  10. Untuk konfigurasi Filter opsional pilih filter untuk menerapkan filter ke segmen pengguna. Jika filter Anda menggunakan parameter placeholder, pastikan nilai untuk parameter disertakan dalam input Anda. JSON Untuk informasi selengkapnya, lihat Memberikan nilai filter dalam masukan Anda JSON.

  11. Untuk Tag, secara opsional tambahkan tag apa pun. Untuk informasi selengkapnya tentang menandai sumber daya Amazon Personalize, lihat. Menandai Amazon Personalisasi sumber daya

  12. Pilih Buat pekerjaan segmen batch. Pembuatan pekerjaan segmen Batch dimulai dan halaman pekerjaan segmen Batch muncul dengan bagian detail pekerjaan segmen Batch ditampilkan.

  13. Jika status pekerjaan segmen batch berubah menjadi Aktif, Anda dapat mengambil output pekerjaan dari bucket Amazon S3 keluaran yang ditentukan. Nama file output akan menjadi formatinput-name.out.

Membuat pekerjaan segmen batch (AWS CLI)

Setelah selesaiMempersiapkan data masukan untuk rekomendasi batch, Anda siap untuk membuat pekerjaan segmen batch menggunakan create-batch-segment-job kode berikut. Tentukan nama pekerjaan, ganti Solution version ARN dengan Amazon Resource Name (ARN) versi solusi Anda, dan ganti IAM service role ARN dengan peran IAM layanan yang Anda buat untuk Amazon Personalize selama penyiapan. ARN Peran ini harus memiliki akses baca dan tulis ke bucket Amazon S3 masukan dan keluaran Anda masing-masing. Untuk num-results menentukan jumlah pengguna yang Anda inginkan Amazon Personalize untuk memprediksi setiap baris data input. Default-nya adalah 25. Maksimal 5 juta. Secara opsional menyediakan filter-arn untuk memfilter segmen pengguna. Jika filter Anda menggunakan parameter placeholder, pastikan nilai untuk parameter disertakan dalam input Anda. JSON Untuk informasi selengkapnya, lihat Memfilter rekomendasi batch dan segmen pengguna (sumber daya khusus).

Ganti S3 input path dan S3 output path dengan jalur Amazon S3 ke file input dan lokasi output Anda. Sebaiknya gunakan lokasi yang berbeda untuk data keluaran Anda (baik folder atau bucket Amazon S3 yang berbeda). Gunakan sintaks berikut untuk lokasi input dan output: s3://amzn-s3-demo-bucket/<folder name>/<input JSON file name>.json dans3://amzn-s3-demo-bucket/<output folder name>/.

aws personalize create-batch-segment-job \ --job-name Job name \ --solution-version-arn Solution version ARN \ --num-results The number of predicted users \ --filter-arn Filter ARN \ --job-input s3DataSource={path=s3://S3 input path} \ --job-output s3DataDestination={path=s3://S3 output path} \ --role-arn IAM service role ARN { "batchSegmentJobArn": "arn:aws:personalize:us-west-2:acct-id:batch-segment-job/batchSegmentJobName" }

Membuat pekerjaan segmen batch (AWS SDKs)

Setelah selesaiMempersiapkan data masukan untuk rekomendasi batch, Anda siap untuk membuat pekerjaan segmen batch dengan CreateBatchSegmentJob operasi. Kode berikut menunjukkan cara membuat pekerjaan segmen batch. Beri nama pekerjaan, tentukan Nama Sumber Daya Amazon (ARN) versi solusi yang akan digunakan, tentukan IAM peran Personalisasi Amazon ARN untuk Anda, dan tentukan jalur Amazon S3 ke file input dan lokasi keluaran Anda. Peran IAM layanan Anda harus memiliki akses baca dan tulis ke bucket Amazon S3 masukan dan keluaran Anda masing-masing.

Sebaiknya gunakan lokasi yang berbeda untuk data keluaran Anda (baik folder atau bucket Amazon S3 yang berbeda). Gunakan sintaks berikut untuk lokasi input dan output: s3://amzn-s3-demo-bucket/<folder name>/<input JSON file name>.json dans3://amzn-s3-demo-bucket/<output folder name>/.

UntuknumResults, tentukan jumlah pengguna yang ingin diprediksi Amazon Personalize untuk setiap baris data input. Default-nya adalah 25. Maksimal 5 juta. Secara opsional menyediakan filterArn untuk memfilter segmen pengguna. Jika filter Anda menggunakan parameter placeholder, pastikan nilai untuk parameter disertakan dalam input Anda. JSON Untuk informasi selengkapnya, lihat Memfilter rekomendasi batch dan segmen pengguna (sumber daya khusus).

SDK for Python (Boto3)
import boto3 personalize_rec = boto3.client(service_name='personalize') personalize_rec.create_batch_segment_job ( solutionVersionArn = "Solution version ARN", jobName = "Job name", numResults = 25, filterArn = "Filter ARN", roleArn = "IAM service role ARN", jobInput = {"s3DataSource": {"path": "s3://amzn-s3-demo-bucket/<folder name>/<input JSON file name>.json"}}, jobOutput = {"s3DataDestination": {"path": "s3://amzn-s3-demo-bucket/<output folder name>/"}} )
SDK for Java 2.x
public static String createBatchSegmentJob(PersonalizeClient personalizeClient, String solutionVersionArn, String jobName, String filterArn, int numResults, String s3InputDataSourcePath, String s3DataDestinationPath, String roleArn, String explorationWeight, String explorationItemAgeCutOff) { long waitInMilliseconds = 60 * 1000; String status; String batchSegmentJobArn; try { // Set up data input and output parameters. S3DataConfig inputSource = S3DataConfig.builder() .path(s3InputDataSourcePath) .build(); S3DataConfig outputDestination = S3DataConfig.builder() .path(s3DataDestinationPath) .build(); BatchSegmentJobInput jobInput = BatchSegmentJobInput.builder() .s3DataSource(inputSource) .build(); BatchSegmentJobOutput jobOutputLocation = BatchSegmentJobOutput.builder() .s3DataDestination(outputDestination) .build(); CreateBatchSegmentJobRequest createBatchSegmentJobRequest = CreateBatchSegmentJobRequest.builder() .solutionVersionArn(solutionVersionArn) .filterArn(filterArn) .jobInput(jobInput) .jobOutput(jobOutputLocation) .jobName(jobName) .numResults(numResults) .roleArn(roleArn) .build(); batchSegmentJobArn = personalizeClient.createBatchSegmentJob(createBatchSegmentJobRequest) .batchSegmentJobArn(); DescribeBatchSegmentJobRequest describeBatchSegmentJobRequest = DescribeBatchSegmentJobRequest.builder() .batchSegmentJobArn(batchSegmentJobArn) .build(); long maxTime = Instant.now().getEpochSecond() + 3 * 60 * 60; // wait until the batch segment job is complete. while (Instant.now().getEpochSecond() < maxTime) { BatchSegmentJob batchSegmentJob = personalizeClient .describeBatchSegmentJob(describeBatchSegmentJobRequest) .batchSegmentJob(); status = batchSegmentJob.status(); System.out.println("batch segment job status: " + status); if (status.equals("ACTIVE") || status.equals("CREATE FAILED")) { break; } try { Thread.sleep(waitInMilliseconds); } catch (InterruptedException e) { System.out.println(e.getMessage()); } } return batchSegmentJobArn; } catch (PersonalizeException e) { System.out.println(e.awsErrorDetails().errorMessage()); } return ""; }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { CreateBatchSegmentJobCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the batch segment job's parameters. export const createBatchSegmentJobParam = { jobName: "NAME", jobInput: { s3DataSource: { path: "INPUT_PATH", }, }, jobOutput: { s3DataDestination: { path: "OUTPUT_PATH", }, }, roleArn: "ROLE_ARN", solutionVersionArn: "SOLUTION_VERSION_ARN", numResults: 20, }; export const run = async () => { try { const response = await personalizeClient.send( new CreateBatchSegmentJobCommand(createBatchSegmentJobParam), ); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Memproses pekerjaan batch mungkin membutuhkan waktu beberapa saat untuk diselesaikan. Anda dapat memeriksa status pekerjaan dengan memanggil DescribeBatchSegmentJob dan meneruskan batchSegmentJobArn sebagai parameter input. Anda juga dapat mencantumkan semua pekerjaan segmen batch Amazon Personalisasi di AWS lingkungan Anda dengan menelepon. ListBatchSegmentJobs