BAB III ANALISA DAN PERANCANGAN - core.ac.uk · bahasa Indonesia formal pada umumnya memiliki...
-
Upload
vuongnguyet -
Category
Documents
-
view
218 -
download
0
Transcript of BAB III ANALISA DAN PERANCANGAN - core.ac.uk · bahasa Indonesia formal pada umumnya memiliki...
20
BAB III
ANALISA DAN PERANCANGAN
Pada bab ini berisi tentang analisa dan perancangan sistem yang meliputi
pengumpulan data tweet, pengelompokan data, tagging data, serta pembuatan
model berdasarkan dari data training yang sudah melalui proses tagging dan
pengelompokan data yang akan diklasifikasikan menggunakan random forest.
3.1. Analisa Tweet
Tweet adalah postingan pesan yang berisikan informasi tertentu. Berdasarkan
bahasa yang digunakan, tweet berbahasa Indonesia dibagi ke dalam dua bagian
yaitu tweet bahasa Indonesia formal dan tweet bahasa Indonesia informal. Tweet
bahasa Indonesia formal pada umumnya memiliki bahasa yang baku serta
penulisannya sesuai dengan kaidah menurut EYD dan kamus besar bahasa
Indonesia. Tweet dengan bahasa Indonesia formal ini terdapat pada akun resmi
seperti instansi pemerintahan, media berita, lembaga masyarakat, kementerian,
serta tokoh masyarakat. Sedangkan penggunaan tweet dalam bahasa Indonesia
informal banyak ditemui dalam akun artis Indonesia dan masyarakat umum.
3.1.1. Tweet Bahasa Indonesia Formal
Beberapa contoh tweet menggunakan bahasa Indonesia formal:
@Berita_Jakarta : Bertemu Jokowi, Pangdam dan Kapolda Metro: Jakarta
Aman! https://t.co/dk3gu5SUff
@Beritasatu : Lahan Rizieq di Megamendung Tak Terdaftar di Kantor
Pertanahan Bogor https://t.co/3q9N981gUE
@Beritasatu : Penyuap Patrialis Pernah Diperiksa soal Kasus Suap Impor
Daging Sapi https://t.co/hjyPlJ6NuJ
@Kompascom : Tol Bawen - Salatiga Ditargetkan Rampung Akhir Februari.
https://t.co/KmffSE0Wu2
@Kompascom : Jasad Wanita Asal Jerman Ditemukan dalam Kondisi Terikat di
Sungai di Bali. https://t.co/Ebt5swpcrr
21
3.1.2. Tweet Bahasa Indonesia Informal
Beberapa contoh tweet menggunakan bahasa Indonesia informal:
@Jo2hyunrl : @jstdean jahatku tanda syg kok kl kangen mah tggl bilang tggal
samperin aa wkwk
@oshenxo : @seulgiiec lah kok dibilang sesat? Kan gua malah ngasih jalan yg
bener buat lu
@Newgroho_Aji : Senyum kamu kadar alkoholnya berapa persen sih? kok
memabukkan?
@rdninda : Aku gabakal baper kok kalo fotoku kamu love, ya paling cm deg-
degan.
@YunitaFatma3 Ada temen lo yang ngiri ? Lo ngambil nganan aja :)
3.2. Analisa Kebutuhan Hardware
Hardware (perangkat keras) merupakan perangkat yang digunakan sebagai alat
dalam memproses atau menjalankan perangkat lunak (software). Minimal
kebutuhan perangkat keras yang akan penulis gunakan dalam pembuatan file model
pada tugas akhir ini adalah sebagai berikut :
Processor : AMD A8-4500M with Radeon(tm) 1.90GHz
Memori : 4,00GB RAM
3.3. Analisa Kebutuhan Software
Software (Perangkat lunak) adalah aplikasi yang nantinya akan digunakan
untuk membuat file model. Untuk membuat file model pada tugas akhir ini yang
akan digunakan adalah software sebagai berikut:
Sistem Operasi: Windows 7 Professional 64bit
Java Development Kit (JDK) Versi 1.8
Java Runtime Environment (JRE) Versi 1.8
Stanford NER versi 3.5.0
Stanford POS Tagger versi 3.7.0
Notepad ++ Versi 7.2.2
Eclipse JEE Neon 3
Weka Versi 3.8.1
22
3.4. Perancangan Sistem
Perancangan sistem pada tugas akhir ini dimodelkan sebagai berikut:
Gambar 3.1. Rancangan Sistem
3.4.1. Pengumpulan Data
Data tweet yang digunakan pada tugas akhir ini menggunakan penelitian
[5][6][7] dan ditambahkan data tweet baru untuk memperkaya corpus.
Pengumpulan data tweet baru menggunakan bahasa pemrograman PHP yang
dipadukan dengan TwitterOauth. TwitterOauth merupakan sebuah library PHP
yang digunakan untuk melakukan proses autentikasi untuk menggunakan layanan
pencarian tweet. Pengumpulan data tweet formal dilakukan dengan mencari nama
akun pengguna (username) sedangkan data tweet informal dilakukan pencarian
berdasarkan kata kunci. Kode program yang digunakan untuk pengumpulan data
tweet baru adalah sebagai berikut:
23
Gambar 3.2. Kode Program Untuk Pencarian Berdasarkan Username
Gambar 3.3. Kode Program Untuk Pencarian Berdasarkan Kata Kunci
Berikut data tweet yang digunakan pada penelitian ini, ditampilkan dalam
tabel dibawah ini:
Tabel 3.1. Data Tweet Penelitian [5]
Username Tweet
@Ayu_sarisartika/O Akuntansi/O "/O @MentionsKEPO/O :/O paling/O
semangat/O kalau/O belajar/O matapelajaran/O
apa/O ?/O "/O
<?php require_once 'twitteroauth/twitteroauth.php'; define('CONSUMER_KEY', 'jhXcPKKOcfTgu5s4ICUogtx0D'); define('CONSUMER_SECRET', 'ZB09mG1H1TxLRTn8IKXMjFpwptlPc4zekZVETx6c9PT9pH38wx'); define('ACCESS_TOKEN', '238865708-NjkHsSEX6GqXpfW23XCqmcTz1ulRm8gzMoU28U6o'); define('ACCESS_TOKEN_SECRET', '86TVmgeRVUHAUSvCzJYwZ4AvndPIr45V71RWaQmJ4CjcD'); $toa = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET); $user = 'CumaaTweet'; //isikan nama user $timeline = $toa->get('statuses/user_timeline', array('screen_name' => $user, "count" =>200, "lang" => "id")); foreach ($timeline as $i => $tweet) { echo "@" . $user . " : " . "$tweet->text" . PHP_EOL . "<br/>"; }
<?php require_once 'twitteroauth/twitteroauth.php'; define('CONSUMER_KEY', 'jhXcPKKOcfTgu5s4ICUogtx0D'); define('CONSUMER_SECRET', 'ZB09mG1H1TxLRTn8IKXMjFpwptlPc4zekZVETx6c9PT9pH38wx'); define('ACCESS_TOKEN', '238865708-NjkHsSEX6GqXpfW23XCqmcTz1ulRm8gzMoU28U6o'); define('ACCESS_TOKEN_SECRET', '86TVmgeRVUHAUSvCzJYwZ4AvndPIr45V71RWaQmJ4CjcD'); function search($query) { $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET); return $connection->get('search/tweets', $query); } $query = array( "q" => "GUE ", "count"=>200, "lang" => "id" ); $results = search($query); foreach ($results->statuses as $result) { echo "@" . $result->user->screen_name . " : " . $result->text . "<br/>"; } ?>
24
@PersBirama/O Besok/O ./O ./O !/O HIMPUNAN/ORGANIZATION
MAHASISWA/ORGANIZATION
Akuntansi/ORGANIZATION
UNIKOM/ORGANIZATION "/O SEMINAR/O
NASIONAL/O AKUNTANSI/O "/O
@JagoAkuntansi/O Department/O Akuntansi/O Fakultas/O Ekonomika/O
dan/O Bisnis/O UGM/ORGANIZATION
@HotlanNova/O Akuntansi/O biaya/O */O hoam/O */O
@Kurniawati_21/O XII/O Akuntansi/O 2/O angkatan/O 2015-2016/O
@hanimartis/O apa/O alasan/O kamu/O pilih/O Akuntansi/O ,/O
@IniBisnis/O Usul/O Gaji/O Rp/O 4,5/O Juta/Bulan/O Bebas/O
Pajak/O
@bisnisviabb/O Kebijakan/O Ekonomi/O XI/O Diklaim/O Mampu/O
Turunkan/O Harga/O
@ElshintaDotCom/O
KAI/ORGANIZATION kembali/O turunkan/O tarif/O
KA/O ekonomi/O bersubsidi/O
@WartaEkonomi/O DPRD/ORGANIZATION Jabar/LOCATION Minta/O
Mobil/O Baru/O
@PengejarBerita/O Pipa/O Gas/O PGN/ORGANIZATION Capai/O
7.026/O Kilometer/O
@GmtdGroofy/O KPK/ORGANIZATION Jadikan/O Tata/O Kelola/O
Surabaya/LOCATION Percontohan/O
@PengejarBerita/O REI/O Minta/O Pemda/ORGANIZATION Bisa/O
Turunkan/O BPHTB/O
@AaronJitta/O Hadirkan/O Promo/O Super/O Cintaku/O Bersama/O
@Mitha_Wijaya01/O Lippo/LOCATION Cikarang/LOCATION Rombak/O
Direksi/O &/O Komisaris/O
Pada Tabel 3.1. menampilkan data tweet yang digunakan pada penelitian
[5]. Data tweet yang digunakan berjumlah 10.000 data dengan pembagian 4.814
data tweet bahasa Indonesia formal dan 5.186 data tweet bahasa Indonesia informal.
Data tweet ini telah dilakukan anotasi dengan menggunakan aturan (tagset) NER.
Tabel 3.2. Data Tweet Penelitian [6]
Username Tweet
@detikcom_@ Kebakaran_NN Rumah_NN di_IN Pondok_NN
Bambu_NN ,_, 16_$ Unit_NN Damkar_FW
Diterjunkan_VBT http://detik.id/VjAuOQ_U
@Beritasatu_@ Pesantren_NN Akan_MD Tampung_VBI 231_$
Anak_NN Yatim_NN Pengungsi_NN Rohingya_NNP
http://brt.st/4G0v_U
@Bumi_Dinasti_@ Roda_NN hidup_VBI bisa_MD berputar_VBT ._.
#RenunganSuper_#
25
@VIVAcoid_@ Aneh_JJ ,_, Ratusan_CDC Cacing_NNP
Teronggok_VBT Rapi_JJ di_IN Jalan_NN
http://dlvr.it/B77r4l_U
@temponewsroom_
@
Ramadan_NNP ,_, Produksi_NN Busana_NN
Dian_NNP Pelangi_NNP Melonjak_VBT
200_$ Persen_NN http://bit.ly/1HSTo9B/_U
@VIVAcoid_@ Bahaya_NN Mendidihkan_VBT Ulang_VBI Air_NN
yang_SC Sudah_RB Dimasak_VBT
http://dlvr.it/B78MNH_U
@KampusPsikologi
_@
71_$ persen_NN wanita_NN menilai_VBT pria_NN
pertama_CDO kali_NN dari_IN kebersihan_NN
giginya_NNG ._. #Psikologi_#
@Bumi_Dinasti_@ Waktunya_NNG menggunting_VBT kuku_NN ._.
@republikaonline_
@
Muslimah_NN di_IN Inggris_NNP Diserang_VBT
dan_CC Jilbabnya_NNG Dirobek_VBT
http://rol.co.id/r/npjgn1_U
@PsikologID_@ Menurut_VBT penelitian_NN ,_, cegukan_VBT
yang_SC terlalu_RB Sering_JJ dan_CC tiba-tiba_RB
bisa_MD menandakan_VBT bahwa_SC Anda_PRP
sedang_RB stres_JJ ._. #Psikologi_#
@HEROSupermarke
t_@
2_$ Siapa_WP di_IN sini_PRL yang_SC suka_JJ
Yogurt_NNP ?_.
@HEROSupermarke
t_@
3_$ harus_RB memperhatikan_VBT kecukupan_NN
protein_NNP karena_SC mereka_PRP
menghindari_VBT protein_NNP hewan_NN ._.
@republikaonline_
@
Ledakan_VBT Bom_NN Mobil_NN terjadi_VBT di_IN
Irak_NNP ,_, Tewaskan_VBT 14_$ Orang_NN
http://rol.co.id/r/npjh4j_U
@netmediatama_@ Tiap_JJ episode_NN akan_MD diupload_FW 2_$
hari_NN setelah_RB tayang_VBI ;)_E
@InfoSuperIndo_@ Siang-siang_NN begini_DT enaknya_JJ buat_VBI
es_NN kopyor_NNP nih_UH ._. Cocok_JJ juga_RB
untuk_SC menu_NN saat_NN masuk_VBI Bulan_NN
Ramadhan_NNP nanti_NN ._.
Pada Tabel 3.2. menampilkan data tweet yang digunakan pada penelitian
[6]. Data tweet yang digunakan berjumlah 5.000 data tweet menggunakan bahasa
Indonesia formal. Data tweet telah dilakukan anotasi dengan menggunakan aturan
(tagset) POS Tagger.
Tabel 3.3. Data Tweet Penelitian [7]
Username Tweet
@DandRoeBot_@ kangen_VBI ma_CC km_PRP ._. ._. harsnya_RB
sore_NN gni_DT kn_RP jalan_VBI ._. ._. ._. trs_RB
makan_VBI trs_RB tdr_VBI ._. ._. trs_RB pulang_VBI
._. ._. ._.
26
@DandRoeBot_@ tdur_VBI aj_RB deh_RP ._. ._.
@meewmiiuuw_@ mata_NN panda_NN (O.O)_E
@andine_@ tapi_CC cinta_NN tahu_JJ kemana_WP ia_PRP
akan_MD pulang_VBI ._. Getoh_RP katanya_NNG
hahaha_UH
@andine_@ Mana_WP muternya_NNG cepet_JJ banget_RB ?_. ?_.
@DandRoeBot_@ Besok_NN d_IN apelin_VBT ._. ._. Seneng_JJ bgt_RB
saat2_NN menunggu_VBT gini_DT #Senyum_#
@af_muzakki_@ "_" hayoo_UH gak_NEG bole_MD cemberut_JJ
gitu_DT mukanya_NNG "_" ._. @elfarafm_@
hmmm_UH~_UH
@raditya_fachri_@ @vallensiregar_@ slm_NN knl_VBT ada_VBT
pin_NN bbm_NNP bggak_NEG ?_.
@meewmiiuuw_@ seadanya_RB dulu_NN dah_UH._. yg_SC penting_JJ
tetep_RB usaha_NN :'D_E
@Dena_JKT48_@ Aku_PRP denger_VBT pasti_RB ._. ._. kan_MD
dengernya_NNG lewat_IN hati_NN ppffftt_UH :v_E
dah_UH tidur_VBI udh_RB mlm_NN wkwkw_UH
@Vanka_JKT48_@ kalo_SC libur_VBI drpd_RB bosan_JJ mending_JJ
main_VBT game_FW? (_OP sepik_JJ ga_NEG
ada_VBT wifi_NN ga_NEG bisa_VBI ntn_VBT
drama_NN )_CP
@KepengenNyindir
_@
ngetweet_VBI galau_JJ bukan_NEG berarti_VBI
lagi_RB galau_JJ kan_MD ?_. sebaliknya_RB juga_RB
gitu_DT :))_E jangan_RB suka_JJ kepo_JJ !_SYM
@Cornel_OnStage_
@
satu_CDP Bintang_NNP berkedip_VBI mesra_JJ
@RrRatnaSari_@ @YoedaKoessala_@ @Tristanisme41_@ liat_VBT
y_RP gpp_G kq_UH yud_NNP :D_E
@ApilahRahma_Adi
_IN_@
kek_IN anak_NN alay_JJ lama2_RB -,-_E
Pada Tabel 3.3. menampilkan data tweet yang digunakan pada penelitian
[7]. Data tweet yang digunakan berjumlah 2.500 data tweet menggunakan bahasa
Indonesia informal. Data tweet telah dilakukan anotasi dengan menggunakan aturan
(tagset) POS Tagger.
Tabel 3.4. Data Tweet Baru
Username Tweet
@Berita_Jakarta Sandiaga Yakin OK OCE Bisa Turunkan Potensi
Kemacetan di Jakarta https://t.co/XNovh61Oeb
@Berita_Jakarta Bertemu Jokowi , Pangdam dan Kapolda Metro :
Jakarta Aman ! https://t.co/dk3gu5SUff
@Berita_Jakarta Tiara Eve Buka-bukaan tentang Perannya di Jakarta
Undercover https://t.co/vugG5a8epu
27
@Berita_Jakarta Myanmar Pelajari Jakarta Smart City untuk Cegah
Korupsi https://t.co/KSxqPFtSnc
@Berita_Jakarta Harta Patrialis Tersebar dari Bekasi , Jakarta ,
sampai Padang https://t.co/1GT32biwhv
@Berita_Jakarta Soal Politik Uang , Ahok : Saya Kira Warga
Jakarta Tidak Bodoh https://t.co/rJcastLYKz
@Berita_Jakarta Jangan mengeluhkan masalah , karena Tuhan
mempunyai tujuan tuk perjuangan kita saat ini .
Pelajarilah apa yang hendak Tuhan ajarkan
@Berita_Jakarta Jangan berhenti berupaya ketika menemui
kegagalan . Karena kegagalan adalah cara Tuhan
mengajari kita tentang arti kesungguhan
@Berita_Jakarta Kalla : Gojek , Grab , Uber Muncul Karena
Jakarta Macet https://t.co/m9ipC084jB
@Berita_Jakarta Willian Pacheco & Hong Soon Hak Belum Tentu
Jadi Pilihan Utama Persija Jakarta
https://t.co/8lYpfoARYa
@sotokdy cepet bales salam gue
@routmeo @thaenggo gue ganteng .
@DemonKimee @midnitehymn gue lagi di cianjur sekarang
@tinapooty Mana gue tau . https://t.co/ahBTCsVjxZ
@widwicky @o2zone mau ke Gili Trawangan nih yeeee ~
Pada Tabel 3.4. menampilkan data tweet baru. Data tweet yang digunakan
berjumlah 8.000 data tweet yang terdiri dari bahasa Indonesia formal informal. Data
tweet ini nantinya dilakukan anotasi dengan menggunakan aturan (tagset) NER dan
POS Tagger.
3.4.2. Pengelompokan Data
Data tweet yang sudah dikumpulkan selanjutnya dibagi menjadi 2 dataset
yaitu data train dan data tes. Data train digunakan untuk membangun model untuk
Stanford NER, Stanford POS Tagger dan Random Forest. Sedangkan data tes
digunakan untuk melakukan pengujian model yang telah dibangun.
Pengelompokan data tweet dijelaskan pada tabel berikut ini:
Tabel 3.5. Pengelompokan Data
Data Bahasa Indonesia
Jumlah Formal Informal
Model NER 3.814 4.186 8.000
Model POS Tagger 7.000 2.500 10.500
28
Model Random Forest 2.500 2.500 5.000
Data Test 1.000 1.000 2.000
Jumlah 25.500
3.4.3. Tagging Data
Data tweet yang sudah dikumpulkan selanjutnya dianotasi secara manual.
Ada dua jenis anotasi yang dilakukan, pertama adalah untuk mengidentifikasi jenis
entitas untuk proses NER dan yang kedua adalah untuk mengidentifikasi jenis kata
untuk proses POS Tagging. Anotasi mengacu pada aturan (tagset) sesuai dengan
rumusan masalah yang sudah ditentukan. Aturan untuk proses NER yang akan
digunakan adalah sebagai berikut:
Tabel 3.6. Aturan (Tagset) NER
NO. TAG KET. CONTOH
1 O Tidak Dikenali -
2 PERSON Nama orang Mustafa, Kemal
3 LOCATION Nama tempat Surabaya, Kantor
4 ORGANIZATION Nama organisasi PLN, BI, BCA
Sedangkan untuk anotasi proses POS Tagging, aturan yang digunakan
menggunakan penelitian [24]. Aturan tersebut adalah sebagai berikut:
Tabel 3.7. Aturan (Tagset) POS Tagger
NO. TAG KET. CONTOH
1 OP Open Parenthesis ({[
2 CP Close Parenthesis )}]
3 GM Slash /
4 ; Semicolon ;
5 : Colon :
6 “ Quotation “ ‘
7 . Sentence Terminator . ! ?
8 , Comma ,
9 - Dash -
10 ... Ellipsis ...
29
11 JJ Adjective Kaya, Manis
12 RB Adverb Sementara, Nanti
13 NN Common Noun Buku, Meja
14 NNP Proper Noun Surabaya, Inggris
15 NNG Genitive Noun Rumahnya
16 VBI Intransitive Verb Pergi
17 VBT Transitive Verb Membaca
18 IN Preposition Di, Ke, Dari
19 MD Modal Bisa
20 CC Coor-Conjuction Dan, Atau, Tetapi
21 SC Subor-Conjuction Jika, Tetapi
22 DT Determiner Para, Ini, Itu
23 UH Interjection Wah, Aduh, Oi
24 CDO Ordinal Numerals Pertama, Kedua
25 CDC Collective Numerals Berdua
26 CDP Primary Numerals Satu, Dua, Tiga
27 CDI Irregular Numerals Beberapa
28 PRP Personal Pronouns Saya, Kamu
29 WP WH-Pronouns Apa, Dimana
30 PRN Number Pronouns Kedua-duanya
31 PRL Locative Pronouns Sini, Situ, Sana
32 NEG Negation Bukan, Tidak
33 SYM Symbols @#$%^&
34 RP Particles Pun, Kah
35 FW Foreign Words Foreign, Word
36 # Hastag #kerjakeras
37 @ Mention @jokowi
38 ̴ Discourse Marker RT
39 U URL or Email Address http://bit.ly/1J89w
40 E Emoticon :-) :b (: <3 o__O
41 $ Nominal 1, 2, 1000, 12.10
30
Proses anotasi ini dilakukan dengan menggunakan aplikasi pihak ke-tiga
yaitu Notepad++. Anotasi data dilakukan untuk tiap token, format yang digunakan
untuk proses NER adalah TOKEN/TAG. Sedangkan format yang digunakan untuk
proses POS Tagging adalah TOKEN_TAG. Data yang telah dilakukan proses
anotasi, tampilannya seperti pada tabel berikut:
Tabel 3.8. Anotasi Data Tweet
Tweet Anotasi NER Anotasi POS Tagger
Sandiaga Yakin
OK OCE Bisa
Turunkan Potensi
Kemacetan di
Jakarta
https://t.co/XNovh61
Oeb
Sandiaga/PERSON
Yakin/O OK/O OCE/O
Bisa/O Turunkan/O
Potensi/O Kemacetan/O
di/O Jakarta/LOCATION
https://t.co/XNovh61Oeb
/O
Sandiaga_NNP Yakin_VBI
OK_NN OCE_NNP
Bisa_MD Turunkan_VBT
Potensi_NN
Kemacetan_NN di_IN
Jakarta_NNP
https://t.co/XNovh61Oeb_U
3.4.4. Pembuatan Model NER
Data train yang sudah dilakukan proses tagging selanjutnya akan diproses
dan akan menghasilkan sebuah file model dalam bentuk biner. Berikut ini
merupakan flowchart pembuatan file model NER:
Gambar 3.4. Flowchart Pembuatan Model NER
3.4.4.1. Tokenisasi
Data train yang sudah dilakukan proses tagging selanjutnya akan
dilakukan proses tokenisasi dan membentuk satu kata per baris. Proses ini
31
menggunakan class Java yaitu WhitespaceTokenizer yang dapat ditemukan pada
direktori stanford-ner.jar. Perintah yang digunakan adalah sebagai berikut:
Gambar 3.5. Perintah Untuk Tokenisasi Data Train Model NER
Hasil dari proses tokenisasi tersebut akan membentuk file baru dengan
ekstensi .tok. berikut ini merupakan data train setelah proses tokenisasi:
Gambar 3.6. Hasil Tokenisasi Data Train Model NER
Setelah dilakukan proses tokenisasi, data train yang sudah berbentuk file
dengan ekstensi .tok, selanjutnya yang dilakukan adalah menghilangkan tanda
miring/slash (/) dan menggantinya dengan spasi. Hal ini dilakukan agar tag pada
data train dapat terbaca oleh CRFClassifier. Proses ini dapat dilakukan dengan
menggunakan aplikasi pihak ke-tiga seperti Notepad++ atau dilakukan secara
manual. Berikut ini merupakan data train yang telah dilakukan proses tersebut:
java -cp stanford-ner.jar
edu.stanford.nlp.process.WhitespaceTokenizer
ModelNER.txt > ModelNER.tok
@Ayu_sarisartika/O
:/O
Akutansi/O
“/O
@MentionKepo/O
:/O
Paling/O
Semangat/O
Kalau/O
Belajar/O
Matapelajaran/O
Apa/O
?/O
“/O
32
Gambar 3.7. Hasil Penghilangan Tanda Slash Data Train Model NER
3.4.4.2. Pembuatan File PROP
Prop adalah Properties File yang berisikan pengaturan file untuk
pembuatan model dari data training. File props berisikan beberapa parameter
penting, parameter yang akan di-set dalam file ini antara lain trainFileList dan
serializeTo. Berikut adalah isi dari file Props yang akan digunakan:
@Ayu_sarisartika O
: O
Akutansi O
“ O
@MentionKepo O
: O
Paling O
Semangat O
Kalau O
Belajar O
Matapelajaran O
Apa O
? O
“ O
trainFileList = ModelNER.tok
serializeTo = ModelNER.ser.gz
map = word=0,answer=1
maxLeft=1
useClassFeature=true
useWord=true
useNGrams=true
noMidNGrams=true
maxNGramLeng=6
usePrev=true
useNext=true
useDisjunctive=true
useSequences=true
usePrevSequences=true
useTypeSeqs=true
useTypeSeqs2=true
useTypeySequences=true
wordShape=chris2useLC
33
3.4.4.3. Training Data Train
Proses melatih data train dilakukan dengan menggunakan class Java yang
dapat ditemukan pada direktori stanford-ner.jar. Perintah yang digunakan adalah
sebagai berikut:
Gambar 3.8. Perintah Untuk Training Data Train Model NER
Hasil dari proses tersebut adalah sebuah file model dengan ekstensi .ser.gz.
File model tersebut berbentuk biner. Berikut merupakan hasil dari proses tersebut:
Gambar 3.9. File Model NER
3.4.5. Pembuatan Model POS Tagger
Data train yang sudah dilakukan proses tagging selanjutnya akan diproses
dan akan menghasilkan sebuah file model dalam bentuk biner. Berikut ini
merupakan flowchart pembuatan model POS Tagger:
java -cp stanford-ner.jar
edu.stanford.nlp.ie.crf.CRFClassifier -prop
ModelNER.prop
34
Gambar 3.10. Flowchart Pembuatan Model POS Tagger
3.4.5.1. Pembuatan File PROP
Prop adalah Properties File yang berisikan pengaturan file untuk
pembuatan model dari data training. File props berisikan aturan tag yang
digunakan pada tweet-tweet yang telah dikumpulkan dan dijadikan file model dan
data train. Berikut adalah isi dari file Props yang akan digunakan:
model = ModelPOSTagger.model
arch = generic,suffix(4),prefix(4),unicodeshapes(-
1,1),unicodeshapeconjunction(-1,1),words(-2,-
2),words(2,2)
wordFunction =
trainFile = ModelPOSTagger.txt
closedClassTags =
closedClassTagThreshold = 40
curWordMinFeatureThresh = 2
debug = false
debugPrefix =
tagSeparator = _
Encoding = utf-8
iterations = 100
lang =
learnClosedClassTags = false
minFeatureThresh = 5
openClassTags = OP CP GM ; : " . , - ... JJ RB NN NNP NNG VBI
VBT IN MD CC SC DT UH CDO CDC CDP
CCI PRP WP PRN PRL NEG SYM RP FW # @
~ U E $
rareWordMinFeatureThresh = 10
rareWordThresh = 5
search = qn
35
sgml = false
sigmaSquared = 0.5
regL1 = 1.0
tagInside =
tokenize = false
tokenizerFactory =
tokenizerOptions =
verbose = false
verboseResults = true
veryCommonWordThresh = 250
xmlInput =
outputFile =
outputFormat = slashTags
outputFormatOptions =
nthreads = 1
3.4.5.2. Training Data Train
Proses melatih data train dilakukan dengan menggunakan class Java yang
dapat ditemukan pada direktori stanford-postagger.jar. Perintah yang digunakan
adalah sebagai berikut:
Gambar 3.11. Perintah Untuk Training Data Train Model POS Tagger
Hasil dari proses tersebut adalah sebuah file model dengan ekstensi
.model. File model tersebut berbentuk biner. Berikut merupakan hasil dari proses
tersebut:
Gambar 3.12. File Model POS Tagger
java –classpath Stanford-postagger.jar
edu.stanford.nlp.tagger.maxent.MaxentTagger –prop
Indonesia.props –model Indonesia.model –train
Indonesia.train.txt
36
Model NER dan model POS Tagger memiliki hasil yang sama berupa
kumpulan kata (corpus) yang telah diubah menjadi bentuk biner. Untuk perbedaan
keduanya, model NER digunakan untuk mendeteksi jenis entitas suatu kata,
sedangkan model POS Tagger digunakan untuk mengidentifikasi jenis kata.
3.4.6. Pembuatan Model Random Forest
Dalam pembuatan model random forest diperlukan beberapa file. File-file
ini nantinya akan dilakukan proses penggabungan dengan menggunakan fitur yang
sudah ada di penelitian sebelumnya. Dari penggabungan tersebut, dapat dibentuk
aturan keputusan yang dibuat menggunakan bantuan aplikasi pihak ke-tiga, yaitu
Weka. Berikut ini merupakan flowchart pembuatan model Random Forest:
Gambar 3.13. Flowchart Pembuatan Model Random Forest
3.4.6.1. File yang Digunakan
Ada beberapa file yang digunakan dalam pembuatan model random forest.
Berikut adalah file yang digunakan untuk membuat model random forest:
37
3.4.6.1.1. Data Train dengan Tagging Manual
Data train yang telah dikumpulkan, selanjutnya dilakukan proses tagging
secara manual. Tagging yang dilakukan menggunakan aturan tagging NER. Berikut
adalah data train yang telah dilakukan tagging secara manual:
Tabel 3.9. Data Train dengan Tagging Manual
Username Tweet
@Berita_Jakarta/O Sandiaga/PERSON Yakin/O OK/O OCE/O Bisa/O
Turunkan/O Potensi/O Kemacetan/O di/O
Jakarta/LOCATION https://t.co/XNovh61Oeb/O
@Berita_Jakarta /O Bertemu/O Jokowi/PERSON ,/O Pangdam/O dan/O
Kapolda/O Metro/O :/O Jakarta/LOCATION Aman/O
!/O https://t.co/dk3gu5SUff/O
@Berita_Jakarta /O Willian/PERSON Pacheco/PERSON &/O
Hong/PERSON Soon/PERSON Hak/O Belum/O
Tentu/O Jadi/O Pilihan/O Utama/O
Persija/ORGANIZATION Jakarta/LOCATION
https://t.co/8lYpfoARYa/O
@Berita_Jakarta/O Kalla/PERSON :/O Gojek/ORGANIZATION ,/O
Grab/ORGANIZATION ,/O Uber/ORGANIZATION
Muncul/O Karena/O Jakarta/LOCATION Macet/O
https://t.co/m9ipC084jB/O
@Berita_Jakarta/O Jangan/O berhenti/O berupaya/O ketika/O menemui/O
kegagalan/O ./O Karena/O kegagalan/O adalah/O
cara/O Tuhan/O mengajari/O kita/O tentang/O arti/O
kesungguhan/O
@Berita_Jakarta/O Jangan/O mengeluhkan/O masalah/O ,/O karena/O
Tuhan/O mempunyai/O tujuan/O tuk/O perjuangan/O
kita/O saat/O ini/O ./O Pelajarilah/O apa/O yang/O
hendak/O Tuhan/O ajarkan/O
@Berita_Jakarta/O Soal/O Politik/O Uang/O ,/O Ahok/PERSON :/O
Saya/O Kira/O Warga/O Jakarta/LOCATION Tidak/O
Bodoh/O https://t.co/rJcastLYKz/O
@Berita_Jakarta/O Harta/O Patrialis/PERSON Tersebar/O dari/O
Bekasi/LOCATION ,/O Jakarta/LOCATION ,/O
sampai/O Padang/O https://t.co/1GT32biwhv/O
@Berita_Jakarta/O Myanmar/LOCATION Pelajari/O Jakarta/LOCATION
Smart/O City/O untuk/O Cegah/O Korupsi/O
https://t.co/KSxqPFtSnc/O
3.4.6.1.2. Data Train dengan Tagging Model NER
Data train yang telah dikumpulkan selanjutnya dilakukan proses tagging
dengan menggunakan model NER. Berikut perintah yang digunakan:
38
Gambar 3.14. Perintah untuk Tagging Menggunakan Model NER
Hasil dari proses tersebut adalah data train yang telah di tag dengan
model NER yang telah dibuat sebelumnya. Berikut merupakan data train yang telah
di tag dengan model NER:
Tabel 3.10. Data Train dengan Tagging Model NER
Username Tweet
@Berita_Jakarta/O Sandiaga/O Yakin/O OK/O OCE/O Bisa/O Turunkan/O
Potensi/O Kemacetan/O di/O Jakarta/LOCATION
https://t.co/XNovh61Oeb/O
@Berita_Jakarta/O Bertemu/O Jokowi/PERSON ,/O Pangdam/O dan/O
Kapolda/O Metro/O :/O Jakarta/LOCATION Aman/O
!/O https://t.co/dk3gu5SUff/O
@Berita_Jakarta/O Willian/PERSON Pacheco/PERSON &/O
Hong/PERSON Soon/PERSON Hak/O Belum/O
Tentu/O Jadi/O Pilihan/O Utama/O
Persija/ORGANIZATION Jakarta/LOCATION
https://t.co/8lYpfoARYa/O
@Berita_Jakarta/O Kalla/O :/O Gojek/O ,/O Grab/ORGANIZATION ,/O
Uber/ORGANIZATION Muncul/O Karena/O
Jakarta/LOCATION Macet/O
https://t.co/m9ipC084jB/O
@Berita_Jakarta/O Jangan/O berhenti/O berupaya/O ketika/O menemui/O
kegagalan/O ./O Karena/O kegagalan/O adalah/O
cara/O Tuhan/O mengajari/O kita/O tentang/O arti/O
kesungguhan/O
@Berita_Jakarta/O Jangan/O mengeluhkan/O masalah/O ,/O karena/O
Tuhan/O mempunyai/O tujuan/O tuk/O perjuangan/O
kita/O saat/O ini/O ./O Pelajarilah/O apa/O yang/O
hendak/O Tuhan/O ajarkan/O
@Berita_Jakarta/O Soal/O Politik/O Uang/O ,/O Ahok/PERSON :/O
Saya/O Kira/O Warga/O Jakarta/LOCATION Tidak/O
Bodoh/O https://t.co/rJcastLYKz/O
@Berita_Jakarta/O Harta/O Patrialis/O Tersebar/O dari/O
Bekasi/LOCATION ,/O Jakarta/LOCATION ,/O
sampai/O Padang/O https://t.co/1GT32biwhv/O
@Berita_Jakarta/O Myanmar/LOCATION Pelajari/O Jakarta/LOCATION
Smart/O City/O untuk/O Cegah/O Korupsi/O
https://t.co/KSxqPFtSnc/O
java –cp stanford-ner.jar
edu.stanford.nlp.ie.crf.CRFClassifier -
loadClassifier classifiers/models ModelNER.ser -
textFile ModelRandomForest.txt > NER_Otomatis.tsv
39
3.4.6.1.3. Data Train dengan Tagging Model POS Tagger
Data train yang telah dikumpulkan selanjutnya dilakukan proses tagging
dengan menggunakan model POS Tagger. Berikut perintah yang digunakan:
Gambar 3.15. Perintah untuk Tagging Menggunakan Model POS Tagger
Hasil dari proses tersebut adalah data train yang telah di tag dengan
model POS Tagger yang telah dibuat sebelumnya. Berikut merupakan data train
yang telah di tag dengan model POS Tagger:
Tabel 3.11. Data Train dengan Tagging Model POS Tagger
Username Tweet
@Berita_Jakarta_@ Sandiaga_NNP Yakin_VBI OK_NN OCE_NNP
Bisa_MD Turunkan_VBT Potensi_NN Kemacetan_NN
di_IN Jakarta_NNP https://t.co/XNovh61Oeb_U
@Berita_Jakarta_@ Bertemu_VBT Jokowi_NNP ,_, Pangdam_NN dan_CC
Kapolda_NN Metro_NN :_: Jakarta_NNP Aman_JJ !_.
https://t.co/dk3gu5SUff_U
@Berita_Jakarta_@ Willian_NN Pacheco_NNP &_SYM Hong_NNP
Soon_NNP Hak_NN Belum_RB Tentu_JJ Jadi_VBI
Pilihan_NN Utama_CDO Persija_NN Jakarta_NNP
https://t.co/8lYpfoARYa_U
@Berita_Jakarta_@ Kalla_NNP :_: Gojek_NNP ,_, Grab_NNP ,_,
Uber_NNP Muncul_VBI Karena_SC Jakarta_NNP
Macet_JJ https://t.co/m9ipC084jB_U
@Berita_Jakarta_@ Jangan_NEG berhenti_VBT berupaya_VBT ketika_SC
menemui_VBT kegagalan_NN ._. Karena_SC
kegagalan_NN adalah_VBT cara_NN Tuhan_NN
mengajari_VBT kita_PRP tentang_CC arti_NN
kesungguhan_NN
@Berita_Jakarta_@ Jangan_NEG mengeluhkan_VBT masalah_NN ,_,
karena_SC Tuhan_NN mempunyai_VBT tujuan_NN
tuk_IN perjuangan_NN kita_PRP saat_NN ini_DT ._.
Pelajarilah_VBT apa_WP yang_SC hendak_VBT
Tuhan_NN ajarkan_VBT
@Berita_Jakarta_@ Soal_NN Politik_NN Uang_NN ,_, Ahok_NNP :_:
Saya_PRP Kira_NN Warga_NN Jakarta_NNP
Tidak_NEG Bodoh_JJ https://t.co/rJcastLYKz_U
java -mx300m -cp stanford-postagger.jar
edu.stanford.nlp.tagger.maxent.MaxentTagger
-model ModelPOSTagger.model -textFile
POSTagger_Otomatis.txt