PERANCANGAN DAN PEMBANGUNAN MODUL REKOMENDASI SECTION...
Transcript of PERANCANGAN DAN PEMBANGUNAN MODUL REKOMENDASI SECTION...
PERANCANGAN DAN PEMBANGUNAN MODUL REKOMENDASI SECTION
PADA OPEN JOURNAL SYSTEM (OJS)
(Kata kunci: Jurnal, K-Nearest Neighbor, Karya Ilmiah, Klasifikasi
PRESENTASI TUGAS AKHIR – KI091391
Penyusun Tugas Akhir :
Achmad Zarman Syahran
(NRP: 5108.100.191)
Dosen Pembimbing :
Daniel Oranova S., S.Kom., M.Sc., P.D.Eng.
Ahmad Saikhu, S.Si., M.T.
Juli 2013 Tugas Akhir - KI091391 1
Juli 2013 Tugas Akhir - KI091391 2
KERANGKA PRESENTASI
Pendahuluan
Tinjauan Pustaka
Analisis dan Desain
Implementasi
Implementasi
Tinjauan Pustaka
Juli 2013 Tugas Akhir - KI091391 3
KERANGKA PRESENTASI
Pendahuluan
Analisis dan Desain
LATAR BELAKANG(1)
“Untuk lulus program Sarjana harusmenghasilkan makalah yang terbit pada jurnalilmiah”.(Surat Edaran Dirjen DIKTI No 152/E/T/2012 Tanggal 27 Januari 2012).
4Juli 2013 Tugas Akhir - KI091391
LATAR BELAKANG(2)
5Juli 2013 Tugas Akhir - KI091391
ITS memfasilitasi mahasiswanya untukmempublikasikan sebuah karya ilmiahdengan membuat situs POMITS
Open Journal Systemsebuah sistem manajemen konten berbasis web yang khusus dibuat untukmenangani keseluruhan proses manajemen publikasi ilmiah dari proses call for paper, peer review, hingga penerbitan dalam bentuk daring.
SOLUSI
10Juli 2013 Tugas Akhir - KI091391
Open Journal System
1. Judul2. Abstraksi3. Kata Kunci
Recommended Section
OJS Plugins Generic Plugins
Juli 2013 Tugas Akhir - KI091391 11
KERANGKA PRESENTASI
Pendahuluan
Tinjauan Pustaka
Analisis dan Desain
Implementasi
POMITS
Open Journal System
PHP
Data Access Object
PHP
Data Access Object
POMITS
Juli 2013 Tugas Akhir - KI091391 12
KERANGKA PRESENTASI
Tinjauan Pustaka
Open Journal System
KERANGKA PRESENTASI
Tinjauan Pustaka
Sistem Temu Kembali Informasi:
1. Prapemrosesan• Tokenisasi• Stopwords
• Stemming (Tala)
2. Model Ruang Vektor
3. Teknik Pembobotan Tf-Idf
4. Cosine Similarity
K-Nearest Neighbor
STKI
Penghitungan Performa
Juli 2013 Tugas Akhir - KI091391 13
K-Nearest Neighbor
Juli 2013 Tugas Akhir - KI091391 14
1. Tujuan dari algoritma adalah menentukan kelas kelas atau kategoridari suatu objek berdasarkan pola dari k objek terdekatnya.
2. Dibutuhkan tiga parameter yaitu himpunan data, jarak antar data dan nilai k.
Penghitungan Performa
Juli 2013 Tugas Akhir - KI091391 15
• Akurasi adalah jumlah semua rekomendasi yang benar dibagi jumlahpercobaan.
• Presisi merupakan penghitungan akurasi dari kelas tertentu yang telah diprediksi sebelumnya.
• Recall merupakan penghitungan kemampuan dari sebuah metodeprediksi untuk menentukan kelas dari sebuah himpunan data dengantepat.
• 𝐹1Measure: Menggabungkan presisi dan recall dengan menggunakan
beban yang sama
Juli 2013 Tugas Akhir - KI091391 16
KERANGKA PRESENTASI
Pendahuluan
Tinjauan Pustaka
Analisis dan Desain
Implementasi
Cara Kerja Umum Sistem
Arsitektur Perangkat Lunak
Spesifikasi Kebutuhan
Diagram Kasus Penggunaan
Arsitektur Perangkat Lunak
1810 Juli 2013 Tugas Akhir - KI091391
Pengguna(Journal Manager)
Pengguna (Author)
OJS Server
Akses situs jurnal
Plugin (Modul Rekomendasi Section)
Pengaturan modul rekomendasi
OJS DAO
Register
Prapemrosesan
Pembobotan Tf-Idf
Hasil disimpan ke dalam database
PLUGIN DAO
Menentukan k dokumen terdekat
Rekomendasi Kategori
Menampilkan rekomendasi
Dokumen Baru dihitung nilai
kesamaan cosine dengan dokumen
training
Meminta rekomendasiMetadata Artikel
System
Spesifikasi Kebutuhan
1910 Juli 2013 Tugas Akhir - KI091391
1. Pembobotan per kata dari artikel yang telah dipublikasikan oleh situsPOMITS (pembuatan model klasifikasi).
2. Penyimpanan hasil pembobotan kata ke dalam basis data.3. Pembaruan hasil pembobotan terakhir.4. Penentuan kategori yang nilai kesamaannya merupakan nilai tertinggi dari
kategori-kategori yang ada.
Diagram Kasus Penggunaan
2010 Juli 2013 Tugas Akhir - KI091391
System
Journal Manager
Author
memperbaharui model klasifikasi
mempersiapkan modul
membuat model klasifikasi
melakukan penyerahan artikel
meminta rekomendasi kategori
<<include>>
<<extend>>
<<extend>>
Cara Kerja Umum Sistem
Juli 2013 Tugas Akhir - KI091391 21
KERANGKA PRESENTASI
PendahuluanAnalisis dan Desain
Arsitektur Perangkat Lunak
Spesifikasi Kebutuhan
Diagram Kasus Penggunaan
Rangkaian Proses
Diagram Kelas
Rangkaian Proses(1)
2210 Juli 2013 Tugas Akhir - KI091391
Proses Membuat Model Klasifikasi
• Proses ini bertujuan untuk mendapatkanmetadata dari semua artikel yang telahdipublikasikan pada sebuah jurnal.Metadata yang diambil adalah judul,abstrak dan kata kunci yang berupa tipedata string/teks.
masukan: 1. jurnal
keluaran:2. judul, abstrak dan keyword dari banyak
artikel
metadata dokumen/artikelyang telah dipublikasi
STKI
Tf-Idf
1
Rangkaian Proses(2)
2310 Juli 2013 Tugas Akhir - KI091391
Proses Membuat Model Klasifikasi
• Proses ini terdiri dari beberapa proses, yaitu:1. Tokenisasi, berguna untuk memecah
sebuah teks menjadi token-tokendengan menghilangkan tanda baca, spasidan simbol.
2. Stop word, berguna untukmenghilangkan kata umum yang seringmuncul sehingga kata tersebut bernilaikecil.
3. Stemming, berguna untuk mendapatkankata dasar dari kata yang berimbuhan.
4. Vector Space Model (VSM), untukmerepresentasikan token besertafrekuensinya pada sebuah dokumen
metadata dokumen/artikelyang telah dipublikasi
STKI
Tf-Idf
2
Rangkaian Proses(3)
2410 Juli 2013 Tugas Akhir - KI091391
Proses Membuat Model Klasifikasi
• Proses ini akan memberikan bobot nilai padakata-kata dengan rumus sebagai berikut: metadata dokumen/artikel
yang telah dipublikasi
STKI
Tf-Idf3
𝑡𝑓𝑖𝑑𝑓𝑡,𝑑 = log 1 + 𝑡𝑓𝑡,𝑑 × 𝑖𝑑𝑓𝑡
dengan
𝑖𝑑𝑓𝑡 = log𝑁
𝑑𝑓𝑡
Diagram Kelas
2510 Juli 2013 Tugas Akhir - KI091391
Diagram Kelas Membuat Model Klasifikasi
Kata<<entity>>
Artikel<<entity>> 1 1..*
PengelolaanPluginFrom<<boundary>>
pluginHandler<<control>>
Plugin<<entity>>
InstalasiHandler<<control>>
InstalasiPluginForm<<boundary>>
Journal Manager<<entity>>
1
1
1..*
1
1
1
1
1
1
1
1
1
1..* 1
Rangkaian Proses(1)
2610 Juli 2013 Tugas Akhir - KI091391
Proses Meminta Rekomendasi Kategori
• Proses yang sama sampai mendapatkannilai tf-idf per kata
metadata dokumen/artikelpermintaan
STKI
Tf-Idf
1
Cosine Similarity
K-Nearest Neighbor
Rangkaian Proses(2)
2710 Juli 2013 Tugas Akhir - KI091391
Proses Meminta Rekomendasi Kategori
• Proses ini bertujuan untuk menghitungjarak antara dokumen permintaan(query) dengan dokumen latih denganmembandingkan masing-masing vektortf-idf-nya.
metadata dokumen/artikelpermintaan
STKI
Tf-Idf
Cosine Similarity
K-Nearest Neighbor
2
Rangkaian Proses(3)
2810 Juli 2013 Tugas Akhir - KI091391
Proses Meminta Rekomendasi Kategori
• Setelah mendapatkan masing-masingjarak dari dokumen permintaan dengansemua dokumen latih, maka denganmengambil dokumen yang memilikijarak terdekat (cosine similarityterbesar) sejumlah k, kemudiandidapatkanlah section dengan jumlahcosine similarity terbesar untuk dijadikansebuah rekomendasi.
metadata dokumen/artikelpermintaan
STKI
Tf-Idf
Cosine Similarity
K-Nearest Neighbor3
Diagram Kelas
2910 Juli 2013 Tugas Akhir - KI091391
Author<<entiry>>
AuthorHandler<<control>>
11
AuthorForm<<boundary>>
1
1
RecommendationForm<<boundary>>
RecommendationHandler<<control>> 1 1
1
1
Kata<<entity>>
Artikel<<entity>>
1
10..*
1
0..* 1
1
1..*1
0..*
Diagram Kelas Meminta Rekomendasi Kategori
Juli 2013 Tugas Akhir - KI091391 30
KERANGKA PRESENTASI
Pendahuluan
Tinjauan Pustaka
Analisis dan Desain
Implementasi
Implementasi Data
Implementasi Antarmuka
Implementasi Data
3110 Juli 2013 Tugas Akhir - KI091391
Tabel word_articles
Tabel word_articles_temp
Implementasi Antarmuka
3210 Juli 2013 Tugas Akhir - KI091391
Modul rekomendasi kategori terdapat pada daftar Generic Plugins
Uji Coba
3610 Juli 2013 Tugas Akhir - KI091391
• Fungsionalitaso Tabel basis data modul belum terinstal atau tersedia.
Uji Coba
3710 Juli 2013 Tugas Akhir - KI091391
• Fungsionalitaso Tabel basis data modul telah terinstal atau tersedia.
Uji Coba
3910 Juli 2013 Tugas Akhir - KI091391
• Fungsionalitaso Tautan rekomendasi pada halaman Author.
Uji Coba(3)
4010 Juli 2013 Tugas Akhir - KI091391
• Fungsionalitaso Uji coba meminta rekomendasi kategori
Uji Coba(4)
4110 Juli 2013 Tugas Akhir - KI091391
Performa klasifikasi K-Nearest Neighbor• Skenario Uji Coba:
1. Pengujian menggunakan data dari 2 issue dari Jurnal Teknis ITS (Vol. 1, No. 1, 2012 dan Vol. 2, No.1, 2013)
2. Untuk mendapatkan data latih dan data uji, dilakukan k-fold cross validation pada dataset yang digunakan
3. Uji coba dilakukan dengan mengubah nilai k dengan batasan jumlah term pada dokumen query adalah 10 term dengan nilai tf-idf terbesar
Uji Coba(5)
4210 Juli 2013 Tugas Akhir - KI091391
Performa klasifikasi K-Nearest Neighbor• Hasil Uji Coba:
k Akurasi Presisi Recall 𝑭𝟏
5 68.98 63.28 66.66 62.16
10 71.84 65.97 70.38 65.38
15 71.35 65.45 70.78 64.01
20 71.44 64.71 71.48 65.01
Uji Coba(6)
4310 Juli 2013 Tugas Akhir - KI091391
Performa klasifikasi K-Nearest Neighbor• Analisa Hasil Uji Coba
50.00
55.00
60.00
65.00
70.00
75.00
80.00
5 10 15 20
Nila
i (%
)
k
Akurasi Presisi Recall F-Measure
Dari hasil uji coba dapat disimpulkan bahwa KNN mendapatkan nilai optimal dengan nilai k = 10 dengan nilai akurasi sebesar 71,84%
Kesimpulan
4610 Juli 2013 Tugas Akhir - KI091391
1. OJS merupakan suatu sistem yang tersusun secara rapi sehinggauntuk melakukan sebuah pengembangan sangat terbantu.
2. Pada uji coba yang dilakukan, modul rekomendasi kategorimenghasilkan performa terbaik dengan parameter sebagai berikut, nilai k = 10 dan batasan jumlah term pada dokumen permintaanadalah 10 term dengan nilai tf-idf terbesar. Performa yang dihasilkanadalah akurasi sebesar 71.84%, presisi sebesar 65.97%, recall sebesar 70.38% dan 𝐹1 sebesar 65.38.
3. Tingkat presisi, recall dan 𝐹1 yang dicapai pada modul rekomendasi
kategori berbeda kurang lebih 10% dengan tingkat presisi.
Saran
4710 Juli 2013 Tugas Akhir - KI091391
1. Rekomendasi kategori tidak hanya mengacu terhadap metadata dariartikel-artikel yang dipublikasi. Pengembang dapat menambahkanAuthor sebagai acuan untuk merekomendasi sebuah artikel.
2. Penambahan sebuah fitur penyerahan artikel ketika Authormemperoleh rekomendasi kategori dari artikel yang diminta. Authortidak harus memasukkan data artikel dari awal melainkanmenggunakan data yang sudah dimasukkan ketika memintarekomendasi kategori.
3. Penambahan pilihan bahasa sehingga rekomendasi kategori tidakterbatas pada bahasa tertentu saja.
Implementasi
Tinjauan PustakaLatar Belakang
Juli 2013 Tugas Akhir - KI091391 49
KERANGKA PRESENTASI
Pendahuluan
Analisis dan DesainRumusan Masalah
Batasan Masalah
Tujuan
LATAR BELAKANG
50Juli 2013 Tugas Akhir - KI091391
1. Kewajiban publikasi ilmiah bagi mahasiswa sebagai syarat kelulusan.
2. Salah satu cara publikasi ilmiah adalah melalui situs e-jurnal.
3. POMITS merupakan salah situs e-jurnal yang dikhususkan untukmahasiswa ITS.
4. Pada POMITS, penulis dapat memilih section untuk artikel yang hendak didaftarkan ke POMITS tetapi pilihan ini seringkali tidaksesuai dengan deskripsi dari section terkait.
SOLUSI
51Juli 2013 Tugas Akhir - KI091391
Dibuatlah sebuah modul OJS untuk merekomendasi sebuah kategoriapa yang sesuai dengan artikel yang hendak didaftarkan penulis.
RUMUSAN MASALAH
5210 Juli 2013 Tugas Akhir - KI091391
1. Bagaimana membuat sebuah modul rekomendasi kategori padaOpen Journal System (OJS) berdasarkan metadata dari artikelilmiah?
2. Bagaimana proses modul pada OJS merekomendasikan kategori darisebuah artikel ilmiah?
BATASAN MASALAH
5310 Juli 2013 Tugas Akhir - KI091391
Situs jurnal yang digunakan adalah situs POMITS yang menerapkan OJS sebagai sistemnya.
TUJUAN
5410 Juli 2013 Tugas Akhir - KI091391
Modul rekomendasi kategori pada OJS ini diharapkan akan mempermudah penulis dalam menentukan kategori untuk sebuah artikel ilmiah yang hendak didaftarkan ke dalam situs POMITS.
Juli 2013 Tugas Akhir - KI091391 55
KERANGKA PRESENTASI
Pendahuluan
Tinjauan Pustaka
Analisis dan Desain
Implementasi
Open Journal System
POMITS
STKI
K-Nearest Neighbor
OPEN JOURNAL SYSTEM
5610 Juli 2013 Tugas Akhir - KI091391
Open Journal Systems atau OJS adalah sebuah sistem manajemenkonten berbasis web yang khusus dibuat untuk menangani keseluruhanproses manajemen publikasi ilmiah dari proses call for paper, peer review, hingga penerbitan dalam bentuk daring.
POMITS
5710 Juli 2013 Tugas Akhir - KI091391
Publikasi Online Mahasiswa Institut Teknologi Sepuluh Nopember(POMITS) merupakan media publikasi daring yang disediakan InstitutTeknologi Sepuluh Nopember (ITS) Surabaya yang diperuntukan untukpublikasi karya ilmiah yang diharapan mendorong kebudayaan ilmiahyang baik di kalangan civitas akademika.
POMITS
5810 Juli 2013 Tugas Akhir - KI091391
Halaman situs: ejurnal.its.ac.id
STKI
5910 Juli 2013 Tugas Akhir - KI091391
Sistem Temu Kembali Informasi:
1. Prapemrosesan• Tokenisasi• Stopwords
• Stemming (Tala)
2. Model Ruang Vektor
3. Teknik Pembobotan Tf-Idf
4. Cosine Similarity
K-NEAREST NEIGHBOR
6010 Juli 2013 Tugas Akhir - KI091391
1. Tujuan dari algoritma adalah menentukan kelas kelas atau kategoridari suatu objek berdasarkan pola dari k objek terdekatnya.
2. Dibutuhkan tiga parameter yaitu himpunan data, jarak antar data dan nilai k.
Open Journal System
Juli 2013 Tugas Akhir - KI091391 61
KERANGKA PRESENTASI
Pendahuluan
POMITS
STKI
K-Nearest Neighbor
Open Journal System
Penghitungan Performa
6210 Juli 2013 Tugas Akhir - KI091391
Akurasi = Jumlah semua rekomendasi yang benar dibagi jumlahpercobaan
rekomendasi
A B C
ha
sil
A 𝑡𝑝𝐴 𝑒𝐴𝐵 𝑒𝐴𝐶
B 𝑒𝐵𝐴 𝑡𝑝𝐵 𝑒𝐵𝐶
C 𝑒𝐶𝐴 𝑒𝐶𝐵 𝑡𝑝𝐶
Akurasi =𝑡𝑝𝐴 + 𝑡𝑝𝐵 + 𝑡𝑝𝐶
𝑡𝑝𝐴 + 𝑒𝐴𝐵 + 𝑒𝐴𝐶 + 𝑡𝑝𝐵 + 𝑒𝐵𝐴 + 𝑒𝐵𝐶 + 𝑡𝑝𝐶 + 𝑒𝐶𝐴 + 𝑒𝐶𝐵
Penghitungan Performa
6310 Juli 2013 Tugas Akhir - KI091391
Presisi merupakan penghitungan akurasi dari kelas tertentu yang telahdiprediksi sebelumnya.
Presisi didefinisikan sebagai persamaan berikut:
rekomendasi
A B C
ha
sil
A 𝑡𝑝𝐴 𝑒𝐴𝐵 𝑒𝐴𝐶
B 𝑒𝐵𝐴 𝑡𝑝𝐵 𝑒𝐵𝐶
C 𝑒𝐶𝐴 𝑒𝐶𝐵 𝑡𝑝𝐶
Presisi A =𝑡𝑝𝐴
𝑡𝑝𝐴 + 𝑒𝐵𝐴 + 𝑒𝐶𝐴
Presisi = 𝑡𝑝
𝑡𝑝 + 𝑓𝑝
Dimana:• 𝑡𝑝 merupakan prediksi true positive dari kelas tertentu• 𝑓𝑝 merupakan prediksi false positive dari kelas tertentu
Penghitungan Performa
6410 Juli 2013 Tugas Akhir - KI091391
Recall merupakan penghitungan kemampuan dari sebuah metodeprediksi untuk menentukan kelas dari sebuah himpunan data dengan tepat.
Recall didefinisikan sebagai persamaan berikut:
rekomendasi
A B C
ha
sil
A 𝑡𝑝𝐴 𝑒𝐴𝐵 𝑒𝐴𝐶
B 𝑒𝐵𝐴 𝑡𝑝𝐵 𝑒𝐵𝐶
C 𝑒𝐶𝐴 𝑒𝐶𝐵 𝑡𝑝𝐶
Recall A =𝑡𝑝𝐴
𝑡𝑝𝐴 + 𝑒𝐴𝐵 + 𝑒𝐴𝐶
Recall = 𝑡𝑝
𝑡𝑝 + 𝑓𝑛Dimana:• 𝑡𝑝 merupakan prediksi true positive dari kelas tertentu• 𝑓𝑛 merupakan prediksi false negative dari kelas tertentu• 𝑡𝑝 + 𝑓𝑛 merupakan jumlah percobaan yang dilakukan pada kelas tertentu
Prapemrosesan STKI
Rangkaian Proses
Juli 2013 Tugas Akhir - KI091391 65
KERANGKA PRESENTASI
Model Ruang Vektor
Penghitungan bobot Tf-Idf
Tokenisasi
Stopword
Stemming
1
2
3
K-Nearest Neighbor
1. Tokenisasi
6610 Juli 2013 Tugas Akhir - KI091391
1. Masukan berupa teks dari abstrak, judul sertakata kunci dari sebuah artikel
2. Tokenisasi berguna untuk memecah sebuah teksmenjadi token-token yang nantinya akan diproseskembali untuk mendapatkan token-token yang mempunyai nilai tinggi (kata-kata yang bermakna)
Tokenisasi
Stopword
Stemming
1
2. Stopword
6710 Juli 2013 Tugas Akhir - KI091391
• Bertujuan untuk menghilangkan kata umum darisebuah teks
• Dengan cara membandingkan sebuah kata (hasildari proses Tokenisasi) dengan daftar kata umumBahasa Indonesia
Tokenisasi
Stopword
Stemming
2
3. Stemming
6810 Juli 2013 Tugas Akhir - KI091391
• Bertujuan untuk mendapatkan kata dasar darisebuah teks
• Menggunakan stemmer Tala
Tokenisasi
Stopword
Stemming3