Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Recommendation System Agata FILIANA
May 28, 2014
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filtering Content-based Evaluasi recommendation system Masalah dalam recommendation system
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filtering Content-based Evaluasi recommendation system Masalah dalam recommendation system
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction
Apa recommendation system (sistem rekomendasi)? Contoh?
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction
Apa recommendation system (sistem rekomendasi)? Contoh?
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Recommender system
Memberikan rekomendasi, biasanya barang, kepada orang (user) Misalnya :
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Recommender system
Memberikan rekomendasi, biasanya barang, kepada orang (user) Misalnya : I
Kamera digital mana yang harus saya beli?
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Recommender system
Memberikan rekomendasi, biasanya barang, kepada orang (user) Misalnya : I
Kamera digital mana yang harus saya beli?
I
Akun twitter mana yang akan harus saya follow?
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Recommender system
Memberikan rekomendasi, biasanya barang, kepada orang (user) Misalnya : I
Kamera digital mana yang harus saya beli?
I
Akun twitter mana yang akan harus saya follow?
I
Universitas mana yang tepat bagi saya?
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Recommender system Kegunaan recommender system : I
Mempersempit information overload
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Recommender system Kegunaan recommender system : I
Mempersempit information overload
I
Kegunaan bagi user : mendapatkan hal yang menarik, mempersempit pilihan, menemukan hal yang baru
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Recommender system Kegunaan recommender system : I
Mempersempit information overload
I
Kegunaan bagi user : mendapatkan hal yang menarik, mempersempit pilihan, menemukan hal yang baru
I
Kegunaan bagi provider : memberikan rekomendasi yang lebih personal kepada user-nya, meningkatkan loyalitas user, meningkatkan pembelian, peluang untuk promosi, mendapatkan pengetahuan tentang user-nya
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filtering Content-based Evaluasi recommendation system Masalah dalam recommendation system
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Recommenders vs Search Engines
I
Search engines bukan sebuah sistem rekomendasi
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Recommenders vs Search Engines
I
Search engines bukan sebuah sistem rekomendasi
I
Query untuk mencari rekomendasi pada search engine menghasilkan kumpulan sistem rekomendasi
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Recommenders vs Search Engines
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filtering Content-based Evaluasi recommendation system Masalah dalam recommendation system
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Kategori Recommendation System
Content based filtering: ”Rekomendasikan buku yang sesuai dengan tipe buku yang saya suka”. Biasanya menggunakan fitur barang.
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Kategori Recommendation System
Content based filtering: ”Rekomendasikan buku yang sesuai dengan tipe buku yang saya suka”. Biasanya menggunakan fitur barang. Collaborative filtering: ”Rekomendasikan buku yang disukai oleh teman-teman saya”. Menggunakan preferensi komunitas.
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Kategori Recommendation System
Content based filtering: ”Rekomendasikan buku yang sesuai dengan tipe buku yang saya suka”. Biasanya menggunakan fitur barang. Collaborative filtering: ”Rekomendasikan buku yang disukai oleh teman-teman saya”. Menggunakan preferensi komunitas. Hybrid: Kombinasi dari CF dan content-based
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filtering Content-based Evaluasi recommendation system Masalah dalam recommendation system
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Input Recommendation System
(Vozalis & Margaritis, 2003) menyatakan input sistem rekomendasi ada tiga:
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Input Recommendation System
(Vozalis & Margaritis, 2003) menyatakan input sistem rekomendasi ada tiga: I
Demographic data : umur, jenis kelamin, dll
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Input Recommendation System
(Vozalis & Margaritis, 2003) menyatakan input sistem rekomendasi ada tiga: I
Demographic data : umur, jenis kelamin, dll
I
Content data : analisis tekstual dari barang-barang yg pernah dibeli oleh user
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Input Recommendation System
(Vozalis & Margaritis, 2003) menyatakan input sistem rekomendasi ada tiga: I
Demographic data : umur, jenis kelamin, dll
I
Content data : analisis tekstual dari barang-barang yg pernah dibeli oleh user
I
Ratings : scalar, binary, unary. Selain itu ada juga rating implisit dan eksplisit.
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filtering Content-based Evaluasi recommendation system Masalah dalam recommendation system
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Collaborative Filtering
”wisdom of crowd”
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF : Keuntungan
(Melville et al., 2002) menyebutkan dua keuntungan CF:
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF : Keuntungan
(Melville et al., 2002) menyebutkan dua keuntungan CF: I
bisa digunakan pada domains dimana di dalamnya terdapat content yangx tidak berhubungan dengan items
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF : Keuntungan
(Melville et al., 2002) menyebutkan dua keuntungan CF: I
bisa digunakan pada domains dimana di dalamnya terdapat content yangx tidak berhubungan dengan items
I
serendipitious recommendations
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF : Input Input dari CF : matriks user-item ratings
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF : Output
Output dari CF : top-N list, prediksi rating score
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF : Metode
Nearest Neighbour I
user-to-user
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF : Metode
Nearest Neighbour I
user-to-user
I
item-to-item
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF : User-to-user Terdapat sebuah matriks berisi rating. Kira-kira berapa rating Alice untuk item5?
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF User-to-user : Pearson correlation coefficient Bagaimana caranya mengukur kesamaan antar user? Solusi:
Pearson correlation coefficient sim(a, b) = P
− r a )(rb,p − r b ) qP 2 2 r ) (r − a p∈P a,p p∈P (rb,p − r b ) p∈P (ra,p
qP
Variables I
a, b: users
I
P: items, yang sudah dirating oleh a dan b
I
ra,p : rating dari user a untuk item p
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF User-to-user : Menentukan prediksi
Weighted normalized adjusted average pred(a, b) = P ra +
Agata FILIANA Recommendation System
b∈N
sim(a, b) ∗ (rb,p − rb ) P b∈N sim(a, b)
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF User-to-user : Menentukan prediksi
Lainnya : I
Simple average
I
Weighted average
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF User-to-user : Menentukan prediksi Jika kita ambil 2-Nearest-Neighbour
PAlice,item5 =
Agata FILIANA Recommendation System
3+4 2
= 3.5
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF : Item-to-item Memberikan prediksi berdasarkan kesamaan antar barang (items)
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF Item-to-item : Cosine similarity
Kesamaan dihitung dengan cosine similarity (yang paling sering digunakan), dimana ratings dianggap sebagai vektor
Cosine similarity → − − sim(→ a, b)=
Agata FILIANA Recommendation System
− → − → a.b − → − → | a |∗| b |
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF Item-to-item : Cosine similarity Opsi lain adalah adjusted cosine similarity yang menggunakan rata-rata ratings dari user untuk mengubah rating awal
Adjusted Cosine similarity → − − sim(→ a, b)=
P
− ru )(ru,b − ru ) qP 2 2 (r − r ) u,a u u∈U u∈U (ru,b − ru ) u∈U (ru,a
qP
Variables I
U: satu set users yang sudah melakukan rating terhadap items a dan b
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF Item-to-item : Menentukan prediksi
Prediction function pred(u, p) = P
i∈ratedItems(u) sim(i, p)
P
∗ ru,i
i∈ratedItem(u) sim(i, p)
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
CF Item-to-item : Menentukan prediksi
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filtering Content-based Evaluasi recommendation system Masalah dalam recommendation system
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Content-based
I
Membutuhkan informasi barang, tidak perlu informasi komunitas
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Content-based
I
Membutuhkan informasi barang, tidak perlu informasi komunitas
I
Dibutuhkan : informasi tentangg konten barang informasi tentang apa yg disukai oleh user
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Content-based
I
Membutuhkan informasi barang, tidak perlu informasi komunitas
I
Dibutuhkan : informasi tentangg konten barang informasi tentang apa yg disukai oleh user
I
Biasanya dipakai untuk text-based, misalnya berita ¿¿ text classification
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Content-based : Keuntungan
Keuntungan dari content-based:
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Content-based : Keuntungan
Keuntungan dari content-based: I
komunitas tidak diperlukan
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Content-based : Keuntungan
Keuntungan dari content-based: I
komunitas tidak diperlukan
I
lebih mudah daripada CF?
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Content-based : tf-idf
Karena merupakan text classification maka digunakan tf-idf dan classifiers klasik seperti Naive Bayes dan SVM
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filtering Content-based Evaluasi recommendation system Masalah dalam recommendation system
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Evaluasi Recommendation System
Statistical accuracy metrics: Mean Absolute Error (MAE), Root Mean Squared Error (RMSE)
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Evaluasi Recommendation System
Statistical accuracy metrics: Mean Absolute Error (MAE), Root Mean Squared Error (RMSE) Decision support accuracy: biasanya untuk data binary, menunjukkan kualitas dari barang yang direkomendasi : Precision, Recall, ROC
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filtering Content-based Evaluasi recommendation system Masalah dalam recommendation system
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Masalah dalam Recommendation System
Data sparsity Solusi? SVD (Singular Value Decomposition)
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Masalah dalam Recommendation System
Data sparsity Solusi? SVD (Singular Value Decomposition) Cold start First rater problem
Agata FILIANA Recommendation System
Introduction Recommenders vs Search Engines Kategori recommendation system Input recommendation system Collaborative Filt
Masalah dalam Recommendation System
Data sparsity Solusi? SVD (Singular Value Decomposition) Cold start First rater problem Shilling attacks Biased ratings
Agata FILIANA Recommendation System