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, ikuti langkah-langkah Membersihkan sumber daya untuk menghapus sumber daya yang Anda buat.

catatan

AWS CLIPerintah 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 ARN kunci dan AWS Key Management ServiceARN dari peran IAM yang memiliki izin akses ke kunci tersebut sebagai parameter input. Untuk informasi selengkapnya tentang API, lihat CreateDatasetGroup.

    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 kumpulan data 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 ARN grup kumpulan data yang dikembalikan.

    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 sebagai ACTIVE sebelum membuat kumpulan data dalam grup. Operasi ini biasanya cepat.

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

    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 format JSON dengan menyimpan kode berikut ke file bernama. MovieRatingSchema.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 Skema.

    { "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 selengkapnya tentang API, lihat CreateSchema.

    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 kelompok dataset ARN dan skema ARN yang dikembalikan pada langkah sebelumnya. dataset-typeHarus cocok dengan skema name dari langkah sebelumnya. Untuk informasi selengkapnya tentang API, lihat CreateDataset.

    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 nama bucket ARN dan Amazon S3 kumpulan data yang dikembalikan pada langkah sebelumnya. Berikan peran AWS Identity and Access Management (IAM) ARN yang Anda buat. Membuat peran IAM untuk Amazon Personalize Untuk informasi selengkapnya tentang API, lihat CreateDatasetImportJob.

      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://bucketname/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 ARN pekerjaan impor dataset yang dikembalikan pada langkah sebelumnya. Untuk informasi selengkapnya tentang API, lihat DescribeDatasetImportJob.

      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 ditampilkan sebagai CREATE PENDING, 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://<bucketname>/ratings.csv" }, "roleArn": "role-arn", "status": "CREATE PENDING", "creationDateTime": 1542392161.837, "lastUpdatedDateTime": 1542393013.377 } }

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

      catatan

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

Diperlukan dua langkah untuk melatih model pada awalnya. Pertama, Anda membuat konfigurasi untuk melatih model menggunakan CreateSolution operasi. Kedua, Anda melatih model menggunakan CreateSolutionVersion operasi.

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 Personalisasi Pengguna.

  1. Buat konfigurasi untuk melatih model dengan menjalankan perintah berikut.

    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

    Solusi ARN ditampilkan, misalnya:

    { "solutionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution" }
  2. Periksa status buat menggunakan describe-solution perintah. Memberikan solusi ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi selengkapnya tentang API, lihat DescribeSolution.

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

    Sifat-sifat solusi dan status pembuatan ditampilkan. Awalnya, status ditampilkan sebagai CREATE PENDING, misalnya:

    { "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", "datasetGroupArn": "arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup", "solutionConfig": {}, "status": "ACTIVE", "creationDateTime": "2021-05-12T16:27:59.819000-07:00", "lastUpdatedDateTime": "2021-05-12T16:27:59.819000-07:00" } }
  3. Saat solusinya AKTIF, latih model dengan menjalankan perintah berikut.

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

    Versi solusi ARN ditampilkan, misalnya:

    { "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/<version-id>" }

    Periksa status pelatihan versi solusi dengan menggunakan describe-solution-version perintah. Berikan solusi versi ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi selengkapnya tentang API, lihat DescribeSolutionVersion.

    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 CREATE PENDING, misalnya:

    { "solutionVersion": { "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/<version-id>", ..., "status": "CREATE PENDING" } }
  4. Ketika versi status solusi AKTIF, 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 sebagai AKTIF) sebelum menggunakan versi solusi ini dalam kampanye.

  5. Anda dapat memvalidasi kinerja versi solusi dengan meninjau metriknya. Dapatkan metrik untuk versi solusi dengan menjalankan perintah berikut. Berikan solusi versi ARN yang dikembalikan sebelumnya. Untuk informasi selengkapnya tentang API, lihat GetSolutionMetrics.

    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 GetRecommendations API.

  1. Buat kampanye dengan menjalankan perintah berikut. Berikan solusi versi ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi selengkapnya tentang API, lihat CreateCampaign.

    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 selengkapnya tentang API, lihat DescribeCampaign.

    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 sebagai AKTIF 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 selengkapnya tentang API, lihat GetRecommendations.

catatan

Tidak semua resep mendukung GetRecommendations API. Untuk informasi selengkapnya, lihat Memilih resep.

AWS CLIPerintah 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 (ID film) yang mungkin disukai pengguna. Daftar ini diurutkan dalam urutan relevansi menurun bagi pengguna.

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