Mulai menggunakan rekomendasi media
Anda dapat dengan cepat membangun aplikasi rekomendasi media yang canggih. Rekomendasi media memungkinkan audiens Anda menemukan konten yang lebih dipersonalisasi, seperti hal untuk ditonton atau dibaca berikutnya, dengan hasil berkualitas Google yang disesuaikan dengan tujuan pengoptimalan.
Untuk mengetahui informasi umum tentang Agent Search untuk media, lihat Pengantar penelusuran dan rekomendasi media.Dalam tutorial memulai ini, Anda akan menggunakan set data Movielens untuk menunjukkan cara mengupload katalog konten media dan peristiwa pengguna ke Agent Search serta melatih model rekomendasi film yang dipersonalisasi. Set data Movielens berisi katalog film (dokumen) dan rating film pengguna (peristiwa pengguna).
Dalam tutorial ini, Anda akan melatih model rekomendasi jenis Lainnya yang Mungkin Anda Sukai yang dioptimalkan untuk rasio klik-tayang (CTR). Setelah pelatihan, model dapat merekomendasikan film berdasarkan ID pengguna dan film awal.
Untuk memenuhi persyaratan data minimum untuk model, setiap rating film positif (4 atau lebih tinggi) diperlakukan sebagai peristiwa view-item.
Perkiraan waktu untuk menyelesaikan tutorial ini:
- Langkah awal untuk memulai pelatihan model: ~1,5 jam.
- Menunggu model dilatih: ~24 jam. (Melatih model)
- Mengevaluasi prediksi model dan melakukan pembersihan: ~30 menit. (Rekomendasi pratinjau)
Jika Anda telah menyelesaikan tutorial Memulai penelusuran media dan masih memiliki penyimpanan data (nama yang disarankan quickstart-media-data-store), Anda dapat menggunakan penyimpanan data tersebut, alih-alih
membuat penyimpanan data lain. Dalam hal ini, Anda harus memulai tutorial di
Membuat aplikasi untuk rekomendasi media.
Tujuan
- Pelajari cara mengimpor dokumen media dan data peristiwa pengguna dari BigQuery ke Agent Search.
- Melatih dan mengevaluasi model rekomendasi.
Sebelum mengikuti tutorial ini, pastikan Anda telah melakukan langkah-langkah di Sebelum memulai.
Sebelum memulai
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Search (Discovery Engine), Cloud Storage, BigQuery APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Make sure that you have the following role or roles on the project: Discovery Engine Admin and BigQuery Admin.
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the identifier for a user in a workforce identity pool. For details, see Represent workforce pool users in IAM policies, or contact your administrator.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
Menyiapkan set data
Anda akan menggunakan Cloud Shell untuk mengimpor set data Movielens dan merestrukturisasi set data tersebut untuk Agent Search for media.
Buka Cloud Shell
- Buka Google Cloud konsol.
- Pilih project Google Cloud Anda.
- Catat project ID di kartu Project info di halaman dasbor. Anda akan memerlukan project ID untuk prosedur berikut.
Klik tombol Activate Cloud Shell di bagian atas konsol. Sesi Cloud Shell akan terbuka di dalam frame baru di bagian bawah KonsolGoogle Cloud dan menampilkan prompt command line. Untuk mengetahui cara lain meluncurkan Cloud Shell, lihat Meluncurkan Cloud Shell.
Mengimpor set data
Set data Movielens tersedia di bucket Cloud Storage publik untuk memudahkan impor.
Jalankan perintah berikut menggunakan project ID Anda untuk menetapkan project default untuk command line.
gcloud config set project PROJECT_IDMembuat set data BigQuery:
bq mk movielensMuat
movies.csvke dalam tabel BigQuerymoviesbaru:bq load --skip_leading_rows=1 movielens.movies \ gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \ movieId:integer,title,genresMuat
ratings.csvke dalam tabel BigQueryratingsbaru:bq load --skip_leading_rows=1 movielens.ratings \ gs://cloud-samples-data/gen-app-builder/media-recommendations/ratings.csv \ userId:integer,movieId:integer,rating:float,time:timestamp
Membuat tampilan BigQuery
Pada langkah ini, Anda akan merestrukturisasi set data Movielens agar mengikuti format yang diharapkan untuk rekomendasi media.
Rekomendasi media memerlukan data peristiwa pengguna untuk membuat model.
Untuk panduan ini, Anda akan membuat peristiwa view-item palsu selama 90 hari terakhir
dari rating positif (>= 4).
Buat tampilan yang mengonversi tabel film ke dalam skema
Documentyang ditentukan Google:bq mk --project_id=PROJECT_ID \ --use_legacy_sql=false \ --view ' WITH t AS ( SELECT CAST(movieId AS string) AS id, SUBSTR(title, 0, 128) AS title, SPLIT(genres, "|") AS categories FROM `PROJECT_ID.movielens.movies`) SELECT id, "default_schema" as schemaId, null as parentDocumentId, TO_JSON_STRING(STRUCT(title as title, categories as categories, CONCAT("http://mytestdomain.movie/content/", id) as uri, "2023-01-01T00:00:00Z" as available_time, "2033-01-01T00:00:00Z" as expire_time, "movie" as media_type)) as jsonData FROM t;' \ movielens.movies_viewSekarang, tabel virtual baru memiliki skema yang diharapkan oleh Discovery Engine API.
Buka halaman BigQuery di konsol Google Cloud .
Di panel database Data Explorer, luaskan nama project Anda, luaskan set data
movielens, lalu klikmovies_viewuntuk membuka halaman kueri untuk tampilan ini.Buka tab Table explorer.
Di panel Generated query, klik tombol Copy to query. Editor kueri akan terbuka.
Klik Run untuk melihat data film dalam tampilan yang Anda buat.
Membuat peristiwa pengguna
Buat peristiwa pengguna fiktif dari rating film dengan menjalankan perintah Cloud Shell berikut:
bq mk --project_id=PROJECT_ID \ --use_legacy_sql=false \ --view ' WITH t AS ( SELECT MIN(UNIX_SECONDS(time)) AS old_start, MAX(UNIX_SECONDS(time)) AS old_end, UNIX_SECONDS(TIMESTAMP_SUB( CURRENT_TIMESTAMP(), INTERVAL 90 DAY)) AS new_start, UNIX_SECONDS(CURRENT_TIMESTAMP()) AS new_end FROM `PROJECT_ID.movielens.ratings`) SELECT CAST(userId AS STRING) AS userPseudoId, "view-item" AS eventType, FORMAT_TIMESTAMP("%Y-%m-%dT%X%Ez", TIMESTAMP_SECONDS(CAST( (t.new_start + (UNIX_SECONDS(time) - t.old_start) * (t.new_end - t.new_start) / (t.old_end - t.old_start)) AS int64))) AS eventTime, [STRUCT(movieId AS id, null AS name)] AS documents, FROM `PROJECT_ID.movielens.ratings`, t WHERE rating >= 4;' \ movielens.user_events
Mengaktifkan Agent Search
Di konsol Google Cloud , buka halaman AI Applications.
Opsional: Klik Izinkan Google mengambil sampel input dan respons model secara selektif.
Klik Continue and activate the API.
Membuat aplikasi untuk rekomendasi media
Prosedur di bagian ini memandu Anda membuat dan men-deploy aplikasi rekomendasi media.
Di konsol Google Cloud , buka halaman AI Applications.
Klik
Create app .Di halaman Create app, pada bagian Media recommendations, klik Create.
Di kolom App name, masukkan nama untuk aplikasi Anda, misalnya
quickstart-media-recommendations. ID aplikasi akan muncul di bawah nama aplikasi.Di bagian Jenis rekomendasi, pastikan Lainnya yang mungkin Anda sukai dipilih.
Di bagian tujuan bisnis, pastikan rasio klik-tayang (CTR) dipilih.
Klik Lanjutkan.
Membuat penyimpanan data.
Di halaman Penyimpanan data, klik Buat penyimpanan data.
Masukkan nama tampilan untuk penyimpanan data Anda, seperti
quickstart-media-data-store, lalu klik Create.
Pilih penyimpanan data yang baru saja Anda buat, lalu klik Create untuk membuat aplikasi Anda.
Mengimpor data
Selanjutnya, impor data film dan peristiwa pengguna yang telah diformat sebelumnya.
Mengimpor dokumen
Impor dokumen movies_view yang dibuat di bagian Membuat tabel virtual BigQuery ke penyimpanan data quickstart-media-data-store Anda.
Di bagian Native sources pada halaman Import documents, pilih BigQuery.
Masukkan nama tampilan BigQuery
moviesyang Anda buat, lalu klik Import.PROJECT_ID.movielens.movies_viewTunggu hingga semua dokumen selesai diimpor, yang akan memerlukan waktu sekitar 15 menit. Seharusnya ada 86.537 dokumen setelah selesai.
Anda dapat memeriksa tab Aktivitas untuk mengetahui status operasi impor. Setelah impor selesai, status operasi impor akan berubah menjadi Completed.
Mengimpor peristiwa pengguna
Impor data user_events yang dibuat di bagian Membuat tampilan BigQuery ke penyimpanan data Anda.
Di tab Acara, klik Impor Acara.
Di bagian Native sources pada halaman Import documents, pilih BigQuery.
Masukkan nama tampilan BigQuery
user_eventsyang Anda buat, lalu klik Import.PROJECT_ID.movielens.user_eventsTunggu hingga setidaknya satu juta peristiwa diimpor sebelum melanjutkan ke langkah berikutnya, guna memenuhi persyaratan data untuk melatih model baru.
Anda dapat memeriksa tab Aktivitas untuk mengetahui status operasi. Proses ini memerlukan waktu sekitar satu jam karena Anda mengimpor jutaan baris.
Untuk melihat apakah persyaratan telah terpenuhi, buka tab Kualitas data > Persyaratan. Meskipun peristiwa pengguna telah diimpor, mungkin perlu waktu beberapa saat hingga tab Requirements memperbarui statusnya menjadi Data requirements met.
Melatih model rekomendasi
Buka halaman Configurations.
Klik tab Kontrol. Konfigurasi inferensi telah dibuat.
Jika ingin menyesuaikan setelan Demosi rekomendasi atau Diversifikasi hasil, Anda dapat melakukannya di halaman ini.
Klik tab Training.
Setelah persyaratan data terpenuhi, model akan mulai dilatih secara otomatis. Anda dapat melihat status pelatihan dan penyesuaian di halaman ini.
Mungkin perlu waktu beberapa hari agar model dilatih dan siap untuk dikueri. Kolom Ready to query akan menunjukkan Yes setelah prosesnya selesai. Anda perlu memuat ulang halaman untuk melihat perubahan No menjadi Yes.
Pratinjau rekomendasi
Setelah model siap untuk dikueri:
Di menu navigasi, klik
Preview .Klik kolom Document ID. Daftar ID dokumen akan muncul.
Masukkan ID dokumen (film) seed, seperti
4993untuk "The Lord of the Rings: The Fellowship of the Ring (2001)".
Pilih nama Serving config dari menu drop-down.
Klik Dapatkan rekomendasi. Daftar dokumen yang direkomendasikan akan muncul.
Men-deploy aplikasi untuk data terstruktur
Tidak ada widget rekomendasi untuk men-deploy aplikasi Anda. Untuk menguji aplikasi Anda sebelum deployment:
Buka halaman Data, tab Documents, lalu salin ID dokumen.
Buka halaman Integration. Halaman ini menyertakan contoh perintah untuk metode
servingConfigs.recommenddi REST API.Tempel ID dokumen yang Anda salin sebelumnya ke kolom ID Dokumen.
Biarkan kolom User Pseudo ID apa adanya.
Salin contoh permintaan dan jalankan di Cloud Shell.
Untuk mendapatkan bantuan dalam mengintegrasikan aplikasi rekomendasi ke dalam aplikasi web Anda, lihat contoh kode di Mendapatkan rekomendasi media.
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.
Anda dapat menggunakan kembali penyimpanan data yang Anda buat untuk penelusuran media dalam tutorial Memulai penelusuran media. Coba tutorial tersebut sebelum melakukan prosedur pembersihan ini.
- Untuk menghindari tagihan Google Cloud yang tidak perlu, gunakanGoogle Cloud console untuk menghapus project Anda jika tidak lagi diperlukan.
- Jika Anda membuat project baru untuk mempelajari Agent Search dan Anda tidak lagi memerlukan project tersebut, hapus project tersebut.
- Jika Anda menggunakan project Google Cloud yang sudah ada, hapus resource yang dibuat untuk menghindari tagihan pada akun Anda. Untuk mengetahui informasi selengkapnya, lihat Menghapus aplikasi.
- Ikuti langkah-langkah di Menonaktifkan Agent Search.
Jika Anda membuat set data BigQuery, hapus set data tersebut di Cloud Shell:
bq rm --recursive --dataset movielens