Resep Personalisasi Pengguna - Amazon Personalize

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

Resep Personalisasi Pengguna

penting

Kami merekomendasikan menggunakan resep User-personalisasi-v2. Ini dapat mempertimbangkan hingga 5 juta item dengan pelatihan yang lebih cepat, dan menghasilkan rekomendasi yang lebih relevan dengan latensi yang lebih rendah.

Resep User-Personalization (aws-user-personalization) dioptimalkan untuk semua skenario rekomendasi yang dipersonalisasi. Ini memprediksi item yang kemungkinan besar akan berinteraksi dengan pengguna. Anda dapat menggunakan Personalisasi Pengguna untuk menghasilkan rekomendasi film yang dipersonalisasi untuk aplikasi streaming atau rekomendasi produk yang dipersonalisasi untuk aplikasi ritel.

Dengan Personalisasi Pengguna, Amazon Personalize menghasilkan rekomendasi terutama berdasarkan data interaksi item pengguna dalam kumpulan data interaksi Item. Itu juga dapat menggunakan item dan metadata pengguna apa pun di kumpulan data Item dan Pengguna Anda. Untuk informasi selengkapnya tentang data yang digunakannya, lihatKumpulan data yang diperlukan dan opsional.

Fitur resep

Personalisasi Pengguna menggunakan fitur resep Amazon Personalize berikut saat membuat rekomendasi item:

  • Personalisasi waktu nyata - Dengan personalisasi waktu nyata, Amazon Personalisasi pembaruan dan menyesuaikan rekomendasi item sesuai dengan minat pengguna yang terus berkembang. Untuk informasi selengkapnya, lihat Personalisasi waktu nyata.

  • Eksplorasi — Dengan eksplorasi, rekomendasi mencakup item atau item baru dengan data interaksi yang lebih sedikit. Ini meningkatkan penemuan dan keterlibatan item saat Anda memiliki katalog yang berubah dengan cepat, atau ketika item baru, seperti artikel berita atau promosi, lebih relevan bagi pengguna saat baru. Untuk informasi lebih lanjut tentang eksplorasi, lihatEksplorasi.

  • Pembaruan otomatis - Dengan pembaruan otomatis, Amazon Personalize secara otomatis memperbarui model terbaru (versi solusi) setiap dua jam untuk mempertimbangkan item baru untuk rekomendasi. Untuk informasi selengkapnya, lihat Pembaruan otomatis.

Kumpulan data yang diperlukan dan opsional

Untuk menggunakan Personalisasi Pengguna, Anda harus membuat kumpulan data interaksi Item dan mengimpor minimal 1000 interaksi item. Amazon Personalize menghasilkan rekomendasi terutama berdasarkan data interaksi item.

Dengan Personalisasi Pengguna, Amazon Personalize dapat menggunakan data interaksi Item yang mencakup hal-hal berikut:

  • Jenis peristiwa dan data nilai peristiwa - Amazon Personalize menggunakan data tipe peristiwa, seperti jenis peristiwa klik atau tonton, untuk mengidentifikasi maksud dan minat pengguna melalui pola apa pun dalam perilaku mereka. Selain itu, Anda dapat menggunakan jenis peristiwa dan data nilai acara untuk memfilter catatan sebelum pelatihan. Untuk informasi selengkapnya, lihat Jenis peristiwa dan data nilai acara.

  • Metadata kontekstual — Metadata kontekstual adalah data interaksi yang Anda kumpulkan di lingkungan pengguna pada saat kejadian, seperti lokasi atau jenis perangkat mereka. Untuk informasi selengkapnya, lihat Metadata kontekstual.

  • Data tayangan — Tayangan adalah daftar item yang terlihat oleh pengguna saat berinteraksi dengan (diklik, ditonton, dibeli, dan sebagainya) item tertentu. Untuk informasi selengkapnya, lihat Data tayangan.

Kumpulan data berikut bersifat opsional dan dapat meningkatkan rekomendasi:

  • Kumpulan data pengguna — Amazon Personalize dapat menggunakan data dalam kumpulan data Pengguna Anda untuk lebih memahami pengguna Anda dan minat mereka. Anda juga dapat menggunakan data dalam kumpulan data Pengguna untuk memfilter rekomendasi. Untuk informasi tentang data pengguna yang dapat Anda impor, lihatMetadata pengguna.

  • Kumpulan data item — Amazon Personalize dapat menggunakan data dalam kumpulan data Item Anda untuk mengidentifikasi koneksi dan pola dalam perilakunya. Ini membantu Amazon Personalisasi memahami pengguna Anda dan minat mereka. Anda juga dapat menggunakan data dalam kumpulan data Item untuk memfilter rekomendasi. Untuk informasi tentang data item yang dapat Anda impor, lihatMetadata barang.

Properti dan hiperparameter

Resep User-Personalization memiliki properti berikut:

  • Namaaws-user-personalization

  • Resep Nama Sumber Daya Amazon (ARN)arn:aws:personalize:::recipe/aws-user-personalization

  • Algoritma ARNarn:aws:personalize:::algorithm/aws-user-personalization

Untuk informasi selengkapnya, lihat Memilih resep.

Tabel berikut menjelaskan hyperparameters untuk resep User-Personalization. Hyperparameter adalah parameter algoritma yang dapat Anda sesuaikan untuk meningkatkan kinerja model. Algoritma hyperparameters mengontrol bagaimana kinerja model. Hyperparameter featurisasi mengontrol cara memfilter data yang akan digunakan dalam pelatihan. Proses memilih nilai terbaik untuk hyperparameter disebut hyperparameter optimization ()HPO. Untuk informasi selengkapnya, lihat Hyperparameter dan HPO.

Tabel memberikan informasi berikut untuk setiap hyperparameter:

  • Rentang: [batas bawah, batas atas]

  • Jenis nilai: Integer, Continuous (float), Kategoris (Boolean, daftar, string)

  • HPOtunable: Dapatkah parameter berpartisipasi? HPO

Nama Penjelasan
Hiperparameter algoritma
hidden_dimension

Jumlah variabel tersembunyi yang digunakan dalam model. Variabel tersembunyi membuat ulang riwayat pembelian pengguna dan statistik item untuk menghasilkan skor peringkat. Tentukan lebih banyak dimensi tersembunyi saat kumpulan data interaksi Item Anda menyertakan pola yang lebih rumit. Menggunakan dimensi yang lebih tersembunyi membutuhkan dataset yang lebih besar dan lebih banyak waktu untuk diproses. Untuk menentukan nilai terbaik, gunakanHPO. Untuk menggunakanHPO, atur performHPO ke true saat Anda memanggil CreateSolution dan CreateSolutionVersion operasi.

Nilai default: 149

Rentang: [32, 256]

Jenis nilai: Integer

HPOdapat disetel: Ya

bptt

Menentukan apakah akan menggunakan teknik propagasi balik melalui waktu. Propagasi balik melalui waktu adalah teknik yang memperbarui bobot dalam algoritme berbasis jaringan saraf berulang. Gunakan kredit jangka panjang bptt untuk menghubungkan hadiah yang tertunda ke acara awal. Misalnya, hadiah yang tertunda dapat berupa pembelian yang dilakukan setelah beberapa klik. Acara awal bisa menjadi klik awal. Bahkan dalam jenis acara yang sama, seperti klik, ada baiknya untuk mempertimbangkan efek jangka panjang dan memaksimalkan total hadiah. Untuk mempertimbangkan efek jangka panjang, gunakan bptt nilai yang lebih besar. Menggunakan bptt nilai yang lebih besar membutuhkan kumpulan data yang lebih besar dan lebih banyak waktu untuk diproses.

Nilai default: 32

Rentang: [2, 32]

Jenis nilai: Integer

HPOdapat disetel: Ya

recency_mask

Menentukan apakah model harus mempertimbangkan tren popularitas terbaru dalam kumpulan data interaksi Item. Tren popularitas terbaru mungkin termasuk perubahan mendadak dalam pola yang mendasari peristiwa interaksi. Untuk melatih model yang memberi bobot lebih pada peristiwa baru-baru ini, atur recency_mask ketrue. Untuk melatih model yang sama-sama menimbang semua interaksi masa lalu, atur recency_mask kefalse. Untuk mendapatkan rekomendasi yang baik menggunakan bobot yang sama, Anda mungkin memerlukan kumpulan data pelatihan yang lebih besar.

Nilai default: True

Rentang: True atau False

Jenis nilai: Boolean

HPOdapat disetel: Ya

Hiperparameter featurisasi
min_user_history_length_percentile

Persentil minimum panjang riwayat pengguna untuk dimasukkan dalam pelatihan model. Panjang riwayat adalah jumlah total data tentang pengguna. Gunakan min_user_history_length_percentile untuk mengecualikan persentase pengguna dengan panjang riwayat pendek. Pengguna dengan riwayat singkat sering menunjukkan pola berdasarkan popularitas item, bukan kebutuhan atau keinginan pribadi pengguna. Menghapusnya dapat melatih model dengan lebih fokus pada pola yang mendasarinya dalam data Anda. Pilih nilai yang sesuai setelah Anda meninjau panjang riwayat pengguna, menggunakan histogram atau alat serupa. Kami merekomendasikan untuk menetapkan nilai yang mempertahankan mayoritas pengguna, tetapi menghapus kasus tepi.

Misalnya, mengatur min_user_history_length_percentile to 0.05 dan max_user_history_length_percentile to 0.95 menyertakan semua pengguna kecuali yang memiliki panjang riwayat di bagian bawah atau atas 5%.

Nilai default: 0.0

Rentang: [0.0, 1.0]

Jenis nilai: Float

HPOdapat disetel: Tidak

max_user_history_length_percentile

Persentil maksimum panjang riwayat pengguna untuk dimasukkan dalam pelatihan model. Panjang riwayat adalah jumlah total data tentang pengguna. Gunakan max_user_history_length_percentile untuk mengecualikan persentase pengguna dengan panjang sejarah panjang karena data untuk pengguna ini cenderung mengandung noise. Misalnya, robot mungkin memiliki daftar panjang interaksi otomatis. Menghapus pengguna ini membatasi kebisingan dalam pelatihan. Pilih nilai yang sesuai setelah Anda meninjau panjang riwayat pengguna menggunakan histogram atau alat serupa. Kami merekomendasikan untuk menyetel nilai yang mempertahankan mayoritas pengguna tetapi menghapus kasus tepi.

Misalnya, mengatur min_user_history_length_percentile to 0.05 dan max_user_history_length_percentile to 0.95 menyertakan semua pengguna kecuali yang memiliki panjang riwayat di bagian bawah atau atas 5%.

Nilai default: 0,99

Rentang: [0.0, 1.0]

Jenis nilai: Float

HPOdapat disetel: Tidak

Hiperparameter konfigurasi kampanye eksplorasi item
exploration_weight

Menentukan seberapa sering rekomendasi menyertakan item dengan data interaksi item yang lebih sedikit atau relevansi. Semakin dekat nilainya ke 1,0, semakin banyak eksplorasi. Pada nol, tidak ada eksplorasi terjadi dan rekomendasi didasarkan pada data saat ini (relevansi). Untuk informasi selengkapnya, lihat CampaignConfig.

Nilai default: 0.3

Rentang: [0.0, 1.0]

Jenis nilai: Float

HPOdapat disetel: Tidak

exploration_item_age_cut_off

Tentukan usia item maksimum dalam beberapa hari sejak interaksi terbaru di semua item di Kumpulan data interaksi item. Ini mendefinisikan ruang lingkup eksplorasi item berdasarkan usia item. Amazon Personalize menentukan usia item berdasarkan stempel waktu pembuatannya atau, jika data stempel waktu pembuatan tidak ada, data interaksi item. Untuk informasi selengkapnya cara Amazon Personalize menentukan usia item, lihat. Data stempel waktu pembuatan

Untuk meningkatkan item yang dipertimbangkan Amazon Personalize selama eksplorasi, masukkan nilai yang lebih besar. Minimal adalah 1 hari dan defaultnya adalah 30 hari. Rekomendasi mungkin mencakup item yang lebih tua dari potongan usia item yang Anda tentukan. Ini karena item ini relevan dengan pengguna dan eksplorasi tidak mengidentifikasi mereka.

Nilai default: 30,0

Rentang: Pelampung positif

Jenis nilai: Float

HPOdapat disetel: Tidak

Pelatihan dengan resep Personalisasi Pengguna (konsol)

Untuk menggunakan resep User-Personalization untuk menghasilkan rekomendasi di konsol, pertama-tama latih versi solusi baru menggunakan resep. Kemudian terapkan kampanye menggunakan versi solusi dan gunakan kampanye untuk mendapatkan rekomendasi.

Melatih versi solusi baru dengan resep User-Personalization (konsol)
  1. Buka konsol Amazon Personalize di https://console.aws.amazon.com/personalize/rumah dan masuk ke akun Anda.

  2. Buat grup kumpulan data khusus dengan skema baru dan unggah kumpulan data Anda dengan data tayangan. Secara opsional sertakan CREATION_ TIMESTAMP dan Metadata teks tidak terstruktur data dalam kumpulan data Item Anda sehingga Amazon Personalize dapat menghitung usia item dengan lebih akurat dan mengidentifikasi item dingin.

    Untuk informasi selengkapnya tentang mengimpor data, lihatMengimpor data pelatihan ke Amazon Personalize dataset.

  3. Pada halaman grup Dataset, pilih grup kumpulan data baru yang berisi kumpulan data atau kumpulan data dengan data tayangan.

  4. Di panel navigasi, pilih Solusi dan resep dan pilih Buat solusi.

  5. Pada halaman Buat solusi, untuk nama Solusi, masukkan nama solusi baru Anda.

  6. Untuk tipe Solusi, pilih Rekomendasi item untuk mendapatkan rekomendasi item bagi pengguna Anda.

  7. Untuk Resep, pilih aws-user-personalization. Bagian konfigurasi Solusi muncul menyediakan beberapa opsi konfigurasi.

  8. Dalam Konfigurasi tambahan, jika kumpulan data interaksi Item Anda memiliki kolom EVENT _ TYPE atau keduanya EVENT _ TYPE dan EVENT _, gunakan VALUE kolom Jenis peristiwa dan ambang nilai Peristiwa secara opsional untuk memilih data interaksi item yang digunakan Amazon Personalize saat melatih model. Untuk informasi selengkapnya, lihat Memilih data interaksi item yang digunakan untuk pelatihan.

  9. Konfigurasikan hyperparameters secara opsional untuk solusi Anda. Untuk daftar properti resep Personalisasi Pengguna dan hiperparameter, lihat. Properti dan hiperparameter

  10. Pilih Buat dan latih solusi untuk memulai pelatihan. Halaman Dashboard ditampilkan.

    Anda dapat menavigasi ke halaman detail solusi untuk melacak kemajuan pelatihan di bagian Versi solusi. Saat pelatihan selesai, statusnya Aktif.

Membuat kampanye dan mendapatkan rekomendasi (konsol)

Ketika status versi solusi Anda Aktif, Anda siap untuk membuat kampanye dan mendapatkan rekomendasi sebagai berikut:

  1. Di halaman detail solusi atau halaman Kampanye, pilih Buat kampanye baru.

  2. Pada halaman Buat kampanye baru, untuk detail Kampanye, berikan informasi berikut:

    • Nama kampanye: Masukkan nama kampanye. Teks yang Anda masukkan di sini muncul di dasbor Kampanye dan halaman detail.

    • Solusi: Pilih solusi yang baru saja Anda buat.

    • ID versi solusi: Pilih ID versi solusi yang baru saja Anda buat.

    • Transaksi minimum yang disediakan per detik: Tetapkan transaksi minimum yang disediakan per detik yang didukung Amazon Personalize. Untuk informasi lebih lanjut, lihat CreateCampaign operasi.

  3. Untuk konfigurasi Kampanye, berikan informasi berikut:

    • Bobot eksplorasi: Konfigurasikan berapa banyak yang harus dijelajahi, di mana rekomendasi menyertakan item dengan data interaksi item yang lebih sedikit atau relevansi lebih sering, semakin banyak eksplorasi yang Anda tentukan. Semakin dekat nilainya ke 1, semakin banyak eksplorasi. Pada nol, tidak ada eksplorasi terjadi dan rekomendasi didasarkan pada data saat ini (relevansi).

    • Pemotongan usia item eksplorasi: Masukkan usia item maksimum, dalam beberapa hari sejak interaksi terbaru, untuk menentukan ruang lingkup eksplorasi item. Untuk menambah jumlah item yang dipertimbangkan Amazon Personalize selama eksplorasi, masukkan nilai yang lebih besar.

      Misalnya, jika Anda memasukkan 10, hanya item dengan data interaksi item dari 10 hari sejak interaksi terbaru dalam kumpulan data yang dipertimbangkan selama eksplorasi.

      catatan

      Rekomendasi mungkin termasuk item tanpa data interaksi item dari luar kerangka waktu ini. Ini karena item ini relevan dengan minat pengguna, dan eksplorasi tidak diperlukan untuk mengidentifikasi mereka.

  4. Pilih Buat kampanye.

  5. Pada halaman detail kampanye, ketika status kampanye Aktif, Anda dapat menggunakan kampanye untuk mendapatkan rekomendasi dan merekam tayangan. Untuk informasi selengkapnya, lihat Langkah 5: Dapatkan rekomendasi di “Memulai.”

    Amazon Personalize secara otomatis memperbarui versi solusi terbaru Anda setiap dua jam untuk menyertakan data baru. Kampanye Anda secara otomatis menggunakan versi solusi yang diperbarui. Untuk informasi selengkapnya, lihat Pembaruan otomatis.

    Untuk memperbarui kampanye secara manual, pertama-tama Anda membuat dan melatih versi solusi baru menggunakan konsol atau CreateSolutionVersion operasi, dengan trainingMode disetel keupdate. Anda kemudian memperbarui kampanye secara manual di halaman Kampanye konsol atau dengan menggunakan UpdateCampaign operasi.

    catatan

    Amazon Personalize tidak secara otomatis memperbarui versi solusi yang Anda buat sebelum 17 November 2020.

Pelatihan dengan resep User-Personalization (Python) SDK

Ketika Anda telah membuat grup kumpulan data dan mengunggah kumpulan data Anda dengan data tayangan, Anda dapat melatih solusi dengan resep Personalisasi Pengguna. Secara opsional sertakan CREATION_ TIMESTAMP dan Metadata teks tidak terstruktur data dalam kumpulan data Item Anda sehingga Amazon Personalize dapat menghitung usia item dengan lebih akurat dan mengidentifikasi item dingin. Untuk informasi selengkapnya tentang membuat grup kumpulan data dan mengunggah data pelatihan, lihat. Membuat JSON file skema untuk data Anda

Untuk melatih solusi dengan resep User-Personalization menggunakan AWS SDK
  1. Buat solusi baru menggunakan create_solution metode ini.

    Ganti solution name dengan nama solusi Anda dan dataset group arn dengan Amazon Resource Name (ARN) grup dataset Anda.

    import boto3 personalize = boto3.client('personalize') print('Creating solution') create_solution_response = personalize.create_solution(name = 'solution name', recipeArn = 'arn:aws:personalize:::recipe/aws-user-personalization', datasetGroupArn = 'dataset group arn', ) solution_arn = create_solution_response['solutionArn'] print('solution_arn: ', solution_arn)

    Untuk daftar properti aws-user-personalization resep dan hiperparameter, lihatProperti dan hiperparameter.

  2. Buat versi solusi baru dengan data pelatihan yang diperbarui dan atur trainingMode untuk FULL menggunakan cuplikan kode berikut. Ganti solution arn dengan ARN solusi Anda.

    import boto3 personalize = boto3.client('personalize') create_solution_version_response = personalize.create_solution_version(solutionArn = 'solution arn', trainingMode='FULL') new_solution_version_arn = create_solution_version_response['solutionVersionArn'] print('solution_version_arn:', new_solution_version_arn)
  3. Setelah Amazon Personalize selesai membuat versi solusi, buat kampanye dengan parameter berikut:

    • Berikan yang baru campaign name dan yang solution version arn dihasilkan pada langkah 2.

    • Ubah hyperparameter konfigurasi eksplorasi explorationWeight item untuk mengonfigurasi berapa banyak yang harus dijelajahi. Item dengan data interaksi item yang lebih sedikit atau relevansi direkomendasikan lebih sering semakin dekat nilainya ke 1.0. Nilai default adalah 0,3.

    • Ubah parameter hyperparameter konfigurasi eksplorasi explorationItemAgeCutOff item untuk memberikan durasi maksimum, dalam beberapa hari relatif terhadap interaksi terbaru, yang itemnya harus dieksplorasi. Semakin besar nilainya, semakin banyak item yang dipertimbangkan selama eksplorasi.

    Gunakan cuplikan Python berikut untuk membuat kampanye baru dengan penekanan pada eksplorasi dengan cut-off eksplorasi pada 30 hari. Membuat kampanye biasanya memakan waktu beberapa menit tetapi dapat memakan waktu lebih dari satu jam.

    import boto3 personalize = boto3.client('personalize') create_campaign_response = personalize.create_campaign( name = 'campaign name', solutionVersionArn = 'solution version arn', minProvisionedTPS = 1, campaignConfig = {"itemExplorationConfig": {"explorationWeight": "0.3", "explorationItemAgeCutOff": "30"}} ) campaign_arn = create_campaign_response['campaignArn'] print('campaign_arn:', campaign_arn)

    Dengan Personalisasi Pengguna, Amazon Personalize secara otomatis memperbarui versi solusi Anda setiap dua jam untuk menyertakan data baru. Kampanye Anda secara otomatis menggunakan versi solusi yang diperbarui. Untuk informasi selengkapnya, lihat Pembaruan otomatis.

    Untuk memperbarui kampanye secara manual, pertama-tama Anda membuat dan melatih versi solusi baru menggunakan konsol atau CreateSolutionVersion operasi, dengan trainingMode disetel keupdate. Anda kemudian memperbarui kampanye secara manual di halaman Kampanye konsol atau dengan menggunakan UpdateCampaign operasi.

    catatan

    Amazon Personalize tidak secara otomatis memperbarui versi solusi yang Anda buat sebelum 17 November 2020.

Mendapatkan rekomendasi dan merekam tayangan (SDKuntuk Python (Boto3))

Saat kampanye dibuat, Anda dapat menggunakannya untuk mendapatkan rekomendasi bagi pengguna dan merekam tayangan. Untuk informasi tentang mendapatkan rekomendasi batch menggunakan AWS SDKslihatMembuat pekerjaan inferensi batch ()AWS SDKs.

Untuk mendapatkan rekomendasi dan merekam tayangan
  1. Panggil metode get_recommendations. Ubah campaign arn ke ARN kampanye baru Anda dan user id ke userId pengguna.

    import boto3 rec_response = personalize_runtime.get_recommendations(campaignArn = 'campaign arn', userId = 'user id') print(rec_response['recommendationId'])
  2. Buat pelacak acara baru untuk mengirim PutEvents permintaan. Ganti event tracker name dengan nama pelacak acara Anda dan dataset group arn dengan grup ARN kumpulan data Anda.

    import boto3 personalize = boto3.client('personalize') event_tracker_response = personalize.create_event_tracker( name = 'event tracker name', datasetGroupArn = 'dataset group arn' ) event_tracker_arn = event_tracker_response['eventTrackerArn'] event_tracking_id = event_tracker_response['trackingId'] print('eventTrackerArn:{},\n eventTrackingId:{}'.format(event_tracker_arn, event_tracking_id))
  3. Gunakan recommendationId dari langkah 1 dan event tracking id dari langkah 2 untuk membuat PutEvents permintaan baru. Permintaan ini mencatat data tayangan baru dari sesi pengguna. Ubah user id ke ID pengguna.

    import boto3 personalize_events.put_events( trackingId = 'event tracking id', userId= 'user id', sessionId = '1', eventList = [{ 'sentAt': datetime.now().timestamp(), 'eventType' : 'click', 'itemId' : rec_response['itemList'][0]['itemId'], 'recommendationId': rec_response['recommendationId'], 'impression': [item['itemId'] for item in rec_response['itemList']], }] )

Contoh notebook Jupyter

Untuk contoh buku catatan Jupyter yang menunjukkan cara menggunakan resep Personalisasi Pengguna, lihat Personalisasi Pengguna dengan Eksplorasi.