Advertise

RECOMMENDER SYSTEM

 

APA ITU RECOMMENDER SYSTEM?

Recommender system adalah sistem yang perekomendasi sesuatu item yang sering kita temui sehari-hari, misalnya di amazon.com atau e-commerce lain, kita sering mendapat rekomendasi tentang item yang seharusnya kamu beli. Di youtube atau spotify, kita juga mendapat rekomendasi tentang video atau lagu yang harusnya kita mainkan. Contoh lain lagi adalah (salah satu favorit saya) Movielens. Salah satu pioneer dalam riset sistem rekomendasi yang merekomendasikan film berdasarkan rating-rating film yang telah kita berikan.

Tentu saja metode yang digunakan pada platform-platform tersebut bukanlah algoritma yang di-coding dalam 3 jam. Mereka terus memperbarui menggunakan algoritma-algoritma terbaik mereka untuk merekomendasikan suatu item. Dengan menggunakan algoritma yang tepat, beberapa platform seperti amazon atau youtube dapat meningkatkan profit menggunakan recommender system.

ALGORITMA

Secara umum terdapat dua “sudut pandang” dalam pembuatan recommender system, yakni Content-Based dan Collaborative Filtering. Definisinya kira-kira seperti ini:

Content-Based Filtering: Kita buat profil user, misal melalui riwayat aktivitasnya terhadap item-item lain (like/dislike/rating, dsb.). Lalu ketika kita akan merekomendasikan sebuah item, kita lihat profil sebuah item apakah akan disukai atau tidak berdasarkan profil user tersebut.

Content-Based Recommender System

Collaborative Filtering: Kita merekomendasikan suatu item, berdasarkan kecocokan profil user dengan profil user yang lain. Misalnya, kebanyakan user yang suka produk A juga suka produk B, maka jika ada user lain yang suka produk A, kita bisa rekomendasikan produk B.

Collaborative Recommender System

Jika diperhatikan terdapat perbedaan yang mencolok antara kedua sudut pandang tersebut, masing-masing mempunyai plus dan minusnya. Beberapa catatan yang saya miliki:

  • Content-Based Filtering membutuhkan profil dari sebuah item. Artinya kita butuh fitur / karakteristik sebuah item. Misalnya, untuk buku ini bisa berarti Tema, Genre, Penulis, Tahun Terbit, dsb. Terkadang pada beberapa item hal ini sulit untuk dicari. Misalnya kita ingin merekomendasikan suatu “Tempat/Lokasi”
  • Collaborative Filtering membutuhkan profil dari user lain. Jika sistem yang kita buat masih “baru” mendapatkan profil user lain akan sulit dan kurangnya informasi bisa jadi menghasilkan hasil yang tidak sesuai. Bisa dibayangkan ketika sistem kita hanya ada dua user. Lalu user 1 beli item A dan item B, dan user 2 beli item A. Karena hanya terdiri dari dua user, tentu kita tidak bisa langsung bilang user 2 akan suka item B kan? karena bisa jadi item B yang dibeli user sama sekali tidak ada “hubungan” dengan item A.
  • Masalah kurangnya data di awal disebut dengan Cold Start Problem. Masalah tersebut dapat lebih diminimalkan (bukan dihilangkan) pada Content-Based Filtering karena kita tidak membutuhkan banyak riwayat user. User yang telah melakukan aktivitas “sebentar” sudah bisa mendapat rekomendasi yang cukup baik.
  • Seperti yang disinggung sebelumnya, Collaborative Filtering dapat memunculkan relasi dua buah item yang memiliki perbedaan profil yang tinggi tapi memiliki kedekatan secara “makna” misalnya, Payung dan Obat Flu sering dibeli secara bersamaan walaupun keduanya memiliki profil yang berbeda.
  • Content Based juga cocok untuk merekomendasikan suatu item yang sangat jarang di-“sentuh” semua user. Misalnya item yang tidak laku-laku. Hal ini bisa membantu meningkatkan profit dengan merekomendasikan item tersebut yang cocok dengan profil user tertentu.
  • Terdapat lebih banyak metode atau algoritma yang dapat digunakan pada Collaborative Filtering. Berbeda dengan algoritma Content-Based yang kebanyakan adalah “searching dan matching” pada Collaborative Filtering terdapat beragam metode dari yang sederhana hingga rumit.

Pada kenyataannya kebanyakan orang menggunakan teknik hybrid pada sistem rekomendasinya. Menggabungkan Content-Based dan Collaborative Filtering dengan rule-rule yang sesuai.


Post a Comment

0 Comments