3 bab iii analisa dan perancangan - eprints.umm.ac.ideprints.umm.ac.id/40062/4/bab iii.pdf · data,...

16
10 3 BAB III ANALISA DAN PERANCANGAN Pada bab ini berisi tentang analisa dan perancangan sistem meliputi pembangunan model berdasarkan data yang sudah melalui proses tagging yang nanti akan di aplikasikan pada Stanford NER dan proses klasifikasi Analisa sentiment. 3.1 Data Zomato.com adalah sebuah panel website atau situs pencarian restoran yang menyediakan informasi berbagai tempat makan maupun cafe. Data pada penelitian ini bersumber dari zomato.com dimana data di ambil dari 4 restoran yang berbeda. 3.1.1 Pengumpulan Data Pengumpulan data penelitian kali ini di lakukan secara manual pada website zomato.com, data di ambil dari 4 restoran yang berbeda, 4 restoran tersebut terdiri dari: 1) Nasi goreng apjay, Jakarta, dengan 312 ulasan 2) Bakmi karet foak, Jakarta, dengan 130 ulasan 3) Bebek goreng khas Surabaya, jakarta, dengan 53 ulasan 4) Warung bu Kris, Surabaya, dengan 54 ulasan Sehingga data kesuluruhan pada peneltian ini berjumlah 549 data, yang berasal dari 4 restoran yang sudah di paparkan pada bagian atas, dan data tersebut di simpan dengan format txt. 3.1.2 Analisa Data Pada tahap ini, data melewati proses tagging, serta pembuatan model berdasarkan data tagging tersebut, lalu data keseluruhan di pecah berdasarkan aspek yang sedang di bahas, dan selajutnya di lakukan persiapan data test dan data train untuk proses Analysis Sentiment, dan proses di atas tersebut di lakukan secara manual. Berikut proses dari hasil analisa pada table di bawah yang menjelaskan pembagian data train dan data test dari data keseluruhan yang telah di pecah menjadi kalimat berdasarkan aspek yang sedang di bahas :

Upload: others

Post on 14-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

10

3 BAB III ANALISA DAN PERANCANGAN

Pada bab ini berisi tentang analisa dan perancangan sistem meliputi pembangunan model

berdasarkan data yang sudah melalui proses tagging yang nanti akan di aplikasikan pada

Stanford NER dan proses klasifikasi Analisa sentiment.

3.1 Data

Zomato.com adalah sebuah panel website atau situs pencarian restoran yang

menyediakan informasi berbagai tempat makan maupun cafe. Data pada penelitian ini

bersumber dari zomato.com dimana data di ambil dari 4 restoran yang berbeda.

3.1.1 Pengumpulan Data

Pengumpulan data penelitian kali ini di lakukan secara manual pada website

zomato.com, data di ambil dari 4 restoran yang berbeda, 4 restoran tersebut terdiri dari:

1) Nasi goreng apjay, Jakarta, dengan 312 ulasan

2) Bakmi karet foak, Jakarta, dengan 130 ulasan

3) Bebek goreng khas Surabaya, jakarta, dengan 53 ulasan

4) Warung bu Kris, Surabaya, dengan 54 ulasan

Sehingga data kesuluruhan pada peneltian ini berjumlah 549 data, yang berasal dari 4

restoran yang sudah di paparkan pada bagian atas, dan data tersebut di simpan dengan

format txt.

3.1.2 Analisa Data

Pada tahap ini, data melewati proses tagging, serta pembuatan model berdasarkan data

tagging tersebut, lalu data keseluruhan di pecah berdasarkan aspek yang sedang di

bahas, dan selajutnya di lakukan persiapan data test dan data train untuk proses Analysis

Sentiment, dan proses di atas tersebut di lakukan secara manual. Berikut proses dari

hasil analisa pada table di bawah yang menjelaskan pembagian data train dan data test

dari data keseluruhan yang telah di pecah menjadi kalimat berdasarkan aspek yang

sedang di bahas :

11

tabel 3 1 Pembagian Data Keseluruhan

Data Positif Negatif Jumlah

Data

train

303 106 409

Data test 63 34 92

500

3.2 Perancangan Sistem

Berikut gambar di bawah merupakan gambaran alur perancangan sistem pada

penelitian ini :

gambar 3 1 Alur Perancangan Sistem

Gambar di atas menjelaskan, setelah data di lakukan analisis, selanjutnya data menjadi

data yang siap untuk di lakukannya penelitian, data yang siap akan melewati proses

12

tagset dengan aturan proses NER (Named Entity Recognition), pada umumnya proses

NER adalah proses mengekstraksi informasi yang terdapat pada kalimat, bentuk umum

atau aturan umum pada NER di gunakan untuk mengekstarksi informasi dengan contoh

“nama”,”lokasi”,”organisasi”[9]. Berikut bentuk aturan umum NER pada table di

bawah ini :

tabel 3 2 Bentuk Aturan Umum NER

No Tag Contoh

1 X -

2 P = PERSON Soraya, Ikbal,

Madi

3 L = LOCATION Jakarta,

Rumah, Jln

Otista

4 O =

ORGANIZATION

BNN, BIN,

BMKG

Dan bentuk aturan terkait pada penelitian kali ini :

tabel 3 3 Aturan NER Terkait Penelitian

No Tak Contoh

1 X NULL

2 F = FOOD Ayam, Nasi

Goreng, Bakso,

sayur dll

3 P = PRICE 40 ribu, 30k, dll

4 S = SERVICE Pelayanan,

antirian, dll

13

Selanjutnya akan di lakukan pengelompokan berdasarkan aspek menggunakan naïve

bayes classifier, Naïve Bayes Classifier merupakan sebuah metode klasifikasi, ciri

utama dari Naïve Bayes Classifier ini adalah asumsi yang sangat kuat dari masing -

masing kondisi/kejadian. Pada teorema Bayes, bila terdapat dua kejadian yang terpisah

(misalkan A dan B), maka teorema Bayes dirumuskan pada persamaan sebagai berikut:

Keterangan :

fD(Ci) : Frekuensi dokumen yang memiliki kategori Ci.

|D| : Jumlah seluruh dokumen latih.

Keterangan :

Wkj : frekuensi kata ke-k pada setiap kategori.

W : jumlah kata pada dokumen test.

f(Ci) : frekuensi dokumen berkategori kelas Ci.

3.2.1 Analisa Pembuatan Model NER Berdasarkan Review Restoran

Stanford NER merupakan tools atau aplikasi hasil implementasi java dari Entifield

Entity Recognizer yang di kembangkan oleh the Stanford natural language processing

group di Stanford university. Stanford NER juga dikenal sebagai CRFClassifier.

Perangkat lunak ini menyediakan implementasi umum dari urutan acak (Conditional

Random Field / CRF) urutan model. Artinya, dengan melatih model pada data berlabel,

menjelaskan bahwa pada penelitian penelitian sebelumnya dapat dengan benar

menggunakan kode ini untuk membuat model urutan untuk AP atau penelitian lainnya.

Perancangan model terkait penelitian ini dapat di lihat pada gambar di bawah ini :

14

gambar 3 2 Alur Perancangan Model NER

- Tagging data

Data atau review ulasan restoran yang berasal dari zomato.com akan di lakukan tagging

dengan cara manual, dengan aturan tagset yang sudah di bahas pada bagian atas seperti

berikut. Data ulasan review restoran sebelum di lakukan tagging:

gambar 3 3 Data Sebelum Di lakukan Tagging

15

Contoh salah satu dari data di atas sebelum dilakukan tagging.

“ Makanan lembur andalan saya, kadang pesen pake gojek beberapa malam berturut-

turut ga bosen-bosen. Agak mahal sih dibanding nasgor lain, tapi bumbunya berasaaaa

banget terus dagingnya juga ga pelit! Mienya juga lumayan enak. Tapi tetep favorit nasi

gorengnya sih, ga ada yang ngalahin “

Setelah di lakukan tagging maka data akan seperti menjadi di bawah ini.

Makanan/O lembur/O andalan/O saya/O ,/O kadang/O pesen/O pake/O gojek/O

beberapa/O malam/O berturut/O -/O turut/O ga/O bosen/O -/O bosen/O ./O Agak/O

mahal/O sih/O dibanding/O nasgor/F lain/O ,/O tapi/O bumbunya/O berasaaaa/O

banget/O terus/O dagingnya/F juga/O ga/O pelit/O !/O Mienya/F juga/O lumayan/O

enak/O ./O Tapi/O tetep/O favorit/O nasi/F gorengnya/F sih/O ,/O ga/O ada/O yang/O

ngalahin/O ./O

Dan berikut data yang sudah dilakukan tagging

gambar 3 4 Data Setelah DI lakukan Tagging

16

- Pembuatan file prop

Pada bagian ini data tagging akan melewati proses tokenisasi dan membentuk satu kata

per baris dengan menggunakan class Java yaitu WhitespaceTokenizer. Class Java

tersebut dapat ditemukan pada direktori stanford-ner.jar, dengan cara :

masuk pada file Stanford NER shift +click kanan open PowerShell window here

tuliskan perintah berikut .

gambar 3 5 Comand Pembuatan File.Tok

Selanjutnya hasil dari proses tersebut akan menghasilkan file.tok, dan file.tok tersebut

harus dilakukan penghilangan slash pada token berbaris dengan cara menggunakan

aplikasi notepad ++ sehingga file.tok tersebut akan menjadi seperti berikut.

gambar 3 6 Bentuk File.Tok

17

Slash “ / ” dari file.tok tersebut harus dilakukan penghilangan, dengan menggunakan

aplikasi notepad, sehingga file.tok tersebut akan menjadi seperti berikut.

gambar 3 7 Penghilangan Slash File.tok

Selanjutnya proses pembuatan file Prop. File prop adalah Properties File yang berisikan

pengaturan file untuk pembuatan model dari data training. Beberapa parameter penting

yang akan di-set dalam file ini antara lain trainFileList dan serializeTo. Berikut ini

adalah tampilan dari file Props yang telah diubah.

18

gambar 3 8 Tampilan File.Props yang telah DI ubah

Proses selanjutnya melatih data train dilakukan dengan menggunakan class Java yaitu

CRFClassifier. Class Java tersebut dapat ditemukan pada direktori stanford-ner.jar .

Berikut ini merupakan command yang akan digunakan:

gambar 3 9 Comand Pembuatan File Props

Dan hasil dari proses tersebut akan membentuk model dengan ekstensi .ser.gz. dan file

model tersebut berbentuk binner .

19

3.2.2 Analisa Sentiment Berdasarkan Review Restoran

Pada proses ini, data akan diolah menggunakan weka, weka merupakan aplikasi mining

open source berbasis Java. Aplikasi ini dikembangkan pertama kali oleh Universitas

Waikato di Selandia baru. Weka terdiri dari koleksi algoritma machine learning yang

dapat digunakan untuk melakukan generalisasi / formulasi dari sekumpulan data

sampling.

Pada awal proses ini data harus di persiapkan sesuai pembahasan pada bagian 3.1 di

atas, sebab kesuksesan penelitian ini terletak pada bagaimana persiapan data yang harus

di lakukan untuk menjamin keakuratan formulasi yang di harapkan.

Setelah data siap data akan melewati proses preprocessing, preprocessing adalah suatu

proses pengubahan bentuk data yang belum terstruktur menjadi data yang terstruktur

sesuai dengan kebutuhan, untuk proses mining yang lebih lanjut seperti Analysis

Sentiment, peringkasan, clustering dokumen, dll. Konsentrasi penelitian ini merujuk

pada Analysis Sentiment dimana pengklasifikasian teks berdasarkan sentiment positif

dan negative. Berikut Analysis Sentiment terkait penelitian ini :

gambar 3 10 Tampilan Awal Weka

20

Dari gambar di atas terdapat beberapa button untuk menjalankan aplikasi :

1) Explorer digunkan untuk menggali lebih jauh data dengan aplikasi WEKA

2) Experimenter digunakan untuk melakukan percobaan dengan pengujian

statistic skema belajar

3) Knowledge Flow digunakan untuk pengetahuan pendukung

4) Simple CLI antar muka dengan menggunakan tampilan command-line yang

memungkinkan langsung mengeksekusi perintah weka untuk Sistem

Operasi yg tidak menyediakan secara langsung

gambar 3 11 Persiapan Preprocess Pada Weka

Pada bagian atas window, tepatnya pada bawah judul bar. Terdapat deretan pengolahan

data, seperti Prepocess, Classify, Cluster, Associate, Select Attributes Visualize.

Namun yang aktif hanya Prepocess ini dikarenakan sebelum menggunakan algoritma

diatas pastikan sudah melakukan set file yang akan dieksekusi.

Buka file yang akan dieksekusi oleh Weka, pergunakan extensi file yang di gunakan

pada penelitian ini adalah .arff .arff adalah file teks ASCII yang menjelaskan daftar

contoh yang berbagi seperangkat atribut. Berikut data train dan data test terkait

penelitian ini :

21

gambar 3 12 Data Training Set

Gambar di atas adalah data training set yang akan melewati preprocessing Pada aplikasi

weka seperti berikut ini :

gambar 3 13 Data Training Sebelum Di lakukan Teknik SMOTE

Dari gambar data tersebut, terdapat 2 class sentiment yaitu positif dengan 303 data dan

negative 106 data, dan dari gambar data tersebut, data mengalami imbalance class,

imbalance class merupakan ketidak seimbangan class dalam jumlah data antara dua

kelas yang berbeda, salah satu kelasnya merepresentasikan jumlah data yang sangat

besar (majority class) sedangkan kelas yang lainya merepresentasikan jumlah data yang

sangat kecil (minority class), dan ketidak seimbangan kelas akan berdampak pada hasil

pengujian, sehingga untuk menangani ketidak seimbangan class pada penlitian ini di

gunakan teknik SMOTE pada weka sehingga data menjadi balance .

22

gambar 3 14 Konfigurasi SMOTE

Data di lakukan peningkatan 150.0 pada percentage sehingga sehingga data menjadi

balance seperti gambar berikut :

gambar 3 15 Data Training Setelah DI lakukan Teknik SMOTE

23

selanjutnya, metode klasifikasi yang di gunakan pada penelitian ini adalah naïve bayes

.

gambar 3 16 Pemilihan Metode Klasifikasi

3.3 Analisa Metode Naïve Bayes Model Multinomial Text

Naïve bayes adalah sebuah metode klasifikasi yang dimana prosesnya

sederhana dan mudah untuk di pahami begitu juga untuk pengaplikasiannya pada

setiap keadaan serta secara umum metode ini dapat mengurangi tingkat kegagalan

persentasi yang kecil.

Pada peneltian ini di gunakan pengklasifikasian naïve bayes dengan model

multinomial, pada model multinomial, setiap data uji di hitung frekuensi kata pada

tiap data latih sentiment c (Tct) dan jumlah kata unik pada data uji (N). Kemudian dari

data latih, jumlah kata (∑t’€vTct’) dan jumlah vocabulary (B) dihitung. vocabulary

(B) merupakan jumlah kata pada keseluruhan data latih. Setelah frekuensi kata,

jumlah kata, dan jumlah vocabulary didapatkan selanjutnya akan dihitung nilai

peluang untuk kata masuk pada sentiment c(P(t|c)). Perhitungan peluang ini dapat

bernilai nol apabila frekuensi katapada data uji di sentimenc (Tct) bernilai nol[10].

Untuk mengatasi masalah ini, dimasukkan koreksi seperti Laplace smoothing di semua

probabilitas perkiraan sehingga peluang tidak bernilai nol . Perhitungan peluang

model Multinomial dapat dilihat pada persamaan berikut:

24

Setelah didapatkan nilai peluang tiap kata, selanjutnya adalah mengalikan nilai

peluang tiap katadengan memberikan pangkat (n) sesuai nilai frekuensi

kemunculan katatersebut pada data uji. Hasilnya dikalikan kembali dengan nilai

peluang tiap sentiment (P(c)). Nilai peluang tiap sentimen (P(c)) dihitung dengan

cara membagi jumlah data latih tiap sentimen dengan jumlah data latih

keseluruhan sentimen. Perhitungan akhir peluang kalimat pada sebuah sentimen dapat

dilihat pada Persamaan 2. Laplace smoothing digunakan agar tidak ada kata uji

yang berpeluang nol. Hasil yang diambil adalah hasil perkalian yang terbesar pada

setiap sentimennya.

Berikut contoh kasus singkat yang akan di paparkan pada penjelasan analisis naïve

bayes model multinomial

tabel 3 4 Penjelasan SIngkat Naive Bayes Multinomial

doc

ID

Kata dalam document Class =

resto

Trainin

g set

1 Ayam nasi ayam Yes

2 Ayam ayam tahu Yes

3 Ayam tempe Yes

4 timun kemangi ayam No

Test set 5 Ayam ayam ayam

timun kemangi

?

25

Pada contoh table di atas menunjukan bahwa data uji di butuhkan untuk

pengklasifikasiannya, di asumsikan dengan p^(c) = ¾ dan p^(c’) = ¼ selanjutnya akan

mengikuti kondisi probabilitas berikut :

P^(ayam|c) = (5+1) / (8+6) = 6/14 = 3/7

P^(timun|c) = P^(kemangi|c) = (0+1) / (8+6) = 1/4

P^(ayam|c’) = (1+1) / (3+6) = 2/9

P^(timun|c’) = P^(kemangi|c’) = (1+1) / (3+6) = 2/9

Probabilitas di atas penyebutnya adalah (8+6) dan (3+6) karna panjang text c

dan text c’ masing masing 8 dan 3 dan juga karna jumlah constant adalah 6 maka hasil

berikutnya :

P^(c|d5)

P^(c’|d5)

Dari hasil tersebut klasifikasi memberikan dokumen uji class = resto, keputusan

klasifikasi pada kejadian tersebut terdapat 3 indikator positif pada resto lebih besar dari

2 indikator kejadian negative pada kemangi dan timun.