pemodelan topik lesbian, gay, biseksual, dan transgender di ...
-
Upload
khangminh22 -
Category
Documents
-
view
8 -
download
0
Transcript of pemodelan topik lesbian, gay, biseksual, dan transgender di ...
PEMODELAN TOPIK LESBIAN, GAY, BISEKSUAL, DAN
TRANSGENDER DI INDONESIA MENGGUNAKAN
LATENT DIRICHLET ALLOCATION
SKRIPSI
Arsy Arlina
11140940000023
PROGRAM STUDI MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN SYARIF HIDAYATULLAH JAKARTA
2018 M/1440 H
PEMODELAN TOPIK LESBIAN, GAY, BISEKSUAL, DAN
TRANSGENDER DI INDONESIA MENGGUNAKAN
LATENT DIRICHLET ALLOCATION
SKRIPSI
Diajukan kepada
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Fakultas Sains dan Teknologi
Untuk Memenuhi Persyaratan dalam
Memperoleh Gelar Sarjana Matematika (S.Mat)
Oleh :
Arsy Arlina
11140940000023
PROGRAM STUDI MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN SYARIF HIDAYATULLAH JAKARTA
2018 M/1440 H
iv
PERSEMBAHAN DAN MOTTO
Segala Puji dan Syukur ku persembahkan kepada Allah Subhanahu Wata‟ala.
Seiring shalawat serta salam kepada sang pembangun peradaban manusia, Nabi
Muhammad Shallallahu „Alaihi Wassalam.
Persembahan kecil ku lantunkan untuk mereka yang dalam diamnya turut
mendoakan atas dasar cinta tanpa paksaan sedikitpun terutama kepada mamah dan
papah.
Skripsi ini juga ku persembahkan untuk para sahabat serta mereka yang mencintai
saya dengan tulus untuk memberikan doanya untuk saya.
“Al-hayatuy Ar-Rabbaniyyah, yakni menjalani kehidupan selalu berorientasi
kepada Allah Subhanahu Wata‟ala, Selalu libatkan Allah dalam setiap langkah.”
“Ridha Allah tergantung pada ridha orang tua dan murka Allah tergantung pada
murka orang tua.” (Hasan. At-Tirmizi: 1899, HR. al-Hakim: 7249, ath-Thabrani
dalam al-Mu‟jam al-Kabiir: 14368, Al-Bazzar: 2394)
“Bila kamu tak tahan lelahnya belajar, maka kamu akan menanggung perihnya
kebodohan. Bersabarlah dalam menuntut ilmu.”
“Kita yang tidak memiliki waktu atau kita yang tidak memprioritaskan.”
v
ABSTRAK
Arsy Arlina, Pemodelan Topik Lesbian, Gay, Biseksual, Dan Transgender Di
Indonesia Menggunakan Latent Dirichlet Allocation, dibawah bimbingan Dr.
Taufik Edy Sutanto, MscTech dan Muhaza Liebenlito, M.Si.
Pada penelitian pengamatan terhadap perubahan pola perbincangan
masyarakat di media sosial twitter ketika membicarakan topik LGBT dengan
jumlah teks mencapai 18.552 tweet akan dilihat pengaruh topik ini terhadap isu-
isu lainnya terutama isu politik yang sering kali muncul di media sosial setiap
periode pergantian pemerintahan. Pengamatan dilakukan dengan melihat
kemungkinan atau peluang topik yang dibahas pada masing-masing teks terhadap
seluruh data twitter mengenai LGBT yang berbahasa Indonesia pada tahun 2015
sampai dengan bulan Juni 2018 dan kemudian melihat penyebaran topik serta
visualisasinya. Hasil penelitian menunjukan bahwa terdapat tujuh kategori topik
yang dominan muncul. Topik-topik tersebut adalah politik, agama, pemerintahan,
keasusilaan, kewarganegaraan, budaya dan teknologi yang masing-masingnya
tidak ada kecenderungan dalam pembicaraan mengenai LGBT. Hal ini
memperlihatkan bahwa pembicaraan LGBT dari waktu ke waktu secara umum
memiliki pola perbincangan dengan topik yang beragam kecuali pada topik
politik. Isu politik ternyata memiliki peningkatan pada periode-periode tertentu,
khususnya pada periode ketika pergantian pemerintahan terjadi. Hal ini
menunjukan adanya kemungkinan pengaruh digunakannya isu LGBT dalam
kehidupan politik di Indonesia.
Kata Kunci: LDA, LGBT, Topic Modelling, twitter.
vi
ABSTRACT
Arsy Arlina, Topic Modelling Lesbian, Gay, Bisexual, and Transgender in
Indonesia Using Latent Dirichlet Allocation, under the guidance of Dr. Taufik
Edy Sutanto, MscTech and Muhaza Liebenlito, M.Sc.
In a review of changes in the pattern of public conversation on social
media twitter compilation of LGBT topics with the number of texts reaching
18,552 tweets will be seen as a topic of discussion on other issues relating to
political issues that often appear on social media every period of government
change. Observations were made by looking at the announcement or discussion of
the topics discussed in each text on all twitter data about LGBT which discussed
Indonesia in 2015 until June 2018 and then looked at distributing the topic and its
visualization. The results showed that there were seven dominant categories that
emerged. These topics are politics, religion, government, morality, citizenship,
culture and technology, each of which has no development in talks about LGBT.
LGBT from time to time has topics of conversation with topics that are different
on political topics. Political problems turned out to have an increase in certain
periods, especially in the period of change of government occurred. This shows
the possible influence of the use of LGBT issues in political life in Indonesia.
Keywords: LDA, LGBT, Topic Modeling, twitter.
vii
KATA PENGANTAR
Alhamdulillah, puji syukur kehadirat Allah Subhanahu Wata‟ala atas
segala limpahan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan
penyusunan skripsi dengan judul “Pemodelan Topik Lesbian, Gay, Biseksual,
Dan Transgender Di Indonesia Menggunakan Latent Dirichlet Allocation”.
Shalawat serta salam senantiasa tercurah kepada Nabi Muhammad Sallalahu
Alaihi Wassalam, para sahabat, keluarga serta muslimin dan muslimat. Semoga
kita mendapatkan syafaat baginda Rasul kelak diakhirat. Penulis dapat
menyelesaikan skripsi ini karena adanya banyak bimbingan, saran, kerjasama dan
bantuan dari berbagai pihak. Untuk itu, pada kesempatan ini penulis ingin
menyampaikan terima kasih kepada:
1. Bapak Dr. Agus Salim, S.Ag., M.Si, selaku Dekan Fakultas Sains dan
Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.
2. Ibu Dr. Nina Fitriyati, M. Kom, selaku Ketua Program Studi Matematika
Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta, dan Bapak
Muhaza Liebenlito, M.Si, selaku Sekretaris Program Studi Matematika
Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
3. Bapak Dr. Taufik Edy Sutanto, MScTech selaku Pembimbing I yang telah
memberikan ilmu pengetahuan, pengarahan, bimbingan dan membantu penulis
dalam menyelesaikan skripsi ini serta memberikan inspirasi dari mulai
pemilihan topik hingga metode penelitian yang digunakan.
4. Bapak Muhaza Liebenlito, M.Si selaku Pembimbing II yang telah
memberikan ilmu pengetahuan, pengarahan, bimbingan dan membantu penulis
dalam menyelesaikan skripsi ini.
5. Ibu Dr. Nina Fitriyati, M. Kom selaku Penguji I dan Ibu Yanne Irene, M.Si
selaku Penguji II yang telah memberikan saran yang membangun untuk skripi
ini.
6. Bapak Saleh Hasan dan Ibu Andi Yuliyani sebagai orang tua penulis yang
telah memberikan dukungan baik moril ataupun materil untuk penulis.
ix
DAFTAR ISI
LEMBAR PENGESAHAN ................................................................................... I
PERNYATAAN .................................................................................................... II
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS .......................................................... III
ABSTRAK ............................................................................................................. V
ABSTRACT ......................................................................................................... VI
KATA PENGANTAR ....................................................................................... VII
DAFTAR ISI ........................................................................................................ IX
DAFTAR TABEL ............................................................................................... XI
DAFTAR GAMBAR ......................................................................................... XII
DAFTAR NOTASI ........................................................................................... XIII
BAB I PENDAHULUAN ..................................................................................... 1
1.1. LATAR BELAKANG .................................................................................... 1
1.2. PERUMUSAN MASALAH ............................................................................. 4
1.3. TUJUAN PENELITIAN ................................................................................. 5
1.4. BATASAN MASALAH ................................................................................. 5
1.5. MANFAAT PENELITIAN .............................................................................. 5
BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI ........................... 6
2.1. LESBIAN, GAY, BISEKSUAL, DAN TRANSGENDER ...................................... 6
2.2. SCRAPING ................................................................................................... 7
2.3. STOPWORD FILTERING / STOPWORD REMOVAL ............................................ 8
2.4. PART-OF-SPEECH TAGGING / POSTAGGING ................................................. 8
2.5. PEMODELAN TOPIK ................................................................................... 9
BAB III METODOLOGI PENELITIAN ......................................................... 11
3. 1. SUMBER DATA ........................................................................................ 11
3. 2. TAHAPAN PENELITIAN ............................................................................. 14
3.2.1. Preprocessing ...................................................................................... 15
3.2.2. Model................................................................................................... 16
x
3.2.2.1. Pelabelan kategori topik .............................................................. 16
3.2.2.2. Melakukan Postagging ................................................................ 16
3.2.2.3. Menghapus duplikasi ................................................................... 17
3.2.2.4. Melakukan Stop Word Filtering .................................................. 17
3.2.2.5. Pembobotan Kata atau Term Weighting ...................................... 17
3.2.2.6. Latent Dirichlet Alocation ........................................................... 18
3.2.3. Visualisasi dan Interpretasi ................................................................ 25
BAB IV HASIL DAN PEMBAHASAN ............................................................ 27
4. 1. PREPROCESSING DATA ............................................................................. 27
4. 2. WORDCLOUD DAN WORDLINK KATEGORI TOPIK ...................................... 28
4. 3. HASIL PEMODELAN LATENT DIRICHLET ALLOCATION ............................... 32
4. 4. DISTRIBUSI TOPIK TERHADAP WAKTU .................................................... 35
4. 5. ANALISIS KATEGORI TOPIK TERHADAP WAKTU ...................................... 36
4. 6. RINGKASAN ANALISA TOPIK SECARA KESELURUHAN ............................ 38
BAB V PENUTUP ............................................................................................... 40
5.1. KESIMPULAN .......................................................................................... 40
5.2. SARAN ..................................................................................................... 40
REFERENSI ........................................................................................................ 41
LAMPIRAN ......................................................................................................... 45
A1. LAMPIRAN I SCRIPT PYTHON SCRAPPING DAN PREPROCESSING ............ 45
A2. LAMPIRAN II SCRIPT PYTHON POSTAGGING, TF DAN LDA ................... 50
xi
DAFTAR TABEL
Tabel 3.1. Data hasil scraping dan preprocessing pada CSV. .............................. 13
Tabel 3.2. Statistik deskriptif tweet LGBT. .......................................................... 14
Tabel 3.3. Hasil pemberian tag pada kata. ............................................................ 16
Tabel 3.4. Contoh data yang akan ditetapkan topik secara acak .......................... 21
Tabel 3.5. Contoh tabel topik untuk setiap kata dalam setiap dokumen/tweet ..... 22
Tabel 3.6. Contoh tabel topik kategori topik untuk setiap kata dalam masing-
masing dokumen/tweet .......................................................................................... 22
Tabel 3.7. Jumlah token tweet pada topik untuk setiap dokumen ......................... 23
Tabel 3.8. Hasil probabilitas distribusi kata untuk setiap topik. ........................... 25
Tabel 4.1. Data hasil preprocessing. ..................................................................... 27
xii
DAFTAR GAMBAR
Gambar 1.1. Jumlah infeksi HIV/AIDS menurut faktor risiko. .............................. 2
Gambar 1.2. Jumlah pengguna twitter di Indonesia pada tahun 2014-2018. .......... 3
Gambar 1.3. Jumlah tweet Indonesia terkait LGBT. ............................................... 4
Gambar 2.1. Himpunan data tag ............................................................................. 9
Gambar 2.2. Diagram keterhubungan penelitian .................................................. 10
Gambar 3.1. Jumlah tweet LGBT persemester pada tahun 2015-2018................. 19
Gambar 3.2. Contoh model grafik probabilistik. .................................................. 19
Gambar 3.3. Representasi model grafis dari LDA. ............................................... 20
Gambar 3.4. Algoritma gibbs sampling untuk LDA. ............................................ 21
Gambar 3.5. Diagaram alur klasifikasi pembelajaran. .......................................... 26
Gambar 3.6. Percobaan yang dilakukan dalam memperoleh model. .................... 26
Gambar 4.1. Wordcloud dan Wordlink kategori topik agama. .............................. 29
Gambar 4.2. Wordcloud dan Wordlink kategori topik budaya. ............................ 29
Gambar 4.3. Wordcloud dan Wordlink kategori topik pemerintahan. .................. 30
Gambar 4.4. Wordcloud dan Wordlink kategori topik kewarganegaraan. ............ 30
Gambar 4.5. Wordcloud dan Wordlink kategori topik politik. .............................. 31
Gambar 4.6. Wordcloud dan Wordlink kategori topik teknologi. ......................... 31
Gambar 4.7. Wordcloud dan Wordlink kategori topik keasusilaan. ...................... 32
Gambar 4.8. Wordcloud dan Wordlink kategori topik lainnya ............................. 29
Gambar 4.9. Visualisasi LDA pada data sampel dengan penambahan proses
stopword filtering. ................................................................................................. 31
Gambar 4.10. Distribusi topik terhadap waktu ..................................................... 32
Gambar 4.11. Analisis kategori topik terhadap waktu. ......................................... 37
Gambar 4.12. Probabilitas kata masing-masing periode untuk setiap kategori
pembicaraan terkait LGBT .................................................................................... 35
xiii
DAFTAR NOTASI
: Jumlah topik
: Distribusi topik dari dokumen
: Distribusi kata dari topik
: Bobot kata unik
: Jumlah dokumen/tweet
: Jumlah kata unik
atau : Jumlah 1 dokumen/tweet
𝐷 atau : Kumpulan dokumen atau tweet
: Topik untuk setiap kata
: Probabilitas topik untuk setiap dokumen/tweet
: Distribusi probabilitas kata untuk setiap topik
: topik
: jumlah kata dalam dokumen/tweet
1
BAB I
PENDAHULUAN
Pada tahun 2014, terdapat 24 negara yang tercatat telah melegalkan
pernikahan sesama jenis. Beberapa diantaranya yaitu Belanda, Prancis, Inggris,
Brazil, Amerika Serikat dan lain sebagainya [1]. Menurut Ferdiyan Pratama [1],
Kementrian Kesehatan memperkirakan pada tahun 2012 terdapat 1.095.970
penyimpangan perilaku seksual, dan badan Perserikatan Bangsa-Bangsa (PBB)
memprediksi jumlah Lesbian, Gay, Biseksual, dan Transgender (LGBT)
meningkat yaitu tiga juta jiwa pada tahun 2011 dari sekitar 800 ribu jiwa populasi
gay pada tahun 2009. Peningkatan penyebaran jumlah LGBT ini menimbulkan
penilaian masyarakat yang beragam dari berbagai sudut pandang di beberapa
negara termasuk negara Indonesia. Saat ini seiring dengan perkembangan
kemajuan teknologi, media sosial menjadi salah satu sarana yang banyak diminati
masyarakat untuk mengutarakan pendapat ataupun melakukan perbincangan
terkait isu-isu yang terjadi, tidak terkecuali dengan isu LGBT.
Pada bab ini akan dijelaskan tentang latar belakang yang mendasari
penelitian, serta tujuan penelitian sebagai acuan yang jelas untuk dicapai. Selain
itu pada bab ini juga dijelaskan mengenai manfaat penelitian, perumusan masalah
dan batasan penulisan sesuai dengan tujuan yang diinginkan.
1.1. Latar Belakang
"Mengapa kalian mendatangi jenis lelaki di antara manusia (berbuat
homoseks), dan kalian tinggalkan (perempuan) yang diciptakan Tuhan untuk
menjadi istri-istri kamu? Kamu (memang) orang-orang yang melampaui batas.”
(QS. Asy-Syu‟ara : 165-166).
“Sesungguhnya kamu mendatangi lelaki untuk melepaskan nafsumu
(kepada mereka), bukan kepada wanita, malah kamu ini adalah kaum yang
melampaui batas.” (QS:Al-A‟raf :81).
2
Dari terjemahan kementrian agama Republik Indonesia terkait ayat-ayat
Al-Qur‟an tersebut yang menceritakan kisah kaum Nabi Luth „alaihissalam
terlihat bahwa laki-laki melepaskan nafsunya bukan kepada wanita seperti pada
umumnya. Artinya bahwa hubungan sesama jenis ini juga dijelaskan dalam Al-
Quran seperti pada kisah kaum Nabi Luth tersebut.
LGBT merupakan salah satu bentuk penyimpangan seksual yang terjadi di
Indonesia, namun untuk mengetahui jumlah pelakunya sulit untuk dipastikan
dalam catatan kependudukan karena keberadaannya yang tidak diakui oleh negara
pada umumnya terutama di Indonesia. Berdasarkan catatan Dinas Kesehatan
Provinsi dan SIHA (Sistem Informasi HIV/AIDS) [2] mengenai peningkatan
jumlah penduduk terinfeksi penyakit HIV/AIDS akibat beberapa faktor seperti
biseksual, homoseksual dan laki-laki seks dengan laki-laki (LSL) yang merupakan
bentuk dari LGBT seperti pada Gambar 1.1, memperlihatkan bahwa jumlah
LGBT ini memiliki peningkatan setiap tahunnya.
Gambar 1.1. Jumlah infeksi HIV/AIDS menurut faktor risiko.
Peningkatan jumlah LGBT ini menimbulkan berbagai penilaian baik
dalam bentuk penolakan ataupun pembelaan. Kemudian para pembela LGBT
melakukan berbagai cara untuk mendapatkan pembelaan yang kuat terhadap
keberadaannya, seperti pada penelitian Pan dkk [3] yang mengatakan bahwa
media berita dijadikan sarana para pembela LGBT agar LGBT mendapatkan
pengakuan hukum. Pada era globalisasi seperti saat ini, berita tidak lagi sulit
0
2000
4000
6000
8000
10000
12000
14000
16000
Jum
lah
Ter
infe
ksi
Tahun
Jumlah Infeksi HIV/AIDS Menurut Faktor Risiko
Biseksual
Homoseks
Jumlah LSL
Sumber: Dinas Kesehatan Provinsi dan SIHA, 2017
3
untuk diperoleh. Hal ini dikarenakan adanya media komunikasi yang
jangkauannya lebih luas dan mudah diakses seperti media sosial.
Salah satu media sosial yang cukup populer di Indonesia adalah twitter.
Meskipun twitter memiliki kapasitas kata 280 karakter, namun hal ini tidak
membatasi minat masyarakat Indonesia terhadap media sosial ini. Dimana
pengguna twitter di Indonesia pada bulan Juli 2009 sudah mencapai 41 juta
pengguna dan terus mengalami peningkatan dengan cepat [4]. Perkembangan
pengguna aktif twitter yang terus mengalami peningkatan setiap tahunnya dalam
hitungan miliaran sejak tahun 2014 dapat dilihat pada Gambar 1.2.
Gambar 1.2. Jumlah pengguna aktif twitter di Indonesia pada tahun 2014-2018.
Peningkatan jumlah pelaku LGBT dan pengguna twitter menimbulkan
pertanyaan, bagaimana perkembangan jumlah tweet tentang LGBT di twitter. Jika
dilihat dari perkembangan pembicaraan LGBT di media sosial twitter seperti pada
Gambar 1.3 ternyata jumlah tweet mengenai LGBT mengalami peningkatan. Hal
ini menjadi ketertarikan tersendiri untuk mengamati topik LGBT di media sosial
twitter. Dari Gambar 1.3, topik LGBT mulai banyak diperbincangkan pada tahun
2015 dan meningkat pesat ketika 2016, akibatnya menimbulkan pertanyaan hal
apa yang diperbincangkan pada periode tersebut.
Manusia berdasarkan pengetahuan yang dimilikinya dapat memahami isi
yang dibicarakan dari kumpulan tweet tersebut. Dengan jumlah tweet yang tidak
sedikit mengenai LGBT ini akan mempersulit manusia dalam memahami topik
pembicaraannya dan membutuhkan waktu yang lama, karena topik yang muncul
12 14.3 16.8 18.9 20.9
0
10
20
30
2014 2015 2016 2017 2018
Jum
lah
Pen
ggu
na
akti
f (M
ilia
r)
Tahun
Jumlah Pengguna Aktif Twitter di Indonesia Pada
Tahun 2014-2018
Jumlah Pengguna
4
akan saling berisisan satu sama lain. Agar tidak dilakukan secara manual, objektif,
dan dapat dilakukan lebih cepat, manusia dapat menggunakan mesin untuk
memahami kumpulan tweet dengan cara menyatukan kata, topik dan konteks
dalam waktu yang bersamaan. Hal ini salah satunya dapat dilakukan dengan
pemodelan topik menggunakan Latent Dirichlet Allocation (LDA) yang
melakukan pengidentifikasian informasi topik laten (tersembunyi) dengan
menyatukan kata, topik dan konteks secara bersamaan.
Gambar 1.3. Jumlah tweet Indonesia terkait LGBT.
Menurut para peneliti sebelumnya, LDA efektif dalam pemodelan topik,
mudah dipahami, bahkan terdapat banyak pengembangan aplikasi dari LDA [5]
[6] [7]. Maka penelitian kali ini akan mencoba melakukan hal serupa dalam
pemahaman teks media sosial twitter secara otomatis menggunakan LDA namun
bedanya yaitu pada topik terkait LGBT di Indonesia.
1.2. Perumusan Masalah
Berdasarkan latar belakang diatas, maka didapatkan perumusan masalah sebagai
berikut:
1. Apa saja kategori topik yang cenderung dibicarakan masyarakat terkait LGBT
di Indonesia?
2 4 21 48 88 366 459 442 1258
8057
3872 3912
0
2000
4000
6000
8000
10000
Jum
lah
Tw
ee
t
Tahun
Jumlah Tweet LGBT di Indonesia
Jumlah Tweet
5
2. Bagaimana distribusi topik LGBT dari waktu ke waktu?
3. Apakah isu LGBT mempengaruhi perpolitikan di Indonesia?
1.3. Tujuan Penelitian
Tujuan yang ingin dicapai dalam penelitian ini adalah sebagai berikut:
1. Memperoleh topik utama yang berkaitan dengan perbincangan LGBT di
media sosial twitter Indonesia.
2. Mengetahui distribusi pembicaraan LGBT dalam perubahan waktu yang ada.
3. Mengetahui pengaruh topik LGBT terhadap perpolitikan di Indonesia.
1.4. Batasan Masalah
Agar pembahasan tidak menyimpang dari apa yang telah ditetapkan, maka dibuat
pembatasan masalah pada skripsi ini adalah:
1. Topik permasalahan yang diamati yaitu data media sosial terkait LGBT di
Indonesia dari 01 Januari 2015 sampai 30 Juni 2018 dimana data dianalisis
dalam periode waktu 6 bulan.
2. Data yang diolah hanyalah data teks yang berasal dari pengguna media sosial
twitter (gambar, video, alamat sumber dan informasi lainnya diabaikan).
3. Data yang diamati hanya data teks tweet berbahasa Indonesia saja, selain itu
diabaikan seperti retweet, likes, replies dan lain sebagainya.
4. Kata kunci pencarian data yang digunakan dalam penelitian yaitu “LGBT”.
1.5. Manfaat Penelitian
Melalui penelitian ini diharapkan dapat menjadi acuan untuk penelitian
atau pengembangan dalam penanganan tingginya jumlah LGBT di Indonesia.
Masyarakat atau pemerintah dapat melakukan pencegahan LGBT dalam aspek
kehidupan dengan melihat aspek mana yang memiliki kemungkinan
terindikasinya penyebaran LGBT lebih besar, sehingga dapat mengurangi
kegiatan dalam aspek tersebut atau mungkin dialihkan dengan kegiatan yang lebih
aman dari LGBT serta lebih bermanfaat.
6
BAB II
TINJAUAN PUSTAKA DAN LANDASAN TEORI
Penelitian terkait isu “LGBT” di media sosial dari berbagai negara dapat
terbagi menjadi beberapa kategori diantaranya yaitu terkait hukum [3], kesehatan
[8][9][10], pendidikan [11], sosial [12] dan politik [13]. Bab ini akan membahas
pendekatan dari masing-masing kategori yang berkaitan satu sama lain serta
pendekatan dengan penelitian yang akan dilakukan pada skripsi ini. Adapun teori-
teori dalam bab ini meliputi pengetahuan tentang LGBT, beberapa metode yang
berkaitan dan beberapa istilah lainnya yang digunakan dalam penelitian.
2.1. Lesbian, Gay, Biseksual, dan Transgender
Pada tahun 1999, penelitian terkait LGBT di Indonesia mulai terlihat [14]
dengan pembahasan tentang bagaimana LGBT di Indonesia dan terus
dikembangkan oleh beberapa peneliti, salah satunya yaitu oleh Boellstorf yang
mengembangkan dari segi keagamaan[15], budaya[16], pemerintahan[17] dan lain
sebagainya. Dalam waktu 13 tahun (2005-2018) [15], penelitian mengenai LGBT
di Indonesia memiliki jumlah sitasi mencapai 162, sedangkan jumlah sitasi
penelitian LGBT di negara lain dalam waktu 15 tahun (2003-2018) [10] sudah
memperoleh jumlah sitasi mencapai 5685. Terlihat bahwa penelitian LGBT di
Indonesia masih berkembang cukup lambat dibandingkan negara lain. Sedikitnya
penelitian tentang LGBT ini menandakan bahwa Indonesia masih memerlukan
perhatian khusus untuk kasus terkait seksual terutama didunia penelitian agar
terciptanya solusi yang dapat mengurangi jumlah LGBT di Indonesia.
Menurut Kamus Besar Bahasa Indonesia (KBBI) beberapa kata-kata yang
berkaitan dengan LGBT dapat dijelaskan sebagai berikut [18]:
1. Lesbian adalah wanita yang mencintai atau merasakan rangsangan seksual
sesama jenisnya.
7
2. Biseksual memiliki dua arti yaitu mempunyai sifat kedua jenis kelamin (laki-
laki dan perempuan) atau tertarik kepada kedua jenis kelamin (baik kepada
laki-laki maupun kepada perempuan).
3. Homoseksual merupakan dalam keadaan tertarik terhadap orang dari jenis
kelamin yang sama.
Meskipun kata-kata gay dan transgender di Indonesia sering terdengar namun
kata-kata tersebut tidak terdaftar di KBBI. Jika dilihat dari Oxford Living
Dictionaries [19] bahwa gay merupakan bentuk dari homoseksual dan
transgender menunjukkan seseorang yang memiliki identitas pribadi dan jenis
kelamin tidak sesuai dengan seks kelahiran mereka. Di media sosial twitter LGBT
sudah tidak asing lagi disebutkan dalam perbincangan masyarakat, dan karena
sebagian besar orang Indonesia memiliki media sosial twitter maka seharusnya
mereka dapat memahami dengan baik makna LGBT ini agar dapat mengetahui
bahwa LGBT merupakan hal penyimpangan sosial sehingga dapat menghindari
pengaruh LGBT tersebut dari media sosial twitter yang mereka miliki.
2.2. Scraping
Banyaknya perbincangan tentang LGBT di media sosial twitter
mengakibatkan informasi terkait LGBT dapat diperoleh dengan mudah. Dari
sekumpulan data tweet tersebut yang dapat dijadikan sebagai bahan penelitian
untuk memperoleh informasi berharga dalam upaya mengurangi penyebaran
LGBT. Untuk mengambil data tweet tersebut dibutuhkan teknik pengambilan data
dari halaman web twitter (scraping). Scraping merupakan teknik untuk
mengumpulkan data online secara langsung, dengan kata lain scraping merupakan
teknis secara langsung mengekstraksi informasi dari kumpulan data pada situs
web [20]. Tujuan dari web scraper adalah mencari jenis informasi tertentu,
mengekstrak, dan menggabungkannya ke dalam halaman baru web [21]. Oleh
sebab itu, sehubungan dengan data yang ingin digunakan pada penelitian kali ini
yaitu data media sosial twitter, dimana data ini merupakan data berbasis online
maka diperlukan teknik scraping untuk membantu dalam mengekstraksi informasi
8
agar dapat dilanjutkan menjadi sebuah informasi berharga sebagai bahan
penelitian.
2.3. Stopword Filtering / Stopword Removal
Setelah data diambil dengan teknik scraping, kita dapat mengetahui bahwa
data twitter biasanya mengandung unsur noisy (singkatan, bentuk tidak beraturan)
yang mempersulit dalam analisa maksud dari teks sesungguhnya, sehingga untuk
mengurangi noisy pada data teks dibutuhkan penghapusan stopwords dengan
menggunakan daftar stopword yang telah disusun [22]. Contoh isi dari daftar
stopword seperti “adalah”, “ini”, “itu”, “jangan”, dan lain sebagainya. Namun
efektivitas penghapusan stopword bergantung terhadap kebutuhan penelitian.
Maka dalam penelitian kali ini, akan diselidiki apakah menghapus stopword dapat
membantu dalam klasifikasi teks dengan baik atau justru sebaliknya.
2.4. Part-of-Speech Tagging / Postagging
Noisy bukanlah satu-satunya permasalahan kualitas data dari perolehan
hasil scraping, permasalahan lainnya yaitu banyaknya bermunculan kata-kata
yang kurang informatif untuk topik yang diamati seperti kata kerja, kata
keterangan dan lain sebagainya. Hal ini dapat mengakibatkan berkurangnya
frekuensi kata yang lebih informatif dalam menggambarkan topik. Maka
dibutuhkan salah satu proses penyaringan data seperti mengambil kata-kata yang
informatif terhadap topik saja menggunakan Part-of-Speech (POS) Tagging. POS
Tagging, juga disebut grammatical tagging, adalah proses menetapkan POS tag
ke kata-kata dalam teks [23]. POS tag adalah kategori gramatikal, biasanya
termasuk kata kerja, kata benda, kata sifat, kata keterangan, dan sebagainya [23].
Namun perlakuan POS tagging ini menimbulkan kekhawatiran dalam
representasi teks sesungguhnya dari pengguna twitter karena banyaknya kata yang
terbuang. Maka berdasarkan kebutuhan penelitian, akan dilakukan percobaan
apakah POS tag ini membantu atau justru menghambat proses pengklasifikasian
teks. Pendefinisan tag untuk kata-kata berbahasa Indonesia memiliki beberapa
referensi. Maka daftar tag yang dijadikan pendefinisian tag kali ini yaitu dengan
9
mendefinisikan 45 tag untuk kata-kata bahasa Indonesia termasuk tanda baca.
Data pendefinisan tag penelitian kali ini terlihat pada Gambar 2.1.
Gambar 2.1. Himpunan data tag [24].
2.5. Pemodelan Topik
Pemodelan topik (Topic Modelling) adalah algoritma untuk menemukan
tema utama yang meliputi koleksi dokumen yang besar dan tidak terstruktur, serta
dapat mengatur koleksi dokumen tersebut sesuai dengan tema yang ditemukan
[25]. Algoritma ini dapat diadaptasikan ke banyak jenis data seperti data genetik,
gambar, dan jaringan sosial [25]. Beberapa bentuk algoritma pemodelan topik
seperti pada Gambar 2.2 diantaranya yaitu Latent Semantic Analysis (LSA) yang
melakukan pendekatan untuk pengindeksan otomatis dan pengambilan informasi
yang mencoba untuk mengatasi masalah perbedaan penggunaan kata dengan
memetakan dokumen serta istilah untuk representasi [26][27][28], kemudian
dilakukan pendekatan baru untuk memperkuat landasan statistik didalamnya dan
melakukan analisis faktor yang disebut dengan Probabilistic Latent Semantic
10
Analysis (PLSA) [29][30][31]. Dari kedua algoritma tersebut ditemukan suatu
permasalahan apabila terdapat matriks pembobotan masing-masing kata memiliki
nilai yang negatif, maka dikembangkanlah metode yang disebut dengan Non-
Negative Matrix Factorization (NMF) [32][33].
Seiring dengan perkembangannya, algoritma pemodelan topik ini terus
mengalami perkembangan guna memperoleh hasil pemodelan topik yang baik.
Dengan keunggulan dalam memperlihatkan topik yang mungkin lebih dari satu
pada teks oleh Latent Dirichlet Allocation (LDA) membuat salah satu bentuk
algoritma pemodelan topik ini banyak diminati didunia penelitian terkait
pemodelan topik. Menurut David Blei dalam penelitiannya yang berbeda [25][34]
LDA ini mudah dipahami dan memiliki hasil yang baik dalam pemodelan topik,
LDA memiliki banyak pengaplikasian baru, mereka mengembangkan LDA
dengan mengkorelasikan pesan twitter dengan berbagai aplikasi kesehatan. Pada
tahun 2006 [35], LDA kembali dikembangkan untuk data yang memiliki struktur
berubah-ubah dari waktu ke waktu. Memasuki tahun 2010, LDA semakin banyak
digunakan dalam analisa topik khususnya pada media sosial twitter seperti yang
dilakukan oleh Hong [7] yang mengamati kumpulan user dan teks pada twitter,
kemudian yang dilakukan Wayne Xin Zhao [6] untuk menemukan topik dari
twitter dengan menggunakan info user. Keterhubungan antar penelitian ini dapat
dilihat pada Gambar 2.2.
Gambar 2.2. Diagram keterhubungan penelitian terdahulu dengan penelitian yang
dilakukan.
Topic Modelling
Latent Dirichlet
Allocation (LDA)
Non-Negative Matrix
Factorization (NMF)-
2007
LDA sederhana-2003
[20]
Ailment Topic Aspect
Model (ATAM)-2003 [3]
Topics Over Time- 2006
[21]
The Author-Topic Model
(AT Model)-2010 [5]
Twitter-LDA-2011 [4] Supervised Latent
Dirichlet Allocation
(LDA)
Latent Semantic
Analysis (LSA)-1990
Probabilistic Latent
Semantic Analysis
(PLSA)-1999
11
BAB III
METODOLOGI PENELITIAN
Beberapa penelitian yang menggunakan data twitter dan memanfaatkan
informasi waktu telah dilakukan oleh para peneliti dengan berbagai tahapan untuk
mendapatkan hasil pengolahan data terbaik [5] [6] [7]. Dari ketiga referensi
tersebut, secara garis besar penelitian pada kali ini akan melakukan hal yang
serupa, namun bedanya yaitu penelitian ini akan dipadukan dengan pengamatan
secara periodikal seperti pada penelitian [35]. Oleh sebab itu, untuk lebih jelasnya
pada bab ini akan dipaparkan mengenai bagaimana bentuk sumber data dan
tahapan penelitian yang dipilih penulis atas berbagai pertimbangan permasalahan
yang dihadapi.
3. 1. Sumber Data
Data yang digunakan dalam penelitian ini adalah data sekunder berupa
tweet berbahasa Indonesia yang ditulis oleh para pengguna layanan twitter. Data
diambil mulai tanggal 01 Januari 2015 sampai dengan 30 Juni 2018 melalui
fasilitas pencarian data tingkat lanjut (Twitter Search Advance) [36] menggunakan
akun twitter pribadi yang sudah terdaftar dengan kata kunci pencarian yaitu
“LGBT” karena kata kunci ini sedang populer dalam pembahasan terkait lesbian,
gay, biesksual dan transgender. Dari fasilitas pencarian tersebut, data diambil
dalam rentang waktu perbulan dengan lengkap sampai dengan tweet terakhir pada
bulan tersebut, kemudian disimpan kedalam bentuk halaman web atau HyperText
Markup Language (HTML). Kemudian data HTML tersebut diekstraksi
menggunakan teknik scraping agar menjadi kumpulan informasi dan dapat
dianalisa lebih lanjut.
Dalam proses penyimpanan, proses preprocessing data diikutsertakan
untuk membersihkan tweet dari singkatan, simbol, dan huruf kapital yang tidak
beraturan, data terkumpul sebanyak 10.562 baris tweet yang masing-masing baris
berisikan kolom Time menunjukan waktu pengguna membagikan tweetnya,
12
Username menunjukan akun pengguna, Replies menunjukan berapa jumlah yang
membalas tweet, Retweets menunjukan jumlah yang membagikan atau
mempublikasikan kembali tweet, Likes menunjukan jumlah yang menyukai tweet ,
Language menunjukan bahasa yang digunakan dalam tweet, Tweet menunjukan
isi dari tweet dan Cleaned_Tweet berisikan tweet yang sudah melalui tahap
preprocessing seperti pada Tabel 3.1. Kemudian data disimpan kedalam bentuk
Comma Separated Values (CSV). Data 2015-2018 yang terkumpul dipecah
dengan jangka waktu persemester (setiap 6 bulan) untuk diamati. Diperoleh
jumlah tweet persemester yang berbeda-beda seperti pada Gambar 3.1.
Gambar 3.1. Jumlah tweet LGBT persemester pada tahun 2015-2018.
Pada data terdapat beberapa kata unik yaitu satu kata memiliki dua arti
seperti “dr” bermakna “dari” dan ada juga yang bermakna “dokter”, “u” yang
berarti “untuk” dan ada juga yang berarti “anda”, kemudian “tk” berarti “taman
kanak-kanak” dan “ tidak”. Karena jumlah kata yang memiliki arti lebih dari satu
tidak banyak, maka cara untuk mengatasinya dengan melakukan perubahan secara
manual sesuai dengan kalimat pada tweetnya. Tidak hanya itu, data ini juga
memiliki permasalahan dalam bahasa yang digunakan, dimana dalam tweet
mengandung bahasa asing ataupun campuran bahasa diantaranya terdapat bahasa
Malaysia, Spanyol, dan Filipina.
525 733
4607
978 838 1351 1502
01 Jan –
30 Juni
2015
01 Juli –
31 Des
2015
01 Jan –
30 Juni
2016
01 Juli–
31
Des2016
01 Jan –
30 Juni
2017
01 Juli –
31 Des
2017
01 Jan –
30 Juni
2018
Jumlah tweet LGBT Persemester Tahun 2015-2018
Jumlah Tweet Persemester
13
Tabel 3.1. Data hasil scraping dan preprocessing pada CSV.
Time Username Replies Retweets Likes Language Tweet Cleaned_Tweet
27-Jan-15 @pancuniyoldas 1 3 12 #çare
#LGBT Bakanligi
care lgbt
bakanligi
27-Jan-15 @PutraREFORMASI 1 10 5 Indonesian
Alhamdulillah merayu kes LGBT? kegilaan
apakah umno ni? Skrg anda tahu siapakah Pejuang
LGBT pic.twitter.com/4UlUIiPS48
alhamdulillah
rayu kes lgbt
gila umno juang
lgbt 4uluiips48
25-Jan-15 @yourPlainJean 1 4 2 Indonesian
@twt_LGBT punyalah susah trans nak dapat
rights pastu citer bodoh macam ni bagi pulak
lulus. pic.twitter.com/SOi0C0NzKR
lgbt punyalah
susah trans
pastu citer
bodoh lulus
soi0c0nzkr
25-Jan-15 @BACK2STONEWALL 0 2 3 Indonesian
Barbaric Anti-Gay Saudi King Abdullah DEAD
http://www.back2stonewall.com/2015/01/barbaric-
anti-gay-saudi-king-abdullah-dead.html … #p2
#WorldNews #lgbt #gay
barbaric anti
gay saudi king
abdullah mati
worldnews lgbt
gay
24-Jan-15 @prosadio 3 8 26 Indonesian
Wala kaming pake sa sinasabi niyo na pagiging
LGBT IS A SIN, Kasi ganito talaga kami simula
nung pinanganak kami. Sinasayang mo lang oras
mo
wala kaming
sinasabi niyo
pagiging lgbt
sin kasi ganito
talaga simula
nung
pinanganak
sinasayang lang
oras
24-Jan-15 @gmanews 0 4 24 Indonesian Suporta sa LGBT, ipininta sa kalsada sa Mandaue
City http://gmane.ws/18akChlÂ
suporta lgbt
ipininta kalsada
mandaue city
14
Dari data, diperoleh beberapa informasi terkait LGBT,seperti pada Tabel
3.2 yang menunjukan bahwa jumlah tanggapan dari pengguna pada satu tweet
tentang LGBT maksimal sebanyak 938 tanggapan dengan rata-rata sebesar 5,82
dari total 61.422 tanggapan. Jika kita amati tweet yang disebarkan kembali oleh
pengguna yang lain terkait LGBT dengan melihat jumlah dari reweet,
mengartikan bahwa tweet tersebut terdapat beberapa pengguna yang sependapat,
dimana pada data jumlah dari reweet paling tinggi yaitu sebesar 17.077 dengan
rata-rata 50,14 dari jumlah 529.528 jumlah reweet. Untuk jumlah pengguna
twitter yang menyukai satu tweet tentang LGBT paling tinggi yaitu sebesar 10.327
dengan rata-rata 46,65 dari 492.720 jumlah likes. Hal ini memperlihatkan bahwa
tanggapan dan penilaian masyarakat terkait LGBT di media sosial twitter masih
termasuk rendah.
Tabel 3.2. Statistik deskriptif tweet LGBT.
Descriptive Statistics
N Minimum Maximum Sum Mean
Replies 10562 0 938 61422 5.82
Retweet 10562 0 17077 529528 50.14
Likes 10562 0 10327 492720 46.65
Valid N (listwise) 10562
3. 2. Tahapan Penelitian
Sub bab tahapan penelitian ini berisikan tentang tahapan-tahapan yang
dilakukan atau metode yang digunakan mulai dari mempersiapkan data, membuat
model sampai dengan evaluasi serta interpretasi hasil penelitian sehingga dapat
disimpulkan suatu hal yang bermanfaat. Pada skripsi ini penulis menggunakan
aplikasi python versi 3.6.1 dengan bantuan beberapa modul diantaranya seperti
sklearn [37], spacy [38] dan nltk [39]. Sklearn yang digunakan untuk analisis data
ini memiliki beberapa alat berupa modul didalamnya seperti NumPy untuk
melakukan pembersihan data menjadi data siap olah, SciPy untuk penghapusan
duplikasi data, dan matplotlib untuk membantu dalam visualisasi distribusi topik.
Kemudian nltk digunakan untuk pengolahan data terkait kebahasaan seperti
15
tokenisasi dan POS tagging, dan spacy untuk membantu dalam tahapan mengubah
setiap kata menjadi kata dasarnya.
3.2.1. Preprocessing
Data media sosial yang mengandung noisy (singkatan, bentuk tidak
beraturan), isi teks kosong atau missing value, bahkan banyak karakter yang sulit
terbaca oleh komputer mengakibatkan data sulit untuk diolah dan rendahnya
kualitas interpretasi data. Maka untuk menghadapi persoalan tersebut, diperlukan
pembersihan data atau biasa dikenal dengan preprocessing data. Pembersihan data
terdiri dari berbagai macam perlakuan dan masing-masing perlakuan akan berbeda
sesuai dengan kebutuhan penelitian. Pada penelitian kali ini akan digunakan
tahapan preprocessing seperti penggunaan Lemmatizer, tokenisasi, penghapusan
simbol kecuali “,” (koma) dan “.” (titik), serta penjabaran singkatan atau
memperbaiki kesalahan tipografi (typo).
3.2.1.1. Lemmatizer / Lemmatization
Lemmatization adalah proses transformasi untuk menemukan bentuk
normalisasi satu kata [40]. Lemmatization ini akan mengubah kata menjadi kata
dasarnya, sehingga akan lebih mudah menemukan inti kata pada teks. Penelitian
ini menggunakan lemmatization untuk memudahkan pencarian informasi dari teks
menggunakan kata dasar dalam proses analisa.
3.2.1.2. Tokenization / Tokenizing / Tokenisasi
Pada data teks terdiri dari rangkaian kata yang terpisahkan satu sama lain
oleh karakter seperti spasi. Sebelum melakukan analisis teks setiap kalimat pada
teks harus melakukan isolasi atau pemecahan kata, isolasi kata dari teks ini
disebut tokenisasi [41]. Pemecahan kata diperlukan dalam penelitian kali ini untuk
dapat membantu dalam preprocessing, proses pembobotan kata, dan POS tagging.
Untuk tokenize sebuah document banyak alat yang dapat digunakan seperti
Nlpdotnet Tokenizer, Mila Tokenizer, NLTK Word Tokenize, TextBlob Word
Tokenize, MBSP Word Tokenize, Pattern Word Tokenize, dan Word Tokenization
16
with Python NLTK [42]. Pada penelitian kali ini alat yang digunakan yaitu
TextBlob Word Tokenize.
3.2.2. Model
Setelah data siap diolah, data dibagi sesuai periodenya yaitu satu semester
untuk kemudian mulai dianalisa persemester. Langkah pertama penganalisaan
yaitu dengan membentuk model. Pembentukkan model yang dilakukan sebagai
berikut:
3.2.2.1. Pelabelan kategori topik
Pelabelan kategori topik seperti politik, pemerintahan, keasusilaan dan lain
sebagainya pada masing-masing tweet bergantung pada isi teks, kemudian dipilih
kategori topik yang dominan muncul dari seluruh tweet yang ada, kemudian
masing-masing kategori di visualisasikan menggunakan wordcloud dan wordlink.
3.2.2.2. Melakukan Postagging
Postagging yang dilakukan seperti pada Tabel 3.3 dan mengambil kata
dengan tanda NN, NNP, NNS, dan NNPS berdasarkan data himpunan POS tag,
karena dengan tag tersebut kita dapat lebih mudah menemukan kata-kata penting
sesuai kategori topik.
Tabel 3.3. Hasil pemberian tag pada kata.
Tweet Kata Dengan Tag
'saya tengah cari part waktu sosial
media marketer rm1500 perempuan
seorang aktivis hak asasi manusia
lgbt dan lain lain tweet lgbt
mention',
[('saya', 'PRP'),
('tengah', 'MD'),
('cari', 'VB'),
('part', 'NN'),
('waktu', 'NN'),
('sosial', 'JJ'),
('media', 'NN'),
('marketer', 'NN'),
('rm1500', 'CD'),
('perempuan', 'NN'),
('seorang', 'NND'),
('aktivis', 'NN'),
('hak', 'NN'),
('asasi', 'NN'),
('manusia', 'NN'),
('lgbt', 'NN'),
17
('dan', 'CC'),
('lain', 'JJ'),
('lain', 'JJ'),
('tweet', 'FW'),
('lgbt', 'FW'),
('mention', 'FW')],
3.2.2.3. Menghapus duplikasi
Hapus duplikasi tweet biasa dilakukan untuk menghindari adanya tweet
yang sama dari satu pengguna namun muncul berkali-kali agar termasuk tweet
yang penting dimedia sosial twitter. Maka dari itu perlu diamati terlebih dahulu
apakah penghapusan duplikasi ini berpengaruh baik terhadap pengamatan atau
sebaliknya.
3.2.2.4. Melakukan Stop Word Filtering
Pada bab dua telah dipaparkan mengenai stopword filtering, dan pada
penelitian kali ini akan dilakukan proses dengan menambahkan stopword filtering
ataupun tidak untuk diamati bagaimana hasil model yang diperoleh dan kemudian
akan diambil model yang terbaik.
3.2.2.5. Pembobotan Kata atau Term Weighting
Pembobotan kata merupakan hal yang diperlukan dalam proses
pengolahan data teks untuk memunculkan kata-kata penting pada teks, dimana
komponen yang mempengaruhi pentingnya sebuah kata yaitu faktor frekuensi kata
atau term frequency ( ), inverse document frequency ( ), dan normalisasi
panjang dokumen [43]. Pada penelitian kali ini pembobotan kata yang akan
digunakan yaitu Term Frequency ( ) dan normalisasi panjang dokumen. Term
Frequency merupakan banyaknya term atau kata yang muncul pada dokumen
[44]. Rumus perhitungan pembobotan kata untuk probabilitas dapat dituliskan
sebagai berikut [45]:
(
). (3. 1)
Dokumen yang dimaksud dalam rumus perhitungan pembobotan kata pada
penelitian kali ini yaitu tweet hasil preprocessing. Hasil perhitungan pembobotan
18
kata kemudian disimpan kedalam bentuk vektor dengan baris menunjukan indeks
tweet. Selain itu, teknik normalisasi pada proses pembobotan yang digunakan
pada penelitian diantaranya yaitu Maximum . Teknik maximum ini
merupakan teknik yang populer dalam normalisasi dengan batas maksimum faktor
yaitu 1.0 [43]. Setelah melakukan beberapa kali percobaan nilai maximum ,
pada penelitian kali ini dipilih sebesar 0.75.
Selain itu, pembobotan kata ini juga digunakan untuk penghapusan data
yang rangkap (duplikasi) dengan menggunakan Cosine. Teknik cosine digunakan
untuk percobaan penghapusan duplikasi data dengan menghitung
√
dimana merupakan bobot pada setiap kata [43].
Duplikasi teks pada data diperlukan atau tidak bergantung pada tujuan penelitian,
dan pada penelitian kali ini akan menerapkan keduanya (dengan penghapusan
duplikasi dan tidak) untuk melihat hasil terbaik. Proses penghapusan duplikasi
dilakukan dengan membandingkan nilai antar vektor term frequency yang
terbentuk. Perbandingan ini dilakukan dengan menentukan nilai ambang batas
terlebih dahulu sebagai standar penentuan penghapusan vektor, yaitu jika nilai
perhitungan cosine dari satu elemen pada vektor memiliki nilai kurang dari
ambang batas maka elemen tersebut akan dihapus dari vektor. Nilai ambang batas
ini berkisar 0 sampai 1, dimana 0 mengartikan bahwa tidak ada kesamaan antar
vektor yang dibandingkan dan 1 untuk sebaliknya. Maka penelitian kali ini
memilih ambang batas sebesar 0.99 yang artinya teks akan dihapus jika isinya
benar-benar sama.
3.2.2.6. Latent Dirichlet Alocation
Jika masing-masing teks yang sudah dibobotkan sebelumnya mengandung
lebih dari satu topik, maka untuk mendapatkan informasi dari teks tersebut dapat
dilakukan pengelompokan secara halus (soft clustering). Salah satu contoh metode
dengan soft clustering yang sering digunakan dalam data teks yaitu Latent
Dirichlet Allocation (LDA) dengan teknik mengidentifikasi informasi topik laten
(tersembunyi) dalam koleksi dokumen besar menggunakan pendekatan bag of
words (cara representasi data teks) yang memperlakukan setiap dokumen sebagai
19
vektor jumlah kata dan direpresentasikan sebagai distribusi probabilitas atas
beberapa topik, sementara setiap topik direpresentasikan sebagai distribusi
probabilitas atas sejumlah kata [7]. Probabilitas disini merupakan suatu nilai yang
digunakan untuk mengukur tingkat terjadinya suatu kejadian yang acak [46].
Distribusi probabilitas dapat dituliskan dengan struktur bebas bersyarat
antar variabel menggunakan grafik agar lebih mudah, atau biasa disebut dengan
probabilistic graphical model seperti pada contoh Gambar 3.2. Pada Gambar 3.2
mengartikan bahwa tanah basah terjadi akibat adanya hujan dan cuci motor
terlebih dahulu, lalu tanaman tumbuh disebabkan oleh tanah yang basah. Sehingga
dari grafik tersebut kita dapat melihat probabilitasnya dengan gabungan distribusi
seperti:
𝑃(𝐶,𝐷|𝐴,𝐵)=𝑃(𝐴)𝑃(𝐵)𝑃(𝐶|𝐴,𝐵)𝑃(𝐷|𝐶). (3.2)
Sehingga dari persamaan dan grafik model probabilistik kita dapat lebih mudah
untuk mengetahui variabel mana yang diberikan atau diketahui terlebih dahulu
sesuai kejadian, dan keterkaitan antar variabel untuk melihat probabilitasnya.
Gambar 3.2. Contoh model grafik probabilistik (probabilistic graphical model).
Model grafik probabilitas LDA pada Gambar 3.3 kurang lebih memiliki
gambaran proses kerja seperti probabilistic graphical model.
Tanah Basah (C)
Hujan (A)
Tanaman
Tumbuh (D)
Cuci Motor (B)
20
(a) (b)
Gambar 3.3. Representasi model grafis dari LDA (a) Representasi model grafis
LDA (2002) [34] (b) Representasi model grafis LDA (2008) [47].
Berikut pemaparan langkah kerja dari LDA sesuai pada Gambar 3.3:
1. Penentuan parameter utama ( , )
Dari Gambar 3.3 dengan cara yang sama menggunakan probabilistic
graphical model dapat diketahui terdapat beberapa parameter yang dibutuhkan
diantaranya yaitu variabel dan yang biasa disebut dengan parameter prior
dirichlet, serta penentuan jumlah topik ( ). Nilai dan merupakan bilangan
rill positif yang tidak lebih dari 1 atau dapat dituliskan , dan
untuk nilai optimalnya didekati secara numerik menggunakan algoritma gibbs
sampling dalam menentukan jumlah topik terlebih dahulu seperti pada
Gambar 3.4, dimana untuk setiap dari satu sampai banyaknya jumlah kata
( ) akan dilakukan penarikan suatu nilai yang didefinisikan dengan variabel
yang seragam dari nol sampai satu, kemudian untuk setiap topik satu sampai
banyaknya topik ( ) akan dihitung peluang masing-masing topik atau .
Hal ini dilakukan sampai dengan
, maka jumlah topiknya ( ) yaitu
sejumlah topik dalam kata ke dokumen ke ( ).
21
Gambar 3.4. Algoritma gibbs sampling untuk LDA.
Semakin tinggi nilai maka mengartikan bahwa setiap dokumen
mengandung sebagian besar topik, dan semakin rendah nilai maka dokumen
memiliki kemungkinan diwakili oleh beberapa topik saja. Sementara semakin
tinggi nilai maka suatu topik mengandung campuran sebagian besar kata-
kata, sedangkan semakin rendahnya nilai maka suatu topik hanya
mengandung campuran dari beberapa kata-kata.
2. Secara acak menetapkan topik untuk setiap kata dalam setiap dokumen/tweet
seperti pada Tabel 3.1.
Tabel 3.4. Contoh data yang akan ditetapkan topik secara acak [48]
No Data/Tweet ( )
Kata dalam
Tweet (Token
tweet)
Kata Unik ( )
terhadap
kata dalam
Tweet
1
makan kalkun
pada hari
libur kalkun
"makan"
"kalkun"
"pada"
"hari"
"libur"
"kalkun"
1. "makan"
2. "kalkun"
3. "pada"
4. "hari"
5. "libur"
6. "saya"
7. "suka"
8. "kue"
9. "di”
1
2
3
4
5
2
2 saya suka makan
kue di hari libur
"saya"
"suka"
"makan"
6
7
1
22
"kue"
"di"
"hari"
"libur"
8
9
4
5
Kata unik dalam tweet untuk keseluruhan dokumen/tweet yang ada dapat
diperoleh dari hasil pembobotan kata, kemudian penetapan topik dapat
dilakukan untuk setiap kata dalam setiap dokumen/tweet secara acak. Hal ini
dapat dituliskan dengan matriks sebagai berikut:
[
]
dimana berarti topik ke- untuk kata unik ke- , dapat dilihat contoh
lebih lanjutnya seperti pada Tabel 3.2.
Tabel 3.5. Contoh tabel topik untuk setiap kata dalam setiap dokumen/tweet
Kata Unik ( )
1 2 3 4 5 6 7 8 9
Topik ( )
1 2 1 0 1 1 1 1 1 1
2 0 1 1 1 1 0 0 0 0
3. Menentukan kategori topik untuk setiap kata dalam masing-masing
dokumen/tweet seperti contoh pada Tabel 3.3.
Tabel 3.6. Contoh tabel topik kategori topik untuk setiap kata dalam masing-
masing dokumen/tweet
Tweet 1 ( ) Tweet 2 ( )
Token Tweet Kategori Topik Token Tweet Kategori Topik
"makan"
"kalkun"
"pada"
"hari"
"libur"
"kalkun"
1
2
2
2
1
1
"saya”
"suka"
"makan"
"kue"
"di"
"hari"
"libur"
1
1
1
1
1
1
2
23
4. Membuat matriks topik untuk setiap dokumen di mana jumlah tersebut sesuai
dengan jumlah token yang ditetapkan untuk setiap topik untuk setiap dokumen
seperti pada Tabel 3.4.
Tabel 3.7. Jumlah token tweet pada topik untuk setiap dokumen
Topik
Dokumen 1 2
1 3 3
2 6 1
Jumlah token tweet pada topik untuk setiap dokumen tersebut kemudian
dihitung probabilitasnya menggunakan persamaan berikut:
∑
∏
∏
(3.3)
Sedemikian sehingga diperoleh sebagai kumpulan campuran topik yang
berbentuk matriks probabilitas topik terhadap dokumen seperti pada matriks
berikut:
[
]
yang mengartikan bahwa berarti kumpulan campuran topik ke- pada
dokumen ke- . Seperti pada contoh sebelumnya, matriks probabilitas topik
terhadap dokumen diperoleh sebagai berikut:
*
+
5. Memperbarui topik secara acak ke dalam satu token pada satu waktu. Dari
kumpulan campuran topik ( ), dapat dipisahkan masing-masing topik ( ) dari
campuran topik tersebut. Sehingga diperoleh sebuah matriks baru yang
berisikan nilai probabilitas kata terhadap dokumen untuk masing-masing topik
sebagai berikut:
24
[
]
dimana nilai mengartikan topik untuk dokumen ke- pada kata ke- ,
dengan atau dapat diartikan terdapat sebanyak jumlah topik yang
ada dari campuran topik, dan nilai masing-masing probabilitasnya dapat
dihitung menggunakan persamaan berikut:
∏ ∏
. (3.4)
Variabel dan ini biasa disebut dengan parameter laten atau parameter
posterior dirichlet. Berikut contoh perubahan topik yang terjadi pada data
contoh yang sebelumnya digunakan:
[1] "doc:1 token:2 topic:2=>1" [1] "doc:1 token:3 topic:2=>1" [1] "doc:1 token:4 topic:2=>1" [1] "doc:1 token:5 topic:1=>2" [1] "doc:2 token:1 topic:1=>2" [1] "doc:2 token:2 topic:1=>2" [1] "doc:2 token:5 topic:1=>2" [1] "doc:2 token:1 topic:2=>1" [1] "doc:1 token:3 topic:1=>2" [1] "doc:2 token:4 topic:1=>2" [1] "doc:2 token:5 topic:2=>1"
6. Probabilitas topik yang diperoleh ( ) dan distribusi kata pada topik ( )
menghasilkan probabilitas kata-kata yang muncul sebagai hasil akhir
pembentukan model ( ). Sehingga hasil dari model untuk satu dokumen ini
akan memunculkan kata-kata dari kelompok topik yang terbentuk, dan kata-
kata ini dapat membantu dalam pendefinisian kategori setiap kelompok.
Sehingga total probabilitas berdasarkan grafik model LDA dapat dihitung
menggunakan persamaan berikut:
∏ ( )
∏
∏ ( | ) ( | )
(3.5)
25
Distribusi diformulasikan sebagai berikut:
∏
∏
∏
(3.6)
dimana merupakan banyaknya kata. Kemudian probabilitas kata untuk
setiap topik dapat dihitung menggunakan persamaan berikut:
∏ ∏
. (3.7)
Dengan menggunakan contoh yang sama, diperoleh hasil akhir pemodelan
dengan LDA sebagai berikut:
Tabel 3.8. Hasil probabilitas distribusi kata untuk setiap topik.
Topik ( )
Kata Unik ( )
makan kalkun pada hari libur saya suka kue di
1
0.2498439256
0.2498439256
0.0001248595
0.2498439256
0.0001248595
0.1249843926
0.0001248595
0.0001248595
0.1249843926
2
0.0001996406
0.0001996406
0.1998402875
0.0001996406
0.3994809343
0.0001996406
0.1998402875
0.1998402875
0.0001996406
3.2.3. Visualisasi dan Interpretasi
Model yang telah terbentuk kemudian siap untuk divisualisasikan dan
diinterpretasikan terhadap data sesungguhnya. Pada penelitian kali ini, visualisasi
yang digunakan yaitu menggunakan Bar Plot dengan interpretasi untuk
menggambarkan hasil distribusi topik dari waktu ke waktu, Radar Plot untuk
analisis kategori topik terhadap waktu dan Petal Plot sebagai ringkasan analisa
topik secara keseluruhan. Kemudian dari hasil visualisasi dapat dilakukan
interpretasi terhadap data. Proses penelitian yang dilakukan dapat dilihat pada
gambar 3.5. Untuk mendapatkan model terbaik dilakukan beberapa perlkuan
tambahan seperti pada Gambar 3.5.
26
Gambar 3.5. Diagaram alur klasifikasi pembelajaran.
Gambar 3.6. Percobaan yang dilakukan dalam memperoleh model.
27
BAB IV
HASIL DAN PEMBAHASAN
Pada bab ini preprocessing data, pembentukan model dari topik LGBT,
dan hasil implementasi model dalam bentuk radar plot dijabarkan lebih lanjut.
4. 1. Preprocessing Data
Prepocessing dilakukan setelah proses penyimpanan hasil scrapping, yang
terdiri dari proses URL removals, Symbol Removals (kecuali “,” dan “.”),
Lemmatizer, penjelasan singkatan (slang) atau typo, serta filtering tweet yang
bukan bahasa Indonesia. Hasil dari preprocessing tersebut berbentuk Comma
Separated Value (CSV) seperti pada Tabel 4.1.
Tabel 4.1. Data hasil preprocessing.
Tweet Cleaned_Tweet
#çare
#LGBT Bakanligi care lgbt bakanligi
Saya tengah cari part-time social media marketer,
RM1500. Perempuan. Seorang aktivis Hak Asasi
Manusia- LGBT dll. @twt_LGBT mention me.
cari part sosial media marketer
rm1500 perempuan orang aktivis hak
asasi manusia lgbt dll. lgbt mention
Alhamdulillah merayu kes LGBT? kegilaan apakah umno
ni? Skrg anda tahu siapakah Pejuang LGBT
pic.twitter.com/4UlUIiPS48
alhamdulillah rayu kes lgbt gila
umno juang lgbt 4uluiips48
@twt_LGBT punyalah susah trans nak dapat rights pastu
citer bodoh macam ni bagi pulak lulus.
pic.twitter.com/SOi0C0NzKR
lgbt punyalah susah trans pastu citer
bodoh lulus soi0c0nzkr
Barbaric Anti-Gay Saudi King Abdullah DEAD
http://www.back2stonewall.com/2015/01/barbaric-anti-
gay-saudi-king-abdullah-dead.html … #p2
#WorldNews #lgbt #gay
barbaric anti gay saudi king abdullah
mati worldnews lgbt gay
Wala kaming pake sa sinasabi niyo na pagiging LGBT IS
A SIN, Kasi ganito talaga kami simula nung pinanganak
kami. Sinasayang mo lang oras mo
wala kaming sinasabi niyo pagiging
lgbt sin kasi ganito talaga simula
nung pinanganak sinasayang lang
oras
Suporta sa LGBT, ipininta sa kalsada sa Mandaue City
http://gmane.ws/18akChlÂ
suporta lgbt ipininta kalsada mandaue
city
MMU film season celebrates LGBT cinema
http://www.mmu.ac.uk/news/news-items/3208/ …
#Shortbus @ManMetUnipic.twitter.com/iDh3d4NfSn
mmu film season celebrates lgbt
bioskop shortbus
manmetunipic.twitter.com
idh3d4nfsn
28
Karena penelitian ini diamati persemester dari tujuh semester yang ada, maka
akan dilakukan pengambilan sampel pada semester pertama yang kemudian akan
dilatih untuk mendapatkan topik model LDA. Model yang sudah dilatih tersebut
akan digunakan untuk melihat distribusi topik pada semester lainnya.
4. 2. Wordcloud dan Wordlink Kategori Topik
Dari hasil pelabelan topik secara manual pada teks yang sudah
dibersihkan, diperoleh 14 topik yang sering dikaitkan dengan pembicaraan LGBT
di media sosial twitter yaitu Politik, Agama, Pemerintahan, Pendidikan,
Keasusilaan, Kewarganegaraan, Olahraga, Budaya, Adat, Teknologi, Makanan,
Trend, Ekonomi dan Barang. Namun dari 14 kategori tersebut dipilih menjadi
delapan kategori yang sering muncul saja diantaranya Politik, Agama,
Pemerintahan, Keasusilaan, Kewarganegaraan, Budaya, Teknologi dan Lainnya
(berisikan kategori topik yang tidak terpilih). Kemudian masing-masing tweet
dengan label kategori tersebut divisualisasikan menggunakan wordcloud dan
wordlink dengan aplikasi voyant tools [49] untuk melihat kata-kata yang dapat
dijadikan sebagai ciri-ciri dari kategori topik sehingga lebih mudah untuk
mengetahui isu yang dibicarakan.
Seperti pada Gambar 4.1, isu agama yang beredar terkait pembahasan
LGBT yaitu bahwa persepsi masyarakat mengenai dukungan terhadap LGBT
merupakan hal yang salah dari segi keagamaan, seperti pada tweet
“!!@onlyaidee: Istri nabi Luth ga diselamatin Allah krn mendukung
gay,dibinasakan Allah. Siapa Loe pede banget dukung LGBT? Yakin selamat?”
dan masih banyak lagi penilaian masyarakat lainnya yang sebagian besar tidak
membenarkan tindakan dukungan terhadap LGBT.
29
Gambar 4.1. Wordcloud dan Wordlink kategori topik agama.
Tidak jauh berbeda dengan isu agama, isu budaya yang beredar dalam
pembicaraan tentang LGBT pada Gambar 4.2 juga memperlihatkan bentuk
ketidak nyamanan masyarakat terhadap hal-hal yang dianggap sebagai ciri dari
pendukung LGBT dan sering dijadikan suatu kebiasaan atau budaya seperti pada
tweet “Wallahi, kaum LGBT telah merusak indahnya warna dan dalamnya makna
PELANGI. - (via herricahyadi) bener... http://tmblr.co/ZsTayt1oTMo-7”.
Gambar 4.2. Wordcloud dan Wordlink kategori topik budaya.
Isu pemerintahan yang muncul dalam pembicaraan LGBT seperti pada Gambar
4.3 juga memperlihatkan bahwa adanya dukungan dari anggota pemerintah
terhadap LGBT merupakan hal yang tidak dibenarkan masyarakat dan
menimbulkan berbagai penolakan, seperti yang disampaikan pada salah satu tweet
“dulu LGBT dicibir, skrg diterima di seluruh AS. kaum pedofili sdg menempuh
jalan yg sama yg ditempuh kaum LGBT”.
30
Gambar 4.3. Wordcloud dan Wordlink kategori topik pemerintahan.
Dalam pembicaraan LGBT juga sering kali dikaitkan dengan adanya
pengakuan kedudukan para pelaku LGBT. Akibatnya isu kewarganegaraan ini
sering kali muncul pada pembicaraan LGBT seperti pada Gambar 4.4 mengenai
kebebasan para pelaku LGBT merupakan hal yang tidak bisa diterima masyarakat,
seperti salah satu tweet “wkwkwk pake dikultwit in pula pro kontranya
"@hilaz_28: LGBT disahkan di USA, yang kebakaran jenggot orang Indonesia
:)"”.
Gambar 4.4. Wordcloud dan Wordlink kategori topik kewarganegaraan.
Dilain sisi, hal yang tidak asing lagi sering kali muncul dalam perbincangan
masyarakat termasuk dalam pembicaraan LGBT yaitu isu politik seperti pada
Gambar 4.5 memperlihatkan bahwa isu politik yang muncul dalam isu LGBT
sebagian besar berupa penolakan masyarakat terhadap para pendukung LGBT
yang berusaha mendapatkan dukungan para petinggi partai politik pada setiap
pemilihan pemerintahan seperti pada salah satu tweet “saat pilpres si artis ngetwit
dukung jokowi, diblowup media jokower. nah kalo skrg ditulis 'Artis Pendukung
Jokowi Dukung LGBT' kok sewot?”.
31
Gambar 4.5. Wordcloud dan Wordlink kategori topik politik.
Hal lain yang muncul dalam pembicaraan LGBT sebagai upaya mendapatkan
dukungan kedudukan yaitu adanya isu teknologi yang dapat dilihat pada Gambar
4.6. Hasil pada Gambar 4.6 memperlihatkan bahwa berbagai media dijadikan
sarana penyebaran bentuk LGBT agar penyimpangan seksual ini dianggap hal
yang sudah tidak asing lagi dikalangan masyarakat sehingga dapat diakui
keberadaannya, seperti pada tweet “Perusakan Perilaku Publik Oleh Media
Dengan Penayangan Perilaku Banci/LGBT" by @SrigalaPagi has been Chir..
http://chirpstory.com/li/262370”.
Gambar 4.6. Wordcloud dan Wordlink kategori topik teknologi.
Karena LGBT ini merupakan salah satu bentuk penyimpangan seksual,
maka tidak heran terdapat beberapa penolakan yang mengakibatkan adanya
tindakan-tindakan asusila yang diterima para pelaku LGBT dari lingkungannya
baik itu dari teman atau bahkan anak mereka seperti diskriminasi, tidak adanya
kebebasan hak kemanusiaan, dan lain sebagainya seperti pada Gambar 4.7.
Tertera pada salah satu tweet yang memperlihatkan bahwa adanya tindakan
keasusilaan seperti “LGBT itu dianggap kriminal buat mereka, lha iya kalo trs
mereka melakukan kejahatan thd orang lain. Lha kalo hidup tenang2 aja?”.
32
Gambar 4.7. Wordcloud dan Wordlink kategori topik keasusilaan.
Selebihnya dalam perbincangan LGBT ini sering kali dikaitkan dengan berbagai
isu seperti pada tweet “Selepas buku kerja mesra-LGBT, muncul satu lagi buku
kerja cerita pengalaman "diraba punggung". [Pix @hydir_ruslin]
pic.twitter.com/OdOno4GLMi”, memperlihatkan bahwa dukungan LGBT ini
dilakukan dalam berbagai bentuk dan tidak disukai oleh masyarakat lantaran
memiliki bahaya dan dampak yang misteri tersendiri dibaliknya seperti yang
muncul pada Gambar 4.8.
Gambar 4.8. Wordcloud dan Wordlink kategori topik lainnya.
4. 3. Hasil Pemodelan Latent Dirichlet Allocation
Setelah melihat pembicaraan isu-isu yang ada pada perbincangan LGBT di
media sosial menggunakan Wordcloud dan Wordlink, diperoleh acuan kata-kata
yang dapat dijadikan ciri-ciri kelompok topik dalam pendefinisian topik, maka
pengelompokkan dilanjutkan menggunakan LDA. Untuk menghasilkan
pengelompokan yang baik, maka dilakukan percobaan memodelkan topik
menggunakan LDA dengan beberapa perlakuan penambahan preprocessing yang
33
berbeda. Perlakuan yang berbeda ini terdiri dari kombinasi tiga perlakuan yaitu
hapus duplikasi, pengambilan kata dengan POS tag, dan stopword filtering.
Perbedaan yang terjadi setelah melakukan beberapa percobaan dari tiga
kombinasi tersebut yaitu adanya perubahan ukuran Vector Space Model (VSM)
dimana VSM berbentuk vektor dengan nilai baris menunjukan jumlah dokumen
atau pada penelitian ini yaitu jumlah tweet dan kolom menunjukan jumlah kata
yang muncul. Vektor ini dihitung dengan pembobotan kata seperti pembahasan
sebelumnya. Secara garis besar diperoleh bahwa perlakuan dengan hapus
duplikasi mengakibatkan berkurangnya jumlah tweet namun jumlah kata-kata
yang muncul tidak berubah karena perlakuan ini hanya menghapus salah satu
tweet yang memiliki isi sama. Sehingga frekuensi munculnya tweet yang penting
menjadi berkurang, padahal tweet yang sama justru mempengaruhi probabilitas
tweet yang penting. Selain itu, kata-kata yang muncul justru memperlihatkan kata
yang tidak mengandung makna seperti kata “yang”, “atau”, “dengan”, dan lain
sebagainya sehingga sulit dalam pendefinisian kelompok oleh kata-kata tersebut.
Pada percobaan menggunakan POS tag mengakibatkan adanya perubahan
jumlah tweet dan jumlah kata yang muncul dikarenakan perlakuan ini hanya
mempertahankan tweet yang memiliki kata dengan tag yang dipilih yaitu kata
benda. Percobaan ini mengakibatkan terhapusnya kata-kata yang bukan
merupakan tag terpilih, sehingga kurangnya kata-kata didalam kelompok yang
terbentuk dan akan mempersulit proses pendefinisian kelompok. Akan tetapi
dengan POS tag, hasil kata-kata yang muncul lebih bersih jika dibandingkan
dengan hasil hapus duplikasi, namun belum bisa dikatakan model yang terbentuk
dengan POS tag merupakan model terbaik karena pendefinisian kelompok masih
belum jelas.
Dilain perlakuan yaitu dengan stopword filtering mengakibatkan adanya
perubahan pada jumlah tweet dan kata yang muncul. Kata yang muncul jauh lebih
bersih dari POS tag dan hapus duplikasi. Hal ini menunjukan bahwa hasil dengan
penambahan perlakuan stopword filtering jauh lebih baik dalam hal menampilkan
kata-kata yang muncul, dengan begitu kita memiliki 4 kemungkinan perlakuan
untuk memperoleh model terbaik diantaranya yaitu:
34
1. Dengan POS tag, hapus duplikasi dan stopword filtering.
2. Dengan POS tag dan stopword filtering.
3. Dengan hapus duplikasi dan stopword filtering.
4. Dengan stopword filtering saja.
Perbedaan lainnya setelah melakukan pengelompokan menggunakan LDA
yaitu terlihat pada hasil visualisasi LDA. Hasil visualisasi terbaik diperoleh pada
perlakuan yang hanya menambahkan proses stopword filtering. Hal ini
dikarenakan, pendefinisian masing-masing kelompok oleh kata-kata yang muncul
pada hasil visualisasi LDA dapat terlihat, sehingga memudahkan dalam penentuan
kategori kelompok seperti pada Gambar 4.9. Secara berturut-turut pada model
LDA dengan stopword filtering mendefinisikan kategori kelompok yang terbentuk
dari 1 sampai dengan 8 masing-masing terkait topik agama, lainnya,
pemerintahan, teknologi, keasusilaan, budaya, politik dan kewarganegaraan.
Gambar 4.9. Visualisasi LDA pada data sampel dengan penambahan proses
stopword filtering.
35
Kemudian model terbaik ini akan dijadikan sebagai data training untuk dijadikan
acuan langkah berikutnya pada testing data dan visualisasi serta interpretasi
keseluruhan data.
4. 4. Distribusi Topik terhadap Waktu
Model terbaik yang terpilih dari pengujian pada sampel (semester pertama
2015) menghasilkan distribusi topik yang tidak normal, maka dari itu untuk
melihat distribusi topik dilakukan penormalan data sehingga diperoleh distribusi
topik seperti pada Gambar 4.10. Dari Gambar 4.10 terlihat bahwa adanya
perbedaan yang jelas pada probabilitas kata dalam pembicaraan LGBT yang
mengalami fluktuatif cukup beragam dan tidak memiliki pola tertentu dari waktu
ke waktu. Hal ini mengartikan bahwa ragam penggunaan kata yang dikaitkan
dengan isu LGBT cenderung tidak berubah meskipun pada periode Januari-Juni
2015 perbincangan LGBT pada media sosial twitter banyak dikaitkan dengan
kata-kata terkait budaya. Untuk kategori “lainnya” dihilangkan pada visualisasi
berikutnya karena terlalu beragam dan kurang berkontribusi.
Gambar 4.10. Distribusi topik terhadap waktu.
0
0.05
0.1
0.15
0.2
0.25
Pro
bab
ilita
s
Kategori Topik
Pembicaraan Topik LGBT dari Waktu ke Waktu
smt1 2015
smt2 2015
smt1 2016
smt2 2016
smt1 2017
smt2 2017
smt1 2018
36
4. 5. Analisis Kategori Topik terhadap Waktu
Perubahan perbincangan LGBT dari waktu ke waktu dapat dilihat dari
probabilitas distribusi kata menggunakan radar plot seperti pada Gambar 4.11.
Dari Gambar 4.11, dapat disimpulkan beberapa informasi penting seperti pada
kategori topik terkait politik, probabilitas keragaman katanya memiliki jumlah
yang cukup tinggi pada periode semester satu tahun 2015 dan semester dua tahun
2017. Jika diamati lebih lanjut pada periode semester satu tahun 2015 sedang
terjadi peristiwa paska adanya pemilihan presiden dan pelegalan kasus LGBT di
Amerika Serikat yang mempengaruhi pergerakan LGBT di seluruh dunia, dan hal
dianggap kasus ini menjadi tugas baru bagi presiden yang terpilih saat itu.
Sementara pada semester dua tahun 2017 peristiwa yang terjadi adanya salah satu
calon kepala daerah Jawa Barat yang dinilai mendukung LGBT dan sering kali
memberikan tanggapan terhadap LGBT sehingga hal ini dianggap masyarakat
sebagai pengalihan isu menjelang pemilihan kepala daerah (pilkada) Jawa Barat
pada tanggal 27 Juni 2018 [50]. Keterkaitan dengan adanya peristiwa Pilkada
Jawa Barat tersebut mengindikasikan adanya kemungkinan pengaitan isu LGBT
dengan isu politik di Indonesia.
00.20.40.60.8
1smt1 2015
smt2 2015
smt1 2016
smt2 2016smt1 2017
smt2 2017
smt1 2018
Teknologi
00.20.40.60.8
1smt1 2015
smt2 2015
smt1 2016
smt2 2016smt1 2017
smt2 2017
smt1 2018
Agama
37
Gambar 4.11. Analisis kategori topik terhadap waktu.
00.20.40.60.8
1smt1 2015
smt2 2015
smt1 2016
smt2 2016smt1 2017
smt2 2017
smt1 2018
Pemerintahan
00.20.40.60.8
1smt1 2015
smt2 2015
smt1 2016
smt2 2016smt1 2017
smt2 2017
smt1 2018
Keasusilaan
00.20.40.60.8
1smt1 2015
smt2 2015
smt1 2016
smt2 2016smt1 2017
smt2 2017
smt1 2018
Kewarganegaraan
00.20.40.60.8
1smt1 2015
smt2 2015
smt1 2016
smt2 2016smt1 2017
smt2 2017
smt1 2018
Budaya
00.20.40.60.8
1smt1 2015
smt2 2015
smt1 2016
smt2 2016smt1 2017
smt2 2017
smt1 2018
Politik
38
4. 6. Ringkasan Analisa Topik Secara Keseluruhan
Untuk melihat pola atau gambaran probabilitas kata pada semua kategori
terpilih disetiap periode, kita dapat melihat menggunakan petal plot seperti pada
Gambar 4.12. Hasil petal plot pada Gambar 4.12 menunjukan bahwa dari ketujuh
kategori terpilih jika diamati setiap tahunnya memiliki pola probabilitas
keberagaman kata yang berbeda, terlihat bahwa keragaman kata terbanyak pada
semester satu tahun 2015 yaitu memuat tentang politik. Sedangkan pada periode
semester dua tahun 2015, semester satu tahun 2016 dan semester satu tahun 2018
keragaman kata terbanyak mengenai isu pemerintahan. Pada semester dua tahun
2016 dan semester satu tahun 2017 kata terbanyak mengenai isu
kewarganegaraan, semester dua tahun 2017 mengenai isu agama. Oleh sebab itu,
dapat disimpulkan bahwa topik LGBT ini tidak memiliki pola tertentu dari waktu
ke waktu, dan kurang menggambarkan adanya indikasi kuat kecenderungan
kategori topik yang dikaitkan dengan isu LGBT.
39
Gambar 4.12. Probabilitas kata masing-masing periode untuk setiap kategori pembicaraan terkait LGBT.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
PolitikBudaya
TeknologiKeasusilaan
Pemerintahan
Agama
kewarganegaraan
Pemerintahan
kewarganegaraan
Teknologi
Politik
Budaya
Agama
Keasusilaan
Pemerintahan
Teknologi
Agama
Politik
kewarganegaraan
Budaya
Keasusilaan
kewarganegaraanTeknologi
PemerintahanPolitikAgamaBudayaKeasusilaan
kewarganegaraan
Pemerintahan
Teknologi
Agama
Keasusilaan
Budaya
Politik
Agama
Keasusilaan
Politik
kewarganegaraan
Budaya
Teknologi
Pemerintahan
Pemerintahan
kewarganegaraan
Keasusilaan
Politik
BudayaAgama
Teknologi
Probabilitas Kata Masing-Masing Periode Untuk Setiap Kategori Pembicaraan Terkait LGBT
smt1 2015
smt2 2015
smt1 2016
smt2 2016
smt1 2017
smt2 2017
smt1 2018
40
BAB V
PENUTUP
Pada bab terakhir pada penulisan skripsi ini, berisikan tentang kesimpulan
yang diambil dari penelitian serta saran bagi para peneliti selanjutnya untuk dapat
mengembangkan ilmu pengetahuan dibidang yang terkait pada masa yang akan
datang.
5.1. Kesimpulan
Dari hasil penelitian dapat disimpulkan beberapa hal yang mungkin bisa
diperhatikan dan ditelaah lebih lanjut. Berdasarkan data dan model yang
digunakan terlihat bahwa secara umum tidak ada kecenderungan topik maupun
pola tertentu pada topik dalam perbincangan LGBT di media sosial twitter di
Indonesia. Pada probabilitas keragaman kata salah satu kategori topik seperti
politik, memperlihatkan bahwa pada semester dua tahun 2017 probabilitas
keragaman kata memiliki jumlah yang cukup tinggi, artinya kategori topik politik
sering dikaitkan pada perbincangan mengenai LGBT pada periode tersebut. Hal
ini bertepatan dengan akan dilaksanakannya Pilkada Jawa Barat pada tanggal 27
Juni 2018, maka mengindikasikan adanya kemungkinan pengaitan isu LGBT
dengan isu politik di Indonesia.
5.2. Saran
Pada penelitian kali ini, terdapat beberapa hal yang mungkin dapat
dikembangkan dimasa yang akan datang. Diantaranya yaitu dengan
memperhatikan jumlah retweet pada masing-masing tweet untuk melihat
banyaknya pengguna twitter (user) sehingga mempengaruhi probabilitas tweet.
Atau dapat menggabungkan penelitian dengan memperhatikan probabilitas
distribusi kata dan jumlah retweet.Selain itu dapat dilakukan penelitian
menggunakan metode lain seperti Non-Negative Matrix Factorization (NMF) atau
Semi Supervised LDA.
41
REFERENSI
[1] F. Pratama, “Meluasnya LGBT (lesbian, gay, biseksual, dan transgender)
Akibat Lemahnnya Social Control Masyarakat,” 2016.
[2] D. J. P. dan P. Penyakit, “Laporan Perkembangan HIV-AIDS & Infeksi
Menular Seksual (IMS) Triwulan IV Tahun 2017,” Jakarta, 2017.
[3] P. L. Pan, J. Meng, and S. Zhou, “Morality or equality? Ideological framing
in news coverage of gay marriage legitimization,” Soc. Sci. J., vol. 47, no.
3, pp. 630–645, 2010.
[4] H. Kwak, C. Lee, H. Park, and S. Moon, “What is Twitter , a Social
Network or a News Media?,” Int. World Wide Web Conf. Comm., pp. 1–10,
2010.
[5] M. J. Paul and M. Dredze, “You are what you Tweet: Analyzing Twitter for
public health,” Proc. Fifth Int. AAAI Conf. Weblogs Soc. Media, pp. 265–
272, 2011.
[6] W. X. Zhao et al., “Comparing Twitter and Traditional Media Using Topic
Models,” Ecir, vol. 6611, pp. 338–349, 2011.
[7] L. Hong and B. D. Davison, “Empirical study of topic modeling in
Twitter,” Proc. First Work. Soc. Media Anal. - SOMA ‟10, pp. 80–88,
2010.
[8] L. Dean et al., “Lesbian , Gay , Bisexual , and Transgender Health :
Findings and Concerns,” vol. 4, no. 3, 2000.
[9] M. J. Eliason, S. L. Dibble, and P. A. Robertson, “Lesbian, Gay, Bisexual,
and Transgender (LGBT) Physicians‟ Experiences in the Workplace,” J.
Homosex., vol. 58, no. 10, pp. 1355–1371, 2011.
[10] I. H. Meyer, “Prejudice, social stress, and mental health in lesbian, gay, and
bisexual populations: Conceptual issues and research evidence,” Psychol.
Bull., vol. 129, no. 5, pp. 674–697, 2003.
[11] D. E. Bontempo and A. R. D‟Augelli, “Effects of at-school victimization
and sexual orientation on lesbian, gay, or bisexual youths‟ health risk
behavior,” J. Adolesc. Heal., vol. 30, no. 5, pp. 364–374, 2002.
[12] J. Almeida, R. Johnson, H. Corliss, B. Molnar, and D. Azrael, “Emotional
distress among LGBT youth: The influence of perceived discrimination
42
based on sexual orientation,” J. Youth Adolesc., vol. 38, no. 7, pp. 1001–
1014, 2009.
[13] K. Kollman and M. Waites, “The global politics of lesbian, gay, bisexual
and transgender human rights: an introduction,” Contemp. Polit., vol. 15,
no. 1, pp. 1–17, 2009.
[14] T. Boellstorff, “The emergence of political homophobia in Indonesia:
Masculinity and national belonging,” Ethnos, vol. 69, no. 4, pp. 465–486,
2004.
[15] T. Boellstorff, “Between Religion and Desire: Being Muslim and Gay in
Indonesia,” Am. Anthropol., vol. 107, no. 4, pp. 575–585, 2005.
[16] T. Boellstorff, “Dubbing culture: Indonesian gay and lesbi subjectivities
and ethnography in an already globalized world,” Am. Ethnol., vol. 30, no.
2, pp. 225–242, 2003.
[17] T. Boellstorff, “Playing Back the Nation: Waria, Indonesian Transvestites,”
Cult. Anthropol., vol. 19, no. 2, pp. 159–195, 2004.
[18] E. Setiawan, “Kamus Besar Bahasa Indonesia (KBBI) Online,” KBBI
Indonesia, 2012. [Online]. Available: https://kbbi.web.id/organisasi.
[19] Oxford Dictionaries, “English Oxford Living Dictionaries,” Oxford
University Press, 2013. [Online]. Available:
http://blog.oxforddictionaries.com/press-releases/oxford-dictionaries-word-
of-the-year-2013/.
[20] N. Marres and E. Weltevrede, “Scraping the Social? Issues in real-time
social research,” J. Cult. Econ., vol. 6, no. 3, pp. 313–335, 2013.
[21] E. Vargiu and M. Urru, “Exploiting web scraping in a collaborative
filtering- based approach to web advertising,” Artif. Intell. Res., vol. 2, no.
1, pp. 44–54, 2012.
[22] H. Saif, M. Fernandez, Y. He, and H. Alani, “On Stopwords, Filtering and
Data Sparsity for Sentiment Analysis of Twitter,” Proc. Ninth Int. Conf.
Lang. Resour. Eval., no. i, pp. 810–817, 2014.
[23] F. Pisceldo, M. Adriani, and R. Manurung, “Probabilistic Part of Speech
Tagging for Bahasa Indonesia,” Proc. 3rd Int. MALINDO Work. Coloca.
event ACL-IJCNLP, 2009.
[24] HCL, “Natural Language Processing,” Hexo. [Online]. Available:
http://gitqwerty777.github.io/natural-language-processing/. [Accessed: 30-
Jun-2018].
[25] D. M. Blei, “Probabilistic topic models(Lecture),” Commun. ACM, vol. 55,
no. 4, p. 77, 2012.
43
[26] S. Deerwester, S. T. Dumais, G. W. Furnas, T. K. Landauer, and R.
Harshman, “Indexing by latent semantic analysis,” J. Am. Soc. Inf. Sci., vol.
41, no. 6, pp. 391–407, 1990.
[27] N. E. Evangelopoulos, “Latent semantic analysis,” Wiley Interdisciplinary
Reviews: Cognitive Science, vol. 4, no. 6. pp. 683–692, 2013.
[28] N. Evangelopoulos, X. Zhang, and V. R. Prybutok, “Latent semantic
analysis: Five methodological recommendations,” Eur. J. Inf. Syst., vol. 21,
no. 1, pp. 70–86, 2012.
[29] T. Hofmann and Dan Oneata, “Probabilistic latent semantic analysis,”
UAI‟99 Proc. Fifteenth Conf. Uncertain. Artif. Intell., pp. 1–7, 1999.
[30] T. Hofmann, “Probabilistic Latent Semantic Indexing,” ACM SIGIR
Forum, vol. 51, no. 2, pp. 211–218, 2017.
[31] T. Hofmann, “Unsupervised learning by probabilistic Latent Semantic
Analysis,” Mach. Learn., vol. 42, no. 1–2, pp. 177–196, 2001.
[32] D. Lee and S. Seung, “Algorithms for Non-negative Matrix Factorization,”
in Advances in Neural Information Processing Systems 13, 2001, pp. 556–
562.
[33] L. Li and Y. J. Zhang, “Non-negative Matrix-Set Factorization,” in
Proceedings of the 4th International Conference on Image and Graphics,
ICIG 2007, 2007, pp. 564–569.
[34] D. M. Blei, B. B. Edu, A. Y. Ng, A. S. Edu, M. I. Jordan, and J. B. Edu,
“Latent Dirichlet Allocation,” J. Mach. Learn. Res., vol. 3, pp. 993–1022,
2003.
[35] X. Wang and A. McCallum, “Topics over time: A non-Markov continuous-
time model of topical trends,” Proc. 12th ACM SIGKDD Int. Conf. Knowl.
Discov. Data Min., pp. 424–433, 2006.
[36] T. Inc., “Tiwtter Search Advanced,” 2006. [Online]. Available:
https://twitter.com/search-advanced. [Accessed: 23-Jun-2018].
[37] D. Cournapeau, “About us - scikit learn,” scikit-learn developers (BSD
License). [Online]. Available: http://scikit-
learn.org/stable/about.html#citing-scikit-learn. [Accessed: 07-Nov-2018].
[38] M. H. and I. Montani, “SpaCy - Industrial Strength Natural Language
Processing.” [Online]. Available: https://spacy.io/. [Accessed: 07-Nov-
2018].
[39] E. L. and E. K. Bird, Steven, “Natural Language Processing with Python,”
O‟Reilly Media Inc, 2009. [Online]. Available: http://www.nltk.org/.
[Accessed: 07-Nov-2018].
44
[40] J. Plisson, N. Lavrac, and D. D. Mladenić, “A rule based approach to word
lemmatization,” Proc. 7th Int. Multiconference Inf. Soc., pp. 83–86, 2004.
[41] G. Grefenstette and P. Tapanainen, “What is a word, what is a sentence?
Problems of tokenization,” COMPLEX 1994 3rd Conf. Comput. Lexicogr.
text Res. Budapest, Hungary, 7-10 July, pp. 79–87, 1994.
[42] S. Karyadi, H. Yasin, M. M.-J. Gaussian, and U. 2016, “Analisis
Kecenderungan Informasi Dengan Menggunakan Metode Text Mining
(Studi Kasus: Akun Twitter@ Detikcom),” Ejournal3.Undip.Ac.Id, vol. 5,
no. 4, pp. 763–770, 2016.
[43] a. Singhal, “Normalization,” SpringerReference, pp. 21–29, 2011.
[44] W. Zhang, T. Yoshida, and X. Tang, “TFIDF, LSI and multi-word in
information retrieval and text categorization,” Conf. Proc. - IEEE Int. Conf.
Syst. Man Cybern., pp. 108–113, 2008.
[45] G. Salton and C. Buckley, “Term-weighting approaches in automatic text
retrieval,” Inf. Process. Manag., vol. 24, no. 5, pp. 513–523, 1988.
[46] J. Supranto, “Statistik teori dan aplikasi jilid 1 / oleh J. Supranto,” Stat.
Teor. dan Apl. jilid 1 / oleh J. Supranto, vol. 2000, no. 2000, pp. 1–99,
2000.
[47] I. Porteous, D. Newman, A. Ihler, A. Asuncion, P. Smyth, and M. Welling,
“Fast collapsed gibbs sampling for latent dirichlet allocation,” in
Proceeding of the 14th ACM SIGKDD international conference on
Knowledge discovery and data mining - KDD 08, 2008, p. 569.
[48] “Latent Dirichlet Allocation - under the hood – andrew brooks.” p. 2015.
[49] S. S. and G. Rockwell, “Voyant Tools,” 2003. [Online]. Available:
http://voyant-tools.org.
[50] T. Sutomonaio, “Pilgub Jabar 2018 Ridwan Kamil Yakin Menang di Pilgub
Jabar, Begini Katanya,” Tribunews.com, 2018. [Online]. Available:
http://jabar.tribunnews.com/2018/06/16/ridwan-kamil-yakin-menang-di-
pilgub-jabar-begini-katanya.
45
LAMPIRAN
A1. LAMPIRAN I Script Python Scrapping dan Preprocessing
a) Memanggil modul-modul yang akan digunakan
from bs4 import BeautifulSoup as bs
import re,csv, os, itertools, pandas as pd,docx2txt
from tqdm import tqdm
from pattern.web import PDF
from nltk.tokenize import RegexpTokenizer
from nltk.stem import WordNetLemmatizer
from nltk import sent_tokenize, word_tokenize
from spacy.lang.id import Indonesian
from html import unescape
from unidecode import unidecode
from bz2 import BZ2File as bz2
from textblob import TextBlob
b) Memanggil data yang ingin digunakan
fData = 'lgbt since 2015-01-01 until 2015-01-31 - Twitter Search.htm'
fName = 'datalgbt.csv'
fSlang = 'D:/WinPython/notebooks/skripsi/slang.dic'
bahasa = 'id' # atau 'en'
dataPath = 'D:/WinPython/notebooks/skripsi/'
c) Membuat definisi-definisi yang dibutuhkan
def LoadStopWords(lang):
L = lang.lower().strip()
if L == 'en' or L == 'english' or L == 'inggris':
lemmatizer = WordNetLemmatizer()
stops = set([t.strip() for t in LoadDocuments(file = 'D:/WinPython/notebooks/skripsi/stopwords_eng.txt')[0]])
elif L == 'id' or L == 'indonesia' or L=='indonesian':
lemmatizer = Indonesian()
stops = set([t.strip() for t in LoadDocuments(file = 'D:/WinPython/notebooks/skripsi/stopwords_id.txt')[0]])
else:
print('Warning, language not recognized. Empty StopWords Given')
stops = set(); lemmatizer = None
return stops, lemmatizer
def crawlFiles(dPath,types=None): # dPath ='C:/Temp/', types = 'pdf'
if types:
return [dPath+f for f in os.listdir(dPath) if f.endswith('.'+types)]
else:
return [dPath+f for f in os.listdir(dPath)]
def fixTags(T):
getHashtags = re.compile(r"#(\w+)")
46
pisahtags = re.compile(r'[A-Z][^A-Z]*')
t = T
tagS = re.findall(getHashtags, T)
for tag in tagS:
proper_words = ' '.join(re.findall(pisahtags, tag))
t = t.replace('#'+tag,proper_words)
return t
def readBz2(file):
with bz2(file, "r") as bzData:
txt = []
for line in bzData:
try:
txt.append(line.strip().decode('utf-8','replace'))
except:
pass
return ' '.join(txt)
def LoadDocuments(dPath=None,types=None, file = None): # types = ['pdf','doc','docx','txt','bz2']
Files, Docs = [], []
if types:
for tipe in types:
Files += crawlFiles(dPath,tipe)
if file:
Files = [file]
if not types and not file: # get all files regardless of their extensions
Files += crawlFiles(dPath)
for f in Files:
if f[-3:].lower()=='pdf':
try:
Docs.append(PDF(f).string)
except:
print('error reading{0}'.format(f))
elif f[-3:].lower()=='txt' or f[-3:].lower()=='dic':
try:
df=open(f,"r",encoding="utf-8", errors='replace')
Docs.append(df.readlines());df.close()
except:
print('error reading{0}'.format(f))
elif f[-3:].lower()=='bz2':
try:
Docs.append(readBz2(f))
except:
print('error reading{0}'.format(f))
elif f[-4:].lower()=='docx':
try:
Docs.append(docx2txt.process(f))
except:
print('error reading{0}'.format(f))
elif f[-3:].lower()=='csv':
Docs.append(pd.read_csv(f))
else:
print('Unsupported format {0}'.format(f))
47
if file:
Docs = Docs[0]
return Docs, Files
def cleanText(T, fix={}, lang = 'id', lemma=None, stops = set(), symbols_remove = False, min_charLen = 3):
# lang & stopS only 2 options : 'en' atau 'id'
# symbols ASCII atau alnum
pattern = re.compile(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+')
t = re.sub(pattern,' ',T) #remove urls if any
t = unescape(t) # html entities fix
t = t.lower().strip() # lowercase
t = unidecode(t)
t = ''.join(''.join(s)[:2] for _, s in itertools.groupby(t)) # remove repetition
t = sent_tokenize(t) # sentence segmentation. String to list
for i, K in enumerate(t):
if symbols_remove:
K = re.sub(r'[^.,a-zA-Z0-9 \n\.]',' ',K)
cleanList = []
if lang =='en':
listKata = word_tokenize(K) # word tokenize
for token in listKata:
if token in fix.keys():
token = fix[token]
if lemma:
token = lemma.lemmatize(token)
if stops:
if len(token)>=min_charLen and token not in stops:
cleanList.append(token)
else:
if len(token)>=min_charLen:
cleanList.append(token)
t[i] = ' '.join(cleanList)
else:
if lemma:
K = lemma(K)
listKata = [token.text for token in K]
else:
listKata = TextBlob(K).words
for token in listKata:
if token in fix.keys():
token = fix[token]
if lemma:
token = lemma(token)[0].lemma_
if stops:
if len(token)>=min_charLen and token not in stops:
cleanList.append(token)
else:
if len(token)>=min_charLen:
cleanList.append(token)
t[i] = ' '.join(cleanList)
return ' '.join(t) # Return kalimat lagi
48
if __name__ == "__main__":
print('Loading StopWords & Slang ... ', flush = True)
stops, lemmatizer = LoadStopWords(bahasa)
# Loading Slangs
Slangs =LoadDocuments(file = 'D:/WinPython/notebooks/skripsi/slang.dic')[0]
SlangDict = {}
for slang in Slangs:
try:
key, value = slang.split(':')
SlangDict[key.strip()] = value.strip()
except:
pass
SlangDict
tokenizer=RegexpTokenizer(r'\w+')
urlPattern = re.compile(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+')
d) Melakukan pengambilan data dengan scraping
print('Loading Data: ', flush = True)
allData = crawlFiles(dataPath, types='htm')
Tweets, Clean_Tweets, Username, waktu, replies, retweets, likes, Language = [], [], [], [], [], [], [], []
urlStatus, D = [], []
# fData = allData[0]
for fData in tqdm(allData):
soup = bs(open(fData,encoding='utf-8', errors = 'ignore', mode='r'),'html.parser')
data = soup.find_all('li', class_= 'stream-item')
# t = data[0]
for i,t in tqdm (enumerate(data)):
# Loading tweet
T = t.find_all('p',class_='TweetTextSize')[0]
T = bs(str(T),'html.parser').text
Tweets.append(T)
# Cleaned Tweet
T2 = cleanText(T,fix=SlangDict,lemma=None, lang = 'id', stops = None , symbols_remove = True, min_charLen = 3)
Clean_Tweets.append(T2)
# Loading UserName
U = t.find_all('span',class_='username')
U = bs(str(U[0]),'html.parser').text
Username.append(U)
# Loading Time
T = t.find_all('a',class_='tweet-timestamp')[0]
T = bs(str(T),'html.parser').text
waktu.append(T)
# Loading reply, retweet & Likes
RP = t.find_all('span',class_='ProfileTweet-actionCountForAria')[0]
RT = t.find_all('span',class_='ProfileTweet-actionCountForAria')[1]
L = t.find_all('span',class_='ProfileTweet-actionCountForAria')[2]
RP = int((bs(str(RP), "lxml").text.split()[0]).replace(',',''))
RT = int((bs(str(RT), "lxml").text.split()[0]).replace(',',''))
L = int((bs(str(L), "lxml").text.split()[0]).replace(',',''))
replies.append(RP)
retweets.append(RT)
likes.append(L)
49
# Loading Bahasa
try:
L = t.find_all('span',class_='tweet-language')
L = bs(str(L[0]), "lxml").text
except:
L =''
Language.append(L)
if RT>0:
urlS = str(t.find_all('small',class_='time')[0])
urlStatus.append(re.findall(urlPattern,urlS)[0])
else:
urlStatus.append('')
e) Menyimpan data hasil scraping kedalam bentuk CSV
print('Saving Data to "%s" ' %fName, flush = True)
N = len (Tweets)
dfile = open(fName, 'w', encoding='utf-8', newline='')
dfile.write('Time,Username,Replies, Retweets,Likes,Language,Tweet,Cleaned_Tweet\n')
# Tweets, Clean_Tweets, Username, waktu, replies, retweets, likes, Language
with dfile :
writer = csv.writer(dfile)
for i in range(N):
writer.writerow([waktu[i],Username[i],replies[i],retweets[i],likes[i],Language[i],Tweets[i],Clean_Tweets[i]])
dfile.close()
print('All Finished', flush = True)
50
A2. LAMPIRAN II Script Python Postagging, TF dan LDA a) Memanggil modul-modul yang akan digunakan
from sklearn.decomposition import LatentDirichletAllocation as LDA
import pyLDAvis, pyLDAvis.sklearn; pyLDAvis.enable_notebook()
from nltk.tokenize import TweetTokenizer; Tokenizer = TweetTokenizer(reduce_len=True)
import pandas as pd, numpy as np
from nltk.stem import PorterStemmer;ps = PorterStemmer()
from sklearn.feature_extraction.text import TfidfVectorizer,CountVectorizer
from tqdm import tqdm
import matplotlib.pyplot as plt
from nltk.tokenize import word_tokenize
from nltk.tag import CRFTagger
import scipy.spatial.distance
from sklearn.metrics import silhouette_score
import scipy.spatial.distance
from collections import Counter as count
from sklearn import cluster
b) Memanggil data yang ingin digunakan
path = 'D:/WinPython/notebooks/skripsi/'
file = 'smt1_2015.csv'
dt = pd.read_csv(path+file)
#Loading Data yang akan digunakan saja
data_train = dt['Cleaned_Tweet']
K = data_train.values.tolist()
c) Melakukan training data dengan penambahan POS tagging
#Tokenisasi Data
data = []
tokenized_sents = []
for i in K:
tokenized_sents = word_tokenize(i)
data.append(tokenized_sents)
data
#memberi Tagging
ct = CRFTagger()
ct.set_model_file('D:/WinPython/scripts/all_indo_man_tag_corpus_model.crf.tagger')
51
pt = ct.tag_sents(data)
pt
#Pengambilan Kata Inti dengan POS Tag
ptN = []
noun = set(['NN','NNP', 'NNS','NNPS'])
for s in pt:
tmp = []
for w in s:
if w[1] in noun:
tmp.append(w[0])
if len(tmp)>0:
ptN.append(' '.join(tmp))
ptN
d) Melakukan training data dengan hapus duplikasi (catatan : sebelum hapus duplikasi,
hitung pembobotan kata terlebih dahulu jika ingin melakukan hapus duplikasi)
# Menghapus Duplicate
fCosine = getattr(scipy.spatial.distance,'cosine')
threshold = 0.99
delete = []
N,M = X_train.shape
for i in range(N-1):
for j in range(i+1,N):
if j not in delete:
u = X_train[i].todense()
v = X_train[j].todense()
if fCosine(u,v)<threshold:
delete.append(j)
delete = np.array(delete)
idx = np.array(range(len(data_bersih)))
idx = idx[delete]
data_bersih = [data_bersih[i] for i in idx]
X_train = X_train[delete] # Remove duplicate
X_train_terms = tf_vectorizer.get_feature_names()
print(X_train.shape)
52
e) Melakukan training data dengan stopword filtering
stops = set([t.strip() for t in LoadDocuments(file = 'D:/WinPython/notebooks/skripsi/stopwords_id.txt')[0]])
data_baru = []
for w in data_bersih :
T = cleanText(w, lemma=True, lang = 'id', stops = stops, symbols_remove = True, min_charLen = 3, fix={'\n\n':' '})
data_baru.append(T)
data_baru
f) Melakukan pembobotan kata
tf_vectorizer = TfidfVectorizer(max_df=0.75, min_df=5)
X_train = tf_vectorizer.fit_transform(data_baru) #tf dapat diganti tfidf jika ingin menggunakan tfidf
X_train_term = tf_vectorizer.get_feature_names()
print(X_train.shape)
X_train_term
g) Pemodelan dengan LDA dan visualisasinya
#Train Model
n_topics = 8
lda_train = LDA(n_components= n_topics, learning_method = 'batch', random_state = 0).fit(X_train)
lda_train
#Melihat Topics-nya
vsm_lda_train = lda_train.transform(X_train)
print('Ukuran VSM LDA TF : ',vsm_lda_train.shape)
doc_lda_hitung = [a.argmax()+1 for a in tqdm(vsm_lda_train)] # topic of docs
#pembuatan plot distribusi topik
print('Distribusi Topik dengan LDA TF'.format(len(set(doc_lda_hitung))))
plt.hist(np.array(doc_lda_hitung),bins =15, alpha=0.5)
plt.xlabel("Kategori Topik",size=20)
plt.xticks(size=10,rotation=50)
plt.ylabel("Jumlah Distribusi Topik",size=15)
plt.show()
def print_Topics(model, feature_names, Top_Topics, n_top_words):
for topic_idx, topic in enumerate(model.components_[:Top_Topics]):
print("Topic #%d:" %(topic_idx+1))
print(" ".join([feature_names[i]
for i in topic.argsort()[:-n_top_words - 1:-1]]))
53
# maknai masing-masing topik
Top_Words=8
print('Printing top {0} Topics LDA TF, with top {1} Words:'.format(n_topics, Top_Words))
print_Topics(lda_train, X_train_term, n_topics, Top_Words)
#membuat visualisasi LDA data training
pyLDAvis.sklearn.prepare(mds='tsne',lda_model=lda_train, dtm=X_train, vectorizer=tf_vectorizer)
h) Memulai testing data dengan memanggil file testing
path = 'D:/WinPython/notebooks/skripsi/'
data_test = 'smt2_2017.csv'
dts = pd.read_csv(path+data_test)
dtest = dts['Cleaned_Tweet'].values.tolist()
i) Memulai testing data dengan model yang sudah dibentuk dari hasil training
X_test = tf_vectorizer.transform(dtest)
doc_topic_dist_unnormalized = np.matrix(lda_train.transform(X_test))
doc_topic_dist_unnormalized
doc_topic_dist = doc_topic_dist_unnormalized/doc_topic_dist_unnormalized.sum(axis=1)
doc_topic_dist
#Rata-Rata Probabilitas Masing-Masing Topik
doc_topic_dist.mean(0)
doc_topic_dist.argmax(axis=1)
#Visualisasi LDA data testing
pyLDAvis.sklearn.prepare(mds='tsne',lda_model=lda_train, dtm=X_test, vectorizer=tf_vectorizer)