Klasifikasi Teks

 

Oleh : Cindy Rahayu (2140032843), Andi (2140032894)

 

Apa itu Klasifikasi Teks?

Klasifikasi teks adalah proses pemberian tag atau kategori ke teks menurut isinya. Klasifikasi teks dapat digunakan untuk mengatur, menyusun, dan mengkategorikan hampir semua hal. Misalnya, artikel baru dapat diatur berdasarkan topik, percakapan obrolan dapat diatur berdasarkan bahasa, penyebutan merek dapat diatur berdasarkan sentimen, dan sebagainya.

 

Bagaimana Klasifikasi Teks Bekerja?

Klasifikasi teks dapat dilakukan dengan dua cara berbeda: klasifikasi manual dan otomatis. Cara yang pertama, annotator manusia menafsirkan konten teks dan mengkategorikannya. Metode ini biasanya dapat memberikan hasil yang berkualitas tetapi memakan waktu dan mahal. Yang terakhir menerapkan pembelajaran mesin, pemrosesan bahasa alami, dan teknik lainnya untuk secara otomatis mengklasifikasikan teks dengan cara yang lebih cepat dan lebih hemat biaya. Ada banyak pendekatan untuk klasifikasi teks otomatis, yang dapat dikelompokkan menjadi tiga jenis sistem yang berbeda :

  1. Rule-based systems

Pendekatan berbasis aturan mengklasifikasikan teks ke dalam kelompok terorganisir dengan menggunakan seperangkat aturan linguistik buatan tangan. Aturan-aturan ini menginstruksikan sistem untuk menggunakan elemen teks yang relevan secara semantik untuk mengidentifikasi kategori yang relevan berdasarkan isinya. Setiap aturan terdiri dari anteseden atau pola dan kategori yang diprediksi. Misalnya Anda ingin mengelompokkan artikel berita menjadi 2 kelompok, yaitu Olahraga dan Politik. Pertama, Anda perlu menentukan dua daftar kata yang menjadi ciri masing-masing kelompok (misalnya kata-kata yang berkaitan dengan olahraga seperti sepak bola, bola basket, LeBron James, dll dan kata-kata yang berkaitan dengan politik seperti Donald Trump, Hillary Clinton, Putin, dll. Selanjutnya, saat Anda ingin mengklasifikasikan teks baru yang masuk, Anda perlu menghitung jumlah kata terkait olahraga yang muncul di teks dan melakukan hal yang sama untuk kata terkait politik. Jika jumlah kemunculan kata terkait olahraga lebih banyak daripada jumlah kata terkait politik, maka teks tersebut diklasifikasikan sebagai olahraga dan sebaliknya.

Misalnya, sistem berbasis aturan ini akan mengklasifikasikan judul “Kapan pertandingan pertama LeBron James dengan Lakers?” sebagai Olahraga karena menghitung 1 istilah terkait olahraga (Lebron James) dan tidak menghitung istilah terkait politik apa pun.

Sistem berbasis aturan dapat dipahami manusia dan dapat ditingkatkan seiring waktu. Tetapi pendekatan ini memiliki beberapa kelemahan. Sebagai permulaan, sistem ini membutuhkan pengetahuan yang mendalam tentang domain. Mereka juga memakan waktu, karena membuat aturan untuk sistem yang kompleks bisa sangat menantang dan biasanya membutuhkan banyak analisis dan pengujian. Sistem berbasis aturan juga sulit dipertahankan dan tidak diskalakan dengan baik karena menambahkan aturan baru dapat mempengaruhi hasil aturan yang sudah ada sebelumnya.

 

  1. Machine Learning based systems

Alih-alih mengandalkan aturan yang dibuat secara manual, klasifikasi teks dengan machine learning membuat klasifikasi berdasarkan pengamatan sebelumnya. Dengan menggunakan contoh yang diberi label sebelumnya sebagai data pelatihan, algoritma machine learning dapat mempelajari asosiasi yang berbeda antara bagian teks dan bahwa keluaran tertentu (yaitu tag) diharapkan untuk masukan tertentu (yaitu teks).

Langkah pertama untuk melatih pengklasifikasi dengan pembelajaran mesin adalah ekstraksi fitur: metode yang digunakan untuk mengubah setiap teks menjadi representasi numerik dalam bentuk vektor. Salah satu pendekatan yang paling sering digunakan adalah bag of words, di mana vektor mewakili frekuensi suatu kata dalam kamus kata yang telah ditentukan sebelumnya.

Misalnya, jika kita telah mendefinisikan kamus kita untuk memiliki kata-kata berikut {This, is, the, not, awesome, bad, basketball}, dan kita ingin membuat vektor teks “This is awesome”, kita akan memiliki representasi vektor berikut dari teks itu: (1, 1, 0, 0, 1, 0, 0).  Kemudian, algoritma machine learning diisi dengan data pelatihan yang terdiri dari pasangan set fitur (vektor untuk setiap contoh teks) dan tag (misalnya olahraga, politik) untuk menghasilkan model klasifikasi:

Setelah dilatih dengan sampel pelatihan yang cukup, model machine learning dapat mulai membuat prediksi yang akurat. Ekstraktor fitur yang sama digunakan untuk mengubah teks yang tidak terlihat menjadi kumpulan fitur yang dapat dimasukkan ke dalam model klasifikasi untuk mendapatkan prediksi pada tag (misalnya olahraga, politik):

Klasifikasi teks dengan machine learning biasanya jauh lebih akurat daripada sistem aturan buatan manusia, terutama pada tugas klasifikasi yang kompleks. Selain itu, pengklasifikasi dengan machine learning lebih mudah dikelola dan Anda selalu dapat memberi tag pada contoh baru untuk mempelajari tugas baru.

Beberapa algoritma machine learning yang paling populer untuk membuat model klasifikasi teks termasuk kelompok algoritma naive bayes family of algorithms, support vector machines, dan deep learning.

 

  1. Hybrid systems

Sistem hybrid menggabungkan pengklasifikasi dasar yang dilatih dengan machine learning dan rule-based system, yang digunakan untuk lebih meningkatkan hasil. Sistem hybrid ini dapat dengan mudah disesuaikan dengan menambahkan aturan khusus untuk tag yang bentrok yang belum dimodelkan dengan benar oleh pengklasifikasi dasar.

Metrics and Evaluation

Validasi silang adalah metode umum untuk mengevaluasi kinerja pengklasifikasi teks. Ini terdiri dari pemisahan kumpulan data pelatihan secara acak menjadi kumpulan contoh yang panjangnya sama (misalnya 4 kumpulan dengan 25% data). Untuk setiap set, pengklasifikasi teks dilatih dengan sampel yang tersisa (misalnya 75% dari sampel). Selanjutnya, pengklasifikasi membuat prediksi pada set masing-masing dan hasilnya dibandingkan dengan tag yang dianotasi manusia. Hal ini memungkinkan untuk menemukan kapan prediksi benar (positif benar dan negatif benar) dan ketika membuat kesalahan (positif palsu, negatif palsu).

Dengan hasil ini, Anda dapat membuat metrik performa yang berguna untuk penilaian cepat tentang seberapa baik pengklasifikasi bekerja :

Accuracy : persentase teks yang diprediksi dengan tag yang benar.

Precision : persentase contoh yang didapatkan pengklasifikasi dari jumlah total contoh yang diprediksi untuk tag tertentu.

Recall : persentase contoh yang diprediksi oleh pengklasifikasi untuk tag tertentu dari jumlah total contoh yang seharusnya diprediksi untuk tag tersebut.

F1 Score: rata-rata presisi dan perolehan yang harmonis.

 

Apa Itu Text Preprocessing ?

Text Preprocessing adalah tahapan dimana aplikasi melakukan seleksi data yang akan diproses pada setiap dokumen. Proses preprocessing ini meliputi (1) case folding, (2) tokenizing, (3) filtering, dan (4) stemming.

1.    Case Folding

Tidak semua dokumen teks konsisten dalam penggunaan huruf kapital. Oleh karena itu, peran Case Folding dibutuhkan dalam mengonversi keseluruhan teks dalam dokumen menjadi suatu bentuk standar (biasanya huruf kecil atau lowercase).

2.    Tokenizing

Tahap Tokenizing adalah tahap pemotongan string input berdasarkan tiap kata yang menyusunnya. Tokenisasi secara garis besar memecah sekumpulan karakter dalam suatu teks ke dalam satuan kata, bagaimana membedakan karakter-karakter tertentu yang dapat diperlakukan sebagai pemisah kata atau bukan.

3.    Filtering

Tahap Filtering adalah tahap mengambil kata-kata penting dari hasil token. Bisa menggunakan algoritma stoplist (membuang kata kurang penting) atau wordlist (menyimpan kata penting). Stoplist/stopword adalah kata-kata yang tidak deskriptif yang dapat dibuang dalam pendekatan bag-of-words

Kata-kata seperti “dari”, “yang”, “di”, dan “ke” adalah beberapa contoh kata-kata yang berfrekuensi tinggi dan dapat ditemukan hampir dalam setiap dokumen (disebut sebagai stopword). Penghilangan stopword ini dapat mengurangi ukuran index dan waktu pemrosesan. Selain itu, juga dapat mengurangi level noise.

4.    Stemming

Pembuatan indeks dilakukan karena suatu dokumen tidak dapat dikenali langsung oleh Information Retrieval System (IRS). Oleh karena itu, dokumen tersebut terlebih dahulu perlu dipetakan ke dalam suatu representasi dengan menggunakan teks yang berada di dalamnya.

Teknik Stemming diperlukan selain untuk memperkecil jumlah indeks yang berbeda dari suatu dokumen, juga untuk melakukan pengelompokan kata-kata lain yang memiliki kata dasar dan arti yang serupa namun memiliki bentuk atau form yang berbeda karena mendapatkan imbuhan yang berbeda.

Sebagai contoh kata bersama, kebersamaan, menyamai, akan di-stemming (dipisahkan dari setiap imbuhannya) ke root word-nya yaitu “sama”. Namun, seperti halnya stopping, kinerja stemming juga bervariasi dan sering tergantung pada domain bahasa yang digunakan.

Proses stemming pada teks berbahasa Indonesia berbeda dengan stemming pada teks berbahasa Inggris. Pada teks berbahasa Inggris, proses yang diperlukan hanya proses menghilangkan sufiks. Sedangkan pada teks berbahasa Indonesia semua kata imbuhan baik itu sufiks dan prefiks juga dihilangkan.

Contoh Penggunaan Klasifikasi Teks

  • Memahami sentimen audiens dari media sosial
  • Deteksi email spam dan non-spam
  • Pemberian tag otomatis pada query pelanggan
  • Kategorisasi artikel berita ke dalam topik tertentu

 

 

 

Referensi :

  • https://monkeylearn.com/text-classification/
  • https://towardsdatascience.com/text-classification-in-python-dd95d264c802
  • https://www.analyticsvidhya.com/blog/2018/04/a-comprehensive-guide-to-understand-and-implement-text-classification-in-python/
M. Sani Isa