Memulai (AWS CLI) - Amazon Personalize

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

Memulai (AWS CLI)

Dalam latihan ini, Anda menggunakan AWS Command Line Interface (AWS CLI) untuk menjelajahi Amazon Personalize. Anda membuat kampanye yang menampilkan rekomendasi film untuk ID pengguna tertentu.

Sebelum Anda memulai latihan ini, lakukan hal berikut:

Saat Anda menyelesaikan latihan memulai, untuk menghindari biaya yang tidak perlu, hapus sumber daya yang Anda buat. Untuk informasi selengkapnya, lihat Persyaratan untuk menghapus sumber daya Amazon Personalize.

catatan

AWS CLI Perintah dalam latihan ini diuji di Linux. Untuk informasi tentang menggunakan AWS CLI perintah di Windows, lihat Menentukan nilai parameter untuk AWS Command Line Interface dalam Panduan AWS Command Line Interface Pengguna.

Ikuti langkah-langkah untuk membuat grup kumpulan data, menambahkan kumpulan data ke grup, lalu mengisi kumpulan data menggunakan data peringkat film.

  1. Buat grup dataset dengan menjalankan perintah berikut. Anda dapat mengenkripsi grup kumpulan data dengan meneruskan AWS Key Management Servicekunci ARN dan IAM peran ARN yang memiliki izin akses ke kunci tersebut sebagai parameter input. Untuk informasi lebih lanjut tentangAPI, lihatCreateDatasetGroup.

    aws personalize create-dataset-group --name MovieRatingDatasetGroup --kms-key-arn arn:aws:kms:us-west-2:01234567890:key/1682a1e7-a94d-4d92-bbdf-837d3b62315e --role-arn arn:aws:iam::01234567890:KMS-key-access

    Grup dataset ARN ditampilkan, misalnya:

    { "datasetGroupArn": "arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup" }

    Gunakan describe-dataset-group perintah untuk menampilkan grup kumpulan data yang Anda buat, menentukan grup kumpulan data yang dikembalikan. ARN

    aws personalize describe-dataset-group \ --dataset-group-arn arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup

    Grup dataset dan propertinya ditampilkan, misalnya:

    { "datasetGroup": { "name": "MovieRatingDatasetGroup", "datasetGroupArn": "arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup", "status": "ACTIVE", "creationDateTime": 1542392161.262, "lastUpdatedDateTime": 1542396513.377 } }
    catatan

    Tunggu hingga grup dataset status ditampilkan seperti ACTIVE sebelum membuat kumpulan data dalam grup. Operasi ini biasanya cepat.

    Jika Anda tidak ingat grup kumpulan dataARN, gunakan list-dataset-groups perintah untuk menampilkan semua grup kumpulan data yang Anda buat, bersama dengan grup tersebut. ARNs

    aws personalize list-dataset-groups
    catatan

    list-objectsPerintah describe-object dan tersedia untuk sebagian besar objek Amazon Personalize. Perintah-perintah ini tidak ditampilkan di sisa latihan ini tetapi mereka tersedia.

  2. Buat file skema dalam JSON format dengan menyimpan kode berikut ke file bernamaMovieRatingSchema.json. Skema cocok dengan header yang sebelumnya Anda tambahkan. ratings.csv Nama skema adalahInteractions, yang cocok dengan salah satu jenis kumpulan data yang dikenali oleh Amazon Personalize. Untuk informasi selengkapnya, lihat Membuat JSON file skema untuk skema Amazon Personalize.

    { "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0" }
  3. Buat skema dengan menjalankan perintah berikut. Tentukan file yang Anda simpan di langkah sebelumnya. Contoh menunjukkan file sebagai milik folder saat ini. Untuk informasi lebih lanjut tentangAPI, lihatCreateSchema.

    aws personalize create-schema \ --name MovieRatingSchema \ --schema file://MovieRatingSchema.json

    Skema Amazon Resource Name (ARN) ditampilkan, misalnya:

    { "schemaArn": "arn:aws:personalize:us-west-2:acct-id:schema/MovieRatingSchema" }
  4. Buat dataset kosong dengan menjalankan perintah berikut. Berikan grup kumpulan data ARN dan skema ARN yang dikembalikan pada langkah sebelumnya. dataset-typeHarus cocok dengan skema name dari langkah sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatCreateDataset.

    aws personalize create-dataset \ --name MovieRatingDataset \ --dataset-group-arn arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup \ --dataset-type Interactions \ --schema-arn arn:aws:personalize:us-west-2:acct-id:schema/MovieRatingSchema

    Dataset ARN ditampilkan, misalnya:

    { "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/MovieRatingDatasetGroup/INTERACTIONS" }
  5. Tambahkan data pelatihan ke kumpulan data.

    1. Buat pekerjaan impor dataset dengan menjalankan perintah berikut. Berikan kumpulan data ARN dan nama bucket Amazon S3 yang dikembalikan pada langkah sebelumnya. Berikan peran AWS Identity and Access Management (IAM) yang ARN Anda buatMembuat IAM peran untuk Amazon Personalize. Untuk informasi lebih lanjut tentangAPI, lihatCreateDatasetImportJob.

      aws personalize create-dataset-import-job \ --job-name MovieRatingImportJob \ --dataset-arn arn:aws:personalize:us-west-2:acct-id:dataset/MovieRatingDatasetGroup/INTERACTIONS \ --data-source dataLocation=s3://amzn-s3-demo-bucket/ratings.csv \ --role-arn roleArn

      Pekerjaan impor dataset ARN ditampilkan, misalnya:

      { "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/MovieRatingImportJob" }
    2. Periksa status dengan menggunakan describe-dataset-import-job perintah. Berikan pekerjaan impor dataset ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatDescribeDatasetImportJob.

      aws personalize describe-dataset-import-job \ --dataset-import-job-arn arn:aws:personalize:us-west-2:acct-id:dataset-import-job/MovieRatingImportJob

      Properti pekerjaan impor dataset, termasuk statusnya, ditampilkan. Awalnya, status pertunjukan sebagai CREATEPENDING, misalnya:

      { "datasetImportJob": { "jobName": "MovieRatingImportJob", "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/MovieRatingImportJob", "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/MovieRatingDatasetGroup/INTERACTIONS", "dataSource": { "dataLocation": "s3://amzn-s3-demo-bucket/ratings.csv" }, "roleArn": "role-arn", "status": "CREATE PENDING", "creationDateTime": 1542392161.837, "lastUpdatedDateTime": 1542393013.377 } }

      Impor dataset selesai ketika status ditampilkan sebagaiACTIVE. Kemudian Anda siap untuk melatih model menggunakan dataset yang ditentukan.

      catatan

      Mengimpor membutuhkan waktu. Tunggu hingga impor dataset selesai sebelum melatih model menggunakan dataset.

Untuk melatih model, Anda membuat konfigurasi untuk melatih model menggunakan CreateSolution operasi dan membiarkan pelatihan otomatis aktif. Solusi secara otomatis mulai melatih solusi pertama dalam waktu satu jam.

Anda melatih model menggunakan resep dan data pelatihan Anda. Amazon Personalize menyediakan satu set resep yang telah ditentukan. Untuk informasi selengkapnya, lihat Memilih resep. Untuk latihan ini, Anda menggunakan resep User-personalisasi-v2.

  1. Buat konfigurasi untuk melatih model dengan menjalankan perintah berikut. Perintah ini menciptakan solusi yang menggunakan pelatihan otomatis. Secara otomatis membuat versi solusi baru setiap tujuh hari (default).

    aws personalize create-solution \ --name MovieSolution \ --dataset-group-arn arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup \ --recipe-arn arn:aws:personalize:::recipe/aws-user-personalization-v2 \ --perform-auto-training \ --solution-config "{\"autoTrainingConfig\": {\"schedulingExpression\": \"rate(7 days)\"}}"

    ARNSolusinya ditampilkan, misalnya:

    { "solutionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution" }
  2. Periksa status buat menggunakan describe-solution perintah. Berikan solusi ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatDescribeSolution.

    aws personalize describe-solution \ --solution-arn arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution

    Sifat-sifat solusi dan status pembuatan ditampilkan. Sebagai contoh:

    { "solution": { "name": "MovieSolution", "solutionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution", "performHPO": false, "performAutoML": false, "recipeArn": "arn:aws:personalize:::recipe/aws-user-personalization-v2", "datasetGroupArn": "arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup", "solutionConfig": { "algorithmHyperParameters": { "apply_recency_bias": "true" }, "featureTransformationParameters": {}, "autoTrainingConfig": { "schedulingExpression": "rate(7 days)" } }, "status": "ACTIVE", "creationDateTime": "2021-05-12T16:27:59.819000-07:00", "lastUpdatedDateTime": "2021-05-12T16:27:59.819000-07:00" } }
  3. Dengan pelatihan otomatis, pelatihan versi solusi dimulai dalam satu setelah solusinyaACTIVE. Setelah pelatihan dimulai, Anda bisa mendapatkan Amazon Resource Name (ARN) versi solusi dengan ListSolutionVersionsperintah berikut:

    aws personalize list-solution-versions --solution-arn arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution
  4. Periksa status pelatihan versi solusi dengan menggunakan describe-solution-version perintah. Berikan versi solusi ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatDescribeSolutionVersion.

    aws personalize describe-solution-version \ --solution-version-arn arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/version-id

    Properti versi solusi dan pelatihan status ditampilkan. Awalnya, status ditampilkan sebagai CREATEPENDING, misalnya:

    { "solutionVersion": { "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/<version-id>", ..., "status": "CREATE PENDING" } }
  5. Ketika versi status solusinyaACTIVE, pelatihan selesai.

    Sekarang Anda dapat meninjau metrik pelatihan dan membuat kampanye menggunakan versi solusi.

    catatan

    Pelatihan membutuhkan waktu. Tunggu hingga pelatihan selesai (status pelatihan versi solusi ditampilkan sebagaiACTIVE) sebelum menggunakan versi solusi ini dalam kampanye.

  6. Anda dapat memvalidasi kinerja versi solusi dengan meninjau metriknya. Dapatkan metrik untuk versi solusi dengan menjalankan perintah berikut. Berikan versi solusi ARN yang dikembalikan sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatGetSolutionMetrics.

    aws personalize get-solution-metrics \ --solution-version-arn arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/version-id

    Respons sampel ditampilkan:

    { "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/www-solution/<version-id>", "metrics": { "coverage": 0.0485, "mean_reciprocal_rank_at_25": 0.0381, "normalized_discounted_cumulative_gain_at_10": 0.0363, "normalized_discounted_cumulative_gain_at_25": 0.0984, "normalized_discounted_cumulative_gain_at_5": 0.0175, "precision_at_10": 0.0107, "precision_at_25": 0.0207, "precision_at_5": 0.0107 } }

Sebelum Anda bisa mendapatkan rekomendasi, Anda harus menerapkan versi solusi. Menyebarkan solusi juga dikenal sebagai membuat kampanye. Setelah Anda membuat kampanye, aplikasi klien Anda bisa mendapatkan rekomendasi menggunakan GetRecommendationsAPI.

  1. Buat kampanye dengan menjalankan perintah berikut. Berikan versi solusi ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatCreateCampaign.

    aws personalize create-campaign \ --name MovieRecommendationCampaign \ --solution-version-arn arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/version-id \ --min-provisioned-tps 1

    Respons sampel ditampilkan:

    { "campaignArn": "arn:aws:personalize:us-west-2:acct-id:campaign/MovieRecommendationCampaign" }
  2. Periksa status penyebaran dengan menjalankan perintah berikut. Berikan kampanye ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatDescribeCampaign.

    aws personalize describe-campaign \ --campaign-arn arn:aws:personalize:us-west-2:acct-id:campaign/MovieRecommendationCampaign

    Respons sampel ditampilkan:

    { "campaign": { "name": "MovieRecommendationCampaign", "campaignArn": "arn:aws:personalize:us-west-2:acct-id:campaign/MovieRecommendationCampaign", "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/<version-id>", "minProvisionedTPS": "1", "creationDateTime": 1543864775.923, "lastUpdatedDateTime": 1543864791.923, "status": "CREATE IN_PROGRESS" } }
    catatan

    Tunggu hingga status pertunjukan seperti ACTIVE sebelum mendapatkan rekomendasi dari kampanye.

Dapatkan rekomendasi dengan menjalankan get-recommendations perintah. Berikan kampanye ARN yang dikembalikan pada langkah sebelumnya. Dalam permintaan, Anda menentukan ID pengguna dari kumpulan data peringkat film. Untuk informasi lebih lanjut tentangAPI, lihatGetRecommendations.

catatan

Tidak semua resep mendukung GetRecommendationsAPI. Untuk informasi selengkapnya, lihat Memilih resep.

AWS CLI Perintah yang Anda panggil dalam langkah inipersonalize-runtime,, berbeda dari pada langkah sebelumnya.

aws personalize-runtime get-recommendations \ --campaign-arn arn:aws:personalize:us-west-2:acct-id:campaign/MovieRecommendationCampaign \ --user-id 123

Sebagai tanggapan, kampanye menampilkan daftar rekomendasi item (filmIDs) yang mungkin disukai pengguna. Daftar ini diurutkan dalam urutan relevansi menurun bagi pengguna.

{ "itemList": [ { "itemId": "14" }, { "itemId": "15" }, { "itemId": "275" }, { "itemId": "283" }, { "itemId": "273" }, ... ] }