Artikel kali ini berkaitan dengan
posting saya sebelumnya, saat itu saya tiba-tiba mendapatkan video rekomendasi dari youtube yaitu
"[GUIDE] Pebble Screen Tearing Fix". Padahal ketika itu saya sedang exploring video-video smartwatch... Naah kebetulan sekali muncul video tersebut.
Yang jadi pertanyaan adalah.., koq bisa ya Youtube tau apa yang saya butuhkan, atau apa yang bermanfaat buat saya. Teknik ini lah yang disebut dengan Recommendation System atau Sistem Rekomendasi, dimana pengguna akan disuguhkan informasi yang berkaitan dengan item atau karakteristik pengguna tersebut. Menurut saya faktor kebetulan atau Serendipity pada teknik ini sangat kereen, dimana pengguna di tawarkan suatu item/produk yang tak terduga.
Awal mula sistem rekomendasi
Berdasar artikel tahun 1995 tentang social information filtering, saat itu telah ada penelitian di bidang rekomendasi pada database musik yang bernama Ringo, dimana telah dilakukan teknik personalized recommendations. Setelah era berkembangnya internet dan maraknya e-commerce, search engine, social media dan teknologi berbasis web lainnya, beberapa teknik pada sistem rekomendasi banyak bermuculan untuk menghasilkan item rekomendasi yang lebih baik.
Contoh penggunaan sistem rekomendasi
Peran sistem rekomendasi menjadi penting seiring dengan pertumbuhan data di internet yang sangat pesat dan besar. Dengan meledaknya data-data tersebut, filtering/penyaringan informasi yang berguna/bermanfaat secara personal menjadi bagian yang penting. Disinilah peran sistem rekomendasi dalam melakukan filtering untuk menghasilkan rekomendasi yang baik.
Beberapa perusahaan e-commerce menggunakan sistem rekomendasi untuk menunjang bisnis mereka, seperti: Netflix, Amazon, YouTube, Facebook, Google, MovieLens, Last.fm, Alibaba, eBay, dll. Dari sejumlah artikel menyebutkan tujuan dari implementasi sistem rekomendasi ini adalah menampilkan list item/produk yang relevan, terbarukan/novelty, kebetulan/serendipity dan beragam/diversity.
MovieLens merupakan salah satu gudang data yang menyediakan data movie, users dan ratings dalam jumlah besar yang sering digunakan oleh banyak peneliti untuk pengujian performa atau membentuk model baru dalam sistem rekomendasi.
|
Dashboard MovieLens setelah user login |
Beberapa sistem rekomendasi pada aplikasi Iflix, Blibli, GoFood dan GrabFood yang memeberikan rekomendasi terkait preference dari pengguna atau item/produk.
|
Rekomendasi dari iflix beberapa film kartun 😆 |
|
Di Blibli saya direkomendasikan membeli Sneakers & Tab ✌😁 |
|
Di GrabFood saya disarankan membeli dari resto-resto tersebut |
Umumnya terdapat dua pendekatan dalam membangun sistem rekomendasi, yaitu: content-based filtering(CB) dan collaborative filtering(CF), kurang lebih berikut ini detailnya..
1. Content-based filtering(CB)
Metode ini memberikan rekomendasi berdasarkan data deskripsi item/produk yang tersedia. Sistem akan mencari persamaan produk berdasarkan deskripsi yang ada. Preferensi pengguna dalam melakukan interaksi terhadap produk akan direkam dan produk dengan kemiripan tertentu akan direkomendasikan kepada pengguna tersebut. Kurang lebih ilustrasi teknik ini seperti pada gambar berikut:
|
Metode content-based filtering |
Pada metode CB ini terdapat beberapa keunggulan, yaitu:
- Pengguna akan mendapatkan rekomendasi terhadap produk yang disukainya.
- Jika terdapat produk baru akan dengan mudah direkomendasikan jika sesuai dengan karakter produk sejenis.
Meski demikian terdapat juga beberapa kelemahan pada metode ini:
- Tidak bisa memunculkan fitur serendipity, karena jenis produk yang berbeda.
- Ekstraksi/pengambilan informasi tipe data video, audio, image sulit dilakukan, karena membutuhkan algoritma yang rumit & kompleks.
- Perusahaan bisnis e-commerce tidak dapat ekspansi penjualan produknya, karena tipe produk berbeda tidak muncul sebagai rekomendasi ke pengguna.
2. Collaborative filtering(CF)
Pada CF, sistem memberikan rekomendasi berdasarkan pada karakteristik dari pengguna dengan pengguna yang lain. Oleh karena itu, data history transaksi atau rating dari pengguna menjadi komponen penting dalam metode ini. Misalkan pengguna A membeli kopi, kentang goreng dan telur mata sapi sedangkan pengguna B membeli kopi dan kentang goreng. Maka kemungkinan besar pengguna B juga akan membeli telur mata sapi, karena berdasarkan karakteristik antar pengguna terdapat kecocokan. Konsep inilah yang digunakan oleh metode CF dalam sistem rekomendasi. Berikut ilustrasi dari metode CF:
|
Metode collaborative filtering |
Di metode CF ini dapat mengatasi kelemahan pada metode CB, yaitu serendipity, dimana pengguna akan merasa surprise mendapatkan rekomendasi produk-produk yang tidak mereka bayangkan sebelumnya. Tetapi di metode CF sistem akan menghasilkan rekomendasi yang baik berdasarkan data rating dari pengguna, kondisi jarangnya data-data tersebut menyebabkan sistem rekomendasi berjalan tidak maksimal, atau istilahnya disebut sparse data.
Artikel terkait detail pembahasan content-based dan collaborative filtering bisa anda telusuri di link berikut ini:
- Membangun sistem rekomendasi dengan teknik content-based filtering
- Memahami collaborative filtering di sistem rekomendasi
Kesimpulan
Implementasinya kedua metode dalam sistem rekomendasi tersebut digunakan sesuai kebutuhan, misalkan pada bisnis produk yang sejenis bisa menggunakan metode CB, sedangkan untuk produk-produk beragam, metode CF bisa dipilih. Algoritma pada metode CB sebagian besar menggunakan KNN atau teknik searching dan matching, sedangkan di CF lebih beragam lagi algoritma yang digunakan, seperti: neural network atau matrix factorization.
Gabungan metode keduanya, atau biasa disebut dengan metode Hybrid telah banyak dikembangkan juga untuk menghasilkan rekomendasi yang lebih baik. Trend penelitian saat ini banyak ke arah prediksi matrix data untuk mengatasi kendala sparse data di CF atau pengembangan metode hybrid di sistem rekomendasi dengan berbagai macam teknik.
Bagi mahasiswa yang tertarik mengambil tema penelitian ini, bisa kontak saya untuk diskusi lebih lanjut yaa.. InshaAllah artikel selanjutnya akan saya bahas beberapa teknik implementasi di metode collaborative filtering.