Pemilihan Feature Teks untuk Klasifikasi


Dalam penerapan Text Mining terhadap sekumpulan dokumen, kita mengenal istilah feature selection. Tahapan ini merupakan tahapan penting dalam text mining. Salah satu fungsi penting yang disediakan oleh tahapan proses ini adalah untuk dapat memilih term atau kata apa saja yang dapat dijadikan sebagai wakil penting untuk kumpulan dokumen yang akan kita analisis. Mengapa perlu dipilih adanya “wakil”? Dari 3500 dokumen misalnya, kata yang dapat dihasilkan setelah tahapan tokenisasi dan filtering, dapat dimisalkan akan menghasilkan puluhan ribu kata unik (jumlah token atau kata ini sangat tergantung pada ukuran tiap-tiap dokumen dalam kumpulan dokumen). Bayangkan sekarang dari puluhan ribu kata tersebut kemudian langsung kita gunakan sebagai vektor dokumen. Sangat tidak mungkin dan lebih dari itu sangat tidak efektif. Sehingga tahapan pemilihan term sangatlah penting untuk dapat membentuk suatu kumpulan term/kata terpilih yang sekiranya dapat mewakili karakter dari seluruh dokumen.

Sekarang, bagaimana caranya untuk dapat memilih term/kata mana saja yang dapat mewakili seluruh dokumen yang kita miliki? Sebelumnya yang perlu dipahami juga bahwa dokumen-dokumen yang akan kita analisis dapat dijadikan sebagai sebuah kumpulan vektor. Setiap dokumen menunjukkan sebuah “titik” dalam suatu ruang vektor dengan dimensi-n. Oleh karena dokumen dijadikan sebagai sebuah vektor, maka untuk setiap elemen vektor (dalam hal ini term/kata) harus memiliki suatu nilai (bobot). Sehingga, langkah awal sebelum dalam melakukan pemilihan wakil, kita harus mengetahui bobot dari setiap term/kata, agar kita dapat mengetahui mana yang lebih menonjol dan mana yang tidak. Pembobotan yang paling umum digunakan dalam text mining adalah TF-IDF (Term Frequency-Inverse Document Frequency). Pembobotan lain yang juga dapat kita gunakan, antara lain: ChiSquare atau Mutual Information. Untuk ChiSquare dan MI, keduanya pada umumnya digunakan pada sistem klasifikasi dokumen otomatis. Setiap pembobotan pastinya menyediakan arti tersendiri, namun yang pasti setiap pembobotan diharapkan dapat menghasilkan daftar term/kata yang dapat dikatakan penting untuk dijadikan “wakil” dari seluruh dokumen.

Setelah semua term/kata memiliki bobot tertentu, maka cara yang paling mudah untuk memilih kata mana saja yang dapat dijadikan wakil adalah dengan menentukan n-top kata yang memiliki bobot paling tinggi. Pemilihan n-top kata ini dapat dilakukan dengan kaku, yaitu nentukan jumlah sebanyak N kata, atau juga dapat menggunakan n% berdasar bobot paling tinggi. Terkait dengan hal ini, ada baiknya jika bobot dari setiap term/kata juga dilakukan normalisasi. Pada TF-IDF, kita dapat dengan mudah melakukan normalisasi dengan rumusan sebagai berikut :

TF-IDF Norm

Pemilihan term/kata untuk dijadikan “wakil” sebenarnya juga dapat dilakukan dengan menerapkan metode SVD (Singular Value Decomposition) atau PCA (Principal Component Analysis). Keduanya akan dapat membentuk sebuah matrix yang menjadi “wakil” dari seluruh vektor dokumen.

Terkait dengan proses feature selection untuk penerapannya pada sistem klasifikasi dokumen otomatis, pemilihan term/kata untuk feature dilakukan untuk kumpulan dokumen masing-masing class. Dengan cara ini, diharapkan setiap class memiliki suatu feature yang menandakan keunikannya.  Berikut pseudocode dari buku “Introduction to Information Retrieval” terkait dengan pemilihan feature untuk masing-masing class [1]:

Setelah terbentuk vektor feature setiap class, maka selanjutnya proses pelatihan dilakukan untuk setiap dokumen pelatihan yang sudah dibentuk vektornya berdasar feature yang terpilih.

Referensi: