bab iii analisa dan perancangan...

12
12 BAB III ANALISA DAN PERANCANGAN SISTEM 3.1. Analisa Masalah Belakangan ini orang-orang sangat aktif di media sosial, terutama di Twitter. Setiap detik seorang pengguna bisa mem-posting informasi melalui Twitter sebanyak lebih dari 750 tweet. Banyak informasi yang bisa didapat dari Twitter, mulai dari informasi umum sampai khusus. Oleh karena itu, banyak pengguna Twitter kesulitan untuk mengklasifikasikan informasi atau data dari Twitter sesuai dengan yang diinginkan. Banyak cara untuk mengolah data Twitter, salah satu caranya adalah menggunakan identifikasi entitas NER. Aplikasi NER sebenarnya sudah banyak ditemukan, misalkan NER Stanford dan OpenNLP. NER Stanford adalah implementasi Java dari NER, merupakan sebuah tools berbasis Java yang menyediakan API untuk pemrosesan bahasa alami (NLP). Dengan OpenNLP, kita dapat melakukan beberapa pemrosesan sepertisentence detection, tokenization, named-entity detection, parts-of-speech (POS) tagging, chunking & parsing, dan coreference. Untuk dapat menggunakan OpenNLP, kita harus menyediakan training model terlebih dahulu [3]. Untuk penggunaan Twitter berbahasa Indonesia, NER Stanford dan OpenNLP bisa digunakan, tetapi masih belum ada penelitian untuk membandingkan kedua algoritma ini. Oleh karena itu, tujuan dari penelitian yang akan diangkat oleh penulis adalah bagaimana mengetahui NER yang memiliki tingkat efektifitas yang lebih baik untuk digunakan pada Twitter berbahasa Indonesia, antara NER Stanford atau OpenNLP. 3.2. Analisa Tweet Tweet adalah sebuah postingan seseorang di sebuah jejaring sosial Twitter yang berisi sebuah informasi tertentu. Sebuah Tweet memiliki tujuan tersendiri, tergantung siapa yang menulisnya. Tweet dalam bahasa Indonesia terbagi menjadi dua macam, yaitu Tweet Formal atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita, koran, majalah, dan lain sebagainya. Kemudian ada Tweet Non-Formal yang biasanya diunggah oleh remaja, artis, dan lain sebagainya atau lebih tepatnya Tweet yang tidak mengandung EYD yang benar.

Upload: others

Post on 01-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/36122/4/jiptummpp-gdl-wiedhaagus-48440-4-babii… · atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita,

12

BAB III

ANALISA DAN PERANCANGAN SISTEM

3.1. Analisa Masalah

Belakangan ini orang-orang sangat aktif di media sosial, terutama di Twitter. Setiap detik

seorang pengguna bisa mem-posting informasi melalui Twitter sebanyak lebih dari 750 tweet.

Banyak informasi yang bisa didapat dari Twitter, mulai dari informasi umum sampai khusus.

Oleh karena itu, banyak pengguna Twitter kesulitan untuk mengklasifikasikan informasi atau

data dari Twitter sesuai dengan yang diinginkan.

Banyak cara untuk mengolah data Twitter, salah satu caranya adalah menggunakan

identifikasi entitas NER. Aplikasi NER sebenarnya sudah banyak ditemukan, misalkan NER

Stanford dan OpenNLP. NER Stanford adalah implementasi Java dari NER, merupakan sebuah

tools berbasis Java yang menyediakan API untuk pemrosesan bahasa alami (NLP). Dengan

OpenNLP, kita dapat melakukan beberapa pemrosesan sepertisentence detection, tokenization,

named-entity detection, parts-of-speech (POS) tagging, chunking & parsing, dan coreference.

Untuk dapat menggunakan OpenNLP, kita harus menyediakan training model terlebih dahulu

[3].

Untuk penggunaan Twitter berbahasa Indonesia, NER Stanford dan OpenNLP bisa

digunakan, tetapi masih belum ada penelitian untuk membandingkan kedua algoritma ini. Oleh

karena itu, tujuan dari penelitian yang akan diangkat oleh penulis adalah bagaimana

mengetahui NER yang memiliki tingkat efektifitas yang lebih baik untuk digunakan pada

Twitter berbahasa Indonesia, antara NER Stanford atau OpenNLP.

3.2. Analisa Tweet

Tweet adalah sebuah postingan seseorang di sebuah jejaring sosial Twitter yang berisi

sebuah informasi tertentu. Sebuah Tweet memiliki tujuan tersendiri, tergantung siapa yang

menulisnya. Tweet dalam bahasa Indonesia terbagi menjadi dua macam, yaitu Tweet Formal

atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita, koran,

majalah, dan lain sebagainya. Kemudian ada Tweet Non-Formal yang biasanya diunggah oleh

remaja, artis, dan lain sebagainya atau lebih tepatnya Tweet yang tidak mengandung EYD yang

benar.

Page 2: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/36122/4/jiptummpp-gdl-wiedhaagus-48440-4-babii… · atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita,

13

3.2.1. Tweet Bahasa Indonesia Formal

Di bawah ini adalah beberapa contoh Tweet bahasa Indonesia Formal.

- @kompascom : Empat Kota di Dunia yang Menolak Mobil Diesel.

- @kompascom : Johan Budi: Kok Pak Syarief Hasan Merasa Pak SBY yang

Dituduh?.

- @Metro_TV : Indonesia-Uni Eropa Lakukan Pertemuan Komite.

- @Metro_TV : Ini Senjata Rahasia Nokia untuk Menang di Pasar Smartphone

Tahun Depan http://metrotvn.ws/B623426

- @tvOneNews : Usai Aksi Kita Indonesia, 200 Tanaman di Bundaran HI Rusak.

- @bolacomID : Piala AFF 2016: Cerita Biksu Thailand dan Uang 100 Baht

http://dlvr.it/Mq25Lr

3.2.2. Tweet Bahasa Indonesia Non-Formal

Di bawah ini adalah beberapa contoh Tweet bahasa Indonesia Non-Formal.

- @netmediatama : Cuma di NETGiveaway Special, km bisa menang lebih dari 1

hadiah kece! Salah 1 nya ada Gadget loh!

- @netmediatama : Yuhuuu, pasang alarm kamu buat nonton @rafaell_16 di

@PagiPagi_NET besok ;)

- @ELFARAFM : Yep! Kita uda masuk ke segment baru kita nih, jadi di segment

"APA YA?" ini kita bakal kasih topik yanh ambigu. ikutan gabungan kuy ~

- @PrincesSyahrini : Jangan k mana" pemirsa aku akan kembali lg d

@YuKeepSmile_TTV #Syahrini_Goyang_Morena

- @PrincesSyahrini : makasih buat kalian semua.. i luv u.. kalian memang paling se su

atu dan tercetarrr .....

3.3. Analisa Kebutuhan Hardware

Hardware adalah istilah untuk menyebut perangkat keras pada komputer yang digunakan

untuk melakukan perintah yang telah diprogramkan, atau lebih mudahnya hardware adalah

sebuah perangkat yang bisa disentuh secara nyata oleh tangan manusia, seperti keyboard,

monitor, mouse, motherboard, memori, RAM, dan lain sebagainnya. Kebutuhan perangkat

keras yang akan digunakan dalam pembuatan file model pada tugas akhir ini adalah sebagai

berikut:

- Prosesor : Intel Core i3 3227U

- Memori : 4GB RAM

Page 3: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/36122/4/jiptummpp-gdl-wiedhaagus-48440-4-babii… · atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita,

14

- HDD : 1 TB

- Grafik : NVIDIA GeForce 710M

- Lain-lain : Keyboard, mouse, monitor.

3.4. Analisa Kebutuhan Software

Software adalah bagian yang terpisah dengan hardware, software sendiri adalah sebuah

program untuk menjalankan perangkat keras untuk memudahkan pekerjaan manusia.

Kebutuhan perangkat lunak yang akan digunakan dalam pembuatan file model pada tugas akhir

ini adalah sebagai berikut:

- Sistem Operasi Windows 10 Pro 64 bit

- Java Development Kit (JDK) Versi 1.8

- Java Runtime Environment (JRE) Versi 1.8

- Stanford NER versi 3.5.0

- opennlp-tools-1.7.2

- Notepad ++ Versi 6.8.6

- Sublime Text

- Net Bean 8.2

3.5. Perancangan Sistem

3.5.1. Perancangan Sistem NER Stanford

Berikut ini merupakan alur perancangan sistem untuk membangun model pada tugas

akhir ini:

Pengumpulan

Data

Pengelompokan

Data Tagging Data

Training Model Model NER

Stanford

Gambar 3. 1. Arsitektur Sistem NER Stanford

Page 4: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/36122/4/jiptummpp-gdl-wiedhaagus-48440-4-babii… · atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita,

15

3.5.2. Perancangan Sistem OpenNLP NER

Berikut ini merupakan alur perancangan sistem untuk membangun model pada tugas

akhir ini:

3.6. Pengumpulan Data

Teknik pengumpulan data Tweet pada tugas akhir ini yaitu menggunakan bahasa

pemrograman java memanfaatkan akses Twitter API. Twitter API adalah sebuah fitur yang

diberikan pihak Twitter untuk memudahkan para developer mengambil data dari Twitter.

Pengumpulan data dari Twitter dapat digunakan untuk berbagai kebutuhan, seperti mengetahui

popularitas kandidat pilkada atau pemilu, mendapatkan informasi mengenai popularitas suatu

produk, atau digunakan untuk melihat semua Mention dan Retweet dari suatu akun Twitter.

Gambar 3. 3. Kode Program Java untuk Mengunduh Data Tweet

Pengumpulan

Data

Pengelompokan

Data Tagging Data

Training Model Model OpenNLP

NER

. Gambar 3. 2. Arsitektur Sistem OpenNLP NER

Page 5: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/36122/4/jiptummpp-gdl-wiedhaagus-48440-4-babii… · atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita,

16

3.7. Pengelompokan Data NER Stanford

3.7.1. Pengelompokan Data NER Stanford

Data Twitter dibagi menjadi 2 set data, yaitu data trainning dan data testingting. Data

training nantinya akan digunakan untuk membangun sebuah model, sedangkan data testingting

nantinya akan digunakan untuk melakukan pengujian model yang telah dibangun sebelumnya.

2 set data masing-masing akan dikelompokkan menjadi dua kelompok, yaitu data pertama yang

berisi Tweet berbahasa Indonesia Formal dan kelompok data kedua yang berisi Tweet

berbahasa Indonesia Non-Formal. Pengelompokan data dapat dilihat pada tabel di bawah ini.

Tabel 3.1. Pengelompokan Data NER Stanford

Data Bahasa Indonesia

Jumlah Formal Non-Formal

Data Training 4.765 4.735 9.500

Data Testing 1.134 1.366 2.500

Jumlah 12.000

Gambar 3. 4. Data Formal

Gambar 3. 5. Data Non-Formal

Page 6: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/36122/4/jiptummpp-gdl-wiedhaagus-48440-4-babii… · atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita,

17

3.7.2. Tagging NER Stanford

Proses tagging data Tweet pada tugas akhir ini mengacu pada aturan (tagset) sesuai

dengan rumusan masalah yang sudah ditentukan. Berikut merupakan aturan yang akan

digunakan:

Tabel 3.2. Aturan Tag NER Stanford

NO. TAG KET. CONTOH

1 O Tidak Dikenali -

2 PERSON Nama orang Ahok, Jokowi, Roy

3 LOCATION Nama tempat Jakarta, Pasar, Bandung

4 ORGANIZATION Nama organisasi BMKG, BNI, BNN

Tagging data dilakukan tiap token, dengan format:TAG, sehingga setelah semua data

ditandai, hasilnya seperti gambar di bawah ini:

Gambar 3. 6.Data Setelah Ditandai

3.7.3. Training Data NER Stanford

Data training yang sudah melalui proses tagging, selanjutnya akan diproses dan akan

menghasilkan sebuah file model dalam bentuk biner yang nantinya akan digunakan pada

aplikasi NER Stanford. Model yang akan dibangun nantinya berjumlah 3 model. Model

pertama model untuk Tweet Bahasa Indonesia Formal, model kedua model untuk Tweet

Bahasa Indonesia Non-Formal, dan yang ketiga model untuk Tweet bahasa Indonesia umum.

Di bawah ini adalah flowchart Pembuatan Model NER Stanford.

Page 7: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/36122/4/jiptummpp-gdl-wiedhaagus-48440-4-babii… · atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita,

18

java -cp stanford-ner.jar

edu.stanford.nlp.process.WhitestingpaceToken

izer TAG_FORMAL.txt > TAG_FORMAL.tok

Gambar 3. 7. Flowchart Pembuatan Model NER Stanford

Training Model NER Stanford

1. Tokenisasi

Setelah melalui proses tagging, data training akan ditokenisasi dan membentuk

satu kata per baris dengan menggunakan class Java, yaitu WhitestingpaceTokenizer.

Class tersebut dapat ditemukan pada direktori stanford-ner.jar. Berikut ini command

yang akan digunakan:

Hasil dari proses tokenisasi menghasilkan file .tok. Berikut ini merupakan hasil

tokenisasi:

Page 8: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/36122/4/jiptummpp-gdl-wiedhaagus-48440-4-babii… · atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita,

19

Gambar 3. 8. Hasil Tokenisasi Data

2. Proses Menghilangkan Slash (/)

Data training yang sudah membentuk file .tok akan dimodifikasi, yaitu dengan cara

menghilangkan tanda miring atau slash (/) dan menggantinya dengan spasi. Hal ini

diperlukan agar tag pada data training dapat terbaca oleh CRFClassifier. Proses ini dapat

dilakukan dengan cara manual atau menggunakan aplikasi pihak ketiga, seperti

Notepad++. Berikut ini merupakan hasil dari proses tersebut.

Gambar 3. 9. Proses Menghilangkan (/) NER Stanford

3. Pembuatan File Proop

Proop adalah File Properties yang berisi pengaturan file untuk pembuatan model

dari data training. Beberapa parameter penting yang akan di-set dalam file ini antara lain

trainFileList dan serializeTo. Berikut ini adalah tampilan dari file Proop yang telah

diubah.

Page 9: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/36122/4/jiptummpp-gdl-wiedhaagus-48440-4-babii… · atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita,

20

Gambar 3. 10. Pembuatan File Proop

4. Melatih Data Training

Proses melatih data training dilakukan dengan menggunakan class Java, yaitu

CRFClassifier. Class tersebut dapat ditemukan pada direktori Stanford-ner.jar. Berikut

ini merupakan command yang akan digunakan:

Hasil dari proses tersebut membentuk sebuah model dengan ekstensi .ser.gz. File

model tersebut berbentuk biner. Berikut merupakan hasil dari proses tersebut.

Gambar 3. 11. Hasil Data Training

java -cp stanford-ner.jar

edu.stanford.nlp.ie.crf.CRFClassifier -prop

TAG_FORMAL.prop

Page 10: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/36122/4/jiptummpp-gdl-wiedhaagus-48440-4-babii… · atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita,

21

3.8. Pengelompokan Data OpenNLP NER

3.8.1. Pengelompokan Data OpenNLP

Data Twitter dibagi menjadi 2 set data, yaitu data trainning dan data testingting. Data

training nantinya akan digunakan untuk membangun sebuah model, sedangkan data testingting

nantinya akan digunakan untuk melakukan pengujian model yang telah dibangun sebelumnya.

2 set data masing-masing akan dikelompokkan menjadi dua kelompok, yaitu data pertama yang

berisi Tweet berbahasa Indonesia Formal dan kelompok data kedua yang berisi Tweet

berbahasa Indonesia Non-Formal. Pengelompokan data dapat dilihat pada tabel di bawah ini.

Tabel 3.3. Pengelompokan Data OpenNLP NER

Data Bahasa Indonesia

Jumlah Formal Non-Formal

Data Training 4.765 4.735 9.500

Data Testingting 1.134 1.366 2.500

Jumlah 12.000

Gambar 3. 12. Data Formal

Gambar 3. 13. Data Non-Formal

Page 11: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/36122/4/jiptummpp-gdl-wiedhaagus-48440-4-babii… · atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita,

22

3.8.2. Tagging Data OpenNLP NER

Seperti halnya NER Stanford, OpenNLP juga akan dibagi menjadi 2 set data, yaitu data

training dan data testingting, tetapi yang membedakan adalah OpenNLP harus dipisahkan di

setiap aturan tagset-nya, contohnya seperti di bawah:

Tabel 3.4. Cara Tagging OpenNLP NER

NO. TAG KET. CONTOH

1 <START:person>...<END> Nama orang Ahok, Jokowi, Roy

2 <START:location>...<END> Nama tempat Jakarta, Jombang

3 <START:organization>...<END> Nama organisasi BMKG, BNI, BNN

Tagging data dilakukan setiap token yang mengandung konotasi person, location, dan

organization, dengan format: TAG, sehingga setelah semua data telah ditandai, hasilnya

seperti pada gambar di bawah ini:

Gambar 3. 14. Tagging OpenNLP NER

3.8.3. Training Data OpenNLP NER

Data training yang sudah melalui proses tagging, selanjutnya akan diproses dan akan

menghasilkan sebuah file model dalam bentuk biner yang nantinya akan digunakan pada

perhitungan OpenNLP NER. Model yang akan dibangun nantinya berjumlah 3 model. Model

pertama yaitu model untuk Tweet Bahasa Indonesia Formal, model kedua yaitu model untuk

Tweet Bahasa Indonesia Non-Formal, dan model ketiga yaitu untuk Tweet Bahasa Indonesia

umum, ditambah pemisahan setiap Tagset person, location, dan organization.

3.8.4. Pembuatan File .bin

Setelah data selesai di-tagging, tahap selanjutnya adalah membuat file .BIN dengan

menggunakan tools yang sudah disediakan oleh OpenNLP. Berikut ini merupakan command

yang akan digunakan:

java -jar opennlp-tools-1.5.0.jar

TokenNameFinderTrainer -model TAG_FORMAL_lengkap.bin -

data TAG_FORMAL_lengkap.txt -encoding UTF-8 -lang en

Page 12: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/36122/4/jiptummpp-gdl-wiedhaagus-48440-4-babii… · atau Tweet yang mengandung EYD yang benar seperti unggahan dari akun berita,

23

Hasil dari proses tersebut akan membentuk file .bin. File model tersebut berbentuk biner.

Berikut merupakan hasil proses tersebut:

Gambar 3. 15. Hasil Data Training