Sebuah Kajian Pustaka - Seminar

advertisement
Konferensi Nasional Ilmu Sosial & Teknologi (KNiST)
Maret 2017, pp. 172~176
172
ANALISA SENTIMEN BERBASIS NATURAL
LANGUANGE PROCESSING DENGAN NAIVE BAYES
CLASIFIER
1
2
Saeful Bahri , Rizal Amegia Saputra , Rusda Wajhillah
3
1
STMIK Nusa Mandiri Jakarta
e-mail: [email protected]
2
AMIK BSI Sukabumi
e-mail: [email protected]
3
STMIK Nusa Mandiri Sukabumi
e-mail: [email protected]
Abstrak
Analisa sentiment merupakan sebuah alat untuk mendapatkan informasi dari sebuah
teks, yang digunakan untuk sebuah sistem pendukung keputusan, banyak peneliti telah
melakukan penelitian tentang analisa sentiment dengan teknik Natural Languange Processing,
karena NLP memungkinkan pengukuran sebuah tulisan secara langsung seperti bahasa alami,
untuk mengklasisfikasikan corpus agar didapat informasi didalamnya digunakan sebuah
algoritma klasisfikasi Naïve Bayes Classifier (NBC) untuk proses klasifikasi dengan fitur
pembobotan. Naïve Bayes Classifier yang terbukti lebih sederhana dalam proses klasifikasinya,
penggunaan Natural Language Processing pada penelitian ini bertujuan untuk mereduksi
dimensi korpus tweet yang besar dan hanya mengambil kata yang dianggap sebagai akar dari
kata yang terdapat pada korpus yang diteliti sehingga menjadi korpus yang mengandung sedikit
kata yang kurang mengandung makna.
Keywords: Analisa Sentimen, Natural Languange Processing, Naïve Bayes Clasifier
1. Pendahuluan
Analisa sentimen atau opinion mining
merupakan
sebuah
alat
untuk
mendefinisikan sebuah informasi dari
sebuah teks, seperti pendapat dan sentimen
yang bertujuan untuk menciptakan sebuah
pengetahuan yang dapat digunakan untuk
sistem pendukung keputusan (Pozzi,
Fersini, Messina, & Liu, 2017). Analisa
sentimen atau opinion mining perlu untuk
dianalisa, karena dari ledakan media sosial
saat ini yang memungkinkan individu atau
organisasi mengemukanan pendapat secara
langsung dan data yang masiv, hal ini
berpotensi menjadi sebuah informasi yang
sangat
berharga
(Gavilanes,
Lopez,
Martinez, Montenegro, & Castano, 2016),
Metode dalam analisa sentimen seperti
taxonomi-based (Cruz, Troyano, Enriquez,
Ortega, & Vallejo, 2013), PMI-Based (Yu,
Wu, Chang, & Chu, 2013) dan semantik
(Pai, Chu, Wang, & Chen, 2013) telah
diusulkan oleh beberapa peneliti (Medhat,
Hasan, & Korashy, 2014).
Natural Languange Processing (NLP), yang
merupakan teknik yang banyak digunakan
oleh para peneliti dan memungkinkan
mengukur secara langsung kualitas esai
atau tulisan (Chen, Liu, Lee, & Chang,
2010), NLP telah sukses diterapkan dalam
beberapa kasus analisa teks seperti opinion
mining atau yang lebih dikenal dengan
analisa sentimen (Sun, Luo, & Chen, 2016),
atau
dibidang
kedokteran
dalam
menganalisa sebuah catatan medis untuk
mengetahui resiko terjangkit penyakit
kardiovaskular (Khalifa & Meystre, 2015),
sedangkan untuk klasifikasi tweet sentiment
negatif dan fositif digunakan algoritma naive
bayes clasifier karena terbukti lebih
sederhana
dibanding
klasifikasi
menggunakan Support Vektor Machine (Rui,
Liu, & Whinston, 2013; Witten & Frank,
2005)
Pada penelitian ini akan menganalisa
sebuah informasi yang diambil dari twitter,
kemudian komentar pada twitt tersebut akan
dianalisa dan diklasifikasi menggunakan
naive bayes clasifier, hasil klasisfikasi akan
Diterima 25 Januari 2017; Revisi 15 Februari 2017; Disetujui 15 Maret, 2017
ISBN: 978-602-61242-0-3
diterapkan untuk menganalisa jumlah
sentiment negative dan sentiment fositif
yang dapat digunakan sebagai salah satu
sistem
penunjang
keputusan,
yang
bermanfaat untuk beberapa kasus seperti
sistem penunjang keputusan penerimaan
beasiswa, dan beberapa kasus yang
berkaitan dengan essay text (Arifin, Y. T.
2016). dalam penelitan ini akan diterapkan
natural languange processing sebagai
metode pemrosesan teks dan mendapatkan
informasi yang berkualitas, yang kemudian
informasi tersebut akan diklasifiasikan
dengan salah satu algoritma klasifikasi untuk
menemukan sentimen dari sebuah korpus
dalam hal ini tweet
2. Metode Penelitian
Dalam mendukung penelitian ini ada
beberapa bahan dan metode yang
digunakan pada penelitian ini seperti teknik
pengumpulan data, teknik pemrosesan data
yang akan dijelaskan pada sub-bab berikut.
Pengumpulan Data
Data yang digunakan pada penelitian ini
diambil dari api.twitter.com, diambil dengan
bantuan software R dengan menggunakan
teknik web crawler, dari masing-masing twit
yang diambil sebanyak 10663 dengan twit
dari 2 vendor ponsel terkemuka didunia,
masing- masing diambil 5330 twit, dari tweet
tersebut kemudian dilakukan pemrosesan
text untuk untuk memisahkan beberapa text
dengan notasi yang tidak memiliki arti
seperti
symbol-simbol
dan
kalimat
penghubung. Untuk proses pemilihan kata
tersebut
digunakanlah sebuah metode
natural
languange
processing
yang
berfungsi untuk memfilter teks atau corpus
yang akan digunakan sebagai data latih.
Pemrosesan Data
Setelah data tweet terkumpul selanjutnya
twet dari beberapa data seperti beberapa
informasi tweet
yang berisi simbol
dihilangkan,
selanjutnya
dilakukan
pengelompokan tweet kedalam beberapa
kategori, setelah pengelompokan tersebut
kemudian tweet yang telah dikelompokan
dilakukan pengujian nilai probabilitas untuk
mengetahui beberapa kelompk seperti
Intention, positif, negative dan netral (Rui,
Liu,
&
Whinston,
2013),
berikut
penggambaran proses klasifikasi twit pada
gambar 1
KNiST, 30 Maret 2017
Sumber: Rui, 2013
Gambar 1. Klasifikasi Tweet
Natural Languange Processing (NLP)
Natural languang processing merupakan
sebuah metode analisa teks Bahasa secara
alami, untuk menemukan kontek dari
sebuah bahas atau tulisan (Indurkhya &
Damerau, 2010), pada natural language
processing ada beberapa tahan yang harus
dilakukan dalam mengekstrak sebuah
informasi agar informasi yang didapat bebas
dari beberapa informasi yang kurang
bermakna sperti symbol-simbol kalmia yang
tidak mengandung arti, agar informasi yang
didapat lebih berkulitas, berikut merupakan
beberapa tahapan dari pemerosesan
Bahasa alami yang mutlak harus dilakukan .
A. Text Processing
Tahap ini melakukan analisis semantik
(kebenaran
arti)
dan
sintaktik
(kebenaran susunan) terhadap teks.
Tujuan dari pemrosesan awal adalah
untuk mempersiapkan teks menjadi
data yang akan mengalami pengolahan
lebih lanjut. Operasi yang dapat
dilakukan pada tahap ini meliputi partof-speech (PoS) tagging, menghasilkan
parse tree untuk tiap-tiap kalimat, dan
pembersihan teks.
B. Lexical Analysis
Proses lexical analysis merupakan
sebuah cara untuk memisahkan kata
yang kurang berguna dan tidak memiliki
informasi sama sekali seperti dalam
Bahasa Indonesia ada imbuhan –lah, ke, -di dalam Bahasa inggris seperti –
ing, -is dan lain sebaginya, dalam suatu
korpus yang akan digunakan untuk
173
ISBN: 978-602-61242-0-3
menemukan
informasi
yang
terkandung.
C. Syntatic Parsing
Pada
proses
syntactic
parsing
merupakn sebuah proses pemisahan
topic, tema dan tata Bahasa pada
corpus teks yang akan digunakan
dalam proses analisa teks.
D. Semantic Analysis
Semantic analisis merupakan sebuah
proses menemukan makna dari sebuah
korpus teks yang akan dianalisa
E. Natural Languange Generation
Proses natural language generation
merupak sebuah proses untuk merubah
sebuah
informasi
dari
database
computer menjadi Bahasa manusia
atau teks yang bisa dimengeti oleh
manusia
Naive Bayes Clasifier untuk klasifikasi teks
Untuk
proses
klasifikasi
dan
mengelompokan
berapa
tweet
yang
nantinya
digunakan
sebagai
acuan
sentiment negatif positif, akan digunakan
sebuah
algoritma
klasifikasi
yang
mengeklasifikasikan berdasarkan parameter
numerik probabilitas dan parameter multi
nominal (Witten & Frank, 2005). Untuk
melakukan klasifikasi beberapa persamaan
dalam naïve bayes digunakan untuk
menemukan
nilai
probabilitas
nya,
sederhananya naïve bayes dalam dalam
proses
klasisfikasi
teks
dan
direpresentasikan pada contoh sebagai
berikut .
Y ( I love this fruit is very sweet. The flavour
is great and make me feel happiness it’s fuit
very recommended for your bought) = c
Y ( I love this fruit is very sweet. The flavour
is great and make me feel happiness, it’s
fuit very recommended for your bought ) =
c
P
X1
J
= probabiitas
= Direpresentasikan sebagi fitur
= Topik
MAP = Maximum posterior atau kelas
yang paling mungkin
untuk
kasus
klasifikasi
persamaan nya bisa ditulis
menentukan nilai setiap kata :
,
menentukan kalimat
:
,
Kemudian dari kata-kata tersebut di cari nilai
probabilitasnya
untuk
dikelompokan
neg(Negative) Pos (Positif) kita asumsikan
sudah
mendapatkan
semua
nilai
probabilitasnya, beberapa kasus dalam
dalam analisa sentiment menggunakan
beberapa corpus sebagai corpus training
dan yang dibagi kedalam tiga class utama,
sebuah corpus untuk menetukan topic dan
sebuah class testing untuk mencari
kecenderungan dari
sentiment yang sedang dianalisa, berikut
contoh
dari
proses
klasifikasi
teks
menggunakan naïve bayes klasifikasi.
Tabel 1. Contoh Klasifikasi Teks
DOK
1
TRAINING
Y ( x love xxxxxxxxx sweet. xxx xxxxx xx
great xxx xxxx xx xxx happyness, xxx xxxx
xxxx recommended xxx xxxx xxxxx ) = c.
Pada teks yang ditandai tebal menjelaskan
bahwa teks tersebut sudah melalui
pemrosesan
teks
kemudian
hasil
pemrosesan teks dengan natural lnguange
proses akan dihitung dan ditemukan mana
yang menjadi class dan topik.
d
c
= document
= class
KNiST, 30 Maret 2017
multinominal
2
3
4
TESTING
5
KALIMAT
Chinese
Beijing
Chinese
Chinese
Chinese
Shanghai
Chinese
Macau
Tokyo Japan
Chinese
Chinese
Chinese
Chinese
Tokyo Japan
CLASS
C
C
C
J
?
Sumber: (Jurafsky, 2011)
Diketahui :
dan
Nilai probabilitas dari table diatas.
174
ISBN: 978-602-61242-0-3
P(Chinese | c)
P(Tokyo | c)
P(Japan | c)
P(Chinese | j)
P(Tokyo | j)
P(Japan | j)
= (5+1)/(8+6)=6/14=3/7
= (0+1)/(8+6)=1/14
= (0+1)/(8+6)=1/14
= (1+1)/(3+6)=2/9
= (1+1)/(3+6)=2/9
= (1+1)/(3+6)=2/9
Memilh class untuk digunakan sebagai data
training dan testing
3
P(c| d5) ∞ 3/4 * (3/7) * 1/14 * 1/14
≈ 0,0003
3
P(j| d5) ∞ 1/4 * (2/9) * 2/9 * 2/9
≈ 0,0001
Dari proses perhitungan contoh klasifikasi
tersebut diketahui nilai probabilitas dari kata
Chinese paling besar diantara kata lainya,
dan pada tajuk cina dapat digunakan
sebagai class.
Pada penelitian ini hal serupa akan
diterapkan
untuk
menganalisa
dan
mengklasifikasikan sebuah corpus tweet
untuk dicari nilai kecenderungan negative
atau positif dari sebuah komentar, dimulai
membangun korpus yang berkualitas
dengan
pemrosesan
Bahasa
natural
kemudian tweet dikelompokan kedalam tiga
kategori sentiment seperti sentiment negaif,
positif dan neutral.
3. Pembahasan
Data awal yang berjumlah 10663 data yang
yang diambil, dikelompokan untuk proses
scoring
dilakukan
untuk
menghitung
seberapa banya kalimat yang memuat
kandungan positif dan kalimat negative
kemudian bobot dicocokan dengan nilai
score berdasarkan dictionary pada table
berikut.
Tabel 2. Contoh Penilaian Klasifikasi Teks
score
text
5
You're awesome and I love you
I hate and hate and hate. So
-1
angry. Die!
Impressed and amazed: you are
7
peerless in your achievement of
unparalleled mediocrity.
Dari table 2 diatas dapat dijelaskan untuk
score
yang
bernilai
5
sentiment
dikelompokan kedalam kelompok sentiment
positive, untuk score dari -1 sampai –n
sentiment dikelopokan kedalam sentiment
negative sedangkan jika scorenya 7 maka
sentiment dikelompokan kedalam kelompok
sentiment neutral.
KNiST, 30 Maret 2017
Setelah mengalami pemrosesan teks
dengan
Natural
language
process
didapatlah kualitas korpus yang baik yang
digunakan dalm proses analisa sentiment
menggunakan
naïve
bayes,
proses
klasifikasi menggunakan naïve bayes
classifier dari tweet tersebut didapat nilai
sebagai berikut
Tabel 3. Hasil Prediksi Dengan Naïve Bayes
Predicted
Positive Negative
Positif
2846
1546
Negatif
2485
3786
Dari Tabel 3 diketahui bahwa dari objek dua
buah objek tweet yang diteliti didapat 2846
tweet positive dan 1546 tweet negatif untuk
tweet A sedangkan untuk tweet B sejumlah
2485 untuk tweet Positive dan 3786 tweet
negative, dengan Jumlah keberhasilan :
6632 data dari 10663 data dengan nilai
probabilitas ≠ 0,5 atau 95%, interval nilai
konfiden 0.6126810-0.6311799 dengan nilai
kesuksesan probabilitas sebesar 0.6219638.
Hasil dari klasifikasi tersebut dapat
digunakan dalam sebuah sistem penunjang
keputusan bahwa Tweet dari Objek A lebih
mendapat respon fositif dibanding Objek
tweet B.
4. Simpulan
Dari hasil diatas dapat ditarik kesimpulan
bahwa nilai probabilitas dari klasifikasi teks
dengan
naïve
bayes
masih
perlu
ditingkatkan lagi, seperti menggunakan
MaxEnt Clasifier untuk proses POS tagging
nya dalam membangun model untuk
klasifikasi. Pada penelitian ini diketahui jika
nilai konfiden algoritma naïve bayes
meningkat rata-rata antara 0.61-0.63 setelah
ditambahkan teknik natural language
processing, penggunaan natural language
processing pada penelitian ini bertujuan
untuk mereduksi dimensi korpus tweet yang
besar dan hanya mengambil kata yang
dianggap sebagai akar dari kata yang
terdapat pada korpus yang diteliti sehingga
menjadi korpus yang mengandung sedikit
kata yang kurang mengandung makna.
Untuk
penelitian
selanjutnya
kami
mengharapkan ada sebuat penelitian
lanjutan yang mengukur tingkat akurasi dari
beberapa
algoritma
klasifikasi
yang
digunakan
dalam
proses
klasifikasi
sentiment yang di tambahkan natural
language processing.
175
ISBN: 978-602-61242-0-3
Selain pengukuran tentang model dan
metode analisa sentiment, penelitian
selanjutnya
diharapkan
bisa
mengimplementasikan analisa sentiment ini
kedalam beberapa kasus seperti kelayakan
pemberian kredit berbasis analisa sentiment,
sistem penunjang keputusan penerimaan
karyawan, sitem penunjang penerimaan
beasiswa dan untuk diagnose penyakit
berdasarkan data rekam medic.
Referensi
Arifin, Y. T. (2016). KOMPARASI FITUR
SELEKSI
PADA
ALGORITMA
SUPPORT VECTOR MACHINE
UNTUK
ANALISIS
SENTIMEN
REVIEW. INFORMATIKA, 3(2).
Chen, Y.-Y., Liu, C.-L., Lee, C.-H., & Chang,
T.-H. (2010). An Unsupervised
Automated EssayScoring System. In
Natural Languange Processing (pp.
61-67). IEEE Computer Society.
Cruz, F. L., Troyano, J. A., Enriquez, F.,
Ortega, F. J., & Vallejo, C. G.
(2013). 'Long autonomy or long
delay?' The importance of domain in
opinion mining. Expert Systems with
Applications, 3174–3184.
Gavilanes, M. F., Lopez, T. A., Martinez, J.
J., Montenegro, E. C., & Castano, F.
J. (2016). Unsupervised method for
sentiment analysis in online texts.
Expert Systems with Applications,
57–75.
Indurkhya, N., & Damerau, F. J. (2010).
Handbook of Natural Languange
Processing second edition. New
York: Taylor & Francis Group.
Jurafsky, D. (2011). Text Clasification And
Naive Bayes. Text Clasification And
Naive Bayes. Stanford, California,
United States Of America: Stanford
University.
Khalifa, A., & Meystre, S. (2015). Adapting
existing natural language processing
resources for cardiovascular risk
factors identification in clinical notes.
Journal of Biomedical Informatics,
128-132.
Medhat, W., Hasan, A., & Korashy, H.
(2014). Sentiment analysis algoritmh
KNiST, 30 Maret 2017
and aplication: A Survey. Ain Shams
Engineering Journal, 1093–1113.
Pai, M. Y., Chu, H. C., Wang, S. C., & Chen,
Y. M. (2013). Electronic word of
mouth
analysis
for
service
experience. Expert Systems with
Applications, 1993–2006.
Pozzi, F. A., Fersini, E., Messina, E., & Liu,
B. (2017). CHALLENGES OF
SENTIMENT ANALYSIS IN SOCIAL
NETWORKS: AN OVERVIEW. In F.
A. Pozzi, E. Fersini, E. Messina, &
B. Liu, Sentiment Analysis in Social
Networks (pp. 1-11). AMSTERDAM
• BOSTON • HEIDELBERG •
LONDON NEW YORK OXFORD
PARIS
SAN
DIEGO
SAN
FRANCISCO
SINGAPORE
SYDNEY TOKYO : Elsevier.
Rui, H., Liu, Y., & Whinston, A. (2013).
Whose and what chatter matters?
The effect of tweets on movie sales.
Decision Support Systems, 863-870.
Sentiment140.
(2017,
January
19).
Sentiment140.
Retrieved
from
Sentiment140:
http://help.sentiment140.com/forstudents/
Sun, S., Luo, C., & Chen, J. (2016). A
Review of
Natural Language
Processing Techniques for Opinion
Mining
Systems.
Information
Fussion, 10-25.
Witten, I. H., & Frank, E. (2005). Data Mining
Practical Machine Learning Tools
and Techniques. San Fancisco:
Morgan Kaufman.
Yu, L. C., Wu, J. L., Chang, P. C., & Chu, H.
S. (2013). Using a contextual
entropy model to expand emotion
words and their intensity for the
sentiment classification of stock
market news. Knowledge-Based
Systems, 89–97.
176
Download