BAB II LANDASAN TEORI 2.1. Twitter Twiter adalah sebuah layanan media sosial yang memungkinkan penggunanya untuk menulis maksimal 140 karakter, yang dikenal sebagai Tweet. Twitter didirikan oleh Jack Dorsey pada tahun 2006 [5]. Terhitung 21 Maret 2016, Twitter genap memasuki usianya yang ke-10. Media sosial ini secara global memiliki sekitar 332 juta pengguna bulanan, dengan 500 juta kicauan dikirim setiap hari dan 200 miliar kicauan dalam setahun [6]. Keunggulan dari Twitter salah satunya adalah dengan akses informasi yang sangat cepat, dibandingkan dengan jejaring sosial sejenis. Para pengguna sering memanfaatkan Twitter untuk mencari informasi terkini, misalnya informasi tentang bencana alam, kemacetan lalu lintas, dan berbagai peristiwa teraktual lainnya di sekitar kita. Twitter memiliki berbagai macam fitur, seperti: 1. Tweet Tweet adalah sebuah kicauan yang diunggah oleh pengguna Twitter. Maksimal sebanyak 140 karakter per Tweet. Gambar 2. 1. Tweet 2. Hashtag (#) Hashtag adalah sebuah penanda yang diberikan oleh pengguna Twitter untuk mengelompokan sebuah topik untuk setiap Twitter. Gambar 2. 2. Hashtag Dengan meletakkan tanda # pada Tweet di atas, maka Tweet tersebut akan dikategorikan Tweet dengan topik #BanggaKampungHalaman, sehingga dengan penggunaan hashtag ini akan mempermudah user untuk pencarian Tweet dengan topik yang diinginkan [4]. 4
3. Tranding Topic Tanding Topic mengacu pada hal yang sering dibicarakan orang yang berganti secara real time, sehingga trending topic tersebut bersifat dinamis, tergantung seberapa banyak orang yang membicarakan topik tersebut [4]. Gambar 2. 3. Tranding Topic 4. Following Following adalah cara agar kita dapat melihat Tweet dan Re Tweet dari akun yang di-follow. 5. Followers Follower adalah pengikut dalam Twitter. Dengan menjadi follower, berarti seseorang akan berlangganan pada akun tertentu, dan mendapatkan Tweet update dari akun tersebut di beranda mereka [4]. 5
6. Reply Reply adalah membalas Tweet dari pemilik akun Twitter lainnya. Untuk membalas Tweet seseorang, dapat dilakukan dengan meletakkan simbol @ dan diikuti nama user-nya [4]. 7. Retweet Retweet adalah cara agar kita dapat mengirim Tweet seseorang. Gambar 2. 4. Retweet 8. Mention Mention digunakan untuk menandai orang. Biasanya menggunakan simbol @ untuk menandai. 9. Like Gambar 2. 5. Mention Like digunakan untuk menandai Tweet yang disukai. Gambar 2. 6. Like 2.2. Bahasa Indonesia Bahasa Indonesia adalah identitas dari sebuah bahasa bangsa yang digunakan dan dimengerti oleh semua bangsa Indonesia. Bahasa Indonesia bisa dikatakan juga sebagai bahasa pemersatu bangsa. 6
2.2.1. Bahasa Indonesia Formal Bahasa Indonesia Formal atau baku adalah ragam bahasa yang cara pengucapan dan penulisannya sesuai dengan kaidah-kaidah standar. Kaidah standar dapat berupa pedoman ejaan (EYD), tata bahasa baku, dan kamus umum [4]. Ragam bahasa baku biasanya digunakan dalam situasi resmi, seperti acara seminar, pidato, temu karya ilmiah, dan lain-lain. Ciri-ciri kalimat Formal atau baku [7]: 1. Menggunakan tanda baca yang benar Penggunaan tanda baca seperti titik, koma, tanda tanya, tanda petik haruslah sesuai dengan kaidah penulisa kalimat bahasa Indonesia. 2. Menggunakan huruf capital yang benar Huruf kapital biasanya digunaakan untuk nama orang, tempat, huruf pertama pada kalimat, dan lain-lain. 3. Memiliki struktur dan tatabahasa yang tepat Yang dimaksudkan dengan struktur dan ketatabahasaan adalah adanya kejelasan struktur mana bagian subjek, predikat, objek, dan keterangan. 4. Padu Kalimat yang padu adalah hubungan antara struktur dan gagasan utamanya harus sesuai atau saling mendukung. 5. Hemat Kehematan penggunaan kata juga membuat kalimat baku menjadi kalimat yang efektif. 6. Logis Suatu kalimat dikatakan logis apabila kalimat tersebut bisa dicerna atau diterima dengan akal sehat. Jika kita membaca suatu kalimat dan terdengar aneh, maka kalimat tersebut tidaklah baku. 2.2.2. Bahasa Indonesia Non-Formal Bahasa Non-Formal atau tidak baku adalah bahasa yang tidak menggunakan EYD dengan benar, biasanya bahasa ini yang sering digunakan dalam sebuah percakapan langsung (tidak resmi). 7
2.3. Tagging Tagging adalah cara memisahkan kalimat menjadi beberapa kata. Tagging dilakukan secara manual. Di bawah ini merupakan beberapa contoh Tagging. Sebelum Tagging Ini Cara Memastikan Sertifikat Rumah dan Tanah Asli http://detik.id/6yqw1c via @detikfinance Jomblo, Roger Danuarta Dapat Nasihat dari Sang Bunda http://detik.id/vdzdpt via @detikhot Sebelum Tagging Ini Cara Memastikan Sertifikat Rumah dan Tanah Asli http://detik.id/6yqw1c via @detikfinance Jomblo, Roger Danuarta Dapat Nasihat dari Sang Bunda http://detik.id/vdzdpt via @detikhot Tabel 2.1. Tagging Stanford Setelah Tagging Ini/O Cara/O Memastikan/O Sertifikat/O Rumah/LOCATION dan/o Tanah/O Asli/O http://detik.id/6yqw1c/o via/o @detikfinance/o Jomblo/O,/O Roger/PERSON Danuarta/PERSON Dapat/O Nasihat/O dari/o Sang/O Bunda/O http://detik.id/vdzdpt/o via/o @detikhot/o Tabel 2.2. Tagging OpenNLP Setelah Tagging Ini Cara Memastikan Sertifikat <START:location> Rumah <END> dan Tanah Asli http://detik.id/6yqw1c via @detikfinance Jomblo, <START:person> Roger Danuarta <END> Dapat Nasihat dari Sang Bunda http://detik.id/vdzdpt via @detikshot 2.4. NLP Natural Language Processing (NLP) adalah salah satu bidang ilmu komputer, kecerdasan buatan, dan bahasa (linguistik) yang berkaitan dengan interaksi antara komputer dan bahasa alami manusia, seperti bahasa Indonesia atau bahasa Inggris. Tujuan utama dari studi NLP adalah membuat mesin yang mampu mengerti dan memahami makna bahasa manusia lalu memberikan respon yang sesuai [4]. 2.4.1. NER POS Tagger NER POS Tagger adalah sebuah software pembaca teks pada beberapa bahasa dan memberikan tanda pada tiap bagian kata seperti kata tempat, nama orang, nama organisasi, dan yang lainnya. Untuk dapat menjalankan NER POS tagger membutuhkan sistem java 1.8+, membutuhkan setidaknya 60-200 MB memori agar dapat menjalankan data tagging dengan 8
lancar [9]. Banyaknya memori yang digunakan biasanya berpengaruh pada penggunaan RAM pada komputer, setidaknya sisakan 1 GB memori agar program dapat berjalan dengan lancar. 2.5. NER Named Entity Recognition adalah salah satu komponen utama dari information extraction yang bertujuan untuk mendeteksi dan mengklasifikasikan named-entity pada suatu teks [8]. Named Entity Recognition umumnya digunakan untuk mendeteksi nama orang, nama tempat dan organisasi dari sebuah dokumen, tetapi dapat juga diperluas untuk identifikasi gen, protein dan lainnya sesuai kebutuhan [4]. 2.5.1. NER Stanford NER Stanford merupakan salah satu tool/aplikasi yang digunakan untuk mengimplementasikan Named Entity Recognition. Stanford NER merupakan aplikasi yang telah dikembangkan oleh The Stanford Natural Language Processing Group di Stanford University [9]. NER Stanford disebut juga CRFClassifier. NER Stanford merupakan implementasi Named Entity Recognition dalam bentuk Java. NER Stanford saat ini mendukung 4 bahasa yaitu bahasa Inggris, Jerman, Spanyol, dan Cina serta mendukung 3 bentuk model yaitu: 1. 3 Kelas : Location, Person, Organization 2. 4 Kelas : Location, Person, Organization, Misc 3. 7 Kelas : Location, Person, Organization, Money, Percent, Date, Time Pembuatan model pada NER Stanford membutuhkan data train yang sudah dilakukan proses Tagging dan tokenisasi yang akan membentuk 1 token per baris. Setiap baris berisikan token dan named entity yang telah ditentukan dan dipisahkan oleh spasi [4]. Kode CRF adalah sebuah kode yang menggunakan CRFClassifier, Perangkat lunak ini menyediakan implementasi umum rantai linear Conditional Random Field (CRF). Artinya, dengan melatih model sendiri pada data berlabel, Anda dapat benar-benar menggunakan kode ini untuk membangun urutan model untuk NER atau tugas lainnya. 9
2.5.2. OpenNLP NER OpenNLP NER merupakan suatu 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 NER ini kita harus menyediakan training model terlebih dahulu [3]. Cara kerja dari opennlp NER adalah dengan Sentence Detector. Sentence Detector berfungsi untuk mengembalikan sebuah array dari string, yang kemudian array akan di Tokenizer, dimana Tokenizer sendiri adalah bagian dimana kata-kata akan dipisahkan. Lalu Name finder akan menemukan nama dalam konteks. Kemudian nama yang telah ditemukan akan di Tagger sesuai pada token dan konteksnya. 2.6. Pengujian 2.6.1. Recall rumus: ditemukan. Menemukan seluruh dokumen yang relevan dalam koleksi. Recall dapat dihitung dengan Jumlah Dokumen Relevan Ditemukan Jumlah Dokumenrelevan Dalam Koleksi Nilai recall tertinggi adalah 1, yang berarti seluruh dokumen dalam koleksi berhasil 2.6.2. Precision Menemukan hanya dokumen yang relevan saja dalam koleksi. Precision dapat dihitung dengan rumus: adalah relevan. Jumlah Dokumen Relevan Ditemukan Jumlah Dokumen Ditemukan Nilai precision tertinggi adalah 1, yang berarti seluruh dokumen yang ditemukan 10
2.6.3. F-Measure F-Measure merupakan nilai yang mewakili keseluruhan kinerja sistem dan merupakan penggabungan nilai recall dan precision dalam sebuah nilai [10]. F-Measure dapat dirumuskan dengan: 2.6.4. Willcoxon Sign Rank F1 = 2 Precision Recall precision + Recall Willcoxon Sign Rank Adalah sebuah hipotestingis statistik yang digunakan untuk membandingkan dua sampel terkait yang kemudian mencari kecocokan antara sampel tersebut. 11