• Tidak ada hasil yang ditemukan

EKSTRAKSI FITUR UNTUK PEMILIHAN TOPIK SPESIFIK REVIEW FILM DALAM MENGHASILKAN ASPECT-BASED SENTIMENT ANALYSIS SKRIPSI FARIS ZHARFAN ALIF

N/A
N/A
Protected

Academic year: 2022

Membagikan "EKSTRAKSI FITUR UNTUK PEMILIHAN TOPIK SPESIFIK REVIEW FILM DALAM MENGHASILKAN ASPECT-BASED SENTIMENT ANALYSIS SKRIPSI FARIS ZHARFAN ALIF"

Copied!
78
0
0

Teks penuh

(1)

EKSTRAKSI FITUR UNTUK PEMILIHAN TOPIK SPESIFIK REVIEW FILM DALAM MENGHASILKAN ASPECT-BASED SENTIMENT ANALYSIS

SKRIPSI

FARIS ZHARFAN ALIF 151402075

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2020

(2)

EKSTRAKSI FITUR UNTUK PEMILIHAN TOPIK SPESIFIK REVIEW FILM DALAM MENGHASILKAN ASPECT-BASED SENTIMENT ANALYSIS

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

FARIS ZHARFAN ALIF 151402075

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2020

(3)

PERSETUJUAN

Judul : EKSTRAKSI FITUR UNTUK PEMILIHAN TOPIK

SPESIFIK REVIEW FILM DALAM

MENGHASILKAN ASPECT-BASED SENTIMENT ANALYSIS

Kategori : SKRIPSI

Nama : FARIS ZHARFAN ALIF

Nomor Induk Mahasiswa : 151402075

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Mohammad Fadly Syah Putra M.Sc.IT Dani Gunawan ST., M.T.

NIP. 19830129200912 1 003 NIP. 19820915201212 1 002

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

Romi Fadillah Rahmat, B.Comp.Sc., M.Sc.

NIP. 19860303201012 1 004

(4)

ii

PERNYATAAN

EKSTRAKSI FITUR UNTUK PEMILIHAN TOPIK SPESIFIK REVIEW FILM DALAM MENGHASILKAN ASPECT-BASED SENTIMENT ANALYSIS

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing telah disebutkan sumbernya.

Medan, 31 Januari 2020

FARIS ZHARFAN ALIF

151402075

(5)

UCAPAN TERIMA KASIH

Puji dan syukur kepada Allah SWT, karena rahmat dan izin-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Penulisan skripsi ini tidak akan selesai tanpa adanya doa, dukungan, dan dorongan dari berbagai pihak.

Adapun dalam kesempatan ini, dengan rendah hati penulis mengucapkan banyak terima kasih kepada :

1. Kedua orang tua penulis, Bapak Ir. Novrial, M.Eng dan Ibu Ir. Indra Chahaya, M.Si yang selalu memberikan doa, kasih sayang, serta dukungan kepada penulis dari mulai mengikuti pendidikan hingga selesainya tugas akhir ini.

2. Bapak Prof. Dr. Drs. Opim Salim Sitompul, M.Sc. selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dani Gunawan ST., M.T. selaku Dosen Pembimbing I dan Bapak Mohammad Fadly Syah Putra M.Sc.IT selaku Dosen Pembimbing II yang telah membimbing penulis dalam penelitian serta penulisan skripsi ini.

4. Ibu Sarah Purnamawati ST., MSc. selaku Dosen Pembanding I dan Ibu Rossy Nurhasanah, S.Kom., M.Kom. selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

5. Saudari penulis, Namira Sani, S.T. yang telah memberikan dukungan.

6. Annadya Rifani Sigana selaku sabahat terdekat yang memberikan dukungan dan menerima keluh kesah selama pengerjaan.

7. Muhammad Arka Kharisma, Tata Feraro Mukarram, Firza Rinandha Nst, Riyandi Syahputra, Raska Almasyurah, Rhama Permadi Ahmad, S.Kom selaku teman seperjuangan dan teman yang membantu dalam pengerjaan skripsi yang dari awal sampai akhir selalu antusias dan ikut mensupport terhadap pengerjaan skripsi.

8. Rendra Mahendra, S.Kom, Cindy Pakpahan, S.Kom selaku senior yang memberikan masukan, ilmu dan motivasi selama mengerjakan skripsi.

9. Tata Feraro Mukarram, Faris Zharfan Alif, Riyandi Syahputera, Luhur Budi

Prayogo, Muhammad Ravie, Dhany Dwi, Indirwan Ihsan, Muhammad

(6)

iv

Hadiyurahman, Firza Rinandha Nst, dan Muhammad Faris yang telah memberikan tempat tongkrongan dari awal kuliah hingga saat ini dan tidak akan berakhir.

10. Teman – teman Teknologi Informasi USU terkhusus Stambuk 2015.

11. Seluruh dosen dan staf di Program Studi Teknologi Informasi USU yang tidak dapat disebutkan satu – persatu.

12. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu persatu yang telah membantu penyelesaian skripsi ini.

Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.

Medan, 31 Januari 2020

FARIS ZHARFAN ALIF

(7)

ABSTRAK

Perkembangan jumlah data digital di dunia mengalami peningkatan yang sangat pesat.

Data-data tersebut berasal dari review, media sosial, email dan lainnya. Perkembangan jumlah data tersebut banyak dimanfaatkan untuk analisis sentimen pada suatu dokumen.

Pada umumnya analisis sentimen dilakukan dengan memproses keseluruhan data, sehingga memungkinkan data yang tidak diperlukan untuk analisis ikut diproses. Hal ini dinilai kurang optimal untuk analisis sentimen karena akan mempengaruhi nilai pada sentimen-sentimen tersebut. Pada penelitian ini analisis sentimen dilakukan berdasarkan fitur-fitur yang dihasilkan pada data menggunakan metode ekstraksi fitur.

Tujuannya adalah untuk meminimalkan data yang tidak diperlukan untuk analisis sentimen dan meningkatkan nilai akurasi dari hasil identifikasi analisis sentimen.

Metode ektraksi fitur yang dilakukan memanfaatkan algoritma TF-IDF, TextRank dan K-Means. Pada algoritma TF-IDF berhasil menghasilkan 17 fitur dengan waktu 3 menit 15 detik, TextRank berhasil menghasilkan 16 fitur dengan waktu 6 menit 31 detik dan K-Means menghasilkan 20 fitur dengan waktu 1 menit 35 detik. Pada metode KMeans terdapat kalimat-kalimat yang mengandung fitur tetapi tidak masuk ke dalam fitur, sedangkan TF-IDF dan Textrank seluruh kalimat yang mengandung fitur masuk ke dalam fitur. Pada identifikasi berdasarkan fitur menggunakan Sentiment Analysis VADER mendapatkan akurasi 98,7% pada TF-IDF dan TextRank, sedangkan pada K- Means mendapatkan akurasi 100%.

Kata kunci : Text Mining, Aspect-Based Sentiment Analysis, ekstraksi fitur, TF-IDF,

TextRank, K-Means, Sentiment Analysis VADER.

(8)

vi

EXTRACTION FEATURES FOR SELECTING SPECIFIC TOPICS OF REVIEW FILM IN PRODUCE ASPECT-BASED SENTIMENT

ANALYSIS

ABSTRACT

The amount of development digital data in the world has increased very fast. The amount of development data comes from reviews, social media, email and others. The amount of development data is widely used for sentiment analysis in a document. In general, sentiment analysis is done by processing the entire data, thus allowing data who doesn't need for analysis to be processed. This is considered less optimal for sentiment analysis because it will affect the value of these sentiments. In this study sentiment analysis is based on features generated automatically using the feature extraction method. The aim is to minimize the data that is not needed for sentiment analysis and increase the accuracy value of the sentiment analysis identification results. The feature extraction method is performed using the TF-IDF algorithm, TextRank and K-Means.

In the TF-IDF algorithm successfully produced 17 features for 3 minutes 15 seconds, TextRank successfully produced 16 features for 6 minutes 31 seconds and K-Means produced 20 features for 1 minute 35 seconds.. In identification based on features using Sentiment Analysis VADER get an accuracy of 98.7% on TF-IDF and TextRank, while on K-Means get an accuracy of 100%.

Keywords : Text Mining, Aspect-Based Sentiment Analysis, feature extraction, TF-

IDF, TextRank, K-Means, Sentiment Analysis VADER.

(9)

DAFTAR ISI

Hal.

PERSETUJUAN i

PERNYATAAN ii

UCAPAN TERIMA KASIH iii

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL x

DAFTAR GAMBAR xii

BAB 1 PENDAHULUAN

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Tujuan Penelitian 3

1.4 Batasan Masalah 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 4

1.7 Sistematika Penulisan 4

BAB 2 LANDASAN TEORI

2.1 Text Mining 6

2.2 Sentiment Analysis 6

2.3 Aspect Based Sentiment Analysis 7

2.4 TF-IDF 7

2.5 TextRank 8

(10)

viii

2.6 Clustering K-means 9

2.7 Metode Evaluasi 9

2.8 Penelitian Terdahulu 11

BAB 3 ANALISIS DAN PERANCANGAN

3.1 Dataset 13

3.2 Arsitektur Umum 13

3.2.1 Input 14

3.2.2 Text Preprocessing 16

3.2.2.1 Tokenizing 16

3.2.2.2 Case Folding 16

3.2.2.3 Stopwords Removal 17

3.2.2.4 Stemming 18

3.2.3 Selecting Candidate 19

3.2.4 Ekstraksi Fitur 20

3.2.4.1 TF-IDF 21

3.2.4.2 TextRank 22

3.2.4.3 K-Means 24

3.2.4.4 Similarity Word 24

3.2.5 Sentiment Analysis VADER 26

3.3 Perancangan Sistem 26

3.3.1 Rancangan Tampilan Halaman Home 27

3.3.2 Rancangan Tampilan Halaman Ekstraksi Fitur 27

3.3.3 Rancangan Tampilan Halaman Hasil 28

3.4 Metode Evaluasi 28

BAB 4 IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem 30

4.1.1 Spesifikasi Perangkat Keras yang Digunakan 30 4.1.2 Spesifikasi Perangkat Lunak yang Digunakan 30

4.1.3 Implementasi Perancangan Antarmuka 31

(11)

4.1.3.1 Tampilan Halaman Home 31 4.1.3.2 Tampilan Halaman Ekstraksi Fitur 31

4.1.3.3 Tampilan Halaman Hasil 32

4.2 Prosedur Operasional 33

4.3 Pengujian Sistem 35

4.3.1 Selecting Candidate 42

4.3.2 Ekstraksi Fitur 43

4.3.1.1 TF-IDF 44

4.3.1.2 TextRank 48

4.3.1.3 K-Means 52

4.3.3 Sentiment Analysis 57

BAB 5 KESIMPULAN DAN SARAN

5.1 Kesimpulan 61

5.2 Saran 62

DAFTAR PUSTAKA

(12)

x

DAFTAR TABEL

Hal.

Tabel 2.1 Variable pada Metode Evaluasi 10

Tabel 2.2 Penelitian Terdahulu 12

Tabel 3.1 Pengelompokan Data 13

Tabel 3.2 Contoh Kalimat Komentar 15

Tabel 3.3 Tahapan Tokenizing 16

Tabel 3.4 Tahapan Case Folding 16

Tabel 3.5 Stopwords 17

Tabel 3.6 Tahapan Stopwords Removal 18

Tabel 3.7 Tahapan Stemming 19

Tabel 3.8 Hasil Selecting Candidate 19

Tabel 3.9 Contoh Input Ekstraksi Fitur 20

Tabel 3.10 Hasil Ekstraksi Fitur TF-IDF 22

Tabel 3.11 Hasil Ekstraksi Fitur TextRank 23

Tabel 3.12 Contoh K-Means 21 Cluster 24

Tabel 3.13 Contoh Hasil Sentiment Analysis VADER 26

Tabel 3.12 Contoh Evaluasi Sistem 29

Tabel 4.1 Sampel Data yang Digunakan 35

Tabel 4.2 Hasil Ekstraksi Fitur Tidak Menggunakan Tahap Selecting 42 Candidate

Tabel 4.3 Hasil Ekstraksi Fitur Menggunakan Tahap Selecting Candidate 43

Tabel 4.4 Hasil Ektraksi Fitur TFIDF 44

Tabel 4.5 Hasil Ektraksi Fitur TFIDF dan Similarity Word 45 Tabel 4.6 Hasil penyeleksian berdasarkan fitur TFIDF 46 Tabel 4.7 Kalimat yang tidak terseleksi fitur TFIDF 47

Tabel 4.8 Hasil Ektraksi Fitur TextRank 48

Tabel 4.9 Hasil Ektraksi Fitur TextRank dan Similarity Word 49

Tabel 4.10 Hasil penyeleksian berdasarkan fitur TextRank 51

Tabel 4.11 Kalimat yang tidak terseleksi fitur TextRank 52

Tabel 4.12 Hasil Ektraksi Fitur K-Means Cluster 16 53

(13)

Tabel 4.13 Hasil Ektraksi Fitur K-Means Cluster 18 53 Tabel 4.14 Hasil Ektraksi Fitur K-Means Cluster 21 53 Tabel 4.15 Hasil Ektraksi Fitur K-Means Cluster 26 54 Tabel 4.16 Hasil Ektraksi Fitur KMeans dan Similarity Word 54

Tabel 4.17 Kalimat pada fitur “(random)” KMeans 55

Tabel 4.18 Hasil evaluasi metode ekstraksi fitur 56

Tabel 4.19 Persentase kalimat yang tidak diproses 56

Tabel 4.20 Hasil Sentiment Analysis VADER pada Ekstraksi Fitur TFIDF 57

Tabel 4.21 Hasil Sentiment Analysis VADER pada Ekstraksi Fitur TextRank 58

Tabel 4.22 Hasil Sentiment Analysis VADER pada Ekstraksi Fitur KMeans 59

(14)

xii

DAFTAR GAMBAR

Hal.

Gambar 3.1 Arsitektur Umum 14

Gambar 3.2 Graf Algoritma TextRank berdasarkan Data Tabel 3.9 23

Gambar 3.3 Diagram Proses Similarity Word 25

Gambar 3.4 Contoh Hasil Tahap Similarity Word 25

Gambar 3.5 Rancangan Tampilan Home 27

Gambar 3.6 Rancangan Tampilan Halaman Ekstraksi Fitur 27

Gambar 3.7 Rancangan Tampilan Halaman Hasil 28

Gambar 4.1 Tampilan Halaman Home 31

Gambar 4.2 Tampilan Halaman Ekstraksi Fitur 32

Gambar 4.3 Tampilan Halaman Hasil 32

Gambar 4.4 Tampilan Teks Berdasarkan Fitur 33

Gambar 4.5 Tampilan Form dan Button Input Dataset 33

Gambar 4.6 Tampilan Pemilihan Metode Ekstraksi Fitur 34 Gambar 4.7 Tampilan Halaman Hasil Ekstraksi Fitur TF-IDF dan 34

Sentiment Analysis Vader

Gambar 4.8 Tampilan Kalimat Berdasarkan Fitur Pertama 35

(15)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Perkembangan jumlah data digital di dunia mengalami peningkatan yang sangat pesat dan diestimasi sudah mencapai satuan zettabyte, jumlah data didunia akan terus bertambah sebesar 40% setiap tahunnya (Fan & Biffet, 2012). Perkembangan data tersebut berasal dari review, media sosial, email dan lainnya. Perkembangan jumlah data tersebut banyak dimanfaatkan untuk analisis sentimen pada suatu dokumen. Mulai dari sentimen tanggapan masyarakat terhadap sesuatu hal di media sosial, sentimen pada review suatu film dan sebagainya. Teknik yang berkembang dalam menganalisis sentimen suatu dokumen pada saat ini adalah text mining. Text mining merupakan suatu proses mengeksplorasi dan menganalisis sejumlah data teks tidak terstruktur yang dibantu oleh perangkat lunak yang dapat mengidentifikasi konsep, pola, topik, kata kunci, dan atribut lainnya dalam data tersebut. Text mining dapat mengelola data-data tersebut dengan baik sehingga dapat menghasilkan informasi yang dapat membantu individu atau organisasi dalam pengambilan sebuah keputusan.

Analisis sentimen merupakan salah satu kategori dari text mining, yaitu dengan cara mengkomputasi pendapat, perasaan, dan emosi yang dinyatakan dalam bentuk teks secara otomatis. Dalam hal ini diperlukan 2 tahapan proses. Tahap pertama adalah text pre-processing. Tahap text pre-processing bertujuan untuk mengubah data tekstual yang tidak terstruktur ke dalam data yang terstruktur sesuai dengan kebutuhan.

Kemudian pada tahap kedua akan dilakukan proses identifikasi yang bertujuan untuk

mengelompokkan data. Beberapa algoritma yang sedang popular saat ini Naïve Bayes,

Support Vector Machine (SVM), dan Sentiment Analysis Vader. Pada umumnya analisis

sentimen dilakukan dengan memproses keseluruhan data, sehingga memungkinkan data

yang tidak diperlukan untuk analisis ikut diproses. Hal ini dinilai kurang optimal untuk

analisis sentimen karena akan mempengaruhi nilai pada sentimen-sentimen tersebut.

(16)

2

Pendekatan berupa pemilihan data berdasarkan fitur dari data yang digunakan secara otomatis dinilai lebih optimal dalam analisis sentimen.

Penelitian tentang analisis sentimen sudah pernah dilakukan dan dikembangkan sebelumnya dengan menggunakan beberapa metode atau dengan menggabungkan beberapa metode demi mencapai hasil yang akurat. Penelitian yang terkait dengan analisis sentimen diantaranya (Meduru et al. 2018) melakukan penelitian klasifikasi opini yang bertujuan untuk mengetahui tanggapan masyarakat di setiap bagian tentang pemerintahan dan reformasi politik di India. Data yang digunakan diperoleh dari media social twitter. Data yang diperoleh dipilih berdasarkan hashtag(#), pengguna harus menggunakan hashtag(#) agar tweet mereka dapat dianalisis.

Klasifikasi menggunakan VADER Lexicon untuk menentukan probabilitas sentimen.

Hasil klasifikasi opini ini kemudian dipetakan berdasarkan lokasi dari masing-masing pengguna twitter. Ramteke et al. (2016) melakukan penelitian klasifikasi teks sentimen yang diperoleh dari media sosial twitter untuk memprediksi hasil pemilu. Data yang diperoleh dari media sosial twitter dengan menggunakan API Streaming Twitter. API Streaming memerlukan input parameter yang ditentukan secara manual pada penelitian ini, sehingga didapat sebanyak 61.473 tweet untuk Donald Trump dan 60.121 tweet untuk Hillary Clinton. Seluruh data kemudian diberi label menggunakan Sentiment Analysis VADER untuk memberikan nilai positif atau negatif untuk setiap tweet serta menghapus yang bernilai netral karena dianggap tweet ambigu. Data yang telah diberi label kemudian diklasifikasikan menggunakan algoritma SVM. Hasil klasifikasi dari setiap kandidat kemudian dikomparasi untuk melihat hasil prediksi pemilu.

Berdasarkan latar belakang tersebut, maka dari itu penulis melakukan

penelitian dengan judul “Ekstraksi Fitur untuk Pemilihan Topik Spesifik Review Film

dalam Menghasilkan Aspect-Based Sentiment Analysis” dengan menerapkan metode

ektraksi fitur untuk menghasilkan fitur pada data yang digunakan. Diharapkan dengan

menerapkan metode ekstraksi fitur dapat meminimalisir data yang tidak diperlukan

untuk analisis sentimen dan memperoleh hasil identifikasi dengan tingkat akurasi yang

lebih baik.

(17)

1.2 Rumusan Masalah

Analisis sentimen diperlukan untuk mengetahui informasi yang ada pada data. Model analisis sentimen sudah banyak dibuat dalam berbagai penelitian text mining, tetapi model tersebut diuji menggunakan keseluruhan data sehingga memungkinkan data yang tidak diperlukan untuk analisis ikut diproses. Oleh karena itu diperlukan pendekatan yang dapat menyeleksi fitur-fitur pada data yang digunakan untuk meminimalisir data yang tidak diperlukan.

1.3 Tujuan Penelitian

Penelitian ini bertujuan untuk meminimalisir data yang tidak diperlukan untuk analisis sentimen memanfaatkan beberapa metode ektraksi fitur untuk menghasilkan fitur pada data dan mengidentifikasikan data berdasarkan fitur yang dihasilkan.

1.4 Batasan Masalah

Adapun batasan masalah dalam penelitian ini sebagai berikut:

1. Data yang digunakan merupakan data teks.

2. Data menggunakan bahasa Inggris.

3. Identifikasi tidak dapat dilakukan pada kesalahan penulisan kata yang bergabung dengan angka ataupun tanda baca.

1.5 Manfaat Penelitian

Manfaat yang diperoleh pada penelitian ini adalah sebagai berikut:

1. Meminimalisir data yang tidak berpengaruh pada analisis sentimen agar tidak ikut diidentifikasi.

2. Mendapatkan metode ektraksi fitur yang paling optimal.

3. Mengetahui kelemahan dan kelebihan dari beberapa metode ektraksi fitur yang

diuji.

(18)

4

1.6 Metodologi Penelitian

Tahapan yang dilakukan dalam penelitian ini adalah sebagai berikut:

1. Studi Literatur

Pada tahap ini dilakukan pengumpulan dan mempelajari bahan refrensi seperti dokumen dan literatur yang diperoleh dari buku, skripsi, jurnal dan beberapa sumber lainnya yang berkaitan dengan penelitian ini.

2. Analisis Masalah

Pada tahap ini penulis melakukan analisis terhadap berbagai informasi yang telah diperoleh untuk mendapatkan pemahaman mengenai metode yang akan dilakukan pada penelitian ini dan masalah yang ingin diselesaikan pada penelitian ini.

3. Implementasi

Pada tahap ini dilakukan proses implementasi dari analisis perancangan yang akan dilakukan dalam aplikasi komputer menggunakan bahasa pemrograman Python.

4. Pengujian

Pada tahap ini dilakukan pengujian data yang telah didapat untuk memastikan sistem yang telah dibangun memberikan hasil yang terbaik.

5. Dokumentasi dan Penyusunan Laporan

Pada tahap ini dilakukan dokumentasi hasil berupa laporan penelitian dari analisis dan implementasi dari penelitian yang dilakukan dalam bentuk skipsi.

1.7 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri data lima bagian utama sebagai berikut:

Bab 1: Pendahuluan

Bab ini berisi penjelasan mengenai latar belakang pemilihan judul skripsi “Ekstraksi

Fitur Spesifik untuk Aspect-Based Sentiment Analysis pada Review Film”, rumusan

masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian

dan sistematika penulisan.

(19)

Bab 2: Landasan Teori

Bab ini berisi tentang teori-teori yang digunakan untuk memahami permasalahan yang dibahas pada penelitian ini serta teori yang berhubungan dengan ekstraksi fitur dan klasifikasi teks.

Bab 3: Analisis dan Perancangan

Bab ini berisi tentang analisis dari arsitektur umum, metode yang digunakan serta penerapan klasifikasi teks berdasarkan fitur yang dihasilkan dan perancangan sistem yang telah dibuat.

Bab 4: Implementasi dan Pembahasan

Bab ini berisi pembahasan tentang implementasi analisis dan perancangan yang telah disusun pada Bab 3 dan pengujian terhadap hasil yang telah didapatkan sesuai dengan yang diharapkan.

Bab 5: Kesimpulan dan Saran

Bab ini berisi kesimpulan dari keseluruhan penelitian yang telah dibahas dan dilakukan

serta saran-saran yang berkaitan guna pengembangan penelitian selanjutnyanya.

(20)

BAB 2

LANDASAN TEORI

Bab ini akan membahas mengenai teori-teori yang digunakan sebagai landasan penyelesaian masalah dan penelitian sebelumnya yang berhubungan dengan penelitian ini.

2.1 Text Mining

Text mining adalah satu langkah dari analisis teks yang dilakukan secara otomatis oleh komputer untuk menggali informasi yang berkualitas dari suatu rangkaian teks yang terangkum dalam sebuah dokumen (Han & Kamber, 2006). Tujuan dari text mining adalah untuk mengelompokkan suatu data acak ke dalam kelas-kelas tertentu. Data yang biasa digunakan pada text mining berupa teks dalam bentuk file Word, PDF ataupun kumpulan file berekstensi .txt dan .csv.

Text Mining memiliki konsep yang sama seperti data mining tetapi text mining terfokus pada bentuk data yang terstruktur. Tahap pertama yang biasa dilakukan dalam text mining adalah mengatur dan menyusun data agar dapat dilakukan analisis secara kualitatif dan kuantitatif. Tahap berikutnya yaitu klasifikasi dengan memanfaatkan proses dan metode pada NLP atau Natural Language Processing seperti Support Vector Machine (SVM) , Naïve Bayes, K-Nearest Neighbor (KNN), Sentiment Analysis Vader, dll.

2.2 Sentiment Analysis

Analisis sentimen adalah bidang studi yang menganalisis opini, sentimen, evaluasi,

sikap, dan emosi orang-orang dari dalam teks (Liu, 2012). Analisis sentimen merupakan

salah satu teknik klasifikasi yang memperoleh pendapat dan merumuskan skor sentimen

(21)

yang mencerminkan pendapat berdasarkan sentimen dari teks tersebut. VADER (Valence Aware Dictionary dan sEntiment Reasoner) adalah salah satu metode analisis sentimen yang dikembangkan oleh Hutto dan Gilbert tahun 2014. VADER menggabungkan metode kualitatif dan kuantitatif untuk menghasilkan lexicon sentimen standar. Model sentiment analysis sangat bergantung pada sentimen dasar (pendapat) lexicon. Lexicon sentimen merupakan daftar leksikal kemampuan seperti kata yang dapat dikategorikan secara umum dengan orientasi semantik mereka sebagai positf, negatif atau netral. Metode ini mengambil kalimat sebagai input dan memberikan nilai persen untuk positif, negatif dan netral serta compound (polaritas keseluruhan kalimat).

Compound adalah metrik yang menghitung jumlah semua peringkat lexicon yang telah dinormalisasi antara -1 (paling negatif) dan +1 (paling positif).

2.3 Aspect Based Sentiment Analysis

Aspect Based Sentiment Analysis (ABSA) merupakan perkembangan dari analisis sentimen, dimana ABSA dapat menganalisis sejumlah teks yang tidak terstruktur dan mengekstrak informasi dengan memecah teks menjadi aspek (atribut atau komponen produk) dan kemudian mengalokasikan masing-masing tingkat sentimen (positif, negatif atau netral) (Pontiki et al, 2016). Tujuan dari ABSA adalah untuk memaksimalkan analisis sentimen dengan menganalisis berdasarkan aspek pada teks.

Teks yang diproses dapat memiliki lebih dari satu aspek seperti kalimat “The food was great but the service was poor.”. Pada kasus ini ada lebih dari dari satu sentimen dan lebih dari satu topik dalam satu kalimat yaitu “The food was great” dan “the service was poor.” sehingga memberi nilai seluruh kalimat tersebut sebagai sentimen positif atau negatif akan salah.

2.4 TF-IDF

Term Frequency – Inverse Document Frequency (TF-IDF) adalah suatu metode

pembobotan kata berbasis statistic untuk memberikan bobot hubungan antar suatu kata

dengan dokumen. Metode ini merupaakan penggabungan antara dua konsep untuk

perhitungan bobot, yaitu Term Frequency (TF) dan Inverse Document Frequency (IDF).

(22)

8

Term Frequency (TF) dipergunakan hanya untuk mengukur kemunculan suatu kata dalam sebuah dokumen dan Inverse Document Frequency (IDF) mengukur seberapa sering sebuah kata muncul di seluruh kumpulan dokumen. Rumus untuk menghitung Term Frequency Inverse Document Frequency (TF-IDF) dapat dilihat pada persamaan 2.1 dan 2.2 berikut.

𝑖𝑑𝑓 𝑡 = 𝑙𝑛 ( 𝑁+1

𝑑𝑓

𝑡

+1 ) + 1 (2.1) 𝑡𝑓𝑖𝑑𝑓 𝑡 = 𝑡𝑓 𝑡 × 𝑖𝑑𝑓 𝑡 (2.2) Dalam persamaan diatas, 𝑖𝑑𝑓 𝑡 adalah nilai Inverse Document Frequency term t, N merupakan total dokumen, 𝑑𝑓 𝑡 adalah jumlah dokumen yang mengandung term t, 𝑡𝑓 adalah frekuensi kata yang dicari dalam sebuah dokumen.

2.5 TextRank

TextRank adalah salah satu algoritma pemeringkatan berbasis grafik (graph-based ranking algorithm) untuk pemrosesan teks. TextRank memiliki 2 (dua) jenis pengolahan data, yaitu TextRank for keyword extraction (ekstraksi kata kunci) dan TextRank for sentence extraction (ekstraksi kalimat). Algoritma ini akan dibangun suatu graf untuk menghubungkan kata atau kalimat di dalam dokumen. Pada dasarnya pemeringkatan berbasis grafik menerapkan sistem “pemungutan suara” atau “rekomendasi”. Vertex didalam graf dinyatakan sebagai unit yang akan diberikan suara dengan menghubungkan vertex dengan vertex lain. Vertex yang terhubung dengan vertex lain pada dasarnya memberikan suara untuk vertex tersebut (Mihalcea, R., & Tarau, P., 2004). Semakin tinggi jumlah suara pada vertex maka akan dianggap semakin penting sebuah vertex tersebut.

TextRank memiliki rumus yang merupakan hasil modifikasi dari rumus PageRank. Rumus dari PageRank dapat dilihat pada persamaan 2.3 berikut.

𝑆(𝑉 𝑖 ) = (1 − 𝑑) + 𝑑 ∗ ∑ 1

|𝑂𝑢𝑡(𝑉

𝑗

)| 𝑆(𝑉 𝑗 )

𝑗∈∫ 𝑛(𝑉

𝑖

) (2.3)

Dimana Vi merupakan vertex yang akan dihitung skor, Vj merupakan vertex

yang bertetanggaan dengan Vi dan d merupakan damping faktor yang bernilai antara 0

(23)

sampai 1. Hasil dari modifikasi dari rumus PageRank menjadi rumus TextRank adalah sebagai berikut:

𝑊𝑆(𝑉 𝑖 ) = (1 − 𝑑) + 𝑑 ∗ ∑ 𝑤

𝑗𝑖

𝑉𝑘𝜖𝐴𝑑𝑗(𝑉𝑗)𝑤𝑗𝑘

𝑊𝑆(𝑉 𝑗 )

𝑉

𝑗

∈𝐴𝑑𝑗(𝑉

𝑖

) (2.4)

Pada persamaan 2.4, WS (Weight Sentence) dinyatakan sebagai bobot dari kalimat, w merupakan nilai dari content overlap similarity dan Vk merupakan vertex yang bertetanggaan dengan Vj.

2.6 Clustering K-means

Clustering merupakan proses pengelompokan suatu set data yang mengandung jenis properti atau atribut yang sama (Jain, A., Murty, M., & Flynn, P., 1999). Tujuan utama dari clustering adalah meminimalkan jarak antara elemen data yang ada pada cluster yang sama dan memaksimalkan jarak antar elemen satu kelas atau cluster. Salah satu algoritma clustering yang sering digunakan adalah K-Means. Algoritma K-Means merupakan clustering yang bekerja dengan cara membagi data ke dalam n buah cluster yang telah ditentukan (Han & Kamber, 2006), dimana data pada suatu cluster mempunyai karakteristik yang sama dan mempunyai karakteristik yang berbeda dengan data pada cluster yang lain. Berikut adalah tahap-tahap dasar pada algoritma K-Means:

1. Menentukan jumlah n atau jumlah cluster yang akan dibentuk.

2. Mengalokasikan data secara acak untuk menentukan pusat cluster (centroid).

3. Mengelompokan setiap data dengan cara menghitung kedekatan jaraknya dengan pusat cluster (centroid).

4. Menghitung kembali nilai rata-rata dari data-data yang ada dengan tujuan menghasilkan pusat cluster (centroid) yang sama.

5. Mengulangi tahap ke-3 hingga posisi centroid baru dan centroid lama sama.

2.7 Metode Evaluasi

Metode evaluasi merupakan penilaian seberapa baik proses identifikasi pada sistem.

Tahapan ini menerapkan aturan variabel pada tabel 2.1 dengan menggunakan rumus

(24)

10

umum perhitungan accuracy, precision, recall dan F-score yang diperkenalkan oleh Baeza-Yates & Ribeiro-Neto (1999). Rumus yang digunakan untuk metode evaluasi dapat dilihat pada persamaan 2.5 dan 2.6 berikut.

Tabel 2.1. Variable pada Metode Evaluasi Label Manual

Positif Negatif Netral

Hasil Identifikasi

Positif True Postif (TP) False Positif (FP)

False Positif (FP) Negatif False Negatif

(FN)

True Negatif (TN)

False Negatif (FN) Netral False Netral

(FNt)

False Netral (FNt)

True Netral (TNt)

𝑨𝒌𝒖𝒓𝒂𝒔𝒊 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑃𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑦𝑎𝑛𝑔 𝐵𝑒𝑛𝑎𝑟

𝐽𝑢𝑚𝑙𝑎ℎ 𝐾𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 (2.5)

𝑨𝒌𝒖𝒓𝒂𝒔𝒊 = (𝑇P+𝑇N+𝑇Nt)

𝑇P+𝑇N+𝑇Nt+𝐹N+𝐹Nt+𝐹P (2.6) Keterangan :

- True Postif (TP) adalah kondisi data dengan label positif berhasil diidentifikasi sebagai kalimat positif.

- False Positif (FP) adalah kondisi data dengan label positif gagal diidentifikasi sebagai kalimat positif.

- True Negatif (TN) adalah kondisi data dengan label negatif berhasil diidentifikasi sebagai kalimat negatif.

- False Negatif (FN) adalah kondisi data dengan label negatif gagal diidentifikasi sebagai kalimat negatif.

- True Netral (TNt) adalah kondisi data dengan label netral berhasil diidentifikasi sebagai kalimat netral.

- False Netral (FNt) adalah kondisi data dengan label netral gagal diidentifikasi

sebagai kalimat netral.

(25)

2.8 Penelitian Terdahulu

Penelitian tentang text mining dengan berbagai permodelan sudah pernah dilakukan oleh beberapa pihak sebelumnya, diantaranya Seyyed Mohammad Hossein Dadgar et al. (2016) melakukan penelitian yang bertujuan untuk mengklasifikasikan berita ke dalam kelompok yang berbeda sehingga pengguna membedakan jenis berita tersebut.

Penelitian ini menggunakan TF-IDF dan Support Vector Machine sebagai metode klasifikasi. Penelitian ini menggunkan dua dataset yaitu 2.225 teks berita BBC yang akan diklasifikasikan menjadi 5 kelas dan 5.070 artikel berita 20Newsgroup yang akan diklasifikasikan menjadi 5 kelas. Hasil evaluasi yang dilakukan berdasarkan tingkat akurasi sebesar 94,93% untuk dataset BBC dan 97,48% untuk dataset 20Newsgroup.

Penelitian ini berhasil menghasilkan yang lebih baik dari percobaan metode yang lain.

Jyoti Ramteke et al. (2016) melakukan penelitian klasifikasi teks sentimen yang diperoleh dari media social twitter untuk memprediksi hasil pemilu. Data yang diperoleh dari media social twitter sebanyak 61.473 tweet untuk Donald Trump dan 60.121 tweet untuk Hillary Clinton. Seluruh data kemudian diberi label menggunakan Sentiment Analysis VADER untuk memberikan nilai positif atau negatif untuk setiap tweet serta menghapus tweet yang bernilai netral karena dianggap tweet ambigu. Data yang telah diberi label kemudian diklasifikasikan menggunakan algoritma SVM. Hasil klasifikasi dari setiap kandidat kemudian dikomparasi untuk melihat hasil prediksi pemilu. Penelitan ini mengimpulkan penghitungan langsung menggunakan jumlah tweet positif tidak akan menentukan prediksi kemenangan, sehingga kemenangan ditentukan dengan melihat perbandingan antara tweet positif dengan keseluruhan tweet yang diklasifikasikan.

Fang Miao et al. (2018) melakukan penelitian klasifikasi text berbahasa cina

dengan menggunakan dataset dari kalimat berita. Penelitian ini bertujuan untuk

membandingkan penggunaan algoritma klasifikasi teks pada Bahasa Cina. Algoritma

yang digunakan pada nelitian ini adalah KNN, Naïve Bayes, dan SVM. Dataset yang

digunakan 9.331 berita yang terdiri dari 9 kategori yaitu agriculture, economy, history,

environment, politics, sports, art, computer dan space. Penelitian ini mengimpulkan

bahwa klasifikasi teks berbahasa cina dapat menghasilkan hasil yang memuaskan

berdasarkan algoritma pembelajaran mesin.

(26)

12

Manogna Meduru et al. (2018) melakukan penelitian klasifikasi opini yang bertujuan untuk mengetahui tanggapan masyarakat di setiap bagian tentang pemerintahan dan reformasi politik di India. Data yang digunakan diperoleh dari media social twitter. Data yang diperoleh dipilih berdasarkan hashtag(#), pengguna harus menggunakan hashtag agar tweet mereka dapat dianalisis. Klasifikasi menggunakan VADER Lexicon untuk menentukan probabilitas sentimen. Hasil klasifikasi opini ini kemudian dipetakan berdasarkan lokasi dari masing-masing pengguna twitter.

Penelitian ini memiliki kekurangan, data media sosial twitter yang digunakan hanya terbatas pada 140 karakter dan terdapat penggunaan kata-kata gaul dan ejaan yang salah.

Rincian dari penelitian yang dijelaskan diatas dapat dilihat pada Tabel 2.2 berikut.

Tabel 2.2. Penelitian Terdahulu

No. Peneliti (Tahun) Judul Metode

1. Dadgar, S., Araghi, M., & Farahani, M.

(2016)

A Novel Text Mining Approach Based on TF- IDF and Support Vector Machine for News Classification

TF-IDF dan Support Vector Machine

2. Ramteke, J., Shah, S., Godhia, D., &

Shaikh, A. (2016)

Election Result Prediction Using Twitter sentiment Analysis

Sentiment Analysis VADER dan Support Vector Machine 3. Miao. F., Zhang. P.,

Jin. L., & Wu. H.

(2018)

Chinese News Text Classification Based on Machine learning algorithm

Support Vector Machine, Naïve Bayes dan K-Nearest Neighbors

4. Meduru, M., Mahimkar, A., Subramanian, K., Y. Padiya, P., & N.

Gunjgur, P. (2017)

Opinion Mining Using Twitter Feeds for Political Analysis

Sentiment Analysis

VADER

(27)

BAB 3

ANALISIS DAN PERANCANGAN

Bab ini akan membahas tentang analisis dan perancangan seperti data yang digunakan, arsitektur umum, analisis kebutuhan perangkat lunak, penerapan algoritma ekstraksi fitur dan penerapan algoritma sentiment analisis untuk mengklasifikasi data text review.

3.1 Dataset

Penelitian ini menggunakan dataset teks review film yang digunakan oleh Bo Pang et al. pada penelitian “Sentiment Classification using Machine Learning Techniques“.

Dataset ini dapat diunduh pada situs http://www.cs.cornell.edu/people/pabo/movie- review-data/. Dataset terdiri dari 2.000 review yang sudah dikelompokkan menjadi 1.000 review positif dan 1.000 review negatif. Data review tersebut kemudian dipisahkan menjadi data per kalimat sehingga menghasilkan 24.482 kalimat. Data kalimat kemudian dikelompokkan secara manual menjadi 3 yaitu 10.623 kalimat positif, 7.822 kalimat negatif dan 6.037 kalimat netral. Pengelompokkan data dapat dilihat pada tabel 3.1 berikut.

Tabel 3.1. Pengelompokan Data

Dataset Positif Negatif Netral Jumlah

10.603 7.822 6.037 24.482

3.2 Arsitektur Umum

Pada bagian ini akan membahas tahapan yang akan dilakukan dalam penelitian. Tahap

yang dilakukan sebagai berikut : preprocessing yang terdiri dari tokenizing, stopwords

removal, stemming dan case folding; pemilihan calon fitur; ekstraksi fitur menggunakan

TF-IDF, TextRank dan K-Means; identifikasi menggunakan sentiment orientation.

(28)

14

Setelah tahap-tahap tersebut dilakukan, aplikasi dapat menghasilkan luaran berupa hasil identifikasi review berdasarkan fitur-fitur yang dihasilkan. Adapun tahap-tahap tersebut dapat dilihat dalam bentuk arsitektur umum pada Gambar 3.1.

Gambar 3.1. Arsitektur Umum 3.2.1 Input

Input pada penelitian ini merupakan dokumen teks yang berisi review film yang telah

dipisahkan menjadi data per kalimat. Kumpulan kalimat tersebut telah dikelompokkan

secara manual menjadi 3 yaitu positif, negatif dan netral. Penelitian ini menggunakan

korpus sebagai data pada sistem klasifikasinya. Adapun contoh kalimat komentar yang

akan diproses dapat dilihat pada tabel 3.2 berikut.

(29)

Tabel 3.2. Contoh Kalimat Komentar

Kelompok Kalimat

Positif

1. I just LOVE finding old slasher films on VHS because the cover artwork is fantastic.

2. The only thing that made this at all worth watching was a decent hand on the camera - the cinematography was almost refreshing, which comes close to making up for the horrible film itself - but not quite.

3. At lest they have characters you care about, a sense of humor and nothing but real actors in the cast.

4. The best thing about "The Prey" is the tag line..."It's not human and it's got an axe"!

5. The climax has a hunky forest ranger trying to get to the teens in time before the last cute girl becomes buzzard bait.

Negatif

1. No magic here, it was all I could do to keep from turning it off an hour in.

2. There is pretty much no plot and it is a big problem when you root for no-one.

3. Even the killing scenes are a failure.

4. Overall, I wouldn't recommend this film to anyone other than slasher completists - it really is a big mess.

5. There are glaring pauses, boring tableaux, and zero sense of pacing throughout.

Netral

1. Six horny pot smoking students decide to go camping.

2. I saw a lot of people running around in a factory, shooting at everything around them.

3. It was the crossing of the Rhine that the Allies had been trying to achieve for six months.

4. There were several scenes of this little kid getting poop and pee thrown on him.

5. Most people learn that from their mother when they're about 5

years old.

(30)

16

3.2.2 Text-Preprocessing

Dokumen teks yang diperoleh akan melewati beberapa tahapan preprocessing, yaitu 3.2.2.1 Tokenizing

Tokenizing adalah proses pemecahan teks dari bentuk kalimat menjadi rangkaian kata dan rangkaian huruf dengan angka. Pada tahap ini dilakukan penghapusan tanda baca dan angka dari setiap kalimat. Contoh tahap tokenizing dapat dilihat pada tabel 3.3 berikut.

Tabel 3.3. Tahapan Tokenizing

Kalimat Hasil Tokenizing

The best thing about "The Prey" is the tag line..."It's not human and it's got an axe"!

The | best | thing | about | The | Prey | is | the | tag | line | It | s | not | human | and | it | s | got | an | axe |

Even the killing scenes are a failure. Even | the | killing | scenes | are | a | failure |

It was the crossing of the Rhine that the Allies had been trying to achieve for six months.

It | was | the | crossing | of | the | Rhine | that | the | Allies | had | been | trying | to

| achieve | for | six | months |

3.2.2.2 Case Folding

Case Folding adalah proses penyeragaman huruf pada dokumen teks. Tahap ini akan dilakukan untuk mengubah setiap huruf pada tahap sebelumnya menjadi huruf kecil (lowercase). Contoh tahap case folding dapat dilihat pada tabel 3.4 berikut.

Tabel 3.4. Tahapan Case Folding

Hasil Tokenizing Hasil Case Folding The | best | thing | about | The | Prey | is |

the | tag | line | It | s | not | human | and | it | s | got | an | axe |

the | best | thing | about | the | prey | is | the | tag | line | it | s | not | human | and | it

| s | got | an | axe |

(31)

Tabel 3.4. Tahapan Case Folding (lanjutan)

Hasil Tokenizing Hasil Case Folding Even | the | killing | scenes | are | a |

failure |

even | the | killing | scenes | are | a | failure

| It | was | the | crossing | of | the | Rhine | that | the | Allies | had | been | trying | to

| achieve | for | six | months |

it | was | the | crossing | of | the | rhine | that | the | allies | had | been | trying | to | achieve | for | six | months |

3.2.2.3 Stopwords Removal

Stopwords Removal adalah proses penghapusan kata-kata yang tidak memiliki makna tertentu dan tidak berpengaruh dalam kalimat seperti kata depan dan kata hubung (Triawati, 2009). Tahap ini akan memanfaatkan data korpus stopwords bahasa Inggris yang ada pada library NLTK python. Kata-kata yang termasuk dalam data korpus tersebut akan dihapus. Data korpus yang akan digunakan dapat dilhat pada tabel 3.5 dan contoh tahap stopwords removal dapat dilihat pada tabel 3.6 berikut.

Tabel 3.5. Stopwords Stopwords

i herself be at under not ve mustn't

me it been by again only y needn

my it's being for further own ain needn't

myself its have with then same aren shan

we itself has about once so aren't shan't

our they had against here than couldn shouldn ours them having between there too couldn't shouldn't

you their do into when very didn wasn

you're theirs does through where s didn't wasn't

you've what did during why t doesn weren

you'll which doing before how can doesn't weren't

you'd who a after all will hadn won

(32)

18

your whom an above any just hadn't won't

yours this the below both don hasn wouldn

Tabel 3.5. Stopwords (lanjutan) Stopwords

yourself that and to each don't hasn't wouldn't he that'll but from few should haven ourselves him these if up more should've haven't yourselves

his those or down most now isn themselves

himself am because in other d isn't

she is as out some ll ma

she's are until on such m mightn

her was while off no o mightn't

hers were of over nor re mustn

Tabel 3.6. Tahapan Stopwords Removal

Hasil Case Folding Hasil Stopwords Removal the | best | thing | about | the | prey | is |

the | tag | line | it | s | not | human | and | it

| s | got | an | axe |

best | thing | prey | tag | line | human | go t |axe |

even | the | killing | scenes | are | a | failure

|

even | killing | scenes | failure |

it | was | the | crossing | of | the | rhine | that | the | allies | had | been | trying | to | achieve | for | six | months |

crossing | rhine | allies | trying | achieve | six | months |

3.2.2.4 Stemming

Stemming adalah proses pengubahan kata menjadi kata baku atau

memperbaiki/mengeliminasi kata yang tidak baku dalam kalimat. Proses ini akan

memperbaiki kata yang tidak baku menjadi kata baku. Contoh stemming dapat dilihat

pada tabel 3.7 berikut.

(33)

Tabel 3.7. Tahapan Stemming

Hasil Stopwords Removal Hasil Stemming best | thing | prey | tag | line | human | go

t | axe |

best | thing | prey | tag | line | human | go t | axe |

even | killing | scenes | failure | even | killing | scene | failure | crossing | rhine | allies | trying | achieve |

six | months |

crossing | rhine | ally | trying | achieve | six | month |

3.2.3 Selecting Candidate

Selecting Candidate adalah proses pemilihan kata yang akan menjadi calon fitur.

Dataset yang telah melewati tahapan text-preprocessing akan menjadi input proses pemilihan calon fitur. Dalam pemilihan ini akan memanfaatkan fungsi Part of Speech Tagging (POS Tagging) yang berasal dari library NLTK. Setiap kata dalam dataset akan diberikan label sesuai dengan kelas kata seperti kata benda, kata kerja, kata sifat, kata keterangan dan lainnya. Pada proses ini kata dengan label kata benda atau noun singular (NN), noun plural (NNS), proper noun singular (NNP) dan proper noun plural (NNPS) dinyatakan sebagai calon fitur. Contoh tahap selecting candidate dapat dilihat pada tabel 3.8 berikut.

Tabel 3.8. Hasil Selecting Candidate

Hasil Stemming Hasil POS Tagging Hasil Selecting Candidate best | thing | prey |

tag | line | human | got | axe |

(‘best', 'JJS') | ('thing', 'NN') | ('pr ey', 'NN') | ('tag', 'JJ') | ('line', 'N N') | ('human', 'JJ') | ('got', 'VBD' ) | ('axe', 'NNS’)

('thing', 'NN') | ('prey', 'NN' ) | ('line', 'NN') | ('axe', 'NN S')

even | killing | scene | failure |

('even', 'RB') | ('killing', 'VBG') | ('scene', 'NN') | ('failure', 'NN')

('scene', 'NN') | ('failure', ' NN')

crossing | rhine | ally | trying |

('crossing', 'VBG') | ('rhine', 'NN' ) | ('ally', 'RB') | ('trying', 'VBG')

('rhine', 'NN') | ('month', 'N

N')

(34)

20

achieve | six | month |

| ('achieve', 'RB') | ('six', 'CD') | (' month', 'NN')

3.2.4 Ekstraksi Fitur

Dataset yang telah melewati proses preprocessing dan selecting candidate akan menjadi input untuk proses ekstraksi fitur. Ekstraksi fitur akan menggunakan tiga algoritma berbeda yaitu TF-IDF, TextRank dan K-Means. Contoh input berdasarkan dokumen teks pada tabel 3.2 dapat dilihat pada tabel 3.9 berikut.

Tabel 3.9. Contoh Input Ekstraksi Fitur

Kalimat Input Ekstraksi Fitur

I just LOVE finding old slasher films on VHS because the cover artwork is fantastic.

love, slasher, film, vhs, cover, artwork

The only thing that made this at all worth watching was a decent hand on the camera - the cinematography was almost

refreshing, which comes close to making up for the horrible film itself - but not quite.

thing, hand, camera, cinematography, film

At lest they have characters you care about, a sense of humor and nothing but real actors in the cast.

character, care, sense, humor, nothing, actor, cast

The best thing about "The Prey" is the tag line..."It's not human and it's got an axe"!

thing, prey, line, axe

The climax has a hunky forest ranger trying to get to the teens in time before the last cute girl becomes buzzard bait.

climax, hunky, ranger, time, girl, bait

No magic here, it was all I could do to keep from turning it off an hour in.

magic, hour

(35)

There is pretty much no plot and it is a big problem when you root for no-one.

plot, problem, root

Even the killing scenes are a failure. scene, failure

Tabel 3.9. Contoh Input Ekstraksi Fitur (lanjutan)

Kalimat Input Ekstraksi Fitur

Overall, I wouldn't recommend this film to anyone other than slasher completists - it really is a big mess.

recommend, film, anyone, slasher, co mpletists, mess

There are glaring pauses, boring tableaux, and zero sense of pacing throughout.

pause, tableau, sense

Six horny pot smoking students decide to go camping.

horny, pot, student, decide

I saw a lot of people running around in a factory, shooting at everything around them.

saw, lot, people, factory, everything

It was the crossing of the Rhine that the Allies had been trying to achieve for six months.

rhine, month

There were several scenes of this little kid getting poop and pee thrown on him.

scene, kid, pee

Most people learn that from their mother when they're about 5 years old.

people, year

Adapun untuk penjelasan setiap algoritma yang akan diterapkan tersebut adalah sebagai berikut.

3.2.4.1 TF-IDF

Pada penelitian ini akan menggunakan nilai idf, dimana idf adalah nilai yang dihitung

berdasarkan suatu kata yang muncul pada seluruh dokumen. Tahap ini akan menghitung

skor idf dari setiap kata yang telah dipilih pada tahap selecting candidate menggunakan

(36)

22

rumus idf pada persamaan 2.1. Hasil dari proses ini akan diurutkan berdasarkan skor tertinggi ke skor terendah.

Contoh perhitunngan skor idf pada kata “scene” berdasarkan data tabel 3.9 adalah sebagai berikut.

𝑖𝑑𝑓 𝑡 = 𝑙𝑛 ( 𝑁 + 1

𝑑𝑓 𝑡 + 1 ) + 1 = 𝑙𝑛 ( 15 + 1

2 + 1 ) + 1 = 2.674 Dimana:

t = term dari kata “scene”

N = 15 𝑑𝑓 𝑡 = 2

Setelah dilakukan perhitungan pada keseluruhan kata, maka hasil ekstraksi fitur menggunakan TF-IDF berdasarkan data tabel 3.9 dapat dilihat pada tabel 3.10 berikut.

Tabel 3.10. Hasil Ekstraksi Fitur TF-IDF

No. Kata Skor idf

1 film 2.386294361119891

2 thing 2.6739764335716716

3 slasher 2.6739764335716716

4 sense 2.6739764335716716

5 scene 2.6739764335716716

… … …

49 humor 3.0794415416798357

50 hunky 3.0794415416798357

51 kid 3.0794415416798357

52 vhs 3.0794415416798357

53 year 3.0794415416798357

3.2.4.2 TextRank

(37)

TextRank melakukan pemeringkatan tiap kata berdasarkan graf yang dibangun untuk menghubungkan setiap kata dalam kalimat. Graf dibangun dengan memecah kalimat menjadi kata-kata sebagai vertex yang saling terhubung oleh edges. TextRank skor akan dihitung berdasarkan edges yang dihasilkan menggunakan rumus graph-based rangking algorithm untuk mendapatkan nilai bobot tiap vertex. Gambar 3.2 adalah hasil perhitungan rumus graph-based rangking algorithm berdasarkan data tabel 3.9.

Gambar 3.2. Graf yang telah dibangun dari algoritma TextRank berdasarkan data tabel 3.9

Hasil dari perhitungan rumus graph-based rangking algorithm untuk TextRank skor (bobot vertex) dapat dilihat pada tabel 3.11 berikut.

Tabel 3.11. Hasil Ekstraksi Fitur TextRank

No. Fitur Skor TextRank

1 film 1.716998e+07

2 slasher 1.508086e+07

3 vhs 9.111454e+06

4 anyone 9.027376e+06

5 cover 8.079023e+06

… … …

49 root 2.445850e+02

50 magic 1.000000e+00

(38)

24

51 hour 1.000000e+00

52 rhine 1.000000e+00

53 month 1.000000e+00

3.2.4.3 K-Means

K-Means merupakan metode pengelompokkan data secara automatis dengan menghitung jarak antara data dan centroid. K-Means memerlukan jumlah cluster yang ditentukan oleh pengguna. Pada penelitian ini jumlah cluster yang akan digunakan adalah 16, 18, 21 dan 26. Cluster yang dihasilkan berupa angka sehingga perlu untuk memberi nama cluster secara manual. Berikut adalah contoh hasil pada percobaan jumlah cluster 21 yang dapat dilihat pada tabel 3.12 berikut.

Tabel 3.12. Contoh Hasil K-Means 21 Cluster

Cluster Nama Cluster Cluster Nama Cluster Cluster Nama Cluster

0 (random) 7 Scene 14 Woman

1 Character 8 Time 15 Book

2 Way 9 (-) 16 Hour

3 Movie 10 Movie 17 Film

4 Film 11 People 18 Watch

5 Line 12 Film 19 Life

6 Story 13 Work 20 Series

3.2.4.4 Similarity Word

Hasil dari setiap metode ekstraksi fitur yang diterapkan memungkinkan memiliki

makna kata yang sama sehingga similarity word dimanfaatkan untuk menentukan fitur

yang miliki makna yang sama. Tahap ini akan menggunakan data korpus WORDNET

yang tersedia pada library NLTK untuk pengecekan kata yang bermakna sama atau

bersinonim. Fitur-fitur yang saling bersinonim atau memiliki makna yang sama akan

dianggap sebagai 1 (satu) fitur. Diagram proses dan contoh tahap similarity word dapat

dilihat pada gambar 3.3 dan 3.4 berikut.

(39)

Gambar 3.3. Diagram Proses Similarity Word

Gambar 3.4. Contoh Hasil Tahap Similarity Word

(40)

26

3.2.5 Sentiment Analysis VADER

Dataset yang akan diinput untuk proses sentiment analysis adalah data yang dipilih berdasarkan fitur yang telah dihasilkan. Data tersebut akan diproses dengan menerapkan algoritma Sentiment Analysis Vader. Vader akan menghitung skor dari tiap kalimat. Skor yang dihasilkan berupa positf, negatif dan netral. Setiap skor yang dihasilkan akan digabungkan sehingga menghasilkan compound. Compound merupakan matriks yang menghitung semua skor yang telah dinormalisasi antara -1 dan +1. Skor compound dibawah -0,05 (compound <= -0,05) dinyatakan sebagai negatif, diatas 0,05 (compound >= 0,05) sebagai positif dan diantara -0,05 dan 0,05 (-0,05 <

compound < 0,05) sebagai netral. Adapun contoh kalimat komentar yang telah melalui proses dapat dilihat pada tabel 3.13 berikut.

Tabel 3.13. Contoh Hasil Sentiment Analysis Vader

Kalimat Label

I just LOVE finding old slasher films on VHS because the cover artwork is fantastic.

{'neg': 0.0, 'neu': 0.606, 'pos': 0.394, 'compound': 0.8316}

Positif

No magic here, it was all I could do to keep from turning it off an hour in.

{'neg': 0.121, 'neu': 0.879, 'pos': 0.0, 'compound': -0.296}

Negatif

I saw a lot of people running around in a factory, shooting at everything around them.

{'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}

Netral

3.3 Perancangan Sistem

Perancangan sistem dibuat sebagai alat antarmuka aplikasi dengan pengguna.

Perancangan sistem bertujuan untuk memudahkan pengguna dalam menjalankan sistem.

Rancangan ini terdiri dari beberapa bagian halaman, diantaranya: halaman input (untuk

menginput data), halaman output (untuk menampilkan hasil proses). Adapun untuk

penjelasan rancangan yang akan diterapkan pada sistem adalah sebagai berikut.

(41)

3.3.1 Rancangan Tampilan Halaman Home

Pada rancangan halaman home ini pengguna dapat mengupload file yang akan melewati tahap preprocessing hingga tahap ekstraksi fitur. Rancangan tampilan halaman home dapat dilihat pada gambar 3.4 berikut.

Gambar 3.4. Rancangan Tampilan Home Keterangan :

1 : form upload file dataset

2 : tombol untuk meng-upload dataset 3 : header tampilan

3.3.2 Rancangan Tampilan Halaman Ekstraksi Fitur

Pada rancangan tampilan halaman ekstraksi fitur ini pengguna dapat memilih metode ekstraksi fitur yang ingin diterapkan. Rancangan tampilan halaman ekstraksi fitur dapat dilihat pada gambar 3.5 berikut.

Gambar 3.5. Rancangan Tampilan Halaman Ekstraksi Fitur

(42)

28

Keterangan :

1 : tombol untuk memproses ekstraksi fitur TF-IDF.

2 : tombol untuk memproses ekstraksi fitur TextRank.

3 : tombol untuk memproses ekstraksi fitur K-Means.

4 : header tampilan.

3.3.3 Rancangan Tampilan Halaman Hasil

Pada rancangan tampilan halaman hasil ini pengguna dapat melihat hasil sentiment orientation berdasarkan fitur yang dihasilkan. Pengguna juga dapat melihat persentase komposisi kalimat positif, kalimat negatif dan kalimat netral. Rancangan tampilan halaman hasil dapat dilihat pada gambar 3.6 berikut.

Gambar 3.6. Rancangan Tampilan Halaman Hasil Keterangan :

1 : tampilan untuk hasil ekstraksi fitur.

2 : tampilan persentasi komposisi kalimat positif, negatif dan netral dari data teks.

3 : header tampilan.

3.4 Metode evaluasi

Metode evaluasi digunakan untuk mengetahui performa pada system yang telah

dilakukan. Evaluasi yang dilakukan menerapkan aturan variable pada tabel 2.1

(43)

perhitungan menerapkan persamaan 2.5 dan 2.6. Contoh penghitungan evaluasi dengan total data sebanyak 30 dapat dilihat pada tabel 3.13 berikut.

Tabel 3.13 Contoh Evaluasi Sistem

No. Variabel Jumlah

1. True Postif (TP) 7

2. False Positif (FP) 3

3. True Negatif (TN) 8

4. False Negatif (FN) 2

5. True Netral (TNt) 9

6. False Netral (FNt) 1

Total 30

Dari tabel 3.13 dapat dihitung nilai akurasinya sebagai berikut.

1. 𝑨𝒌𝒖𝒓𝒂𝒔𝒊 = 𝑻𝐏+𝑻𝐍+𝑻𝐍𝐭

𝑻𝐏+𝑻𝐍+𝑻𝐍𝐭+𝑭𝐏+𝑭𝐍+𝑭𝐍𝐭 × 𝟏𝟎𝟎% = 𝟕+𝟖+𝟗

𝟕+𝟑+𝟖+𝟐+𝟗+𝟏 = 𝟖𝟎%

2. 𝑨𝒌𝒖𝒓𝒂𝒔𝒊 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑃𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑦𝑎𝑛𝑔 𝐵𝑒𝑛𝑎𝑟

𝐽𝑢𝑚𝑙𝑎ℎ 𝐾𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 × 𝟏𝟎𝟎% = 𝟐𝟒

𝟑𝟎 = 𝟖𝟎%

(44)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas tentang penjelasan hasil yang diperoleh dari implementasi analisis dan perancangan yang telah disusun pada Bab 3 dan pengujian untuk memastikan metode yang digunakan telah sesuai dengan yang diharapkan.

4.1 Implementasi Sistem

Pada tahapan ini metode ekstraksi fitur dan Sentiment Analysis Vader akan diimplementasikan menggunakan Bahasa pemrograman Python.

4.1.1 Spesifikasi Perangkat Keras yang digunakan

Spesifikasi perangkat keras yang digunakan untuk membangun sistem ini adalah sebagai berikut :

1. Laptop ASUS X450JB

2. Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz 2.6GHz 3. Kapasitas harddisk 1000GB HDD

4. Memori RAM yang digunakan 4.00 GB DDR3L

4.1.2 Spesifikasi Perangkat Lunak yang Digunakan

Spesifikasi perangkat lunak yang digunakan untuk membangun sistem ini adalah sebagai berikut :

1. Sistem Operasi Windows 10 Pro 64 bit 2. Python 3.7.0

3. Visual Studio Code

4. Jupyter Python Notebook

(45)

4.1.3 Implementasi Perancangan Antarmuka

Implementasi perancangan antarmuka yang telah dilakukan bedasarkan perancangan system yang dibahas pada Bab 3 adalah sebagai berikut:

4.1.3.1 Tampilan Halaman Home

Halaman home merupakan halaman untuk mengunggah file dataset yang akan diproses dan kemudian akan disimpan untuk diproses. Halaman ini dapat diakses setelah meng- compile file python yang menjadi core dari web apps yang membangun system ini terlebih dahulu. Pengguna dapat mengakses host 127.0.0.1:5000 atau url localhost:5000 pada web browser untuk menjalankan sistem. Tampilan halaman home dapat dilihat pada gambar 4.1 berikut.

Gambar 4.1. Tampilan Halaman Home 4.1.3.2 Tampilan Halaman Ekstraksi Fitur

Halaman ekstraksi fitur merupakan halaman untuk pengguna memilih metode ekstraksi

fitur yang akan memproses dataset yang telah disimpan. Tampilan halaman ekstraksi

fitur dapat dillihat pada gambar 4.2 berikut.

(46)

32

Gambar 4.2. Tampilan Halaman Ekstraksi Fitur 4.1.3.3 Tampilan Halaman Hasil

Halaman hasil merupakan halaman yang digunakan untuk menampilkan hasil Sentiment Analysis Vader berdasarkan fitur yang dihasilkan ekstraksi fitur dan akurasi kebenaran berdasarkan dataset yang diunggah. Tampilan halaman hasil dapat dilihat pada gambar 4.3 berikut.

Gambar 4.3. Tampilan Halaman Hasil

Pada halaman hasil pengguna dapat memilih fitur yang ditampilkan untuk

melihat isi teks yang diklasifikasikan berdasarkan fitur. Ketika pengguna memilih fitur,

maka akan ditampilkan teks berdasarkan fitur yang dipilh, label kalimat sesuai pada

(47)

dataset dan label hasil dari analisis sentimen. Tampilan teks berdasarkan fitur dapat dilihat pada gambar 4.4 berikut.

Gambar 4.4. Tampilan Teks Berdasarkan Fitur 4.2 Prosedur Operasional

Tampilan sistem terdiri dari home, ekstraksi fitur dan hasil. Tampilan home merupakan tampilan awal pada sistem yang berfungsi untuk mengunggah data yang akan diproses.

Akan terdapat satu form untuk memilih data dan satu button untuk memasukkan/menyimpan data pada tampilan ini. Tampilan halaman home dapat dilihat pada gambar 4.5 berikut.

Gambar 4.5. Tampilan Form dan Button Input Dataset

Referensi

Dokumen terkait