ANALISIS DAN IMPLEMENTASI CONVERSATIONAL RECOMMENDER SYSTEM DENGAN MEKANISME PEMILIHAN PERTANYAAN MENGGUNAKAN REINFORCEMENT LEARNING BERBASIS ONTOLOGY
ANALISIS DAN IMPLEMENTASI CONVERSATIONAL RECOMMENDER SYSTEM DENGAN MEKANISME PEMILIHAN PERTANYAAN MENGGUNAKAN REINFORCEMENT LEARNING BERBASIS ONTOLOGY
Ilham Mujaddid Al Masyriq 1 , Z.K Abdurahman Baizal 2 , Erliansyah Nasution 3
1,2,3 Prodi Ilmu Komputasi Telkom University, Bandung
1 zielham23@gmail.com, 2 bayzal@gmail.com, 3 erlinst@yahoo.com
Abstrak
Conversational recommender system merupakan salah satu variasi dari recommender system yang ada saat ini. Namun, proses pemilihan pertanyaan yang akan diajukan lebih dulu menjadi masalah jika jumlah pertanyaan yang ada dirasa cukup banyak dan tidak semua pertanyaan bisa diajukan, sehingga hanya dimunculkan beberapa saja.
Oleh karena itu, diperlukan suatu mekanisme pembelajaran untuk memilih pertanyaan yang layak diajukan terlebih dahulu. Dalam tugas akhir ini digunakan reinforcement learning sebagai metode pembelajaran dalam proses pemilihan pertanyaan tersebut.
Dengan ontology sebagai basis pengetahuanya, conversational system ini melakukan pembelajaran dengan menggali preferensi pengguna dengan mengajukan pertanyaan-pertanyaan berupa kebutuhan fungsional. Conversational recommender system ini diharapkan mampu memberikan pertanyaan yang sesuai dengan kebutuhan pengguna saat itu dan memberikan hasil rekomendasi yang akurat sesuai dengan preferensi pengguna sehingga interaksi pengguna pada system pun dapat dilakukan seefisien mungkin.
Kata kunci: conversational recommender system, reinforcement learning, ontology, history.
Abstract Conversational recommender system is one of recommender system variation that exist today. However, the process of selecting questions to be asked first will be a problem if the number of questions are quite a lot and not all questions can be asked, only a few are shown.
Therefor, we need a learning mechanism for selecting proper question that feasible to be asked in advance. In this thesis, reinforcement learning is used as a learning method in the process of selecting the questions. With the ontology as a knowledge base, this conversational recommender system is eliciting user preference by asking the questions about functional reqirement. Conversational recommender system is expected to provide questions that correspond to the current user needs and provide accurate recommendation results according to user preferences so that the user interaction in the system can be done as efficiently as possible.
Keywords: conversational recommender system, reinforcement learning, ontology, history.
1. Pendahuluan
rekomendasi produk kepada calon pembeli dari Perkembangan teknologi saat ini telah
banyaknya katalog produk yang ditawarkan di situs banyak memberikan kemudahan kepada kita semua
jual-beli. Sehingga pembeli tidak kesulitan untuk dalam segala aspek kehidupan. Dalam hal jual-beli
mencari dan bisa dengan cepat mendapatkan produk misalnya, tak sedikit penjual yang memanfaatkan
yang mereka.
recommender system Fenomena ini kemudian terus berkembang dengan
teknologi untuk memasarkan produk yang dijualnya.
Conversational
merupakan salah satu variasi dari recommender munculnya situs-situs yang khusus menjual berbagai
system yang ada pada saat ini. System ini mengggali macam produk yang melayani jasa jual-beli secara
preferensi pengguna dengan cara melakukan tanya online atau lebih dikenal juga dengan sebutan e-
jawab dengan pengguna seputar produk yang sedang Commerce .
dicari. Namun, jika saja pertanyaan-pertanyaan yang Alih-alih semakin banyak yang mulai melirik
akan diajukan oleh system ini hanya sedikit mungkin kegiatan e-Commerce ini, tingkat persaingan pun
tidak akan terjadi masalah. Tetapi, jika pertanyaan semakin bertambah diantara penjual. Banyak
yang akan diajukan cukup banyak, akan jadi kemudian situs jual-beli online yang memberikan
masalah dalam hal memilih pertanyaan yang harus fitur-fitur yang mampu memberikan layanan dan
didahulukan. Hal yang paling mudah dalam kemudahan kepada para penggunanya. Salah satu
mengatasi hal ini adalah dengan memilih pertanyaan yang paling banyak dikembangkan saat ini adalah
random , namun kurang baik karena recommender system
secara
yang bisa memberikan
kemungkinan ada pertanyaan-pertanyaan yang kemungkinan ada pertanyaan-pertanyaan yang
yang harus dijawab oleh penggunanya. pembelajaran untuk memilih pertanyaan-pertanyaan
Dalam setiap sesinya, conversational yang kemungkinan besar akan mendapat respon
kemudian memberikan yang positif dari pengguna saat berintekasi dengan
recommender
system
rekomendasi berdasarkan respon atau jawaban dari system .
penggunannya. Ini dilakukan dengan cara mengubah Berangkat dari hal ini, kemudian penulis
respon atau jawaban dari pengguna ke dalam bentuk ingin
query yang kemudian digunakan untuk mencari recommender system yang mampu melakukan
produk yang cocok dengan kriteria pengguna dengan pembelajaran untuk bisa memilih pertanyaan-
produk yang ada di dalam katalog produk. pertanyan mana saja yang lebih baik didahulukan
Dalam rangka meniru perilaku yang untuk ditanyakan. Dengan menerapkan
dilakukan oleh seorang sales yang sedang berinteraksi reinforcement lerarning, system ini diharapkan
dengan customernya, tentunya pemilihan pertanyaan mampu mempelajari interaksi pengguna sebagai
yang akan diajukan kepada customer merupakan hal bahan pembelajaran system. Sehingga pada akhirnya
yang sangat penting untuk dipertimbangkan. bisa memberikan susunan pertanyaan yang sesuai
Mengingat tujuan utama sebuah recommender dengan kebutuhan pengguna baru dengan melihat
adalah untuk mempermudah seseorang kecenderungan history interaksi system dengan
system
dalam menentukan pilihan. Akan jadi memberatkan pengguna-pengguna
jika pertanyaan-pertanyaan yang diajukan ternyata pertanyaan yang diajukan diharapkan mendapat
sebelumnya.
Susunan
tidak sesuai dengan yang dibutuhkan penggunanya. respon positif dari pengguna karena ketepatan
Bukan terbantu, tapi akhirnya menjadi disusahkan pertanyaan
oleh recommender system itu sendiri. Oleh karenanya, mempercepat waktu interaksi pengguna dengan
menentukan pertanyaan yang kemungkinan besar system .
dari pengguna Hal ini penting karena harapan pengguna
merupakan hal yang sangat penting yang bisa dalam menggunakan sebuah fasilitas tentunya untuk
dilakukan oleh sebuah conversational recommender mempermudah keperluanhya. Bayangkan saja jika
system .
saat pengguna menggunakan sebuah conversational
recommender system , ternyata pengguna dihadapkan
2.2 Rinforcement Learning
dengan pertanyaan-pertanyaan yang sebenarnya Reinforcement learning adalah belajar tentang tidak
apa yang sebaiknya dilakukan, yaitu dengan cara kebutuhannya.
diharapkan atau
tidak sesuai dengan
memetakan situasi yang dihadapi kedalam sebuah akhirnya jadi mempersulit dan memperlama waktu
aksi untuk memaksimalkan nilai reward yang interaksi dengan system. Hal ini bisa membuat
diberikan system jika aksi yang diambil itu benar [1] pengguna bosan dan memberikan respon yang
[8]. Ibarat manusia yang selalu mencoba-coba negatif atau bahkan pergi begitu saja dari system
bermacam tindakan disaat dihadapkan pada suatu karena ketidakpuasannya. Oleh karena itulah,
masalah, kemudian mencari jalan keluar yang pertanyaan yang efisien sangat dibutuhkan selama
dianggap terbaik diantara pilihan-pilihan tindakan proses interaksi pengguna dengan system.
yang tersedia dengan mengamati hasil yang didapat dari setiap tindakan yang telah diambil. Jika
2. Landasan Teori
tindakan yang diambil itu ternyata baik, maka hasil
2.1 Conversational Recommender System
yang didapat juga baik, begitu sebaliknya. Recommender system bisa dikatakan sebagai
Sebagai contoh lain, seorang murid yang sebuah system yang mampu memberikan petunjuk
sedang belajar di kelas. Jika dia selalu bersikap baik dalam setiap tindakannya, tentu sang guru akan
atau rekomendasi
mengapresiasi murid tersebut dengan memberi nilai menggunakan cara-cara tertentu untuk memberikan yang baik. Namu sbaliknya, jika ternyata suatu saat pilihan yang kemungkinan besar berguna atau murid tersebut melakukan tindakan yang kurang menarik bagi pengguna dari sejumlah besar data [5].
baik, tentu guru tersebut juga akan memberi Recommender system
hukuman atas tindakannya tersebut. membantu pengguna dalam memilih produk ketika
diperkenalkan untuk
sejumlah besar katalog tersedia dan pengguna
2.2.1 Action Value
memiliki pengetahuan yang tidak cukup untuk Merupakan nilai estimasi atau nilai rata-rata mengambil pilihan yang terbaik secara mandiri [6].
dari reward yang didapat oleh sebuah aksi yang dalam Berbeda dengan recommender system pada
tugas akhir ini berupa pertanyaan setiap kali umumnya, conversational recommender system
pertanyaan tersebut dipilih untuk diajukan. Dengan dibuat lebih interaktif. Pengguna dapat berinteraksi
kata lain, jika pada saat interaksi ke t, pertanyaan a dengan system dengan melakukan tanya-jawab
telah diajukan sebanyak k a kali, dengan hasil reward seputar kebutuhannya. Layaknya seorang sales di
r 1 ,r 2 ,…,r ka , maka nilai estimasinya, dunia nyata, conversational recommender system
(r r r
- Product
= merupakan class yang
merepresentasikan produk yang ada dalam Q
t a (a) domain.
class yang proses komputasi yang besar karena nilai reward
Untuk menghindari alokasi memori dan
Component =
merupakan
merepresentasikan spesifikasi produk yang
yang terus bertambah setiap waktu, dengan memetakan antara kebutuhan fungsional dan melakukan incremental update, rata-rata reward
produk.
pada saat k+1 dapat dihitung dengan k 1 Pada [11] diajukan suatu model ontology
1 Q k 1
. r (i) ket : i yang terdiri dari tiga class yang merepresentasikan
k 1
1 k 1
i 1
kebutuhan fungsional, produk dan spesifikasi k 1 produk. Semua class tersebut mempunyai subclass
1 [r k 1
i i 1 ] ket : i 1 k 1 dan individu sebagai representasi dari sebuah
k 1
hirarki. Hihrarki class dihubungkan dengan class 1 [ r kQ Q Q ]
lainnya lewat object property seperti yang
k k k k 1
k 1
ditunjukkan pada gambar 1.
[r (k 1) . Q Q ] k k 1 k k 1
2.4 Menentukan Hasil Rekomendasi
1 Q Selama proses interaksi dengan pengguna,
[r Q ]
k k 1 k 1 system secara tidak langsung membangun preferensi (profil) pengguna yang nantinya digunakan untuk
atau secara umum dapat ditulis sebagai berikut [8] mencari kecocokan kebutuhan pengguna dengan katalog item yang ada dalam ontology. Profil
NewEstimate OldEstimate Stepsize T arg et OldEstimate
pengguna ini menyimpan hardconstraint, dan softconstraint beserta derajat ketertarikan (degree of
2.2.2 Epsilon Greedy interest (Є-Greedy ) ) dari setiap softcontraint-nya.
Untuk menyeimbangkan proses ekplorasi dan Setelah profil pengguna terbentuk, produk eksploitasi ini dapat dilakukan dengan cara memilih
kemudian dibangkitkan berdasarkan kebutuhan greedy action dengan probabilitas (1- Є t ) dan memilih
fungsional yang dipilih dan dilakukan perankingan satu dari aksi yang lain dengan probabilitas Є t .
untuk didapatkan produk yang paling cocok dengan Sebagai contoh, nilai Є t
dapat didefinisikan sebagai kebutuhan pengguna. Pada [11] disebutkan beberapa definisi dalam pembangkitan produk.
berikut [3]. Definisi 1. Sebuah produk p dikatakan
memenuhi kebutuhan fungsional f, dinotasikan
G 2 t
p f jika dan hanya jika
UpperS c c.SuppBy f ,c UpperS
positif constants . Semakin besar nilai G1 dan G2,
Dimana G 2 >G 1 dan G 1 dan G 2 adalah large
c c.SuppBy f , c
p ,c
c c.HasComp
maka proses pembelajaran akan semakin lama.
Kita dapat mengenerate nilai random rand t diantara
0 sampai 1. Jika rand t lebih besar dari Є t maka pilih
Dimana:
greedy action , sebaliknya pilih aksi yang lain. - UpperS = Fungsi untuk medapatkan himpunan parents
dari sebuah himpunan node dalam ontology.
2.3 Struktur Ontology
- SuppBy = Relasi yang meghubungkan elemen-elemen himpunan individu pada hirarki Functional
rdfs:subclass of rdf:type of
class
Requirement dengan elemen-elemen himpunan individu
owl:object property
Supported by pada hirarki Component. Relasi ini menunjukkan bahwa
instance
suatu kebutuhan fungsional didukung oleh komponen tertentu.
Product
Supported by Component
Component of
- HasComp = Relasi yang menghubungkan elemen-
Component Product
Functional Requirement
elemen himpunan pada hirarki Product dengan elemen- elemen himpunan pada hirarki Component. Relasi ini
Component
menunjukkan bahwa suatu produk mempunyai
Supported by
Instances of Component
Instances of of
Instance of Component tertentu.
Definisi 2. Fungsi untuk mencari himpunan 3 Definisi 2. Fungsi untuk mencari himpunan 3
Supported by
Product
didefinisikan dengan fungsi SearchP .
SearchP :N N
Keterangan: Untuk suatu kebutuhan fungsional F R soft R hard ,
Gambar 1 Struktur Ontology
- Functional Requirement = merupakan class yang Maka himpunan produk yang sesuai dengan merepresentasikan kebutuhan fungsional.
kebutuhan fungsional adalah,
= banyaknya tingkat dukungan komponen SearchP F p p.
s i R so ft h j R h a rd
untuk kebutuhan fungsional FR .
2.4.1 Derajat Ketertarikan (Degree of Interest)
2.5 Penjelasan (Explanation)
Derajat ketertarikan (degree of interest Sebuah penjelasan (explanation) dalam disingkat
sebuah recommender system dapat memegang merepresentasikan tingkat ketertarikan pengguna
peranan penting dalam meningkatkan user experience dalam penggunaan recommender system
memiliki banyak atau kebutuhan fungsional yang ada. DOI bisa keuntungan, mulai dari menginspirasi kepercayaan didapatkan dengan menormalisasi dari nilai reward
terhadap sesuatu, dalam hal ini adalah softconstraint
pengguna untuk membantu pengguna mebuat suatu yang didapat oleh setiap kebutuhan fungsional
keputusan yang baik.
selama interaksi dengan pengguna sebelumnya. Berdasarkan [9] [10] ada tujuh kemungkinan
DOI i
tujuan explanation dalam sebuah recmmender
system , yaitu:
1. Transparency, menjelaskan bagaimana suatu Jika belum ada data interaksi dari pengguna
i 1
system dapat bekerja.
sebelumnya, nilai DOI dibagi rata ke setiap kebutuhan
2. Scrutability, mengijinkan pengguna untuk fungsional yang dipilih. Nilai DOI ini nantinya
mengatakan kepada system bahwa sesuatu itu digunakan dalam perhitungan bersama dengan utility
salah.
function sebagai pertimbangan system dalam
3. Trustworthiness, meningkatkan kepercayaan perankingan produk yang ada.
pengguna terhadap system.
4. Effectiveness , membantu pengguna untuk Utility function digunakan untuk meranking
2.4.2 Utility Function
membuat suatu keputusan yang baik.
5. Persuasiveness, meyakinkan pengguna untuk produk yang didapat dari hasil penelusuran semantik
mencoba atau membeli suatu produk. pada ontology. Sebuah model preferensi berdasarkan
6. Efficiency, membantu pengguna untuk membuat metode MAUT (Multi-Attribute Utility Theory)
keputusan lebih cepat.
seperti yang disebutkan pada [2] dinyatakan sebagai
7. Satisfaction, meningkatkan kenyamanan
pasangan V 1 ,V 2 ,...,V n , w 1 ,w 2 ,..., w n dengan V i adalah
pengguna pada saat berinteraksi dengan system. nilai dari atribut A i dan w i adalah relatif importance
Proses pembangkitan penjelasan dilakukan dari A
i . Dengan demikian utility dari produk masing lintasan node dan relasinya dalam user profil
dengan cara penelusuran backtrack pada masing-
a , a ,..., a adalah sebagai berikut:
model, berawal dari suatu node produk yang akan
n direkomendasikan. Untuk menghasilkan penjelasan
U a , a ,..., a 1 2 n
a (5) w i V i i
yang lebih natural, pembangkitan penjelasan akan
i 1
menggunakan template diapdukan dengan relasi
serta info dari node hasil penelusuran backtrack
Dengan w i 1
pada user profil model [11]. Template yang Metode MAUT tersebut lebih sesuai untuk
i 1
digunakan adalah sebagai berikut,
sebuah preferensi yang mengacu pada atribut atau
fitur teknis dari sebuah produk secara langsung. <produk> cocok dengan kebutuhan Anda, karena Sedangkan
<produk> <relasi> <nodeinfo> <relasi> menyatakan
fungsional dari produk (bukan fitur), juga terdapat beberapa pertimbangan lain seperti DOI dan nilai
2.6 User Case Framework
support level dari setiap produk yang juga harus Merupakan skenario yang dipersiapkan untuk dilibatkan dalam perhitungan. Maka persamaan
menyelesaikan beberapa kasus yang mungkin terjadi diatas dapat disesuaikan menjadi:
pada saat system berinteraksi dengan pengguna. n j Setidaknya ada lima skenario yang dibahas pada
U FR DOI S c i w i FR
i 1
Dimana:
2.6.1 Case U1
– Empty User Profile
- DOI = DOI untuk masing-masing kebutuhan
Ini adalah kondisi pengguna saat pertama kali fungsional FR
- S c i = nilai support level dari tingkat dukungan
berinteraksi dengan system dimana profil pengguna masih kosong. Strategi yang dilakukan adalah
dengan menentukan pertanyaan awal untuk memulai - w interaksi.
Component c i (normalized).
i FR = relatif importance dari tingkat dukungan
Component c i untuk kebutuhan fungsional FR
. GenerateU1(UserModel(user))
/* memilih sejumlah maksimal
α nodes dari
sejumlah maksimal a nodes dari masing-masing
himpunan nodes pada level 1.
Input : UserModel(User), current user model himpunan DG g j */
Q j SelectQ a c DE g j ,UserModel user Begin
Output : Q, Set of Question */
/* F1 : set of Functional Requirement nodes level 1 Q QQ j
End
Q SelectQ ,F 1 ,UserModel user
End 2.6.3 Case 3 – Tidak Ada Satupun Produk Yang
Pada [11] dijelaskan bahwa SelecQ
Dipilih Pengguna
merupakan fungsi yang digunakan pada saat Dengan demikian system harus pembangkitan pertanyaan pada saat interaksi dengan
mempertimbangkan semua user profil model cara memilih sejumlah himpunan nodes yang
sebelumya yang tidak relevan. Strategi yang memang potensial untuk ditanyakan berdasarkan
dilakukan adalah dengan cara menelusuri nodes keadaan user profile saat ini.
pada user preference model, untuk menanyakan
SelecQ max Q, A, UserModel user :
alternatif kebutuhan fungsional lain dalam satu level
maupun backtrack ke nodes kebutuhan fungsional
BB P A , B min max Q, A
pada level sebelumnya yang belum ditanyakan. Dimana:
GenerateU3(UserModel(user),i)
- A = himpunan nodes yang potensial untuk /* Input : i, (i>0) adalah level hirarki kebutuhan ditanyakan.
fungsional pada ontology yang terakhir ditanyakan.
UserModel(user), current user model - B = cardinalitas dari himpunan B.
- P A = powerset dari himpunan A.
Output : Q, Set of Question
F ab adalah set nodes kebutuhan fungsional pada
level a dengan status b */
2.6.2 Case U2 – Terdapat Lebih Dari Satu
Begin
Produk Hasil Rekomendasi Yang Dipilih
if i=1 then
Pengguna
candidat F i F ivh F ivs F ix
Hal ini menandakan pengguna masih ragu- ragu antara beberapa produk (k produk) yang dia
/* candidat adalah set nodes dari kebutuhan fungsional yang potensial untuk ditanyakan*/
pilih. Oleh karena itu harus dibangkitkan pertanyaan
if candidat then
yang mengacu pada elemen pembeda antar Q SelectQ , candidat ,UserModel user kelompok produk untuk membantu pengguna
memilih dari sekian n produk yang dia pilih.
else
GenerateU 1 UserModel user
GenerateU2(UserModel(user))
/* Input : UserModel(User), current user model else
candidat children F i 1 vs F i 1 vh F ivh F ivs F ix
Output : Q, Set of Question */
Begin if candidat then
/* Menentukan supporting elemen dari k produk
Q SelectQ , candidat ,UserModel user
yang dipilih pengguna */ else
For i 1 to k do
Temp DL CompOf p i
GenerateU 3 UserModel user ,i 1
End
p
i Temp DL SuppBy{z } j
SuppElement
z j Temp 2.6.4 Case 4 – Definisi Kebutuhan Belum Cukup
/* Melakukan clustering terhadap himpunan produk Untuk Membangkitkan Rekomendasi
P */ Kebutuhan yang dimasukkan masih terlalu
umum, untuk itu perlu dibangkitkan kebutuhan /* Himpunan pertanyaan Q diinisialisasi dengan
Clustering P
fungsional yang lebih spesifik (level berikutnya), himpunan kosong */ dan tanyakan sejumlah α kebutuhan fungsional pada
Q
level tersebut agar kebutuhan lebih spesifik. Pertanyaan yang diajukan system dalam interaksi
/* Menentukan Distinguishing element sekaligus selanjutnya adalah kebutuhan fungsional yang menentukan pertanyaan */ terkait dengan jawaban sebelumnya dari pengguna.
/* c adalah jumlah cluster*/ For j 1 to c do
GenerateU3(UserModel(user),i) GenerateU3(UserModel(user),i)
i 1
UserModel(user), current user model /*masing-masing Qj didapatkan dengan memilih Output : Q, Set of Question */
Begin
/* Kandidat adalah set nodes dari kebutuhan
fungsional yang potensial untuk ditanyakan */ Recommendation Module Database History Module candidat children F
F ivs
Dan Nilai Action
if candidat then Membangkitkan Penjelasan
Value
(Explanation)
Mengelola Nilai Action Value
Q User Model Module SelectQ , candidat ,UserModel
user
else Mencari Dan Membangkitkan
GenerateU 3 UserModel user ,i
Merangking Hasil
Rekomendasi
Membangun User
Preference Model
Pertanyaan Menyimpan History
2.6.5 Case 5 – Tidak Ada Hasil Rekomendasi In Menampilkan Hasil
Rekomendaasi
Dengan User Tanya Jawab
Yang Cocok Dengan Profil Pengguna
Tidak ada produk yang sesuai dengan kebutuhan pengguna disebabkan oleh adanya
User
kontradiksi dari kombinasi hardconstraint pada saat produk retrieval, karena kombinasi query dari
softconstraint pasti menghasilkan produk. Dengan
Gambar 2 Gambaran Umum Sistem
demikian diberikan penjelasan bahwa ada satu atau beberapa hardconstraint yang telah dimasukkan
1. History Module
pengguna menyebabkan produk tidak ditemukan. Modul ini bertugas untuk mengelola data Strategi yang dialkukan adalah dengan merubah
history interaksi pengguna dan juga nilai action hardconstraint .
value yang sudah didapat oleh setiap kebutuhan fungsional dalam setiap interaksi. Reward yang
2.7 Evaluasi Hasil Rekomendasi
didapat setiap kebutuhan fungsional dalam setiap Evalusi hasil rekomendasi diperlukan untuk
interaksi, semuanya diakumulasi dan disimpan untuk melihat seberapa baik conversational recommender
kembali sebagai bahan system yang sudah dibuat dalam merekomendasikan
kemudian digunakan
pertimbangan pembangkitan pertanyaan di interaksi suaatu produk. Untuk menguji hal itu, dapat
berikutnya dilakukan oleh modul ini juga. dilakukan dengan menghitung rangking hasil
2. User Model Module
rekomendasi yang diberikan system kemudian Modul ini berfokus pada interaksi system mebandingkannya dengan ranking sebenarnya yang
dengan ontology. Bertugas untuk menyiapkan setiap diberikan oleh expert user, dalam hal ini orang yang
pertanyaan yang akan diajukan kepada pengguna. dianggap kompeten dan pengetahuan yang baik
Bersama dengan history module, modul ini mengenai domain produk yang digunakan dalam
mengelola node-node kebutuhan fungsional dari study kasus tugas akhir ini, yakni smartphone.
ontology dan mengurutkannya berdasarkan nilai Untuk pengujiannya sendiri, kita gunakan
action value masing-masing kebutuhan fungsional Mean Absolute Error (MAE) seperti yand dijelaskan
untuk kemudian diajukan kepada pengguna. pada [7]. MAE dapat digunakna untuk menghitung
3. User Interface Module
kesalahan absolut dantara ranking yang diberikan Modul ini bertugas sebagai user interface system dengan ranking yang sebenarnya diberikan
system terhadap pengguna. Semua interaksi system oleh expert user.
dengan pengguna dilakukan pada modul ini.
Pertanyaan yang sudah disiapkan oleh user model
i r
module dan history module ditampilkan kepada Dimana:
n i 1
pengguna oleh modul ini. Sehingga memudahkan - n = jumlah produk yang direkomendasikan.
pengguna untuk berinteraksi secara langsung dengan system . Respon dari pengguna di setiap sesi,
- p i = ranking yang diberikan oleh system. kemudian dikirimkan ke history module untuk -
r i = ranking sesungguhnya yang diberikan oleh disimpan dan diolah untuk keperluan selanjutnya. expert user .
Pada saat sesi rekomendasi juga, modul ini yang bertugas
menampilkan semua hasil rekomendasi yang sudah diurutkan dan diberi
untuk
3. Perancangan Sistem
penjelasan oleh recommendation module.
3.1 Gambaran Umum Sistem
4. Recommendation Module
Secara garis besar, system yang dibangun Modul ini bertugas untuk mencari produk dalam tugas akhir ini dibagi menjadi empat buah
yang sesuai dengan profil pengguna kemudian modul yang masing-masing memiliki tugas
mengurutkannya berdasarkan nilai utility function- tersendri, yaitu history module, user model module,
nya untuk kemudian dikirimkan ke user interface recommendation module , dan user interface module.
module
untuk ditampilkan kepada pengguna untuk ditampilkan kepada pengguna
quantity threshold , maka system akan memberikan akan direkomendasikan kepada pengguna, sehingga
pertanyaan berupa kebutuhan fungsional yang lebih pengguna lebih mudah dalam memahami kelebihan
spesifik (Case U4).
dan kekurangan
Jika tidak ada produk yang memenuhi direkomendasikan oleh system.
hardconstraint dan softconstraint (Case U5), maka pengguna
akan
diminta
untuk merubah
hardconstraint ataupun softconstraint yang sudah Pada gambar 3 diperlihatkan alur interaksi
3.2 Alur Interaksi
dimasukkan untuk kemudian dilakukan pencarian system dari mulai awal interaksi hingga selesai. Pada
ulang berdasarkan hardconstraint atau softconstraint saat pertama kali pengguna berinteraksi dengan
yang baru.
conversational recommender system , pengguna akan
diberikan pertanyaan hardconstraint, dimana produk
4. Pengujian dan Analisis
4.1 Skenario Pengujian
yang nantinya direkomendasikan harus memenuhi Ada tiga scenario pengujian yang disiapkan untuk semua
mengevaluasi performansi dari system yang telash dibuat, Hardconstraint yang terdapat pada conversational
yakni pengjuian akurasi oleh expert, pengujian efisiensi recommender system ini berupa harga dan brand
interaksi, dan pengujian kepuasan pengguna. (merk) dari produk.
4.1.1 Pengujian Akurasi Oleh Expert
Pengujian akurasi oleh expert ini dilakukan
Mulai
Hardconstraint Pertanyaan
untuk mengevaluasi ranking yang telah diberikan oleh system. Pengujian ini dilakukan dengan cara
membandingkan hasil perangkingan yang diberikan
oleh system dengan ranking yang diberikan oleh
Pertanyaan
Softconstraint
expert . Expert yang dipilih untuk melakukan pengujian ini adalah mobile application developer yang mengerti seluk beluk mengenai domain
Ya Hardconstraint
Pada proses pengujian ini, dilakukan
Kasus U5?
Ya
Relaxation
masing-masing tiga kali percobaan ke setiap expert.
Tidak
Kasus U4?
jumlah masing-masing 5, 8, dan 10 produk yang akan diuji rankingnya. Hasil perankingan oleh expert
Tidak
ini
dengan hasil perangkingan system untuk dilihat errornya dengan
menggunakan persamaan 9.
Produk
4.1.2 Pengujian Efisiensi Interaksi
Pengujian ini dilakukan untuk mengevaluasi
Pertanyaan Yang
hasil learning pertanyaan yang diajukan kepada
Kasus U3? Tidak
Kasus U2? Ya
Membedakan
Produk
pengguna. Pada pengujian ini, tidak semua state
interaksi akan diuji, hanya sebagian saja. Pengujian ini dilakukan dengan mengamati banyaknya
Tidak
Selesai
kemunculan case U3 dalam sekali interaksi. Case U3
yang mengasumsikan pertanyaan yang lebih dulu ditanyakan tidak sesuai Setelah
Gambar 3 Alur Interaksi Sistem
ini merupakan kondisi
dengan kebutuhan pengguna atau hasil rekomendasi hardconstraint , system kemudian akan memberikan
memberikan
pertanyaan
yang diajukan tidak sesuai dengan harapan pertanyaan
pengguna karena kemungkinan pertanyaan yang fungsional dari produk yang ingin dicari oleh
diajukan sebelumnya kurang memuaskan pengguna pengguna. Produk yang nantinya dibangkitkan, tak
sehingga perlu dibangkitkan pertanyaan potensial harus memenuhi semua softcontrain yang dipilih
lain yang belum ditanyakan kepada pengguna. pengguna, jika produk hanya mensupport satu
Dengan begitu kita dapat menilai pertanyaan fungsional saja, maka produk tersebut akan tetap
yang diajukan pertama kali itu sudah sesuai dengan direkomendasikan.
kebutuhan pengguna atau tidak. Jika tidak sesuai Jika produk yang memenuhi hardconstraint
maka perlu dibangkitkan pertanyaan lain yaitu case dan softconstraint masih terlalu banyak, yakni dia atas
U3 yang berakibat lebih lamanya interaksi pengguna quantity threshold yang telah ditentukan sebelumnya,
dengan system.
maka system mencari produk yang memenuhi utility threshold . Jika ternyata yang
4.1.3 Pengujian Kepuasan Pengguna
Pengujian kepuasan pengguna ini dilakukan Pada tabel 3 terlihat bahwa jumlah produk 5 untuk mengevaluasi system yang telah dibuat dari
memiliki nilai MAE paling kecil, ini dikarenakan segi kenyamanan pengguna. Beberapa faktor yang
jumlahnya yang sedikit sehingga kemungkinan dievaluasi diantaranya:
kesalahan saat perankingngan juga kecil karena -
Metode tanya jawab yang digunakan proses sesleksi yang lebih ketat. Sedangkan untuk memudahkan pengguna dalam menentukan
jumlah prduk 8 maupun 10, memmpunyai nilai MAE kebutuhannya.
cenderung lebih besar, ini menunjukkan bahwa - System dapat membantu dengan baik selama
maka kemungkinan proses rekomendasi.
semakin banyak produk,
kesalahan perangkingan juga semakin besar. -
System membantu pengguna dalam Namun, pada jumlah produk 10 nilai MAE mempercepat pengambilan keputusan.
bisa lebih kecil dari pada jumlah produk 8 -
Penjelasan (Explanation) untuk setiap produk dikarenakan pada jumlah produk 10 kemungkinan yang
direkomendasikan membantu proses produk yang rankingnya terbawah tepat berada pada pengambilan keputusan pengguna.
ranking seharusnya sehingga nilai MAE nya lebih -
Kesesuaian pertanyaan dengan kebutuhan kecil dibandingkan dengan jumlah produk 8. pengguna.
Pengujian ini dilakukan kepada pengguna
4.2.2 Analisis Pengujian Efisiensi Interaksi
dalam rentang usia 19 s.d 23 tahun dengan jumlah Pada gambar 10 dapat dilihat data total 50 orang pengguna. kemunculan case U3 dalam 50 kali interaksi selama proses pengujian dilakukan.
4.2 Hasil Pengujian
4.2.1 Analisis Pengujian Akurasi Oleh Expert
Setelah dilakukan pengujian dengan dua Kemunculan Case U3 Pada Skema orang expert, didapatkan nilai MAE dari masing-
Random
maing jumlah produk dengan menggunakan persamaan 9.
1. Hasil pengujian dengan expert pertama, yaitu
Toufan D Tambunan.
Tabel 1 Hasil pengujian expert pertama
1 2 3 4 5 6 7 8 9 10 Gambar 2 Grafik kemunculan U3 dalam 10 kali interaksi
8 7 8 1 2 6 4 3 5 3.25 Pada gambar 11 dapat dilihat bahwa masih
10 5 2 8 3 4 1 10 7 9 6 2.4 menunjukkan bahwa learning yang dilakukan masih
2. Hasil pengujian dengan expert kedua, yaitu belum baik sehingga interaksi yang terjadi juga jadi Pramuko Aji.
kurang efisien. Kemungkinan ini terjadi karena
probabilitas untuk proses eksplorasi seperti yang
Tabel 2 Hasil pengujian dengan expert kedua
dijelasakan pada persamaan 3 masih terlalu besar
Jumlah
Ranking
MAE untuk memunculkan pertanyaan-pertanyaan yang
Produk
belum optimal masih dilakukan. Namun kemunculan
dibanding dengan random. Case U3 pada hali learning
paling banyak hanya muncul 2 kali dalam satu kali
interaksi, berbeda dengan pada saat random yang kemunculan U3 mencapai 4 kali dalam satu kali
Dari kedua hasil pengujian pada tabel 1-2 didapat
interaksi.
rata-rata dari MAE untuk setiap jumlah produk adalah seperti yang ditunjukkan pada tabel 3.
Tabel 3 Rata-rata MAE
Jumlah Produk
MAE
Learning
2.5 Sistem Dapat Memandu
1.5 Sangat Memandu Dengan Baik Bisa Memandu Dengan Baik
Cukup Bisa Memandu
Kurang Bisa Memandu
0 Tidak Sama Sekali
Gambar 3 Grafik kemunculan U3 dalam 42 kali interaksi
pada skema pembangkitan pertanyaan hasil learning
Gambar 5 Grafik kepuasan pengguna terhadap kemampuan
Dalam proses pembelajaran pertanyaan yang
system dalam memandu pengguna
optimal dengan menggunakan metode ini memang
memerlukan pengujian yang cukup lama atau
3. Kemampuan system dalam membantu dengan data uji yang banyak sampai nilai
mempercepat pengambilan keputusan probabilitas eksplorasinya konvergen ke nol.
Dari segi waktu, 30% pengguna menyatakan Sehingga yang tersisa nantinya hanya proses
sangat terbantu dalam mempercepat pengambilan eksploitasi saja terhadap pengetahuan yang sudah
keputusan, sehingga waktu mereka dapat digunakan didapat, yakni pengetahuan tentang pertanyaan-
secara efisien. Sebanyak 48% merasa terbantu, 18% pertanyaan
merasa cukup terbantu, dan sisanya ada yang merasa berdasarkan hasil pembelajaran.
yang
benar-benar sudah
optimal
kurang terbantu dan ada yang merasa tidak terbantu sama sekali. Selengkapnya dapat dilihat pada
4.2.3 Analisis Pengujian Kepuasan Pengguna
gambar 14.
Berdasarkan hasil pengujian kepuasan
terhadap pengguna, diperoleh hasil sebagai berikut:
1. Metode tanya jawab yang digunakan Membantu Mempercepat Keputusan Sebanyak 60% pengguna menyatakan bahwa
Sangat Membantu metode tanya jawab yang digunakan memudahkan, 18% menyatakan sangat memudahkan, 18% cukup Membantu dan 4% sisanya menyatakan kurang memudahkan. Cukup Membantu
Kurang Membantu
Ini menunjukkan bahwa secara keseluruhan metode
Tidak Sama Sekali
tanya jawab yang digunakan sudah baik. Detailnya dapat dilihat pada gambar 12. 0 5 10 15 20 25 30
Gambar 6 Grafik kepuasan pengguna terhadap kemampuan Metode Tanya Jawab system dalam membantu mempercepat keputusan
Sangat Memudahkan 4. Explanation
Sebagian besar pengguna merasa terbantu
Memudahkan
dengan adanya penjelasan (explanation) mengenai
Cukup Memudahkan
produk yang direkomendasikan, yakni sebanyak
Kurang Memudahkan
52%. Sebanyak 28% merasa sangat terbantu, 18% Tidak Sama Sekali merasa cukup dan hanya 2% saja yang tidak merasa
0 10 20 30 40 terbantu.
Gambar 4 Grafik kepuasan pengguna terhadap metode tanya
Explanation
jawab yang digunakan
Sangat Membantu
2. Kemampuan system dalam memandu pengguna
Membantu
Sebanyak 52% pengguna menyatakan system
yang dibuat bisa memandu pengguna dengan baik
Cukup Membantu
selama proses rekomendasi. Sebanyak 32% lainnya
Kurang Membantu
Tidak Sama Sekali
juga menyatakan bahwa system sangat bisa memandu mereka dalam mencari produk yang
0 5 10 15 20 25 30 mereka inginkan. Hanya 14% saja yang menyatakan
Gambar 7 Grafik kepuasan pengguna terhadap explanation yang disediakan oleh sistem
Ini menandakan
(explanation) cukup dibutuhkan oleh pengguna, Untuk penelitian kedepannya, proses learning terutama bagi mereka yang memang belum tau lebih
pertanyaan kebutuhan fungsional bisa dicoba jauh terhadap produk yang direkomendasikan,
dikombinasikan dengan relasi semantik yang terdapat pada produk, sehingga pertanyaan
sehingga memerlukan adanya penjelasan terhadap kebutuhan fungsional yang diajukan hanya yang produk tersebut. berelasi dengan produk yang yang diinginkan saja.
5. Kesesuaian Pertanyaan
Daftar Pustaka
Sebagian besar pengguna menyatakan bahwa [1] Barakbah, A. R. (n.d.). Reinforcement Learning pertanyaan mengenai kebutuhan fungsional yang
diajukan system sudah sesuai dengan kebutuhan Paradigma baru dalam Machine Learning. Soft Computation Research Group, EEPIS-ITS.
pengguna pada saat itu. Namun, meski begitu ada juga yang menyatakan bahwa pertanyaan yang diajukan
[2] Chen, L., & Pu, P. (2012). Preference-based kurang sesuai dengan kebutuhannya
Organization Interfaces: Aiding User Critiques bahkan ada yang menyatakan tidak sesuai sama
Recommender Systems . Lausanne, sekali. Hal ini dikarenakan proses learning yang
in
Switzerland: EPFL.
memang belum baik sehingga masih ada pertanyaan [3] Gosavi, A. (2013). A Tutorial for Reinforcement yang seharusnya tidak diajukan kepada pengguna
Learning. Rolla: Department of Engineering tetap diajukan, sehingga terjadi ketidakcocokan.
Management and Systems Engineering Missouri Lebih detailnya dapat dilihat pada gambar 16, yakni
University of Science and Technology. sebanyak 14% merasa sangat sesuai, 66% sudah
[4] HERLOCKER, J. L., KONSTAN, J. A., sesuai, 14% merasa cukup, 4% merasa kurang
TERVEEN, L. G., & RIEDL, J. T. (2004). sesuai, dan 2% sisanya merasa tidak sesuai sama
Evaluating
Collaborative Filtering Recommender Systems. ACM Transactions on
sekali. Information Systems (pp. 5-53). New York, USA: ACM, Inc.
Kesesuaian Pertanyaan [5] Jannach, D., Zanker, M., Relfenig, A., & Friedrich, G. (2012). Recommender System - An
Introduction. New York: Cambridge University
Sangat Sesuai
Press. Cukup [6] Mirzadeh, N., Ricci, F., & Bansal, M. (n.d.).
Sudah Sesuai
Feature Selection Methods for Conversational
Kurang Sesuai
Recommender System. Tidak Sesuai [7] Ricci, F., Rokach, L., Shapira, B., & Kantor, P.
0 10 20 30 40 B. (2011). Recommender System Handbook. New York, USA: Springer Science+Business Media, LLC.
Gambar 8 Grafik kepuasan pengguna terhadap kesesuaian pertanyaan tentang kebutuhan fungsional
[8] Sutton, R. S., & Barto, A. G. (2005).
Reinforcement Learning: An Introduction. Cambridge, Massachusetts, London, England:
5. Penutup
5.1 Kesimpulan
The MIT Press.
Explanations of kurang 50 orang pengguna, masih belum dapat
Berdasarkan hasil pengujian terhadap lebih
Recommendations . Minneapolis, Minnesota, terlihat efisiensi interaksi yang terjadi. Ini
USA: ACM. dikarenakan nilai probabilitas epsilon greedy [10] Tintatev, N., & Masthoff , J. (2007). Effective
untuk proses eksplorasi masih cukup besar atau
Recommendations: User- masih belum mendekati nol. Sehingga
Explanations of
Centered Design. Minneapolis, Minnesota, conversational recommender system yang dibuat
USA: ACM. [11] Widyantoro, D. H., & Baizal, Z. (2014). A
masih memberikan pertanyaan-pertanyaan yang belum optimal yang berakibat pada kurang
Framework of Conversational Recommender System based on User Functional Requirement.
efisiennya interaksi yang terjadi. Berdasarkan hasil pengujian juga dapat
International Conference on Information and Communication Technology
(pp. 160-165). dilihat, akurasi perankingan pada saat rekomendasi
produk yang paling baik adalah dengan jumlah IEEE Conference Publications. produk 5 dibandingkan dengan jumlah produk 8 dan
10. Ini dikarenakan, semakin sedikitnya produk yang ditampilkan, semakin kecil kemungkinan kesalahan dalam melakukan perankingan.
15