Skip to content
C

Character VS Word Classification

Project ID: 483

Perbandingan Ekstraksi Fitur Level Karakter dengan Kata pada Klasifikasi Teks Berita Bahasa Indonesia

Pendekatan Eksraksi Fitur Level Karakter

Pendekatan klasifikasi teks berita Bahasa Indonesia dengan level karakter dapat dilakukan pada file char_cnn_classification

Requirement :

Sistem yang dibutuhkan agar menjalankan program ini dengan baik :

  1. Python 3.6.
  2. Tensorflow 1.4.0.
  3. Numpy 1.14

Running :

training.py

Untuk melakukan running pada program dapat dilakukan dengan pada file training.py. Apabila pada folder data terdapat data yang sudah clean . Maka akan ada option seperti gambar dibawah ini, untuk melihat proses yang akan dijalankan

gui

Jika tidak ada data clean atau data yang telah di preprocessing, maka akan langsung melakukan modeling dengan data tanpa preprocessing

Saat file training.py dijalankan maka akan menghasilkan beberapa file yang muncul berupa sebuah timestamp agar unik (contoh:1525118595) sehingga ketika program dijalankan tidak ada overlapping. Didalam folder timestamp akan berisi Seperti,

  • Summaries : yang akan menangkap event-event dari hasil tensorflow.
  • test_per_class.txt : yang akan menangkap hasil evaluasi klasifikasi per kelas. Seperti Akurasi, Presisi, Recall dan F1-Score
  • test_res.txt : yang akan menangkap hasil evaluasi klasifikasi secara agregat. Seperti loss, akurasi, presisi, recall dan F1-Score
  • train_per_class.txt : yang akan menangkap hasil pergerakan saat training dalam klasifikasi per kelas. Seperti Akurasi, Presisi, Recall dan F1-Score
  • test_res.txt : yang akan menangkap hasil hasil pergerakan saat training dalam klasifikasi secara agregat. Seperti loss, akurasi, presisi, recall dan F1-Score

File Pendukung :

config.py

Pada file ini berisi mengenai pengaturan-pengaturan umum dalam pemodelan seperti jumlah batch, jumlah epoch, saat evaluasi, jumlah kelas, jumlah karakter yang diambil, sumber data *training *dan data *testing *hingga aristektur yang akan digunakan dalam pemodelan CNN. Karakter yang didefinisikan juga ada pada pengaturan ini. Karakter yang didefinisikan adalah sebagai berikut

*abcdefghijklmnopqrstuvwxyz0123456789-,;.!?:'"/\|_@#$%^&~`+-=<>()[]{}

data_helper.py

File ini bertugas untuk merubah teks menjadi sebuah input yang dapat dikenali oleh sebuah model CNN. Teks-teks akan digunakan akan dikuantisasi berdasarkan karakter yang telah didefinisikan pada config.py. Kemudian akan dilakukan perubahan menjadi 0 atau 1 dalam bentuk array. Misalkan kata "ada ada" jika dikuantisasi akan diubah menjadi "1 4 1 0 1 4 1" yang kemudian dibentuk sebuah array berdimensi 69 x 1014 untuk sebuah berita. Dimana 69 merupakan karakter yang didefinisikan dan 1014 karakter merupakan jumlah karakter yang diambil. Jika diilustrasikan hasil secara gambar apabila 0 diartikan sebagai putih dan ketika semakin mendekati 1 akan hitam maka hasilnya adalah sebagai berikut

hitam_putih_penjelasan

charCNN.py

Pada file ini berisi akan melakukan proses modelling dan perhitungan dari model model yang telah disusun sehingga akan mennghasilkan kelas yang dapat mengklasifikasikan sebuah berita.


Pendekatan Ekstraksi Fitur Level kata

Pendekatan klasifikasi teks berita Bahasa Indonesia dengan level karakter dapat dilakukan pada file word_svm_classification

Requirement :

Sistem yang dibutuhkan agar menjalankan program ini dengan baik :

  1. Python 3.6.
  2. sckit-sklearn 0.19.1
  3. nltk 3.2.5

Running :

word.py

Dalam melakukan klasifikasi level kata yang dilakukan cukup dengan melakukan running pada file word.py . Ketika file tersebut dijalankan, maka akan dideteksi apakah pada folder data ada data yang sudah dilakukan preprocessing atau belum. Jika belum, maka otomatis akan diambil data tanpa preprocessing. Jika ada data yang sudah di preprocessing maka akan menampilkan tampilan sebagai berikut

gui

Jika tidak ada data clean atau data yang telah di preprocessing, maka akan langsung melakukan modeling dengan data tanpa preprocessing. Setelah memilih data yang telah ataupun yang belum dilakukan preprocessing, maka akan muncul pilihan ekstraksi fitur sebagai berikut

gui_option

Saat word.py dijalankan maka akan menghasilkan beberapa file hasil ataupun penunjang seperti sebagai berikut.

Keterangan :

(tipe) : bisa berisikan tulisan "clean" atau "raw". "clean" jika data yang di-running merupakan data dengan preprocessing. "raw" jika data yang di-running merupakan data tanpa preprocessing.

(file) : merupakan nama file yang diambil

  • (tipe).txt : berisikan hasil-hasil yang dihasilkan setelah pemodelan seperti akurasi, presisi, recall, f1-score, waktu , memori dan lain sebagainya.
  • temp_tagger_(tipe)_(file).csv : berisikan back-up apabila terjadi kendala dalam melakukan proses tagging. Pengguna hanya tinggal melanjutkan proses tagging yang sudah ada dan tidak perlu mengulangi prosesnya dari awal.
  • time_tagger_(tipe)_(file).txt: berisikan catatan waktu dalam proses tagging.
  • (tipe)_(file).csv: berisikan file yang sudah dilakukan proses tagging dan siap untuk dilakukan modelling

File Pendukung :

all_indo_man_tag_corpus_model.crf.tagger

File ini merupakan sebuah corpus tagger yang didapat dari Yudi Wibisono (Dosen Univeristas Pendidikan Indonesia) dan telah dilakukan training dengan data jurnal dari Fam Rashel


Tahapan Preprocessing Data

Tahapan ini data akan dilakukan tahapan preprocessing pada file preprocessing. Preprocessing akan dilakukan dengan menggunakan metode stemming dan juga stop-words removal

Requirement :

Sistem yang dibutuhkan agar menjalankan program ini dengan baik :

  1. Python 3.6.
  2. Sastrawi 1.0.1

Running :

preprocessing.py

Untuk melakukan running pada program dapat dilakukan dengan pada file preprocessing.py. Pastikan data yang ingin di-preprocessing sudah ada pada folder data. Setelah dilakukan running pada file preprocessing.py kemudian akan muncul file baru pada folder data dengan format clean_(file).csv

Selain itu ada pula file lain yang akan dihasilkan dalam tahapan preprocessing ini diantaranya adalah

  • time_preprocessing_(file).txt : yang bertujuan untuk menghitung waktu yang dibutuhkan dalam preprocessing
  1. temp_preprocessing_(file).csv : yang bertujuan untuk melakukan proses back-up selama proses preprocessing berlangsung.

File Pendukung :

stop_list_indo.txt

File ini merupakan sebuah stop list yang didapatkan berdasarkan penelitian yang dilakukan Tala A. Z.


Tahapan Pengumpulan Data

Tahapan ini data akan dilakukan pengumpulan data dengan scrapping beberapa media online seperti detik,kumparan,dan kompas

Requirement :

Sistem yang dibutuhkan agar menjalankan program ini dengan baik :

  1. Python 3.6.
  2. Request 2.18.4
  3. Beautifulsoup 4.6.
  4. Selenium 3.9.

Running :

scrapper.py

Untuk melakukan running pada program dapat dilakukan dengan melakukan running pada script scrapper.py. Kelas yang akan di-scrapping pada penelitian ini antara lain Ekonomi, Politik, Kesehatan, Olahraga, dan Hiburan.

Selain itu ada pula file lain yang akan dihasilkan dalam tahapan scrapping ini diantaranya adalah

Keterangan :

(kelas) : bisa berisikan tulisan "politik", "ekonomi", "kesehatan", "olahraga" dan "hiburan"

  • (kelas)_link.txt : yang bertujuan untuk melakukan back up pada link yang telah di-scrapping
  • backward_kes: yang bertujuan untuk meng-cache waktu mundur dari portal detik

File Pendukung :

Web Driver

Web driver yang digunakan dapat bermacam-macam seperti PhantomJS, Chrome, dan lain lain sebagainya. Pada penelitian ini digunakan Chrome Driver


Aplikasi Pendukung Penelitian

Penelitian ini juga menggunakan aplikasi lain dalam mengolah hasil penelitian. Beberapa diantaranya adalah

Excel 2016 (atau versi terbaru)

Bertugas untuk membentuk grafik dalam hasil yang diberikan oleh server. Selain itu aplikasi ini bertugas untuk melakukan delimited separator hasil dari char_cnn_classification

File Zilla 3.35.1 (atau versi terbaru)

Bertugas untuk melakukan upload ataupun download yang dilakukan pada server.

Google Cloud Platform

Merupakan sebuah sever yang digunakan untuk melakukan penelitian ini

PyCharm 2017 3.2. (atau versi terbaru

Bertugas sebagai IDE dalam penelitian ini.


Presentasi

Berikut ini presentasi yang disajikan di Politeknik Statistika STIS - Jakarta pada Kamis, 9 Agustus 2018

sidang_14.8423.pptx