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

  1. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. 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.enable permission. 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.

    Enable the APIs

  4. Make sure that you have the following role or roles on the project: Discovery Engine Admin and BigQuery Admin.

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. 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.

    4. 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

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. 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.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. 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

  1. Buka Google Cloud konsol.
  2. Pilih project Google Cloud Anda.
  3. Catat project ID di kartu Project info di halaman dasbor. Anda akan memerlukan project ID untuk prosedur berikut.
  4. 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.

    Cloud Shell

Mengimpor set data

Set data Movielens tersedia di bucket Cloud Storage publik untuk memudahkan impor.

  1. Jalankan perintah berikut menggunakan project ID Anda untuk menetapkan project default untuk command line.

    gcloud config set project PROJECT_ID
    
  2. Membuat set data BigQuery:

    bq mk movielens
    
  3. Muat movies.csv ke dalam tabel BigQuery movies baru:

    bq load --skip_leading_rows=1 movielens.movies \
      gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \
      movieId:integer,title,genres
    
  4. Muat ratings.csv ke dalam tabel BigQuery ratings baru:

    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).

  1. Buat tampilan yang mengonversi tabel film ke dalam skema Document yang 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_view
    

    Sekarang, tabel virtual baru memiliki skema yang diharapkan oleh Discovery Engine API.

  2. Buka halaman BigQuery di konsol Google Cloud .

    Buka BigQuery

  3. Di panel database Data Explorer, luaskan nama project Anda, luaskan set data movielens, lalu klik movies_view untuk membuka halaman kueri untuk tampilan ini.

  4. Buka tab Table explorer.

  5. Di panel Generated query, klik tombol Copy to query. Editor kueri akan terbuka.

  6. Klik Run untuk melihat data film dalam tampilan yang Anda buat.

Membuat peristiwa pengguna

  1. 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

  1. Di konsol Google Cloud , buka halaman AI Applications.

    AI Applications

  2. Opsional: Klik Izinkan Google mengambil sampel input dan respons model secara selektif.

  3. Klik Continue and activate the API.

Membuat aplikasi untuk rekomendasi media

Prosedur di bagian ini memandu Anda membuat dan men-deploy aplikasi rekomendasi media.

  1. Di konsol Google Cloud , buka halaman AI Applications.

    AI Applications

  2. Klik Create app.

  3. Di halaman Create app, pada bagian Media recommendations, klik Create.

  4. Di kolom App name, masukkan nama untuk aplikasi Anda, misalnya quickstart-media-recommendations. ID aplikasi akan muncul di bawah nama aplikasi.

  5. Di bagian Jenis rekomendasi, pastikan Lainnya yang mungkin Anda sukai dipilih.

  6. Di bagian tujuan bisnis, pastikan rasio klik-tayang (CTR) dipilih.

  7. Klik Lanjutkan.

  8. Membuat penyimpanan data.

    1. Di halaman Penyimpanan data, klik Buat penyimpanan data.

    2. Masukkan nama tampilan untuk penyimpanan data Anda, seperti quickstart-media-data-store, lalu klik Create.

  9. 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.

  1. Di bagian Native sources pada halaman Import documents, pilih BigQuery.

  2. Masukkan nama tampilan BigQuery movies yang Anda buat, lalu klik Import.

    PROJECT_ID.movielens.movies_view
    
  3. Tunggu 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.

  1. Di tab Acara, klik Impor Acara.

  2. Di bagian Native sources pada halaman Import documents, pilih BigQuery.

  3. Masukkan nama tampilan BigQuery user_events yang Anda buat, lalu klik Import.

    PROJECT_ID.movielens.user_events
    
  4. Tunggu 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.

  5. 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

  1. Buka halaman Configurations.

  2. Klik tab Kontrol. Konfigurasi inferensi telah dibuat.

    Jika ingin menyesuaikan setelan Demosi rekomendasi atau Diversifikasi hasil, Anda dapat melakukannya di halaman ini.

  3. 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:

  1. Di menu navigasi, klik Preview.

  2. Klik kolom Document ID. Daftar ID dokumen akan muncul.

  3. Masukkan ID dokumen (film) seed, seperti 4993 untuk "The Lord of the Rings: The Fellowship of the Ring (2001)".

    Masukkan ID

  4. Pilih nama Serving config dari menu drop-down.

  5. 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:

  1. Buka halaman Data, tab Documents, lalu salin ID dokumen.

  2. Buka halaman Integration. Halaman ini menyertakan contoh perintah untuk metode servingConfigs.recommend di REST API.

  3. Tempel ID dokumen yang Anda salin sebelumnya ke kolom ID Dokumen.

  4. Biarkan kolom User Pseudo ID apa adanya.

  5. 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.

  1. Untuk menghindari tagihan Google Cloud yang tidak perlu, gunakanGoogle Cloud console untuk menghapus project Anda jika tidak lagi diperlukan.
  2. Jika Anda membuat project baru untuk mempelajari Agent Search dan Anda tidak lagi memerlukan project tersebut, hapus project tersebut.
  3. 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.
  4. Ikuti langkah-langkah di Menonaktifkan Agent Search.
  5. Jika Anda membuat set data BigQuery, hapus set data tersebut di Cloud Shell:

    bq rm --recursive --dataset movielens
    

Langkah berikutnya