Memfilter rekomendasi waktu nyata - Amazon Personalize

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

Memfilter rekomendasi waktu nyata

Anda dapat memfilter rekomendasi real-time dengan konsol Amazon Personalize, AWS Command Line Interface (AWS CLI), atau SDK AWS .

Ketika Anda mendapatkan rekomendasi item yang dipersonalisasi atau item serupa, Anda dapat menentukan promosi dalam permintaan Anda. Promosi menggunakan filter untuk menentukan aturan bisnis tambahan yang berlaku untuk subset item yang direkomendasikan yang dapat dikonfigurasi. Untuk informasi selengkapnya, lihat Mempromosikan item dalam rekomendasi.

Memfilter rekomendasi waktu nyata (konsol)

Untuk memfilter rekomendasi real-time menggunakan konsol, buat filter dan kemudian terapkan ke permintaan rekomendasi.

catatan

Untuk memfilter rekomendasi menggunakan filter dengan parameter dan kampanye yang diterapkan sebelum 10 November 2020, Anda harus menerapkan ulang kampanye dengan menggunakan UpdateCampaign operasi atau membuat kampanye baru.

Membuat filter (konsol)

Untuk membuat filter di konsol, pilih grup kumpulan data yang berisi kampanye atau pemberi rekomendasi yang ingin Anda gunakan untuk mendapatkan rekomendasi yang difilter. Kemudian berikan nama filter dan ekspresi filter.

Untuk membuat filter (konsol)
  1. Buka konsol Amazon Personalize di https://console.aws.amazon.com/personalize/home dan masuk ke akun Anda.

  2. Pilih grup kumpulan data yang berisi kampanye atau pemberi rekomendasi yang ingin Anda gunakan untuk mendapatkan rekomendasi yang difilter.

  3. Di panel navigasi, pilih Filter dan kemudian pilih Buat filter baru. Halaman Create filter ditampilkan.

    Menggambarkan halaman buat filter dengan nama filter dan bidang ekspresi.
  4. Untuk nama Filter, masukkan nama untuk filter Anda. Anda akan memilih filter dengan nama ini saat Anda menerapkannya pada permintaan rekomendasi.

  5. Untuk Expression, pilih Build expression atau Add expression secara manual dan build atau masukkan ekspresi Anda:

    • Untuk menggunakan pembuat ekspresi, pilih Build expression. Pembuat ekspresi menyediakan struktur, bidang, dan pedoman untuk membuat ekspresi filter yang diformat dengan benar. Untuk informasi selengkapnya, lihat Menggunakan pembuat ekspresi filter.

    • Untuk memasukkan ekspresi Anda sendiri, pilih Tambahkan ekspresi secara manual. Untuk informasi selengkapnya, lihat Filter elemen ekspresi.

  6. Pilih Selesai. Halaman ikhtisar filter menunjukkan nama sumber daya Amazon (ARN) filter, status, dan ekspresi filter lengkap. Untuk menghapus filter, pilih Hapus. Untuk informasi tentang menemukan dan menghapus filter setelah Anda meninggalkan halaman ikhtisar, lihatMenghapus filter (konsol).

    Menggambarkan halaman detail filter dengan ARN dan ekspresi filter.

Menerapkan filter (konsol)

Untuk menerapkan filter, di Rekomendasi pengujian (untuk pemberi rekomendasi) atau Hasil kampanye uji (untuk kampanye khusus), pilih filter dan masukkan nilai parameter filter apa pun. Kemudian dapatkan rekomendasi untuk pengguna.

penting

Untuk ekspresi filter yang menggunakan INCLUDE elemen, Anda harus memberikan nilai untuk semua parameter yang didefinisikan dalam ekspresi. Untuk filter dengan ekspresi yang menggunakan EXCLUDE elemen, Anda dapat menghilangkan. filter-values Dalam kasus ini, Amazon Personalize tidak menggunakan bagian ekspresi tersebut untuk memfilter rekomendasi.

Untuk menerapkan filter (konsol)
  1. Buka konsol Amazon Personalize di https://console.aws.amazon.com/personalize/home dan masuk ke akun Anda.

  2. Pilih grup kumpulan data yang berisi kampanye atau pemberi rekomendasi yang ingin Anda gunakan untuk mendapatkan rekomendasi yang difilter.

  3. Bergantung pada jenis grup kumpulan data atau tipe sumber daya Anda, lakukan salah satu hal berikut:

    1. Untuk grup kumpulan data Domain, di panel navigasi pilih Rekomendasi.

    2. Untuk grup kumpulan data kustom atau sumber daya kustom, di panel navigasi pilih Sumber daya kustom lalu Kampanye.

  4. Pada halaman Rekomendasi atau Kampanye, pilih rekomendasi target atau kampanye.

  5. Sebagai perbandingan, mulailah dengan mendapatkan rekomendasi tanpa menerapkan filter. Di bawah Rekomendasi pengujian/Hasil kampanye uji, masukkan ID pengguna yang ingin Anda rekomendasikan, atau ID item untuk item terkait, dan pilih Dapatkan rekomendasi. Tabel yang berisi rekomendasi teratas muncul.

    Menggambarkan hasil rekomendasi tanpa menerapkan filter.
  6. Dari menu Filter name, pilih filter yang Anda buat. Jika filter Anda memiliki parameter placeholder, bidang terkait untuk setiap parameter akan muncul.

  7. Jika Anda menggunakan filter dengan parameter placeholder, untuk setiap parameter, masukkan nilai untuk menetapkan kriteria filter. Untuk menggunakan beberapa nilai untuk satu parameter, pisahkan setiap nilai dengan koma.

  8. Menggunakan yang sama User ID atau Item ID seperti pada langkah sebelumnya, pilih Dapatkan rekomendasi. Tabel rekomendasi muncul.

    Menggambarkan hasil rekomendasi dengan filter yang diterapkan.

    Misalnya, jika pengguna sudah membeli item yang direkomendasikan, filter menghapusnya dari daftar rekomendasi. Dalam contoh ini, item 2657, 2985 digantikan oleh item yang paling cocok yang tidak dibeli pengguna (item 2641 dan 1573).

Menggunakan pembuat ekspresi filter

Pembuat Ekspresi pada halaman Buat filter menyediakan struktur, bidang, dan pedoman untuk membuat filter yang diformat dengan benar.

Menggambarkan bidang pembuat ekspresi pada halaman buat filter.

Untuk membangun ekspresi filter:

  • Gunakan bidang Type, Action, Property, Operator, dan Value untuk membuat ekspresi.

    Untuk Nilai, masukkan nilai tetap atau, untuk menetapkan kriteria filter saat Anda mendapatkan rekomendasi, masukkan $ + nama parameter. Misalnya, $GENRES. Ketika Anda mendapatkan rekomendasi, Anda akan memberikan nilai atau nilai untuk difilter. Dalam contoh ini, Anda akan memberikan genre atau daftar genre ketika Anda mendapatkan rekomendasi.

    Pisahkan beberapa nilai non-parameter dengan koma. Anda tidak dapat menambahkan parameter yang dipisahkan koma ke filter.

    catatan

    Setelah Anda memilih Properti (dalam dataset.field format), nilai Properti untuk setiap baris berikutnya yang dirantai oleh AND atau OR kondisi harus menggunakan yang sama. dataset

  • Gunakan tombol + dan X untuk menambah atau menghapus baris dari ekspresi Anda. Anda tidak dapat menghapus baris pertama.

  • Untuk baris baru, gunakan ANDIF,, atau OR operator pada menu AND untuk membuat rantai kondisi.

    Untuk IF kondisi:

    • Setiap ekspresi hanya dapat berisi satu IF item. Jika Anda menghapus kondisi IF, pembuat Ekspresi menghapus AND kondisi apa pun yang mengikutinya.

    • Anda dapat menggunakan IF kondisi hanya untuk ekspresi yang memfilter olehCurrentUser.

  • Pilih Tambahkan ekspresi tombol untuk menambahkan ekspresi filter tambahan untuk pemfilteran yang lebih tepat. Setiap ekspresi pertama-tama dievaluasi secara independen dan hasilnya adalah penyatuan dari dua hasil.

    catatan

    Untuk membuat filter yang menggunakan kumpulan data interaksi Item dan Item, atau kumpulan data interaksi Tindakan dan Tindakan, Anda harus menggunakan beberapa ekspresi.

Contoh pembuat ekspresi

Contoh berikut menunjukkan cara membuat filter yang mengecualikan item dengan genre yang Anda tentukan saat Anda mendapatkan rekomendasi (perhatikan parameter placeholder $GENRES). Filter juga mengecualikan item dengan lebih DOWNLOAD_COUNT dari200, tetapi hanya jika usia pengguna saat ini lebih besar dari17.

Menunjukkan cara menggunakan pembuat ekspresi untuk membangun ekspresi filter contoh.

Menghapus filter (konsol)

Menghapus filter akan menghapus filter dari daftar filter untuk grup kumpulan data.

penting

Anda tidak dapat menghapus filter saat pekerjaan inferensi batch sedang berlangsung.

Untuk menghapus filter (konsol)
  1. Buka konsol Amazon Personalize di https://console.aws.amazon.com/personalize/home dan masuk ke akun Anda.

  2. Dari daftar grup Dataset, pilih grup kumpulan data yang berisi filter yang ingin Anda hapus.

  3. Di panel navigasi, pilih Filter.

  4. Dari daftar filter, pilih filter yang ingin Anda hapus dan pilih Lihat Detail. Halaman detail filter muncul.

  5. Pilih Hapus dan konfirmasikan penghapusan di kotak dialog konfirmasi.

Memfilter rekomendasi waktu nyata ()AWS CLI

Untuk memfilter rekomendasi menggunakan AWS CLI, Anda membuat filter dan kemudian menerapkannya dengan menentukan filter ARN dalam permintaan GetRecommendations atauGetPersonalizedRanking.

penting

Untuk memfilter rekomendasi menggunakan filter dengan parameter dan kampanye yang Anda gunakan sebelum 10 November 2020, Anda harus menerapkan ulang kampanye dengan menggunakan UpdateCampaign panggilan atau membuat kampanye baru.

Membuat filter (AWS CLI)

Gunakan create-filter operasi berikut untuk membuat filter dan menentukan ekspresi filter.

Ganti Filter name dengan nama filter, dan Dataset group ARN dengan Amazon Resource Name (ARN) dari grup dataset. Ganti sampel filter-expression dengan ekspresi filter Anda sendiri.

aws personalize create-filter \ --name Filter name \ --dataset-group-arn dataset group arn \ --filter-expression "EXCLUDE ItemID WHERE Items.CATEGORY IN (\"$CATEGORY\")"

Jika berhasil, filter ARN ditampilkan. Rekam untuk digunakan nanti. Untuk memverifikasi bahwa filter aktif, gunakan DescribeFilter operasi sebelum Anda menggunakan filter.

Untuk informasi selengkapnya tentang API, lihat CreateFilter. Untuk informasi selengkapnya tentang ekspresi filter, termasuk contoh, lihatFilter struktur ekspresi dan elemen.

Menerapkan filter (AWS CLI)

Saat Anda menggunakanget-recommendations, get-action-recommendations atau get-personalized-ranking operasi, Anda menerapkan filter dengan meneruskan filter-arn dan nilai filter apa pun sebagai parameter.

Berikut ini adalah contoh get-recommendations operasi. Ganti Campaign ARN dengan Nama Sumber Daya Amazon (ARN) kampanye Anda User ID dengan ID pengguna yang Anda dapatkan rekomendasinya, dan Filter ARN dengan ARN filter Anda. Jika Anda mendapatkan rekomendasi dari pemberi rekomendasi alih-alih kampanye, gunakan recommender-arn alih-alih --campaign-arn dan berikan ARN untuk pemberi rekomendasi.

Jika ekspresi Anda memiliki parameter apa pun, sertakan filter-values objek. Untuk setiap parameter dalam ekspresi filter Anda, berikan nama parameter (case sensitive) dan nilainya. Misalnya, jika ekspresi filter Anda memiliki $GENRE parameter, berikan “GENRE” sebagai kunci, dan genre atau genre, seperti"Comedy", sebagai nilai. Pisahkan beberapa nilai dengan koma. Misalnya, "\"comedy\",\"drama\",\"horror"\".

penting

Untuk ekspresi filter yang menggunakan INCLUDE elemen untuk menyertakan item, Anda harus memberikan nilai untuk semua parameter yang ditentukan dalam ekspresi. Untuk filter dengan ekspresi yang menggunakan EXCLUDE elemen untuk mengecualikan item, Anda dapat menghilangkan. filter-values Dalam kasus ini, Amazon Personalize tidak menggunakan bagian ekspresi tersebut untuk memfilter rekomendasi.

aws personalize-runtime get-recommendations \ --campaign-arn Campaign ARN \ --user-id User ID \ --filter-arn Filter ARN \ --filter-values '{ "Parameter name": "\"value\"", "Parameter name": "\"value1\",\"value2\",\"value3\"" }'

Menghapus filter ()AWS CLI

Gunakan delete-filter operasi berikut untuk menghapus filter. Ganti filter ARN dengan ARN filter.

aws personalize delete-filter --filter-arn Filter ARN

Memfilter rekomendasi waktu nyata (AWS SDK)

Untuk memfilter rekomendasi menggunakan AWS SDK, Anda membuat filter dan kemudian menerapkannya dengan menentukan filter ARN dalam permintaan atau. GetRecommendations GetPersonalizedRanking

penting

Untuk memfilter rekomendasi menggunakan filter dengan parameter dan kampanye yang Anda gunakan sebelum 10 November 2020, Anda harus menerapkan ulang kampanye dengan menggunakan UpdateCampaign panggilan atau membuat kampanye baru.

Membuat filter (AWS SDK)

Buat filter baru dengan CreateFilter operasi. Kode berikut menunjukkan cara membuat filter. Tentukan nama filter, Nama Sumber Daya Amazon (ARN) grup kumpulan data Anda, dan berikan ekspresi filter Anda.

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') response = personalize.create_filter( name = 'Filter Name', datasetGroupArn = 'Dataset Group ARN', filterExpression = 'EXCLUDE ItemID WHERE Items.CATEGORY IN ($CATEGORY)' ) filter_arn = response["filterArn"] print("Filter ARN: " + filter_arn)
SDK for Java 2.x
public static String createFilter(PersonalizeClient personalizeClient, String filterName, String datasetGroupArn, String filterExpression) { try { CreateFilterRequest request = CreateFilterRequest.builder() .name(filterName) .datasetGroupArn(datasetGroupArn) .filterExpression(filterExpression) .build(); return personalizeClient.createFilter(request).filterArn(); } catch(PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { CreateFilterCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the filter's parameters. export const createFilterParam = { datasetGroupArn: 'DATASET_GROUP_ARN', /* required */ name: 'NAME', /* required */ filterExpression: 'FILTER_EXPRESSION' /*required */ } export const run = async () => { try { const response = await personalizeClient.send(new CreateFilterCommand(createFilterParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Rekam filter ARN untuk digunakan nanti. Untuk memverifikasi bahwa filter aktif, gunakan DescribeFilter operasi sebelum menggunakan filter. Untuk informasi selengkapnya tentang API, lihat CreateFilter. Untuk informasi selengkapnya tentang ekspresi filter, termasuk contoh, lihatFilter struktur ekspresi dan elemen.

Menerapkan filter (AWS SDK)

Saat Anda menggunakan GetRecommendations, GetActionRecommendations, atau GetPersonalizedRanking operasi, terapkan filter dengan melewatkan nilai filter filterArn dan apa pun sebagai parameter.

Kode berikut menunjukkan cara mendapatkan rekomendasi item Amazon Personalize yang difilter untuk pengguna. Tentukan ID pengguna yang ingin Anda rekomendasikan, Nama Sumber Daya Amazon (ARN) kampanye Anda, dan ARN filter Anda. Jika Anda mendapatkan rekomendasi dari pemberi rekomendasi alih-alih kampanye, gunakan recommenderArn alih-alih campaignArn dan berikan ARN untuk pemberi rekomendasi.

UntukfilterValues, untuk setiap parameter opsional dalam ekspresi filter Anda, berikan nama parameter (case sensitive) dan nilai atau nilai. Misalnya, jika ekspresi filter Anda memiliki $GENRES parameter, berikan “GENRES” sebagai kunci, dan genre atau genre, seperti"\"Comedy"\", sebagai nilai. Untuk beberapa nilai, pisahkan setiap nilai dengan koma. Misalnya, "\"comedy\",\"drama\",\"horror\"".

penting

Untuk ekspresi filter yang menggunakan INCLUDE elemen untuk menyertakan item, Anda harus memberikan nilai untuk semua parameter yang ditentukan dalam ekspresi. Untuk filter dengan ekspresi yang menggunakan EXCLUDE elemen untuk mengecualikan item, Anda dapat menghilangkan. filter-values Dalam kasus ini, Amazon Personalize tidak menggunakan bagian ekspresi tersebut untuk memfilter rekomendasi.

SDK for Python (Boto3)
import boto3 personalize_runtime = boto3.client("personalize-runtime") response = personalize_runtime.get_recommendations( campaignArn = "Campaign ARN", userId = "User ID", filterArn = "Filter ARN", filterValues = { "Parameter name": "\"value1\"", "Parameter name": "\"value1\",\"value2\",\"value3\"" .... } )
SDK for Java 2.x

Contoh berikut menggunakan dua parameter, satu dengan dua nilai dan satu dengan satu nilai. Bergantung pada ekspresi filter Anda, ubah kode untuk menambah atau menghapus bidang ParameterName dan ParameterValue.

public static void getFilteredRecs(PersonalizeRuntimeClient personalizeRuntimeClient, String campaignArn, String userId, String filterArn, String parameter1Name, String parameter1Value1, String parameter1Value2, String parameter2Name, String parameter2Value){ try { Map<String, String> filterValues = new HashMap<>(); filterValues.put(parameter1Name, String.format("\"%1$s\",\"%2$s\"", parameter1Value1, parameter1Value2)); filterValues.put(parameter2Name, String.format("\"%1$s\"", parameter2Value)); GetRecommendationsRequest recommendationsRequest = GetRecommendationsRequest.builder() .campaignArn(campaignArn) .numResults(20) .userId(userId) .filterArn(filterArn) .filterValues(filterValues) .build(); GetRecommendationsResponse recommendationsResponse = personalizeRuntimeClient.getRecommendations(recommendationsRequest); List<PredictedItem> items = recommendationsResponse.itemList(); for (PredictedItem item: items) { System.out.println("Item Id is : "+item.itemId()); System.out.println("Item score is : "+item.score()); } } catch (PersonalizeRuntimeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { GetRecommendationsCommand } from "@aws-sdk/client-personalize-runtime"; import { personalizeRuntimeClient } from "./libs/personalizeClients.js"; // Or, create the client here: // const personalizeRuntimeClient = new PersonalizeRuntimeClient({ region: "REGION"}); // Set recommendation request parameters. export const getRecommendationsParam = { campaignArn: 'CAMPAIGN_ARN', /* required */ userId: 'USER_ID', /* required */ numResults: 15, /* optional */ filterArn: 'FILTER_ARN', /* required to filter recommendations */ filterValues: { "PROPERTY": "\"VALUE\"" /* Only required if your filter has a placeholder parameter */ } } export const run = async () => { try { const response = await personalizeRuntimeClient.send(new GetRecommendationsCommand(getRecommendationsParam)); console.log("Success!", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Menghapus filter (AWS Python SDK)

Gunakan delete_filter metode berikut untuk menghapus filter. Ganti filter ARN dengan ARN filter.

import boto3 personalize = boto3.client("personalize") response = personalize.delete_filter( filterArn = "filter ARN" )