-
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