Dasar-dasar AI
Bagaimana Klasifikasi Teks Bekerja?
Klasifikasi teks adalah proses menganalisis urutan teks dan menetapkan label, memasukkannya ke dalam kelompok berdasarkan kontennya. Klasifikasi teks merupakan dasar dari hampir semua tugas AI atau pembelajaran mesin yang melibatkan Pemrosesan Bahasa Alami (NLP). Dengan klasifikasi teks, program komputer dapat melakukan berbagai tugas seperti pengenalan spam, analisis sentimen, dan fungsi chatbot. Bagaimana klasifikasi teks bekerja secara tepat? Apa metode yang berbeda untuk melakukan klasifikasi teks? Kami akan menjelajahi jawaban atas pertanyaan-pertanyaan ini di bawah.
Mendefinisikan Klasifikasi Teks
Sangat penting untuk mengambil waktu dan memastikan bahwa kita memahami apa itu klasifikasi teks secara umum sebelum mempelajari metode yang berbeda untuk melakukan klasifikasi teks. Klasifikasi teks adalah salah satu istilah yang diterapkan pada banyak tugas dan algoritma, sehingga berguna untuk memastikan bahwa kita memahami konsep dasar klasifikasi teks sebelum melanjutkan untuk menjelajahi cara-cara yang berbeda untuk melakukannya.
Apa pun yang melibatkan membuat kategori yang berbeda untuk teks dan kemudian menandai contoh teks yang berbeda sebagai kategori-kategori ini dapat dianggap sebagai klasifikasi teks. Selama sistem melakukan langkah-langkah dasar ini, maka dapat dianggap sebagai klasifikasi teks, terlepas dari metode yang digunakan untuk mengklasifikasikan teks dan terlepas dari bagaimana klasifikasi teks akhirnya diterapkan. Mendeteksi spam email, mengatur dokumen berdasarkan topik atau judul, dan mengenali sentimen dari ulasan produk adalah contoh klasifikasi teks karena mereka dilakukan dengan mengambil teks sebagai input dan mengeluarkan label kelas untuk teks tersebut.
Bagaimana Klasifikasi Teks Bekerja?

Foto: Quinn Dombrowski via Flickr, CC BY SA 2.0 , (https://www.flickr.com/photos/quinnanya/4714794045)
Sebagian besar metode klasifikasi teks dapat dikelompokkan ke dalam salah satu dari tiga kategori: metode berbasis aturan atau metode pembelajaran mesin.
Metode Klasifikasi Berbasis Aturan
Metode klasifikasi teks berbasis aturan bekerja melalui penggunaan aturan linguistik yang dirancang secara eksplisit. Sistem menggunakan aturan yang dibuat oleh insinyur untuk menentukan kelas mana yang harus dimiliki teks, mencari petunjuk dalam bentuk elemen teks yang relevan secara semantik. Setiap aturan memiliki pola yang teks harus sesuai untuk ditempatkan ke dalam kategori yang sesuai.
Untuk lebih konkrit, mari kita katakan Anda ingin merancang klasifikasi teks yang dapat membedakan topik percakapan yang umum, seperti cuaca, film, atau makanan. Untuk memungkinkan klasifikasi teks Anda untuk mengenali diskusi tentang cuaca, Anda mungkin memberitahu untuk mencari kata-kata terkait cuaca dalam tubuh teks yang diberikan. Anda akan memiliki daftar kata kunci, frasa, dan pola lain yang relevan yang dapat digunakan untuk membedakan topik. Misalnya, Anda mungkin menginstruksikan klasifikasi untuk mencari kata-kata seperti “angin”, “hujan”, “matahari”, “salju”, atau “awan”. Anda kemudian dapat memiliki klasifikasi untuk melihat teks input dan menghitung berapa kali kata-kata tersebut muncul dalam tubuh teks dan jika mereka muncul lebih umum daripada kata-kata terkait film, Anda akan mengklasifikasikan teks sebagai milik kelas cuaca.
Kelebihan sistem berbasis aturan adalah bahwa input dan outputnya dapat diprediksi dan dapat diinterpretasikan oleh manusia, dan dapat ditingkatkan melalui intervensi manual oleh insinyur. Namun, metode klasifikasi berbasis aturan juga agak rapuh dan sering kali memiliki kesulitan untuk menggeneralisir karena hanya dapat mengikuti pola yang telah diprogram sebelumnya. Sebagai contoh, kata “awan” dapat merujuk pada kelembaban di langit atau awan digital tempat data disimpan. Sulit bagi sistem berbasis aturan untuk menangani nuansa ini tanpa insinyur menghabiskan waktu untuk secara manual mengantisipasi dan menyesuaikan untuk kehalusan ini.
Sistem Pembelajaran Mesin
Seperti disebutkan sebelumnya, sistem berbasis aturan memiliki keterbatasan, karena fungsinya dan aturannya harus diprogram sebelumnya. Di sisi lain, sistem klasifikasi berbasis pembelajaran mesin bekerja dengan menerapkan algoritma yang menganalisis dataset untuk pola yang terkait dengan kelas tertentu.
Algoritma pembelajaran mesin diberi contoh yang telah diberi label sebelumnya yang dianalisis untuk fitur yang relevan. Contoh yang telah diberi label sebelumnya ini adalah data pelatihan.
Klasifikasi pembelajaran mesin menganalisis data pelatihan dan mempelajari pola yang terkait dengan kelas yang berbeda. Setelah itu, contoh yang tidak terlihat sebelumnya dilepas dari labelnya dan diberikan kepada algoritma klasifikasi yang menetapkan label ke contoh tersebut. Label yang ditetapkan kemudian dibandingkan dengan label asli untuk melihat seberapa akurat klasifikasi pembelajaran mesin, menilai seberapa baik model mempelajari pola yang memprediksi kelas.
Algoritma pembelajaran mesin bekerja dengan menganalisis data numerik. Ini berarti bahwa untuk menggunakan algoritma pembelajaran mesin pada data teks, teks perlu diubah menjadi format numerik. Ada beberapa metode untuk mengkodekan data teks sebagai data numerik dan membuat metode pembelajaran mesin di sekitar data ini. Kami akan membahas beberapa cara yang berbeda untuk merepresentasikan data teks di bawah.
Bag-of-Words
Bag-of-words adalah salah satu pendekatan yang paling umum digunakan untuk mengkodekan dan merepresentasikan data teks. Istilah “bag-of-words” berasal dari fakta bahwa Anda mengambil semua kata dalam dokumen dan memasukkannya ke dalam satu “kantong” tanpa memperhatikan urutan kata atau tata bahasa, memperhatikan hanya frekuensi kata dalam kantong. Ini menghasilkan array panjang, atau vektor, yang berisi satu representasi dari semua kata dalam dokumen input. Jadi jika ada 10.000 kata unik total dalam dokumen input, vektor fitur akan memiliki panjang 10.000 kata. Ini adalah cara ukuran kantong kata/vektor fitur dihitung.

Foto: gk_ via Machinelearning.co, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)
Setelah ukuran vektor fitur ditentukan, setiap dokumen dalam daftar dokumen total diberi vektor yang diisi dengan angka yang menunjukkan berapa kali kata dalam pertanyaan muncul dalam dokumen saat ini. Ini berarti bahwa jika kata “makanan” muncul delapan kali dalam satu dokumen teks, vektor fitur yang sesuai akan memiliki delapan di posisi yang sesuai.
Dengan cara lain, semua kata unik yang muncul dalam dokumen input semua dimasukkan ke dalam satu kantong dan kemudian setiap dokumen mendapatkan vektor kata dengan ukuran yang sama, yang kemudian diisi dengan jumlah kata yang berbeda yang muncul dalam dokumen.
Dataset teks sering kali berisi sejumlah besar kata unik, tetapi sebagian besar dari mereka tidak digunakan secara luas. Oleh karena itu, jumlah kata yang digunakan untuk membuat vektor kata biasanya dibatasi pada nilai tertentu (N) dan kemudian dimensi vektor fitur akan menjadi Nx1.
Term Frequency-Inverse Document Frequency (TF-IDF)
Cara lain untuk merepresentasikan dokumen berdasarkan kata-kata di dalamnya disebut Term Frequency-Inverse Document Frequency (TF-IDF). Pendekatan TF-IDF juga membuat vektor yang merepresentasikan dokumen berdasarkan kata-kata di dalamnya, tetapi tidak seperti Bag-of-words, kata-kata ini memiliki bobot lebih dari sekedar frekuensi. TF-IDF mempertimbangkan pentingnya kata-kata dalam dokumen, mencoba untuk mengkuantifikasi seberapa relevan kata itu dengan subjek dokumen. Dengan kata lain, TF-IDF menganalisis relevansi bukan frekuensi dan hitungan kata dalam vektor fitur digantikan oleh skor TF-IDF yang dihitung dengan mengacu pada dataset secara keseluruhan.
Pendekatan TF-IDF bekerja dengan menghitung frekuensi istilah, yaitu jumlah kali istilah unik muncul dalam dokumen tertentu. Namun, TF-IDF juga membatasi pengaruh kata-kata yang sangat umum seperti “yang”, “atau”, dan “dan”, karena kata-kata ini sangat umum tetapi tidak memberikan informasi yang banyak tentang konten dokumen. Kata-kata ini perlu didiskontkan, yang merupakan bagian “inverse-document frequency” dari TF-IDF. Ini dilakukan karena semakin banyak dokumen yang kata tertentu muncul, semakin tidak berguna kata itu dalam membedakan dokumen dari dokumen lain dalam daftar dokumen. Rumus yang digunakan TF-IDF untuk menghitung pentingnya kata dirancang untuk melestarikan kata-kata yang paling sering dan paling kaya secara semantik.
Vektor fitur yang dibuat oleh pendekatan TF-IDF berisi nilai yang dinormalisasi yang berjumlah satu, memberi setiap kata nilai bobot yang dihitung oleh rumus TF-IDF.
Word Embeddings
Word embeddings adalah metode untuk merepresentasikan teks yang memastikan bahwa kata-kata dengan makna yang serupa memiliki representasi numerik yang serupa.
Word embeddings bekerja dengan “vektorisasi” kata-kata, yaitu merepresentasikan kata-kata sebagai vektor nilai riil dalam ruang vektor. Vektor-vektor ini ada dalam grid atau matriks dan memiliki arah dan panjang (atau magnitude). Ketika merepresentasikan kata-kata sebagai vektor, kata-kata diubah menjadi vektor yang terdiri dari nilai riil. Setiap kata dipetakan ke satu vektor, dan kata-kata yang serupa dalam makna memiliki vektor yang serupa dalam arah dan magnitude. Jenis pengkodean ini memungkinkan algoritma pembelajaran mesin untuk mempelajari hubungan yang kompleks antara kata-kata.
Embedding yang merepresentasikan kata-kata yang berbeda dibuat dengan mempertimbangkan bagaimana kata-kata tersebut digunakan. Karena kata-kata yang digunakan dengan cara yang serupa akan memiliki vektor yang serupa, proses pembuatan word embeddings secara otomatis menerjemahkan beberapa makna yang kata-kata miliki. Pendekatan bag-of-words, di sisi lain, membuat representasi yang rapuh di mana kata-kata yang berbeda akan memiliki representasi yang tidak serupa bahkan jika mereka digunakan dalam konteks yang sangat serupa.
Sebagai hasilnya, word embeddings lebih baik dalam menangkap konteks kata-kata dalam kalimat.
Ada beberapa algoritma dan pendekatan yang digunakan untuk membuat word embeddings. Beberapa metode word embeddings yang paling umum dan dapat diandalkan termasuk lapisan embedding, word2vec, dan GloVe.
Embedding Layers
Salah satu cara untuk menggunakan word embeddings bersama dengan sistem pembelajaran mesin/deep learning adalah dengan menggunakan lapisan embedding. Lapisan embedding adalah lapisan deep learning yang mengubah kata-kata menjadi embeddings yang kemudian diberikan ke sisa sistem deep learning. Word embeddings dipelajari saat jaringan dilatih untuk tugas teks tertentu.

Dalam pendekatan word embedding, kata-kata yang serupa akan memiliki representasi yang serupa dan lebih dekat satu sama lain daripada kata-kata yang tidak serupa.
Untuk menggunakan lapisan embedding, teks perlu diproses terlebih dahulu. Teks dalam dokumen harus dienkripsi satu-satu, dan ukuran vektor perlu ditentukan sebelumnya. Teks satu-satu kemudian diubah menjadi vektor kata dan vektor diberikan ke model pembelajaran mesin.
Word2Vec
Word2Vec adalah metode umum lainnya untuk mengembed kata-kata. Word2Vec menggunakan metode statistik untuk mengubah kata-kata menjadi embeddings dan dioptimalkan untuk digunakan dengan model berbasis jaringan saraf. Word2Vec dikembangkan oleh peneliti Google (GOOGL ) dan merupakan salah satu metode embedding yang paling umum digunakan, karena secara konsisten menghasilkan embeddings yang berguna dan kaya. Representasi Word2Vec berguna untuk mengidentifikasi kesamaan semantik dan sintaksis dalam bahasa. Ini berarti bahwa representasi Word2Vec menangkap hubungan antara konsep yang serupa, dapat membedakan bahwa kesamaan antara “Raja” dan “Ratu” adalah kerajaan dan bahwa “Raja” mengimplikasikan “laki-laki” sedangkan Ratu mengimplikasikan “perempuan”.
GloVe
GloVe, atau Global Vektor untuk Representasi Kata, membangun atas algoritma embedding yang digunakan oleh Word2Vec. Metode embedding GloVe menggabungkan aspek dari kedua Word2Vec dan teknik faktorisasi matriks seperti Analisis Semantik Laten. Kelebihan Word2Vec adalah bahwa dapat menangkap konteks, tetapi sebagai tradeoff, itu tidak dapat menangkap statistik teks global dengan baik. Di sisi lain, representasi vektor tradisional baik dalam menentukan statistik teks global tetapi tidak berguna dalam menentukan konteks kata-kata dan frasa. GloVe mengambil kelebihan dari kedua pendekatan, membuat word-context berdasarkan statistik teks global.












