Halaman ini menjelaskan cara mengubah posisi peringkat rekomendasi media yang ditampilkan oleh model menggunakan kontrol penayangan boost (juga disebut kontrol).
Kontrol peningkatan mengubah urutan rekomendasi setelah rekomendasi tersebut ditampilkan oleh model. Anda menerapkan ekspresi filter ke hasil untuk mengidentifikasi rekomendasi yang ingin Anda tingkatkan atau sembunyikan, lalu menerapkan nilai peningkatan antara -1 dan +1. Nilai peningkatan sebesar +1 memberikan peningkatan terbesar pada rekomendasi, menempatkannya di bagian atas rekomendasi yang ditampilkan. Nilai -1 menyembunyikan rekomendasi di bagian bawah daftar rekomendasi yang ditampilkan.
Peningkatan adalah kontrol waktu penayangan. Pertama, model rekomendasi menampilkan daftar rekomendasi. Dengan menggunakan konfigurasi penayangan, kontrol peningkatan kemudian diterapkan ke daftar tersebut untuk menyesuaikan peringkat rekomendasi. Kontrol peningkatan tidak menambahkan atau menghapus rekomendasi, tetapi mengontrol urutan rekomendasi yang ditampilkan kepada pengguna.
Rekomendasi pendorong versus pemfilteran
Penguatan adalah filter lunak. Sedangkan, filter reguler untuk rekomendasi, yang dijelaskan dalam Memfilter rekomendasi adalah filter keras.
Jika menerapkan filter keras ke rekomendasi, Anda tidak akan pernah melihat dokumen yang difilter. Namun, dengan filter lembut, Anda tidak menghapus dokumen dari daftar rekomendasi. Sebagai gantinya, filter digunakan untuk menentukan dokumen mana yang harus lebih tinggi atau lebih rendah dalam daftar rekomendasi yang ditampilkan.
Hindari membebani model rekomendasi Anda
Saat menerapkan filter dorong atau sembunyikan, sebaiknya gunakan nilai kecil yang mendekati nol. Nilai yang mendekati +1 atau -1 cenderung akan membebani model rekomendasi, sehingga peringkat rekomendasi yang diterapkan oleh model tidak tercermin dalam urutan yang dilihat pengguna.
Misalnya, jika Anda meningkatkan film animasi dengan +1, pengguna hanya akan melihat film animasi di bagian atas daftar rekomendasi; hal ini akan mendorong film non-animasi yang sangat direkomendasikan oleh model ke bagian bawah daftar tempat pengguna mungkin tidak melihatnya.
Mendemosikan versus mengubur
Mendemosikan dan menyembunyikan rekomendasi akan memindahkan rekomendasi ke posisi yang lebih rendah dalam daftar rekomendasi yang ditampilkan.
Namun, penurunan didasarkan pada usia konten atau apakah pengguna telah menonton beberapa konten. Untuk mengetahui informasi selengkapnya tentang penurunan, lihat Menurunkan rekomendasi media.
Penyamaran berlaku untuk konten yang diidentifikasi oleh filter. Filter dapat berupa kolom data apa pun yang ditandai sebagai dapat difilter dalam skema. Untuk informasi umum tentang filter rekomendasi, termasuk cara menandai kolom sebagai dapat difilter, lihat Rekomendasi filter.
Tentang kontrol peningkatan dan konfigurasi penayangan
Setiap kontrol penayangan peningkatan terdiri dari filter dan nilai peningkatan. Misalnya, satu kontrol peningkatan akan meningkatkan film dengan judul Natal dengan
nilai 0.1
dan kontrol lainnya akan menyembunyikan film horor dengan nilai-0.2
.
Setelah membuat satu atau beberapa kontrol peningkatan, Anda akan melampirkan kontrol tersebut ke konfigurasi penayangan. Saat aplikasi Vertex AI Search dibuat, konfigurasi penayangan default juga akan otomatis dibuat. Konfigurasi penayangan direferensikan pada waktu penayangan untuk menentukan hasil yang dihasilkan aplikasi. Selain kontrol peningkatan, konfigurasi penayangan dapat berisi jenis kontrol lainnya, seperti kontrol diversifikasi dan demosi.
Konfigurasi penayangan dapat diterapkan saat Anda memanggil metode rekomendasi. Semua kontrol dalam konfigurasi penayangan kemudian diterapkan ke rekomendasi yang ditampilkan oleh panggilan metode.
Selain itu, Anda dapat memiliki beberapa konfigurasi penayangan yang terkait dengan aplikasi. Hal ini memungkinkan Anda menerapkan kumpulan kontrol yang berbeda dalam berbagai situasi. Misalnya, jika permintaan rekomendasi berasal dari akun anak, tingkatkan video dalam kategori yang sesuai untuk anak-anak dan sembunyikan video yang tidak sesuai. Demikian pula, jika permintaan berasal dari akun yang ditandai sebagai dewasa, tingkatkan judul atau kategori yang populer di kalangan orang dewasa. Atau, Anda dapat memilih untuk memiliki konfigurasi penayangan yang berbeda untuk lokasi geografis yang berbeda dan meningkatkan konten sesuai dengan konten yang populer secara regional. Untuk mengetahui informasi selengkapnya tentang konfigurasi penayangan, lihat Membuat dan mengelola konfigurasi penayangan media.
Nilai pengoptimalan bersifat menambahkan
Jika Anda telah melampirkan beberapa kontrol penayangan ke konfigurasi penayangan, peningkatan dan penyembunyikan akan menjadi tambahan.
Misalnya, jika Anda meningkatkan film animasi anak-anak sebesar 0,3 dan film animasi petualangan sebesar 0,4, maka film yang dikategorikan sebagai animasi petualangan anak-anak akan ditingkatkan sebesar 0,7.
Demikian pula, jika film horor didorong sebesar 0,2 oleh satu kontrol dan dikubur sebesar -0,3 oleh kontrol lain dalam konfigurasi penayangan yang sama, hasil bersihnya adalah mengubur film sebesar -0,1.
Jumlah peningkatan dapat melebihi +1. Misalnya, jika kontrol meningkatkan film animasi anak-anak sebesar 0,6 dan film animasi petualangan sebesar 0,5, maka film animasi petualangan anak-anak akan ditingkatkan sebesar +1,1.
Contoh filter
Berikut adalah beberapa contoh filter untuk rekomendasi media.
Filter pada properti kunci umum
Contoh filter pada properti string kunci umum (category
,
image_name
, image_uri
, language
, title
, dan uri
).
Animasi untuk anak-anak:
"filter": "categories: ANY(\"animation\") AND categories: ANY(\"children\")"
Media menakutkan:
"filter": "categories: ANY(\"horror\", \"thriller\", \"crime\")
Media dengan judul "Natal":
"filter": "title: ANY(\"Christmas\")"
Media dengan item pertama dalam array
images
memilikiname
"bola pantai":
"filter": "images[0].name: ANY(\"beach ball\")"
Filter pada properti kunci media
Contoh filter pada properti kunci media. Properti kunci media dimulai dengan
media_
, dan, dalam sintaksis filter, nama kolom diawali dengan
media_key_properties.
. Untuk mengetahui daftar properti kunci media, lihat Skema
yang telah ditentukan Google versus skema kustom.
Media dengan jenis
audio
:
"filter": "media_key_properties.media_type: ANY(\"audio\")"
Media dengan array hash_tags yang berisi string
#winter
:
"filter": "media_key_properties.hash_tags: ANY(\"#winter\")"
Media dengan elemen pertama array hash_tags adalah string
#winter
:
"filter": "media_key_properties.hash_tags[0]: ANY(\"#winter\")"
Kolom kustom
Contoh filter pada kolom kustom. Untuk atribut kustom, awali nama kolom dengan attributes.
.
Anda memiliki kolom string kustom,
festival
, dalam skema untuk mewakili festival film tempat film ditayangkan perdana. Untuk memfilter hanya film yang diputar perdana di Cannes:
"filter": "attributes.festival: ANY(\"Cannes\")
Anda memiliki kolom boolean kustom,
audio_desc
, yang bernilai benar jika media menyertakan deskripsi audio untuk penonton yang mengalami gangguan penglihatan. Untuk memfilter media dengan deskripsi audio:
"filter": "attributes.audio_desc: ANY(true)"
Batasan pada kolom yang dapat difilter
Batasan berikut berlaku untuk kontrol penayangan boost:
Hanya kolom properti dari jenis string dan boolean yang dapat digunakan dalam ekspresi filter untuk pengoptimalan.
Anda tidak dapat memfilter kolom yang bertingkat lebih dari satu tingkat. Misalnya, Anda dapat memfilter berdasarkan
persons.name
, tetapi tidak dapat memfilter berdasarkan kolompersons.name.stage
(meskipun kolom tersebut ada).Filter harus sama persis. Artinya, dalam contoh, film yang disebut "
Christmas Story
" atau "CHRISTMAS
" tidak akan dioptimalkan.
Sebelum memulai
Pastikan Anda telah membuat aplikasi rekomendasi media dan penyimpanan data. Untuk informasi selengkapnya, lihat Membuat aplikasi rekomendasi media dan penyimpanan data.
Opsional: Jika Anda tidak ingin menggunakan konfigurasi penayangan default, buat konfigurasi penayangan baru dengan mengikuti langkah 1-5 dan 7 di Membuat konfigurasi penayangan. Jika aplikasi Anda sedang dalam produksi, Google menyarankan agar Anda membuat konfigurasi penayangan terpisah untuk menguji kontrol peningkatan sebelum menerapkan kontrol ke konfigurasi penayangan produksi.
Pastikan kolom yang ingin Anda gunakan dalam kontrol peningkatan ditandai sebagai Dapat difilter dalam skema. Untuk informasi selengkapnya, lihat Mengonfigurasi setelan kolom. Lihat juga Batas pemfilteran.
Meningkatkan atau menyembunyikan rekomendasi
Prosedur ini menjelaskan cara membuat kontrol peningkatan dan melampirkan kontrol ke konfigurasi penayangan.
Setelah kontrol dilampirkan ke konfigurasi penayangan, Anda dapat menentukan
konfigurasi penayangan saat memanggil
metode servingConfigs.recommend
dan kontrol
peningkatan akan digunakan untuk memengaruhi urutan rekomendasi yang ditampilkan.
REST
Untuk membuat kontrol penayangan boost dan melampirkannya ke konfigurasi penayangan, ikuti langkah-langkah berikut:
Temukan ID aplikasi Anda. Jika Anda sudah memiliki ID aplikasi, lanjutkan ke langkah berikutnya.
Di konsol Google Cloud, buka halaman Agent Builder.
Di halaman Aplikasi, temukan nama aplikasi Anda dan dapatkan ID aplikasi dari kolom ID.
Temukan ID penyimpanan data Anda. Jika Anda sudah memiliki ID penyimpanan data, lanjutkan ke langkah berikutnya.
Di konsol Google Cloud, buka halaman Agent Builder dan di menu navigasi, klik Data Stores.
Klik nama penyimpanan data Anda.
Di halaman Data untuk penyimpanan data Anda, dapatkan ID penyimpanan data.
Buat kontrol peningkatan:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: PROJECT_NUMBER" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \ -d '{ "displayName": "CONTROL_DISPLAY_NAME", "solutionType": "SOLUTION_TYPE_RECOMMENDATION", "boostAction": { "dataStore": "projects/PROJECT_NUMBER/locations/global/collections/default_collection/dataStores/DATA_STORE_ID", "boost" : BOOST_VALUE, "filter": "FILTER" } }'
PROJECT_NUMBER
: nomor project Google Cloud Anda.CONTROL_DISPLAY_NAME
: nama yang dapat dibaca manusia untuk mengidentifikasi kontrol. Harus berupa string UTF-8 dengan panjang maksimum 128 karakter.CONTROL_ID
: ID unik (dalam penyimpanan data) untuk kontrol. ID dapat berisi huruf kecil, angka, tanda hubung, dan garis bawah.APP_ID
: ID aplikasi Vertex AI Search.DATA_STORE_ID
: ID penyimpanan data Vertex AI Search.BOOST_VALUE
: bilangan floating point dalam rentang [-1,1]. Jika nilainya negatif, rekomendasi akan muncul di bagian bawah hasil. Jika nilainya positif, rekomendasi akan dipromosikan (muncul lebih tinggi di hasil).FILTER
: ekspresi filter yang menjelaskan dokumen apa yang akan dioptimalkan atau disembunyikan. Untuk informasi mendetail tentang cara merumuskan ekspresi filter, lihat Ekspresi filter.
Ulangi langkah 3 untuk setiap kontrol peningkatan yang ingin Anda terapkan ke rekomendasi. Misalnya, Anda mungkin menginginkan satu kontrol peningkatan yang meningkatkan film untuk anak-anak,
boost-kids
, dan kontrol kedua yang menyembunyikan film horor,bury-horror
.Temukan ID konfigurasi penayangan. Jika Anda sudah memiliki ID konfigurasi penayangan, lanjutkan ke langkah berikutnya.
Di konsol Google Cloud, buka halaman Agent Builder.
Di halaman Aplikasi, klik nama aplikasi Anda.
Buka halaman Konfigurasi, lalu klik tab Penayangan.
Dapatkan ID konfigurasi penayangan dari kolom ID.
Lampirkan kontrol penayangan boost baru ke konfigurasi penayangan dengan permintaan update menggunakan metode
engines.servingConfigs.patch
.curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/CONFIG_ID?update_mask=boost_control_ids" \ -d '{ "boostControlIds": ["CONTROL_ID"] }'
Ganti kode berikut:
CONFIG_ID
: ID konfigurasi penayangan yang ingin Anda lampirkan kontrol peningkatannya—misalnya,my_app-1234567_id
. Lihat langkah sebelumnya.CONTROL_ID
: berisi ID satu atau beberapa kontrol penayangan boost yang ingin Anda lampirkan ke konfigurasi penayangan—misalnya,"boost-kids", "bury-horror"
. Ini adalah array string. Jika Anda memiliki lebih dari satu ID, jangan lupa untuk menggunakan tanda kutip dan koma pemisah.
Tunggu beberapa menit hingga hasilnya diterapkan.
Lihat pratinjau efek kontrol peningkatan. Lihat Mendapatkan rekomendasi media.
Memperbarui kontrol peningkatan
Prosedur ini menjelaskan cara memperbarui kontrol peningkatan yang ada untuk mengubah nilai peningkatan atau filter.
Setelah menguji kontrol boost, Anda mungkin mendapati bahwa Anda ingin memperkuat atau memperlemah boost. Atau, Anda dapat mengubah string filter.
Saat memperbarui nilai atau filter boost, Anda memanggil metode engines.controls.patch
.
Metode patch mengganti nilai boost
dan filter
dengan nilai baru
yang Anda berikan. Prosedur ini menunjukkan cara mengedit nilai boost
(langkah 3)
dan nilai filter
(langkah 4) secara terpisah. Namun, jika ingin mengedit keduanya, Anda
dapat melakukannya dalam satu perintah curl.
REST
Untuk mengubah nilai peningkatan untuk filter untuk kontrol yang ada, ikuti langkah-langkah berikut:
Temukan ID aplikasi Anda. Jika Anda sudah memiliki ID aplikasi, lanjutkan ke langkah berikutnya.
Di konsol Google Cloud, buka halaman Agent Builder.
Di halaman Aplikasi, temukan nama aplikasi Anda dan dapatkan ID aplikasi dari kolom ID.
Temukan ID kontrol peningkatan yang ingin Anda perbarui menggunakan metode
engines.servingConfigs.get
. Jika Anda sudah memiliki ID, lanjutkan ke langkah berikutnya.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls"
PROJECT_ID
: ID project Google Cloud Anda.APP_ID
: ID aplikasi Vertex AI Search.
Edit nilai pengoptimalan untuk kontrol:
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls/CONTROL_ID?update_mask=boost_action.boost" \ -d '{ "name": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls/CONTROL_ID", "boostAction": { "boost": BOOST_VALUE } }'
PROJECT_ID
: ID project Google Cloud Anda.APP_ID
: ID aplikasi Vertex AI Search.CONTROL_ID
: ID unik untuk kontrol peningkatan yang ingin Anda edit, bagian akhir dari output kolomname
oleh perintahGET
di langkah 2. Contoh,boost-kids
.BOOST_VALUE
: bilangan floating point dalam rentang [-1,1]. Jika nilainya negatif, rekomendasi akan muncul di bagian bawah hasil. Jika nilainya positif, rekomendasi akan dipromosikan (muncul lebih tinggi di hasil).
Edit filter untuk kontrol peningkatan:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls/CONTROL_ID?update_mask=boost_action.filter" \ -d '{ "name": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls/CONTROL_ID", "boostAction": { "filter": "FILTER" } }'
PROJECT_ID
: ID project Google Cloud Anda.APP_ID
: ID aplikasi Vertex AI Search.CONTROL_ID
: ID unik untuk kontrol peningkatan yang ingin Anda edit, bagian akhir dari output kolomname
oleh perintahGET
di langkah 2.FILTER
: ekspresi filter yang menjelaskan dokumen apa yang akan dioptimalkan atau disembunyikan. Untuk informasi mendetail tentang cara merumuskan ekspresi filter, lihat Ekspresi filter.
Menghapus kontrol peningkatan
Prosedur ini menjelaskan cara menghapus kontrol boost. Jika Anda tidak menggunakan kontrol peningkatan, praktik terbaiknya adalah menghapusnya agar Anda tidak mencapai atau melebihi kuota untuk jumlah kontrol yang diizinkan.
Saat menghapus kontrol peningkatan, Anda memanggil
metode engines.controls.delete
.
Kontrol peningkatan yang dilampirkan ke konfigurasi penayangan tidak dapat dihapus. Jika Anda mencoba menghapus kontrol peningkatan, pesan error akan memberi Anda nama konfigurasi penayangan. Selanjutnya, Anda harus menghapus konfigurasi penyaluran tersebut atau melepaskan kontrol dari konfigurasi penyaluran.
REST
Untuk menghapus kontrol peningkatan, ikuti langkah-langkah berikut:
Temukan ID aplikasi Anda. Jika Anda sudah memiliki ID aplikasi, lanjutkan ke langkah berikutnya.
Di konsol Google Cloud, buka halaman Agent Builder.
Di halaman Aplikasi, temukan nama aplikasi Anda dan dapatkan ID aplikasi dari kolom ID.
Temukan ID kontrol peningkatan yang ingin Anda hapus menggunakan metode
engines.servingConfigs.get
. Jika Anda sudah memiliki ID, lanjutkan ke langkah berikutnya.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls"
PROJECT_ID
: ID project Google Cloud Anda.APP_ID
: ID aplikasi Vertex AI Search.
Tinjau output. Jika kontrol peningkatan terpasang ke konfigurasi penayangan, perbarui konfigurasi penayangan untuk menghapus kontrol yang ingin Anda hapus. Lihat Memperbarui konfigurasi penayangan untuk menghapus kontrol peningkatan.
Jalankan perintah curl berikut untuk menghapus kontrol boost:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls/CONTROL_ID"
PROJECT_ID
: ID project Google Cloud Anda.APP_ID
: ID aplikasi Vertex AI Search.CONTROL_ID
: ID unik untuk kontrol peningkatan yang ingin Anda hapus, bagian akhir dari output kolomname
oleh perintahGET
di langkah 2.
Jika Anda mendapatkan pesan error yang menyatakan bahwa kontrol direferensikan secara aktif oleh setidaknya satu konfigurasi penayangan, lihat Memperbarui konfigurasi penayangan untuk menghapus kontrol peningkatan.
Memperbarui konfigurasi penayangan untuk menghapus kontrol peningkatan
Sebelum dapat menghapus kontrol peningkatan, Anda harus melepaskannya dari semua kontrol penayangan. Lakukan ini dengan menerapkan patch pada kontrol penayangan untuk menghapus ID kontrol peningkatan.
Untuk melepaskan kontrol peningkatan dari konfigurasi penayangan, ikuti langkah-langkah berikut:
Cari tahu kontrol boost yang dilampirkan ke konfigurasi penayangan dengan membuat permintaan
engines.servingConfigs.get
dan melihat kolomboostControlIds
dalam respons.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/CONFIG_ID"
PROJECT_ID
: ID project Google Cloud Anda.APP_ID
: ID aplikasi Vertex AI Search.CONFIG_ID
: ID konfigurasi penayangan yang ingin Anda ketahui lebih lanjut.
Untuk memperbarui konfigurasi penayangan guna menghapus satu kontrol peningkatan, gunakan metode
engines.servingConfigs.patch
.curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/CONFIG_ID?update_mask=boost_control_ids" \ -d '{ "boostControlIds": ["CONTROL_ID"] }'
CONFIG_ID
: ID konfigurasi penayangan yang ingin Anda lampirkan kontrol peningkatannya—misalnya,my_app-1234567_id
. Lihat langkah sebelumnya.CONTROL_ID
: berisi ID satu atau beberapa kontrol peningkatan yang Anda inginkan untuk dimiliki oleh konfigurasi penayangan. Pastikan untuk menghapus kontrol peningkatan yang ingin Anda hapus. Ini adalah array string. Jika Anda memiliki lebih dari satu ID, jangan lupa untuk menggunakan tanda kutip dan koma pemisah—misalnya,boost-1", "boost-2
.