Skor Pemberi Rekomendasi yang Luas dan Mendalam

Artikel ini menjelaskan cara menggunakan komponen Score Wide and Deep Recommender di perancang Azure Machine Learning untuk membuat prediksi berdasarkan model rekomendasi terlatih, berdasarkan pembelajaran Wide & Deep dari Google.

Pemberi rekomendasi Wide and Deep dapat menghasilkan dua jenis prediksi yang berbeda:

Saat membuat jenis prediksi terakhir, Anda dapat beroperasi dalam mode produksi atau mode evaluasi.

  • Mode produksi mempertimbangkan semua pengguna atau item dan biasanya digunakan dalam layanan web. Anda dapat membuat skor untuk pengguna baru, bukan hanya pengguna yang terlihat selama pelatihan.

  • Mode evaluasi beroperasi pada sekumpulan pengguna atau item yang dapat dievaluasi dan biasanya digunakan selama eksperimen.

Rincian lebih lanjut tentang pemberi rekomendasi Wide and Deep dan teori yang mendasarinya dapat ditemukan di makalah penelitian yang relevan: Wide & Deep Learning for Recommender Systems.

Cara mengonfigurasi Score Wide and Deep Recommender

Komponen ini mendukung berbagai jenis rekomendasi, masing-masing dengan persyaratan yang berbeda. Klik tautan untuk jenis data yang Anda miliki dan jenis rekomendasi yang ingin Anda buat.

Memprediksi peringkat

Ketika Anda memprediksi peringkat, model menghitung bagaimana pengguna tertentu akan bereaksi terhadap item tertentu sesuai data pelatihan. Oleh karena itu, data input untuk penilaian harus menyediakan pengguna dan item untuk menilai.

  1. Tambahkan model rekomendasi Wide & Deep terlatih ke eksperimen Anda dan sambungkan ke model rekomendasi Wide and Deep terlatih. Anda harus membuat model dengan menggunakan Train Wide and Deep Recommender.

  2. Jenis prediksi pemberi rekomendasi: Pilih Prediksi Peringkat. Tidak diperlukan parameter lebih lanjut.

  3. Tambahkan data yang ingin Anda buat prediksinya dan sambungkan ke Himpunan Data untuk memperoleh hitungan.

    Untuk memprediksi peringkat, himpunan data input harus berisi pasangan pengguna-item.

    Himpunan data dapat berisi kolom peringkat ketiga opsional untuk pasangan pengguna-item di kolom pertama dan kedua, tetapi kolom ketiga akan diabaikan selama proses prediksi.

  4. (Opsional). Jika Anda memiliki himpunan data fitur pengguna, sambungkan ke Fitur pengguna.

    Himpunan data fitur pengguna harus berisi ID pengguna di kolom pertama. Kolom yang tersisa harus berisi nilai yang menjadi ciri pengguna, seperti jenis kelamin, preferensi, lokasi, dll.

    Fitur pengguna yang telah memberikan peringkat pada item dalam himpunan data pelatihan diabaikan oleh Score Wide dan Deep Recommender karena fitur tersebut telah dipelajari selama pelatihan. Oleh karena itu, filter himpunan data Anda terlebih dahulu agar hanya menyertakan pengguna cold-start, atau pengguna yang belum menilai item apa pun.

    Peringatan

    Jika model dilatih tanpa menggunakan fitur pengguna, Anda tidak dapat memperkenalkan fitur pengguna selama penilaian.

  5. Jika Anda memiliki himpunan data fitur item, Anda bisa menyambungkannya ke Fitur Item.

    Himpunan data fitur item harus berisi pengidentifikasi item di kolom pertama. Kolom yang tersisa harus berisi nilai yang menjadi ciri khas item.

    Fitur item berperingkat dalam himpunan data pelatihan diabaikan oleh Score Wide dan Deep Recommender karena fitur tersebut telah dipelajari selama pelatihan. Oleh karena itu, batasi himpunan data penilaian Anda ke item cold-start atau item yang belum dinilai oleh pengguna mana pun.

    Peringatan

    Jika model dilatih tanpa menggunakan fitur item, Anda tidak dapat memperkenalkan fitur item selama penilaian.

  6. Jalankan eksperimen.

Hasil untuk prediksi peringkat

Himpunan data output berisi tiga kolom, berisi pengguna, item, dan peringkat yang diprediksi untuk setiap pengguna input dan item.

Selain itu, perubahan berikut diterapkan selama penilaian:

  • Untuk kolom fitur pengguna atau item numerik, nilai yang hilang secara otomatis diganti dengan rata-rata nilai kumpulan pelatihan yang tidak hilang. Untuk fitur kategoris, nilai yang hilang diganti dengan nilai kategoris yang sama selain nilai yang mungkin dari fitur ini.
  • Tidak ada terjemahan yang diterapkan pada nilai fitur untuk mempertahankan ketersebarannya.

Merekomendasikan item

Untuk merekomendasikan item untuk pengguna, Anda menyediakan daftar pengguna dan item sebagai input. Dari data ini, model ini menggunakan pengetahuannya tentang item dan pengguna yang ada untuk menghasilkan daftar item dengan daya tarik yang mungkin bagi setiap pengguna. Anda dapat menyesuaikan jumlah rekomendasi yang ditampilkan dan menetapkan ambang untuk jumlah rekomendasi sebelumnya yang diperlukan untuk menghasilkan rekomendasi.

  1. Tambahkan model rekomendasi Wide and Deep terlatih ke eksperimen Anda dan sambungkan ke model rekomendasi Wide and Deep terlatih. Anda harus membuat model dengan menggunakan Train Wide and Deep Recommender.

  2. Untuk merekomendasikan item untuk daftar pengguna tertentu, atur jenis prediksi Rekomendasi ke Rekomendasi Item.

  3. Pilihan item yang direkomendasikan: Tunjukkan apakah Anda menggunakan komponen penilaian dalam produksi atau untuk evaluasi model dengan memilih salah satu nilai berikut:

    • Dari Item Berperingkat (untuk evaluasi model): Pilih opsi ini jika Anda mengembangkan atau menguji model. Opsi ini memungkinkan mode evaluasi dan komponen akan membuat rekomendasi hanya dari item tersebut dalam himpunan data input yang telah dinilai.
    • Dari Semua Item: Pilih opsi ini jika Anda menyiapkan eksperimen untuk digunakan dalam layanan web atau produksi. Opsi ini memungkinkan mode produksi dan komponen akan membuat rekomendasi dari semua item yang terlihat selama pelatihan.
    • Dari Item Tidak Berperingkat (untuk menyarankan item baru kepada pengguna): Pilih opsi ini jika Anda ingin komponen membuat rekomendasi hanya dari item tersebut dalam himpunan data latihan yang belum dinilai.
  4. Tambahkan himpunan data yang ingin Anda buat prediksinya dan sambungkan ke Himpunan Data untuk memperoleh hitungan.

    • Jika Anda memilih opsi, Dari Semua Item, himpunan data input harus terdiri dari satu dan hanya satu kolom yang berisi ID pengguna untuk membuat rekomendasi.

      Himpunan data dapat menyertakan tambahan dua kolom pengidentifikasi dan peringkat item, tetapi kedua kolom ini akan diabaikan.

    • Jika Anda memilih opsi, Dari Item Berperingkat (untuk evaluasi model), himpunan data input harus terdiri dari pasangan pengguna-item. Kolom pertama harus berisi ID pengguna. Kolom kedua harus berisi ID item terkait.

      Himpunan data bisa menyertakan kolom ketiga peringkat pengguna-item, tetapi kolom ini akan diabaikan.

    • Untuk Dari Item Tidak Berperingkat (untuk menyarankan item baru kepada pengguna), himpunan data input harus terdiri dari pasangan pengguna-item. Kolom pertama harus berisi ID pengguna. Kolom kedua harus berisi pengidentifikasi item terkait.

      Himpunan data bisa menyertakan kolom ketiga peringkat pengguna-item, tetapi kolom ini akan diabaikan.

  5. (Opsional). Jika Anda memiliki himpunan data fitur pengguna, sambungkan ke Fitur pengguna.

    Kolom pertama dalam himpunan data fitur pengguna harus berisi ID pengguna. Kolom yang tersisa harus berisi nilai yang menjadi ciri pengguna, seperti jenis kelamin, preferensi, lokasi, dll.

    Fitur pengguna yang telah memberikan peringkat pada item diabaikan oleh Score Wide dan Deep Recommender karena fitur tersebut telah dipelajari selama pelatihan. Oleh karena itu, Anda dapat memfilter himpunan data terlebih dahulu untuk menyertakan hanya pengguna cold-start atau pengguna yang belum menilai item apa pun.

    Peringatan

    Jika model dilatih tanpa menggunakan fitur pengguna, Anda tidak dapat menerapkan fitur pengguna selama penilaian.

  6. (Opsional) Jika Anda memiliki himpunan data fitur item, Anda bisa menyambungkannya ke Fitur item.

    Kolom pertama dalam himpunan data fitur item harus berisi pengidentifikasi item. Kolom yang tersisa harus berisi nilai yang menjadi ciri khas item.

    Fitur item berperingkat diabaikan oleh Score Wide dan Deep Recommender karena fitur tersebut telah dipelajari selama pelatihan. Oleh karena itu, Anda dapat membatasi himpunan data penilaian Anda ke item cold-start atau item yang belum dinilai oleh pengguna mana pun.

    Peringatan

    Jika model dilatih tanpa menggunakan fitur item, jangan gunakan fitur item saat melakukan penilaian.

  7. Jumlah maksimum item yang akan direkomendasikan kepada pengguna: Ketik jumlah item yang akan ditampilkan untuk setiap pengguna. Secara default, 5 item disarankan.

  8. Jumlah minimum kumpulan rekomendasi per pengguna: Ketik nilai yang menunjukkan berapa banyak rekomendasi sebelumnya yang diperlukan. Secara default, parameter ini diatur ke 2, yang berarti item harus direkomendasikan oleh setidaknya dua pengguna lain.

    Opsi ini harus digunakan hanya jika Anda melakukan penilaian dalam mode evaluasi. Opsi ini tidak tersedia jika Anda memilih Dari Semua Item atau Dari Item Tidak Berperingkat (untuk menyarankan item baru kepada pengguna).

  9. Untuk Dari Item Tidak Berperingkat (untuk menyarankan item baru kepada pengguna), gunakan port input ketiga, bernama Data Pelatihan, untuk menghapus item yang telah dinilai dari hasil prediksi.

    Untuk menerapkan filter ini, sambungkan himpunan data pelatihan asli ke port input.

  10. Jalankan eksperimen.

Hasil rekomendasi item

Himpunan data yang dinilai yang ditampilkan oleh Score Wide and Deep Recommender mencantumkan item yang direkomendasikan untuk setiap pengguna.

  • Kolom pertama berisi ID pengguna.
  • Sejumlah kolom tambahan dibuat bergantung pada nilai yang Anda tetapkan untuk Jumlah item maksimum yang direkomendasikan kepada pengguna. Setiap kolom berisi item yang direkomendasikan (menurut pengidentifikasi). Rekomendasi diurutkan berdasarkan afinitas pengguna-item dan item dengan afinitas tertinggi dimasukkan ke dalam kolom, Item 1.

Catatan teknis

Bagian ini berisi jawaban atas beberapa pertanyaan umum tentang cara menggunakan Wide & Deep untuk membuat prediksi.

Pengguna dan rekomendasi cold-start

Biasanya, untuk membuat rekomendasi, komponen Score Wide and Deep Recommender memerlukan input yang sama dengan yang Anda gunakan saat melatih model, termasuk ID pengguna. Hal ini karena algoritma perlu mengetahui apakah ia telah mempelajari sesuatu tentang pengguna ini selama pelatihan.

Namun, untuk pengguna baru, Anda mungkin tidak memiliki ID pengguna, hanya beberapa fitur pengguna seperti usia, jenis kelamin, dan sebagainya.

Anda masih dapat membuat rekomendasi untuk pengguna yang baru menggunakan sistem Anda dengan menanganinya sebagai pengguna cold-start. Untuk pengguna tersebut, algoritma rekomendasi tidak menggunakan riwayat sebelumnya atau peringkat sebelumnya, hanya fitur pengguna.

Untuk tujuan prediksi, pengguna cold-start didefinisikan sebagai pengguna dengan ID yang belum digunakan untuk pelatihan. Untuk memastikan bahwa ID tidak cocok dengan ID yang digunakan dalam pelatihan, Anda dapat membuat pengidentifikasi baru. Misalnya, Anda dapat membuat ID acak dalam rentang tertentu atau mengalokasikan serangkaian ID terlebih dahulu untuk pengguna cold-start.

Namun, jika Anda tidak memiliki data pemfilteran kolaboratif, seperti vektor fitur pengguna, Anda lebih baik menggunakan pembelajar klasifikasi atau regresi.

Penggunaan produksi pemberi rekomendasi Wide and Deep

Jika Anda telah bereksperimen dengan pemberi rekomendasi Wide and Deep dan kemudian memindahkan model ke produksi, perhatikan perbedaan utama ini saat menggunakan rekomendasi dalam mode evaluasi dan dalam mode produksi:

  • Evaluasi, menurut definisi, membutuhkan prediksi yang dapat diverifikasi berdasarkan kebenaran dasar dalam set pengujian. Oleh karena itu, ketika Anda mengevaluasi pemberi rekomendasi, hal ini harus memprediksi hanya item yang telah dinilai dalam set pengujian. Tindakan ini tentu membatasi kemungkinan nilai yang diprediksi.

    Namun, ketika Anda mengoperasionalkan model, Anda biasanya mengubah mode prediksi untuk membuat rekomendasi berdasarkan semua item yang mungkin, untuk mendapatkan prediksi terbaik. Untuk banyak prediksi ini, tidak ada kebenaran dasar yang sesuai, sehingga keakuratan rekomendasi tidak dapat diverifikasi dengan cara yang sama seperti selama eksperimen.

  • Jika Anda tidak memberikan ID pengguna dalam produksi dan hanya menyediakan vektor fitur, sebagai respons Anda mungkin mendapatkan daftar semua rekomendasi untuk semua pengguna yang mungkin. Pastikan untuk memberikan ID pengguna.

    Untuk membatasi jumlah rekomendasi yang ditampilkan, Anda juga dapat menentukan jumlah maksimum item yang ditampilkan per pengguna.

Langkah berikutnya

Lihat set komponen yang tersedia dari Azure Machine Learning.