PROPOSAL
Disusun oleh:
ADRYAN EKA VANDRA
11451105030
Assalamualaikum Wr. Wb
Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan
karunia-Nya sehingga proposal dalam Mata Kuliah Natural Language Processing
ini dapat diselesaikan.
Tujuan dari pembuatan proposal ini adalah untuk menyelesaikan tugas dari
mata kuliah Natural Language Processing.
Dengan selesainya laporan ini tidak terlepas dari bantuan banyak pihak yang
telah memberikan masukan dan saran kepada penyusun. Untuk itu penyusun
mengucapkan banyak terima kasih kepada :
1. Dosen Mata Kuliah Natural Language Processing, Bapak Muhammad
Fikry, ST, M.T.
2. Teman-teman yang membantu dalam menyusun proposal ini.
Penyusun menyadari bahwa masih banyak kekurangan dari proposal ini,
baik dari materi maupun teknik penyajiannya, mengingat kurangnya pengetahuan
dan pengalaman penyusun. Oleh karena itu, kritik dan saran yang membangun
sangat penyusun harapkan. Terima Kasih.
Wassalamualaikum Wr. Wb
Penyusun
i
DAFTAR ISI
2.1. Twitter........................................................................................ 4
ii
2.9. MySQL ...................................................................................... 8
3.2.3. Preprocessing........................................................................ 11
iii
BAB I
PENDAHULUAN
1
dengan munggunakan deep learning mencapai 77,45% untuk data latih dan 75,03%
untuk data uji
M.Trupthi, Suresh Pabboju dan G.Narasimha (2017) menggunakan metode
naive bayes dengan bantuan Streaming API Twitter untuk membantu menampilkan
sentiment secara real time. Data diambil dan diekstrak dengan streaming API
twitter kemudian dimasukkan ke HADOOP dan di preproses oleh map reduce.
Kemudian diolah oleh NLP dan machine learning yaitu naive bayes. Pada sistem
ini data tweet tidak disimpan dan semua analisi dilakukan real-time sehingga user
akan mendapatkan data yang relevant dan baru.
Duaa Al-Hajjar dan Afraz Z. Syed (2015) menggunakan pendekatan
lexicon-based untuk menggabungkan antara analisis sentimen dan analisis emosi
tweet terhadap brand teknologi. Output dari pendekatan ini memperlihatkan
pemahaman yang lebih baik mengenai pola dan kondisi emosi pelanggan. Pada
penelitian ini terlihat peningkatan akurasi yang terjadi pada proses penggabungan
antara analisis sentimen dan analisis emosi sebesar 52,6% dibanding dengan
analisis sentimen secara independen 37,3% dan analisis emosi secara independen
39,2%.
Akshi Kumar dan Teeja Mary Sebastian (2012) menggunakan pendekatan
gabungan antara corpus-based dan dictionary-based. Penelitian ini menjelaskan
pendekatan hybrid dari metode corpus-based untuk menemukan orientasi semantik
dari kata sifat dan metode dictionary-based untuk mencari orientasi semantik dari
kata kerja dan kata keterangan. Keseluruhan sentimen tweet dihitung menggunakan
persamaan linier dengan memperhitungkan pengaruh dari nilai emosi dalam tweet
tersebut.
Dari berbagai penelitian di atas, maka akan dilakukan penelitian tentang
analisis sentimen tokoh publik dari tweet warganet di Twitter dengan menggunakan
metode Nave Bayes.
2
1.3. Tujuan
Membuat aplikasi untuk analisis sentimen tokoh publik dari tweet warganet
di Twitter dengan menggunakan metode Nave Bayes.
3
BAB II
LANDASAN TEORI
2.1. Twitter
2.1.1. Definisi Twitter
Twitter adalah sebuah mikroblog daring yang memungkinkan penggunanya
mengirimkan pesan teks sebanyak 140 karakter dengan istilah tweet. Twitter
didirikan pada bulan Maret 2016 oleh Jack Dorsey dan diluncurkan pada bulan Juli.
Twitter dimiliki dan dioperasikan oleh Twitter, Inc., yang berada di San Fransisco.
Logo twitter dikenal dengan sebutan Larry the Bird yaitu logo burung berwarna
biru. (Wikipedia, 2017)
4
karena pengguna bisa menerbitkan konten dalam bentuk pos atau komentar.
(Bonzanini, 2016)
Text mining berusaha mengekstrak informasi yang berguna dari sumber data
melalui identifikasi dan eksplorasi pola yang menarik. Text mining cenderung
mengarah pada bidang penelitian data mining. Penambangan teks dapat dianggap
sebagai proses dua tahap yang diawali dengan penerapan struktur terhadap sumber
data teks dan dilanjutkan dengan ekstraksi informasi dan pengetahuan yang relevan
dari data teks terstruktur ini dengan menggunakan teknik dan alat yang sama
dengan penambangan data. (Feldman & Sanger, 2006)
2.2.3. Text Preprocessing
Text Preprocessing merupakan tahapan dari proses awal terhadap teks untuk
mempersiapkan teks menjadi data yang akan diolah. Sebuah teks yang ada harus
dipisahkan, hal ini dapat dilakukan dalam beberapa tingkatan yang berbeda. Suatu
dokumen dapat dipecah menjadi bab, sub-bab, paragraf, kalimat dan pada akhirnya
menjadi potongan kata/token. Selain itu pada tahapan ini keberadaan digit angka,
huruf kapital, atau karakter-karakter yang lainnya dihilangkan dan diubah.
(Feldman & Sanger, 2006)
5
Untuk (1 , 2 , 3 , ) nilainya konstan untuk semua kategori ( )
sehingga persamaan (1) dapat ditulis sebagai berikut:
= arg max P(x1 , x2 , x3 , xn |Vj ) P(Vj ) (2)
(Vj )
Keterangan:
Vj = kategori tweet
j = 1, 2, 3, ..n Dimana dalam penelitian ini:
j1 = kategori tweet sentimen negatif,
j2 = kategori tweet sentimen positif,
j3 = kategori tweet sentiment netral.
P(Xi|Vj) = Probalitas Xi pada kategori Vj
P(Vj) = Probalitas dari Vj
| |
( ) = || (4)
+1
( | ) = +|| (5)
Keterangan:
|docs j| = jumlah dokumen setiap kategori j
|contoh| = jumlah dokumen dari semua kategori
nk = jumlah frekuensi kemunculan setiap kata
n = jumlah frekuensi kemunculan kata dari setiap kategori
|kosakata| = jumlah semua kata dari semua kategori
6
2.4. K-Fold Cross Validation
K-fold cross validation merupakan salah satu metode yang digunakan untuk
mengetahui rata-rata keberhasilan dari suatu sistem dengan cara melakukan
perulangan dengan mengacak atribut masukan sehingga sistem tersebut teruji untuk
beberapa atribut input yang acak. K-foldcross validation diawali dengan membagi
data sejumlah nfold yang diinginkan. Dalam proses cross validation data akan
dibagi dalam n buah partisi dengan ukuran yang sama D1, D2, D3, ...Dn selanjutnya
proses testing dan training dilakukan sebanyak n kali. Dalam iterasi ke-i partisi Di
akan menjadi data testing dan sisanya akan menjadi data training. Untuk
penggunaan jumlah fold terbaik untuk uji validitas, dianjurkan menggunakan 10-
fold cross validation dalam model. (Kohavi, 1995)
2.4. Flowchart
Flowchart adalah urutan dari langkah kerja suatu proses yang digambarkan
dengan menggunakan beberapa simbol yang disusun secara sistematis. Menurut
Jogiyanto, flowchart merupakan serangkaian bagan-bagan yang menggambarkan
alir program. Flowchart atau diagram alir memiliki bagan-bagan yang
melambangkan fungsi tertentu. Flowchart dapat menunjukkan kegiatan dan
simpanan yang digunakan dalam suatu prosedur.
2.5. HTML
HTML (Hyper Text Markup Language) adalah file text murni yang dapat
dibuat dengan editor teks yang umumnya berisi informasi atau interface aplikasi
yang dapat dijalankan di web browser. (Sidik, 2010)
HTML merupakan bahasa asli dari web yang mana didalamnya berisi kode-
kode program yang berfungsi sebagai penyusun dari sebuah web.
2.6. CSS
CSS (Cascading Style Sheets) merupakan bahasa stylesheet yang digunakan
untuk mengatur tampilan suatu dokumen dan ditulis dalam bahasa markup. Pada
7
umumnya CSS digunakan untuk memformat halaman web yang dirancang
menggunakan HTML, XML, dan XHTML.
2.7. JavaScript
JavaScript merupakan nama implementasi dari Netscape Communications
Corporation untuk ECMAScript standar, yang mana bahasa skrip didasarkan pada
konsep pemrograman berbasis prototipe.
2.8. PHP
Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan atau
disisipkan ke dalam HTML. PHP banyak dipakai untuk memprogram situs web
dinamis. PHP dapat digunakan untuk membangun sebuah CMS.
2.9. MySQL
Adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa
Inggris: database management system) atau DBMS yang multithread, multi-user,
dengan sekitar 6 juta instalasi di seluruh dunia.
2.10. JSON
JSON (JavaScript Object Notation) adalah format pertukaran data yang
ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan
dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa
Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999
2.11. AJAX
Asynchronous JavaScript and XML/HTTP, adalah suatu teknik
pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya
adalah untuk memindahkan sebagian besar interaksi pada komputer web surfer,
melakukan pertukaran data dengan server di belakang layar, sehingga halaman web
tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna
8
melakukan perubahanp. Hal ini akan meningkatkan interaktivitas, kecepatan, dan
usability.
9
BAB III
METODE PENELITAN
10
3.2. Langkah Penelitian
3.2.1. Studi Literatur
Melakukan pencarian dan mempelajari informasi, referensi dan
pembelajaran yang berkaitan dengan masalah yang berhubungan dengan penelitian
yang dilakukan sehingga bisa menentukan solusi yang mungkin..
3.2.2. Tahap Pengumpulan Data
Pada penelitian ini teknik pengumpulan data yang dilakukan adalah:
a. Tweet Streaming
Tweet dikumpulkan dengan cara streaming yaitu merekam semua tweet
yang menggunakan tagar Anies mulai dari tanggal 6 November 2017-15
Desember 2017 dengan target data 10.000 tweet.
3.2.3. Preprocessing
Data yang telah dikumpulkan akan dilanjutkan ke tahap preprocessing yaitu
tahapan awal untuk mengolah data input sebelum masuk ke dalam proses tahap
utama.
Langkah preprocessing yang akan dilakukan adalah:
a. Konversi huruf kecil.
b. Menghapus URL.
c. Menghapus mention.
d. Menghapus karakter selain a-z.
e. Menghapus Stop-word.
f. Konversi emoji ke teks.
g. Konversi negasi dan gabungkan dengan kata sesudahnya.
3.3. Klasifikasi
Tweet akan diklasifikaskan menjadi 3 kategori yaitu; postitif, negatif, dan
netral. Dalam algoritma nave bayes classifier setiap dokumen direpresentasikan
dengan pasangan atribut 1 , 2 , 3 dimana 1 adalah kata pertama, 2
adalah kata kedua dan seterusnya. Sedangkan V adalah himpunan kategori Tweet.
Pada saat klasifikasi, algoritma akan mencari probabilitas tertinggi dari semua
11
kategori dokumen yang diujikan ( ), dimana persamaannya adalah sebagai
berikut:
P(x1 , x2 , x3 , xn |Vj ) P(Vj )
= arg max (1)
(x1 ,2 ,3 , )
(Vj )
Keterangan:
Vj = kategori tweet
j = 1, 2, 3, ..n Dimana dalam penelitian ini:
j1 = kategori tweet sentimen negatif,
j2 = kategori tweet sentimen positif,
j3 = kategori tweet sentiment netral.
P(Xi|Vj) = Probalitas Xi pada kategori Vj
P(Vj) = Probalitas dari Vj
| |
( ) = || (4)
+1
( | ) = +|| (5)
Keterangan:
|docs j| = jumlah dokumen setiap kategori j
|contoh| = jumlah dokumen dari semua kategori
12
nk = jumlah frekuensi kemunculan setiap kata
n = jumlah frekuensi kemunculan kata dari setiap kategori
|kosakata| = jumlah semua kata dari semua kategori
13
DAFTAR PUSTAKA
Al-Hajjar, D., & Syed, A. Z. (2015). Applying sentiment and emotion analysis on
brand tweets for digital marketing. 2015 IEEE Jordan Conference on Applied
Electrical Engineering and Computing Technologies, AEECT 2015.
https://doi.org/10.1109/AEECT.2015.7360592
Aslam, S. (n.d.). Twitter by the Numbers (2017): Stats, Demographics & Fun
Facts. Retrieved October 25, 2017, from
https://www.omnicoreagency.com/twitter-statistics/
Bonzanini, M. (2016). Mastering Social Media Mining with Python. (W. W. Xu,
Ed.). Birmingham: Packt Publishing.
Falahah, & Nur, D. D. A. (2015). Pengembangan Aplikasi Sentiment Analysis
Menggunakan Metode Nave Bayes. Seminar Nasional Sistem Informasi
Indonesia, (November), 335340.
Feldman, R., & Sanger, J. (2006). The Text Mining Handbook.
https://doi.org/10.1017/CBO9780511546914
Internet World Stats. (n.d.). World Internet Users Statistics and 2017 World
Population Stats. Retrieved October 25, 2017, from
http://www.internetworldstats.com/stats.htm
Kohavi, R. (1995). A Study of Cross-Validation and Bootstrap for Accuracy
Estimation and Model Selection. Appears in the International Joint
Conference on Articial Intelligence (IJCAI), 5, 17.
https://doi.org/10.1067/mod.2000.109031
Kumar, A., & Sebastian, T. M. (2012). Sentiment analysis on twitter. IJCSI
International Journal of Computer Science Issues, 9(3), 372378.
https://doi.org/10.1109/IACC.2017.177
Parveen, H., & Pandey, S. (2017). Sentiment analysis on Twitter Data-set using
Naive Bayes algorithm. Proceedings of the 2016 2nd International Conference
on Applied and Theoretical Computing and Communication Technology,
iCATccT 2016, 416419. https://doi.org/10.1109/ICATCCT.2016.7912034
Ramadhani, A. M., & Goo, H. S. (2015). Twitter Sentiment Analysis using Deep
14
CNN, 9121(JUNE). https://doi.org/10.1007/978-3-319-19644-2
Tim Penyusun KBBI. (2016). Kamus Besar Bahasa Indonesia. Retrieved October
31, 2017, from https://kbbi.kemdikbud.go.id/entri/opini
Trupthi, M., Pabojju, Suresh., Narasimha, G. (2017). SENTIMENT ANALYSIS
ON TWITTER USING STREAMING API. 2017 IEEE 7th International
Advance Computing Conference. 915-919. https://doi.org/
10.1109/IACC.2017.177
Wikipedia. (2017). Twitter. Retrieved January 1, 2017, from
https://en.wikipedia.org/wiki/Twitter
15