Saturday, March 27, 2021

Simple rekomendasi dengan Formula IMDb Weighted Rating

Alhamdulillah setelah diskusi seputar penelitian bidang sistem rekomendasi dengan rekan-rekan di kampus, akhirnya ter inisialisasi group telegram untuk kolaborasi penelitian dan belajar bersama di bidang information retrieval dan sistem rekomendasi di url berikut: https://t.me/joinchat/CH_ihoMW7XdjZTA1

Oiyaa, siapapun yang ingin belajar bersama boleh koq join di group tersebut, semoga saja bisa bermanfaat. Semoga kita bisa konsisten sharing-sharing setiap akhir pekan.. mohon doanya ya.

Langsung aja degh, kita bahas kembali tentang metode yang sangat simple pada sistem rekomendasi yaitu dengan menggunakan rumus yang ada di IMDb (Internet Movie Database). Metode ini termasuk ke dalam konsep non-personalized, jadi setiap users/costumers akan mendapatkan suatu list item rekomendasi yang sama, tidak ada interferensi dari history atau kemiripan item atau pengguna.

Ide untuk menggunakan metode rekomendasi ini adalah:

  1. Film-film yang lebih populer akan memiliki kemungkinan yang lebih besar untuk disukai juga oleh rata-rata penonton.
  2. Model ini tidak memberikan rekomendasi yang personal untuk setiap tipe user. 
  3. Implementasi model ini pun juga bisa dibilang cukup mudah, yang perlu kita lakukan hanyalah mengurutkan film-film tersebut berdasarkan rating dan popularitas dan menunjukkan film teratas dari list film tersebut.
Berikut ini formula/rumus yang digunakan untuk mengenerate score pada IMDb Weighted rating:


Dimana:
v: jumlah votes untuk film tersebut
m: jumlah minimum votes yang dibutuhkan supaya dapat masuk dalam chart
R: rata-rata rating dari film tersebut
C: rata-rata jumlah votes dari seluruh semesta film
Formula ini digunakan IMDb untuk perhitungan Top Rated 250 titles, dengan perhitungan Bayesian estimate yang menghitung jumlah vote dari setiap judul, vote minimum untuk masuk ke dalam daftar, dan rata – rata vote dari keseluruhan judul.

Berikut ini contoh kode di python (Jupyter notebook) untuk perhitungannya, disini saya masih menggunakan dataset seperti pada artikel sebelumnya untuk rekomendasi dengan metode content-based filtering yaitu di domain hotel.

Code 


Untuk kode lengkap dan dataset yang saya gunakan bisa langsung meluncuuur di github berikut ini: https://github.com/ariflaksito/imdb-wr-recsys.

Untuk skripsi ataupun TA, metode ini terlalu sederhana untuk dijadikan topik/tema penelitian. Saran saya anda bisa menggabungkan dengan metode yang lainnya, misalnya di kombinasikan dengan content-based filtering atau dengan collaborative filtering.

Referensi

  1. DQLab Academy, Building Recommedner system, https://academy.dqlab.id/main/package/practice/212
  2. IMDb, Help, https://help.imdb.com/article/imdb/track-movies-tv/ratings-faq/G67Y87TFYYP6TWAV?ref_=helpms_helpart_inline#calculatetop