bab 2 tinjauan referensi teori pengenalan emosi...
TRANSCRIPT
-
7
BAB 2
TINJAUAN REFERENSI
2.1 Teori Pengenalan Emosi
Menurut Swati D. Bhutekar (Bhutekar, Chandak, & Agrawal, 2012), emosi
digambarkan sebagai perasaan intens yang diarahkan pada sesuatu atau seseorang
sebagai respons terhadap peristiwa internal atau eksternal yang memiliki signifikansi
khusus bagi individu.
Dalam penelitian pembuatan leksikon emosi bahasa Indonesia yang dilakukan
oleh Julius bersama rekan timnya (Bata, Suyoto, & Pranowo, 2015),
mengelompokkan emosi menjadi 5 kategori yaitu senang, cinta, marah, sedih, dan
takut. Mengutip Calvo dalam jurnal Julius (Bata et al., 2015; Calvo & D’Mello,
2010), emosi dapat dideteksi dari suara, ekspresi wajah, gestur dan teks. Teks
merupakan salah satu media yang digunakan untuk berkomunikasi dan
menyampaikan informasi. Tidak hanya memuat informasi, teks juga dapat
mengekspresikan sikap dan keadaan emosional seseorang (Hirat & Mittal, 2015).
2.2 Media social
Menurut Manning (Manning, 2014) Social media merupakan suatu istilah yang
mengacu pada bentuk baru sebuah media yang melibatkan partisipasi interaktif.
Menurutnya pengembangan media dibagi menjadi dua masa, masa broadcast dan
masa interaktif. Pada masa broadcast media hanya berfokus pada satu entitas dan
didistribusikan kepada banyak orang seperti radio dan televisi. Sedangkan media
interaktif adalah masa di mana interaktif sebagai fokus dari fungsi suatu media.
Sehingga setiap individu dapat berkomunikasi secara langsung ke satu atau banyak
orang.
Kemudian disimpulkan oleh Hayes (Hayes, 2015), media sosial merupakan
saluran berbasis internet yang memungkinkan pengguna untuk dapat berinteraksi
secara opurtunis dan selektif menampilkan diri, baik secara real time atau asinkron.
-
8
2.3 Twitter
Twitter diluncurkan pada Oktober 2006. Twitter adalah layanan pesan singkat
real-time gratis yang memungkinkan pengguna untuk mengirim dan membaca pesan
(tweet) melalu situs web Twitter, layanan pesan singkat (SMS), aplikasi seluler, dan
berbagai aplikasi desktop. Salah satu karakteristik penting Twitter adalah batasnya
pengguna mengirim pembaruan hanya dalam 140 karakter. (Liu, Cheung, & Lee,
2010)
Menurut Imam (Imam & Fajtriab, 2015) Twitter adalah jejaring sosial berupa
blog ukuran kecil yang biasa digunakan sebagai media untuk mengirim dan
membaca pesan, berbagi informasi, menjalin relasi bisnis, dan menuangkan isi
pikiran dengan kapasitas kata maksimal 140 karakter.
Sebagai salah satu situs mikroblog, pengguna Twitter dapat memperbarui
informasi berupa status yang disebut dengan tweet atau kicauan, yaitu pesan teks
yang jumlah karakternya tidak melebihi 280 karakter (PERTIWI, 2018).
2.4 Twitter APIs
Application Programming Interface atau API adalah yang memungkinkan
aplikasi dengan data untuk membaginya dengan seluruh dunia. API adalah situs web
tanpa hiasan, diakses melalui permintaan URL tetapi tidak mengembalikan halamana
web yang ditampilkan di browser, melainkan data terstruktur. Data yang
dikembalikan disusun untuk memudahkan penguraian dan mendapatkan informasi di
dalamnya (Makice, 2009).
Menurut (Bruns & Moe, 2014) Twitter menyediakan tiga jenis API data berbeda
yang tersedia bagi para peneliti, diantaranya adalah:
a. Streaming API
Twitter Streaming API adalah jenis API yang sangat tidak lazim
dibandingkan dengan bagaimana sebagian besar API lainnya berfungsi.
Dalam konfigurasi yang lebih tradisional, API didasarkan pada “pull” -
peneliti meminta halaman data dari server dengan meminta URL, di mana
server mengembembalikan halaman yang diminta. Sedangkan, Twitter
streaming API berbasis “push”, yaitu data terus-menerus mengalir dari URL
yang diminta dan terserah kepada peniliti untuk mengembangkan atau
-
9
menggunakan alat yang mempertahankan koneksi terus-menerus ke aliran
data sekaligus memprosesnya.
Menurut Bruns (Bruns & Moe, 2014), Streaming API merupakan
sumber data yang paling banyak digunakan untuk penelitian Twitter.
Biasanya analisis kuantitatif skala besar dari data Twitter didasarkan pada
data mentah yang dikumpulkan.
b. REST API
REST (REpresent State Transfer) API menyediakan kumpulan
metode untuk interaksi data yang secara fundamental berbeda dari Streaming
API, menggunakan model pull yang lebih tradisional. Metode yang lebih
berguna dalam REST API menyediakan akses ke topik yang sedang tren,
memungkinkan pengguna batch dengan kelompok ID pengguna, dan
umumnya melakukan fungsi yang menarik seiring dengan informasi yang
dapat dikumpulkan melalui Streaming API. (Bruns & Moe, 2014)
c. Search API
Serupa dengan REST API, search API adalah sumber daya berbasis
tarik, dan pada dasarnya mereplikasi fungsi pencarian Twitter. Sementara
secara teori, beberapa pengumpulan data historis masih dimungkinkan
melalui search API, dalam praktiknya kegunaannya sangat terbatas. Data
secara bebas hilang dari sistem pencarian dalam waktu seminggu setelah
dipublikasikan, dan tidak ada informasi yang dapat diandalkan tentang
kelengkapannya. (Bruns & Moe, 2014)
2.5 Natural Language Processing
Menurut Diksha, Sukhdev, Aditya, dan Kiran (Khurana, Koli, Khatter, & Singh,
2017) Natural Language Processing (NLP) merupakan cabang dari Artificial
Intellegence dan Linguistik, yang ditujukan pada komputer untuk dapat memahami
pernyataan atau kata-kata yang ditulis dalam bahasa manusia. Pemrosesan bahasa
alami muncul untuk memudahkan pekerjaan pengguna dan untuk memenuhi
keinginan untuk berkomunikasi dengan komputer dalam bahasa alami.
Menurut Bird, Klein, dan Loper dalam bukunya “Natural Language Processing
with Python” (Bird, Klein, & Loper, 2009), Natural Language Processing atau NLP
secara luas diartikan sebagai segala sesuatu yang berhubungan dengan manipulasi
komputer pada bahasa alami. Dapat berupa perhitungan frekuensi kata untuk
-
10
membandingkan gaya penulisan, hingga melibatkan pemahaman terhadap ucapan
manusia.
Menurut Hirschberg dan Manning (Hirschberg & Manning, 2015) Natural
Language Processsing adalah cabang ilmu dalam computer science yang berkaitan
dengan penggunaan teknik komputasi untuk belajar, memahami, dan menghasilkan
sebuah konten dengan bahasa manusia.
Menurut jurnal yang ditulis oleh Frank (Frank Zhao, 2017) Natural Language
Processing mengingkatkan kemampuan komputer dan statistika untuk memproses
dan memahami suatu bahasa dengan cara yang sistematis dan masuk akal tanpa
adanya keterlibatan manusia selain coding. Dalam NLP terdapat tiga proses dasar,
yaitu:
1. Text processing
Proses pengolahan teks dengan cara melakukan pembersihan teks dari noise
(kata-kata yang tidak relevan atau tidak dibutuhkan) dan penyederhanaan
kata. Dalam text processing terdapat tiga sub proses, diantaranya:
a. Noise Removal
Proses menghilangkan segala sesuatu dalam sebuah teks yang tidak tidak
relevan atau tidak mempengaruhi hasil analisa. Contohnya seperti URL,
hashtag, akronim, dan stopword.
b. Lexicon Normalization
Proses penyederhanaan representasi berganda pada suatu kata.
Pendekatan yang sering digunakan adalah stemming dan lemmatization.
Stemming merupakan proses menghilangkan imbuhan pada suatu kata,
sedangkan lemmatization adalah proses mengembalikan suatu kata
menjadi kata dasarnya. Kedua proses tersebut bertujuan untuk
mengurangi adanya kata baru dan turunan dari suatu kata dengan cara
mengembalikan kata tersebut ke kata dasarnya.
c. Object Standarization
Proses merubah variasi suatu kata ataupun kata yang disingkat menjadi
kata baku.
2. Text to features
a. Syntatical Parsing
-
11
Proses penggambaran struktur dari suatu kalimat. Terdapat dua jenis
pendekatan yaitu, dependency grammar dan part of speech tagging.
Dalam dependency grammar, setiap kalimat akan dipecah menjadi tiga
relasi diantaranya adalah subjek, kata kerja, dan objek. Beberapa kata
dapat memiliki arti yang berbeda tergantung pada konteks dalam suatu
kalimat, part of speech tagging digunakan untuk hal tersebut dengan
memperhatikan dimensi dari PoS.
b. Statistical Features
Proses merubah text menjadi sesuatu yang dapat dihitung, seperti jumlah
kata atau kalimat dari sebuat teks. Salah satu metode dalam statistical
features adalah word embedding. Word embbeding merupakan metode
dengan menggunakan memanfaatkan vektor untuk mendapatkan
perbedaan dimensi dari sebuah kata.
3. Testing & refinement
Testing & refinement merupakan proses terakhir dalam proses NLP. Testing
merupakan proses untuk mengetahui seberapa baik performa sebuah
algoritma NLP melalui batas yang ditentukan. Refinement merupakan proses
kalibrasi algoritma NLP yang dilakukan secara berulang hingga mencapai
batas yang diinginkan.
2.6 Preprocessing
Dalam penelitian sebelumnya (Krouska, Troussas, & Virvou, 2016),
preprocessing merupakan langkah penting dalam menyiapkan data untuk melakukan
klasifikasi sentimen. Langkah tersebut akan menghasilkan atribut-atribut yang
dibutuhkan dalam proses klasifikasi.
Menurut Haddi (Haddi, Liu, & Shi, 2013) preprocessing data adalah proses
untuk menyiapkan dan membersihkan data untuk proses klasifikasi. Data text yang
didapatkan secara online biasanya mengandung bagian-bagian yang tidak penting
dalam proses klasifikasi. Sehingga preprocessing perlu dilakukan untuk mengurangi
noise pada text.
Menurut Vivek (Agarwal, 2015) preprocessing merupakan proses untuk merubah
data mentah menjadi data dengan format yang dapat dipahami oleh komputer.
-
12
Beberapa data di dunianya biasanya tidak konsisten, redundan, dan terdapat noise
(tidak bermakna). Dalam preprocessing terdapat beberapa langkah untuk merubah
data mentah menjadi bentuk yang dapat dipahami oleh komputer, diantaranya data
cleaning, data integration, data transformation, data reduction, dan data
discretization. (Sivakumar, 2017)
Gambar 2.1 Tahapan proses preprocessing (Sivakumar, 2017)
1. Data Cleaning
Proses pembersihan data dengan cara menghilangkan data-data yang bersifat
tidak akurat, tidak konsisten, dan data-data yang tidak relevan.
2. Data Integration
Sebuah data mungkin berasal dari beberapa sumber, data integration
berfungsi untuk menjamin konsistensi data, menghilangkan redundasi
meskipun ada kemungkinan sebuah berasal dari berbagai sumber.
3. Data Transformation
Proses merubah data menjadi bentuk yang lebih dipahami oleh komputer.
Terdapat beberapa proses diantaranya:
a. Normalization, yaitu membatasi suatu data kedalam rentang tertentu
seperti dari -1 sampai 1 atau 0 sampai 1.
-
13
b. Smoothing, yaitu proses menghilangkan noise dari data. Teknik yang
biasa digunakan dalam proses ini adalah binning, clustering, dan
regression.
c. Aggregation, yaitu proses untuk menghasilkan sebuah ringkasan dari
kumpulan data.
d. Generalization, yaitu proses merubah suatu data yang bersifat “low level”
ke bentuk yang lebih tinggi bergantung pada tingkatan tertentu. Seperti
penggunaan angka pada umur dapat dipetakan menjadi muda, remaja, dan
tua.
4. Data Reduction
Proses mengurangi representasi dari sebuah kumpulan data tanpa
menghilangkan integritas data asli dan menghasilkan qualitative knowledge.
Konsep data reduction biasanya berupa pengurangan volume atau
pengurangan dimensi (jumlah atribut dalam suatu data). Tujuan dari data
reduction adalah untuk mempercepat proses analisa.
2.7 Word2vec
Menurut (Sivakumar, 2017), Word2vec memiliki dua jenis algoritma, yang
pertama adalah Continouos Bag of Word (CBOW) dan Skip-gram. Word2vec sendiri
merupakan cara untuk merubah kata-kata dan frase menjadi vektor.
2.7.1 Skip-gram
Menurut (Lilleberg, Zhu, & Zhang, 2015) Skip-gram merupakan salah satu
algoritma dari word2vec yang berfungsi untuk memprediksi vektor kata-kata yang ada
disekitar kata yang diberikan.
Skip-gram dikenalkan oleh Mikolov (Lilleberg et al., 2015; Mikolov, Sutskever,
Chen, Corrado, & Dean, 2013). Jika dalam CBOW untuk memprediksi suatu target
dibutuhkan suatu konteks, Skip-gram justru sebaliknya, untuk memprediksi konteks
dalam suatu kalimat, dibutuhkan suata kata target yang berhubungan dari kata
tersebut.
-
14
Gambar 2.2 Arsitektur model skip-gram (Rong, 2014)
-
15
-
16
2.8 Machine Learning
Algoritma machine learning adalah proses komputasi yang menggunakan input
data untuk mencapai tugas yang diinginkan tanpa memprogram secara harfiah “hard
coded” untuk menghasilkan hasil tertentu. Algoritma ini dalam arti “soft coded” di
mana secara otomatis mengubah atau mengadaptasi arsitektur yang ada melalui
-
17
pengulangan (yaitu, pengalaman) sehingga menjadi lebih baik dan lebih baik dalam
mencapai tugas yang diinginkan (El Naqa & Murphy, 2015).
Machine learning dapat digunakan untuk menyelesaikan beberapa permasalahan
seperti Document Classification, Natural Language Processing, Speech Processing,
Computer Vision, dan permasalahan lainnya. Menurut Mehryar, Afshin, dan Ameet
(Mohri, Rostamizadeh, & Talwalkar, 2018) untuk dapat menyelesaikan
permasalahan yang ada, ada beberapa metode learning yang dipelajari dalam proses
machine learning, yaitu:
1. Classification
Proses menentukan kategori dari setiap data. Seperti contohnya menentukan
suatu dokumen dikategorikan sebagai dokumen olahraga, bisnis, atau cuaca.
2. Regression
Proses memprediksi nilai dari suatu data. Contohnya memprediksi harga dari
suatu saham. Dalam regression, penalty dari suatu prediksi ditentukan
berdasarkan besarnya perbedaan antara nilai yang benar dan yang bisa
diprediksi.
3. Ranking
Proses untuk menentukan urutan berdasarkan suatu kriteria yang ditentukan.
Contohnya seperti situs pencarian, menampilkan halaman situs yang paling
sesuai dengan kata pencarian.
4. Clustering
Proses membagi kumpulan data ke dalam himpunan yang homogen,
Clustering biasa digunakan untuk menganalisa dataset yang sangat besar.
Contohnya seperti mengidentifikasi sebuah komunitas alami dari kelompok
besar orang.
5. Dimensionality Reduction
Proses perubahan terhadap suatu representasi data menjadi dimensi yang
lebih rendah dengan tetap mempertahankan integritas data tersebut.
Contohnya seperti preprocessing gambar pada tugas computer vision.
Machine learning dapat dibagi sesuai dengan sifat pelabelan data menjadi
supervised learning, unsupervised learning, dan semi-supervised learning (El Naqa
& Murphy, 2015) seperti yang terlihat pada Gambar 2.3
-
18
Gambar 2.3 Sifat-sifat pelabelan pada Machine Learning (El Naqa & Murphy, 2015)
2.8.1 Supervised Learning
Supervised learning terdiri dari ketersediaan output yang diinginkan untuk
serangkaian sinyal input yang diberikan; dengan kata lain, setiap sampel pelatihan
terdiri dari sinyal input dan output yang sesuai (I. N. Da Silva, Spatti, Flauzino,
Liboni, & dos Reis Alves, 2017).
Supervised learning didasarkan pada pelatihan sampel data dari sumber data
dengan klasifikasi yang sudah ditentukan. Teknik-teknik tersebut digunakan dalam
feedforward atau multilayer perceptron (MLP). MLP memiliki tiga karakteristik:
a. Satu atau lebih lapisan neuron tersembunyi yang tidak termasuk bagian
dari lapisan input atau ouput dari jaringan yang mengaktifkan jaringan
untuk belajar dan menyelesaikan segala kerumitan masalah.
b. Ketidaklinieran yang tercermin dalam aktivitas neuron adalah
terdiferensiasi.
c. Model interkoneksi jaringan menunjukkan tingkat konektivitas yang
tinggi.
Karakteristik ini dengan pembelajaran melalui pelatihan dapat memecahkan
masalah yang sulit dan beragam (Sathya & Abraham, 2013).
-
19
2.8.2 Unsupervised Learning
-
20
a. Clustering merupakan permasalahan di mana peneliti ingin menemukan
pengelompokan yang melekat dalam data, seperti mengelompokkan
pelanggan berdasarkan perilaku.
b. Association merupakan permasalahan di mana peneliti ingin menemukan
aturan-aturan yang menggambarkan sebagian besar dari data yang dimiliki,
seperti orang yang membeli barang A juga cenderung membeli barang B.
2.8.3 Support Vector Machine
Gambar 2.4 Perhitungan SVM (Lessmann et al., 2006)
Karena maka dapat diformulasikan menjadi
-
21
-
22
Trik kernel ini membuat SVM fleksibel sehingga memungkinkan pembangunan
kernel dengan tujuan khusus, seperti untuk klasifikasi teks.
2.8.4 Random Forest
-
23
2.9 Artificial Neural Network
Menurut Hassoun (Hassoun, 1995), Artificial Neural Network adalah model
komputasi paralel. Jaringan pada ANN merupakan implementasi dari sistem statis
atau dinamis non linear. Fitur pada ANN adalah sifat adaptif di mana dalam
menyelesaikan suatu masalah sistem ini belajar dengan contoh.
Artificial Neural Networks dapat didefinisikan sebagai struktur yang terdiri
atas elemen pemprosesan sederhana adaptif yang saling terhubung erat (disebut
neuron atau node buatan) yang mampu melakukan komputasi paralel masif untuk
pemrosesan data dan representasi pengetahuan (I. N. Da Silva et al., 2017).
Artificial neural networks adalah model komputasi yang terinspirasi oleh sistem
saraf makhluk hidup. ANN memiliki kemampuan untuk memperoleh dan
mempertahankan pengetahuan (berbasis informasi) dan dapat didefinisikan sebagai
satu set unit pemrosesan, diwakili oleh neuron buatan, saling terkait oleh banyak
interkoneksi (sinapsis buatan), dilaksanakan oleh vektor dan matriks bobot sinaptik
(I. N. Da Silva et al., 2017). Terdapat arsitektur pada artificial neural network yang
mengatur bagaimana suatu neuron tersusun dan terhubung satu sama lain. Secara
umum neural network dapat dibagi menjadi tiga bagian, yaitu:
1. Input layer
Merupakan lapisan yang berfungsi sebagai penerima input informasi berupa
data atau fitur yang berasal dari lingkungan luar.
2. Hidden layers
Lapisan yang terdiri dari komposisi beberapa neuron yang bertanggung jawab
untuk mengekstrak pola yang terkait dengan sistem yang dianalisis.
3. Output layer
Lapisan yang juga terdiri dari komposisi beberapa neuron, dan masing-
masing bertanggung jawab untuk menghasilkan hasil akhir, yang mana
diproses di lapisan sebelumnya.
-
24
Menurut Da Silva (I. N. Da Silva et al., 2017), berdasarkan jumlah komposisi
lapisan pada arsitektur artificial neural networks, dapat dibagi menjadi beberap
kategori seperti single-layer feedforward network, multilayer feedforward network,
dan recurrent networks
2.9.1 Single-Layer Feedforward Neural Network
Arsitektur artificial neural network pada single-layer feedforward hanya terdiri
dari satu input layer, dan satu output layer. Informasi dalam arsitektur ini selalu
berasal dari input layer dan berakhir di output layer.
Gambar 2.5 Arsitektur single-layer feedforward (I. N. Da Silva et al., 2017)
2.9.2 Multilayer Feedforward Neural Network
Berbeda dengan single-layer feedforward network, multilayer feedforward
network memiliki komposisi satu atau lebih hidden layer. Hidden layer berfungsi
untuk menyelesaikan beragam permasalahan seperti, perkiraan fungsi, klasifikasi
pola, kontrol proses dan lain sebagainya.
-
25
Gambar 2.6 Arsitektur multi-layer feedforward (I. N. Da Silva et al., 2017)
2.9.3 Recurrent Neural Network
Dalam arsitektur recurrent neural network, hasil dari neuron output digunakan
kembali menjadi sebuah input sebagai feedback. Fitur feedback digunakan untuk
pemrosesan informasi dinamis, yang berarti dapat digunakan untuk sistem varian
waktu seperti prediksi time-series.
Gambar 2.7 Arsitektur recurrent neural network (I. N. Da Silva et al., 2017)
-
26
Seperti pada Gambar 2.7 salah satu hasil ouput kembali ke lapisan tengah sebagai
feedback.
2.9.4 Long Short Term Memory
Long Short Term Memory pertama kali diperkenalkan oleh Hochreiter dan
Schmidhuber (Hochreiter & Schmidhuber, 1997; Nunes, Gerding, McGroarty, &
Niranjan, 2019). Model LSTM serupa dengan RNN yaitu memiliki struktur yang
mencangkup mekanisme feedback loop tertunda dalam waktu dan struktur tersebut
dapat “dibuka” pada suatu waktu. Pada setiap perubahan waktu, secara substansial
LSTM memiliki struktur yang lebih kompleks daripada RNN, yaitu menggabungkan
empat saraf yang lengkap di masing-masing sel atau disebut sel memori (Nunes et
al., 2019).
konten lama harus dihapus, dan konten saat ini harus diekspos. (Cheng, Dong, &
Lapata, 2016).
Gate adalah fitur khas dari pendekatan LSTM. Setiap sel pada LSTM terdapat
jalur informasi yang dikontrol dengan tiga gate: forget, input, dan ouput.
1. Forget Gate
Forget gate bertugas untuk menentukan apakah suatu informasi harus
disimpan atau dilupakan. Hal tersebut ditentukan melalui hasil dari aktivasi
fungsi sigmoid antara hidden state sebelumnya dan nilai input terkini. Hasil
dari aktivasi fungsi sigmoid antara 0 dan 1, semakin mendekati 0 maka
semakin besar kemungkinan untuk dilupakan, sebaliknya semakin mendekati
1 maka informasi tersebut akan disimpan.
2. Input Gate
Input gate bertugas untuk melakukan update pada cell state. Proses update
cell state dimulai dengan melakukan aktivasi fungsi sigmoid pada nilai
hidden state dan nilai input terkini. Aktivasi fungsi sigmoid menghasilkan
antara 0 dan 1 yang merepresentasikan suatu informasi tidak penting dan
penting secara berurutan. Kemudian melakukan aktivasi fungsi tanh pada
hidden state dan nilai input terkini untuk menekan nilai antara -1 dan 1 untuk
-
27
membantu mengatur jaringan. Dan terakhir dilakukan perkalian pada hasil
dari aktivasi fungsi sigmoid dan tanh. Hasil dari fungsi sigmoid menentukan
bagian informasi dari hasil tanh yang harus disimpan.
3. Output Gate
Output gate bertugas untuk menentukan hidden state selanjutnya. Hidden
state memilki informasi dari nilai input sebelumnya. Untuk menentukan
hidden state, dimulai dengan melakukan aktivasi fungsi sigmoid pada hidden
state sebelumnya dan nilai input terkini. Dilanjutkan dengan aktvasi fungsi
tanh terhadap cell state terbaru. Dan terakhir dilakukan perkalian antara hasil
activation function tanh dan sigmoid yang akan menghasilkan hidden state
baru untuk dilanjutkan ke proses selanjutnya.
Seluruh perhitungan pada setiap gate bergantung pada nilai input terkini pada
waktu yang sama dan juga state dari hidden layer pada waktu t - 1. Hasil output pada
sel bergantung pada kedua variable tersebut ditambah dengan cell state pada waktu t.
-
28
Gambar 2.8 Long Short Term Memory cell diagram (Nunes et al., 2019)
2.10 Penelitian Terdahulu
Berdasarkan beberapa jurnal sebelumnya, diantaranya memiliki keterkaitan
dengan penelitian yang akan peneliti lakukan.
Jurnal pertama adalah jurnal yang ditulis oleh Mei Silviana Saputri, Rahmad
Mahendra, Mirna Adriani (2018) yang berjudul “Emotion Classification on
Indonesian Twitter Dataset”. Penelitian tersebut bertujuan untuk memanfaatkan
microblog seperti Twitter sebagai platform untuk menganalisa emosi yang terdapat
pada tweet-tweet yang ada di Twitter. Dalam penelitian tersebut peneliti melakukan
pengumpulan sample data selama dua minggu dan mendapatkan data sebanyak 7.500
tweet. Kemudian data tersebut diklasifikasikan menjadi lima kelas emosi: love, joy,
surprise, anger, sadness, dan fear. Setelah proses klasifikasi hanya 64% dari total
data yang dapat diklasifikasikan menjadi lima kelas, 32% tanpa emosi, dan 4%-nya
multi-label. Pendekatan yang dilakukan oleh peneliti untuk klasifikasi emosi berupa
Lexicon-based, Bag-of-Words, Word embeddings, orthography, dan Part-Of-Speech
(POS). Peneliti juga menggunakan dataset lain yang memiliki klasifikasi yang sama
berdasarkan emotion word list.
Hasil penelitian pada jurnal pertama dibagi menjadi beberapa kategori dengan
memperhatikan masing-masing pendekatan yang digunakan. Yang pertama adalah
hasil dengan menggunakan emotion word list sebagai fitur utama memiliki hasil
yang lebih baik pada dataset yang terdapat emosi secara eksplisit di dalamnya. Hal
-
29
tersebut dibuktikan dengan hasil 57.85% pada nilai F1 saat Logistic Regression
diaplikasikan. Yang di sisi lain, persentase pada fitur dasar hanya 43,09%.
Kemudian, penggunaan Bag-of-Words dapat meningkatkan performa pada kedua
dataset. Hasil yang sangat baik didapatkan ketika menggabungkan fitur-fitur emotion
word list, Bag-of-Words, dan FastText.
Jurnal kedua ditulis oleh Nurjanah, Perdana, dan Fauzi (Nurjanah, Perdana, &
Fauzi, 2017) dengan judul “Analisis Sentimen Terhadap Tayangan Televisi
Berdasarkan Opini Masyarakat pada Media Sosial Twitter menggunakan Metode
K-Nearest Neighbor dan Pembobotan Jumlah Retweet”. Penelitian tersebut dibuat
dengan tujuan untuk memprediksi apakah opini masyarakat terhadap suatu tayangan
televisi bersfiat positif atau negatif. Peneliti memanfaatkan sosial media Twitter
sebagai platform untuk mengumpulkan opini masyakarat. Dalam proses klasifikasi
-
30
windows 10, dimensi fitur 800, dan menggunakan arsitektur skip-gram. Dalam
proses klasifikasinya, peneliti mencoba tiga pecobaan yaitu:
-
31
Deep network dilatih dengan seluruh emosi (happiness, sadness, anger, fear,
disgust, dan surprise).
Deep network dilatih tanpa disgust dan surprise.
Network dilatih hanya dengan emosi bipolar yaitu happiness dan sadness.
Menghasilkan permasalahan klasifikasi biner.
Pada percobaan pertama, peneliti mendapatkan Precission 67% pada happiness,
47% pada sadness, 55% pada anger, 22% pada fear, 0% pada disgust, dan 0% pada
surprise. Kemudian mendapatkan Recall sebesar 81% pada happiness, 47% pada
sadness, 53% pada anger, dam 0% pada fear, disgust, dan surprise. Kemudia F1-
Score 73% pada happiness, 47% pada sadness, 54% pada anger, 1% pada fear, dan
0% pada disgust dan surprise. Secara keseluruhan emosi, peneliti mendapatkan 63%.
Pada percobaan kedua, peneliti tidak menggunakan dataset disgust dan surprise.
Peneliti mendapatkan Precision 66% pada happiness, 48% pada sadness, 61% pada
anger, dan 27% pada fear. Kemudian untuk Recall 82% pada happiness, 49% pada
sadness, 47% pada anger, dan 1% pada fear. Kemudian Untuk F1-Score 73% pada
happiness, 49% pada sadness, 53% pada anger, dan 2% pada fear. Secara
keseluruhan emosi peneliti mendapatkan nilai 66%. Pada percobaan terakhir, peneliti
hanya menggunakan dataset emosi dengan jumlah dua terbanyak yaitu happiness dan
sadness. Dari percobaan ketiga tersebut peneliti mendapatkan Precision 78% pada
happiness dan 69% pada sadness. Kemudian pada nilai Recal, 84% pada happiness
dan 60% pada sadness. Terakhir F1-Score 81% pada happiness dan 64% pada
sadness.
Jurnal keempat ditulis oleh Joshi (Joshi & Deshpande, 2018) dengan judul
“Twitter Sentiment Analysis System”. Dalam jurnal tersebut peneliti mencoba
melakukan klasifikasi polaritas dari sebuah tweet dikatakan negatif atau positif. Data
pada penelitian tersebut didapatkan melalui Kaggle dan terdapat kelas sentiment
dengan 1 dikatakan positif dan 0 dikatakan negatif. Dalam proses preprocessing
peneliti melakukan beberapa proses diantaranya: merubah tweet menjadi lowercase,
menggantikan hyperlinks dengan kata URL, menggantikan emoticon menjadi dua
jenis emoticon EMO_POS dan EMO_NEG, dan beberapa proses lainnya. Peneliti
membuat pemetaan untuk merubah emoticon yang ditemukan pada suatu tweet
menjadi salah satu dari dua kata tersebut. Kemudian peneliti melakukan Feature
Extraction dengan Unigrams dan Bigrams. Pada Unigrams, peneliti mendapatkan
181.232 kata unik dan pada bigrams mendapatkan 1.954.953 bigrams unik. Peneliti
-
32
menggunakan beberapa algoritma diantaranya Baseline (Evaluation Metric), Naïve
Bayes, dan Maximum Entropy. Pada penelitian tersebut, peneliti menerapkan model
Naïve Bayes dan Maximum Entropy dikarenakan performa keduanya jauh lebih baik
dibandingkan penggunaan model Baseline.
Jurnal kelima adalah jurnal yang ditulis oleh Gaind, Syal, dan Padgalwar (Gaind,
Syal, & Padgalwar, 2019) dengan judul “Emotion Detection and Analysis on
Social Media”. Penelitian tersebut ditujukan untuk mengklasifikasikan teks menjadi
enam kategori emosi, yaitu: happiness, sadness, fear, anger, surprise, dan disgust.
Dalam pembuatan model, peneliti menggunakan dua pendekatan berbeda
kemudiannya menggabungkannya. Metode pertama menggunakan fitur tekstual
seperti emoticons, degree words, Part of Speech, dan grammatical analysis. Metode
kedua menggunakan pendekatan klasifikasi machine learning. Peneliti
mengumpulkan data sebanyak 10 ribu tweet dengan menggunakan Tweepy library
Python untuk mengumpulkan data tweet. Kemudian peneliti membuat sebuah bag of
words emosi dengan kualitas akurasi tinggi sebanyak 1500 kata yang disebut sebagai
Emotion Word Set (EWS). Kemudian, disesediakan 50 kata degree seperti kata “too”,
“more”, dan lainnya. Selain itu peneliti juga menyediakan 20 data kota-kota besar di
India.
Pada pendekatan pertama peneliti menggunakan NLP, Emotion Word Set, dan
beberapa tekstual fitur seperti Tokenizing, Annotating, Finding Hits, Detecting
person in context, Effect of Negation dan Degree-words, dan Emoticon detection.
Kemudian pada pendekatan kedua, peniliti menggunakan pendekatan machine
learning. Pada pendekatan ini, peneliti melakukan tiga tahap yaitu Generation of the
Training Set, Filtering and Labelling the Training Set, dan Training the Classifier.
Setelah itu peneliti menggabungkan hasil keduanya dengan menjumlahkan nilai
maksimal pada pendekatan pertama dengan pendekatan kedua. Dengan
menggabungkan kedua pendekatan peneliti berhasil mendapatkan akurasi 91.7%
dengan klasifikasi SMO dan 85.4% dengan klasifikasi J48.
Menurut Jimmie (Manning, 2014) Social media merupakan suatu istilah yang
mengacu pada bentuk baru sebuah media yang melibatkan partisipasi interaktif.
Menurutnya pengembangan media dibagi menjadi dua masa, masa broadcast dan
masa interaktif. Di mana pada masa broadcast media hanya berfokus pada satu
entitas dan didistribusikan kepada banyak orang seperti radio dan televisi. Sedangkan
media interaktif adalah masa di mana interaktif sebagai fokus dari fungsi suatu
-
33
media. Sehingga setiap individu dapat berkomunikasi secara langsung ke satu atau
banyak orang.
Kemudian disimpulkan oleh Hayes (Hayes, 2015), media sosial merupakan
saluran berbasis internet yang memungkinkan pengguna untuk dapat berinteraksi
secara opurtunis dan selektif menampilkan diri, baik secara real time atau asinkron.
-
34