potongan Bagaimana Cara Kerja Klasifikasi Teks? - Bersatu.AI
Terhubung dengan kami

AI 101

Bagaimana Cara Kerja Klasifikasi Teks?

mm
Updated on

Klasifikasi teks adalah proses menganalisis urutan teks dan memberinya label, mengelompokkannya berdasarkan kontennya. Klasifikasi teks mendasari hampir semua tugas AI atau pembelajaran mesin yang melibatkan Natural Language Processing (NLP). Dengan klasifikasi teks, program komputer dapat melakukan berbagai macam tugas seperti pengenalan spam, analisis sentimen, dan fungsi chatbot. Bagaimana sebenarnya cara kerja klasifikasi teks? Apa sajakah metode berbeda dalam melakukan klasifikasi teks? Kami akan mengeksplorasi jawaban atas pertanyaan-pertanyaan di bawah ini.

Mendefinisikan Klasifikasi Teks

Sangat penting untuk meluangkan waktu dan memastikan bahwa kita mengerti klasifikasi teks itu apa, secara umum, sebelum mempelajari berbagai metode dalam melakukan klasifikasi teks. Klasifikasi teks adalah salah satu istilah yang diterapkan pada banyak tugas dan algoritme yang berbeda, jadi penting untuk memastikan bahwa kita memahami konsep dasar klasifikasi teks sebelum melanjutkan untuk menjelajahi berbagai cara yang dapat dilakukan.

Apa pun yang melibatkan pembuatan kategori yang berbeda untuk teks, lalu memberi label sampel teks yang berbeda sebagai kategori ini, dapat dianggap sebagai klasifikasi teks. Selama sistem melakukan langkah-langkah dasar ini, ia dapat dianggap sebagai pengklasifikasi teks, terlepas dari metode yang tepat yang digunakan untuk mengklasifikasikan teks dan terlepas dari bagaimana pengklasifikasi teks pada akhirnya diterapkan. Mendeteksi spam email, mengatur dokumen berdasarkan topik atau judul, dan mengenali sentimen ulasan untuk suatu produk adalah contoh klasifikasi teks karena dilakukan dengan mengambil teks sebagai input dan mengeluarkan label kelas untuk bagian teks tersebut.

Bagaimana Cara Kerja Klasifikasi Teks?

Foto: Quinn Dombrowski via Flickr, CC BY SA 2.0 , (https://www.flickr.com/photos/quinnanya/4714794045)

Sebagian besar metode klasifikasi teks dapat ditempatkan ke dalam salah satu dari tiga kategori berbeda: metode berbasis aturan atau metode pembelajaran mesin.

Metode Klasifikasi Berbasis Aturan

Metode klasifikasi teks berbasis aturan beroperasi melalui penggunaan aturan linguistik yang direkayasa secara eksplisit. Sistem menggunakan aturan yang dibuat oleh insinyur untuk menentukan kelas mana yang harus dimiliki oleh bagian teks tertentu, mencari petunjuk dalam bentuk elemen teks yang relevan secara semantik. Setiap aturan memiliki pola yang harus cocok dengan teks untuk ditempatkan ke dalam kategori yang sesuai.

Agar lebih konkret, katakanlah Anda ingin mendesain pengklasifikasi teks yang mampu membedakan topik umum percakapan, seperti cuaca, film, atau makanan. Untuk mengaktifkan pengklasifikasi teks Anda untuk mengenali diskusi tentang cuaca, Anda dapat memintanya untuk mencari kata-kata yang berhubungan dengan cuaca di badan sampel teks yang sedang dimasukkan. Anda akan memiliki daftar kata kunci, frasa, dan pola relevan lainnya yang dapat digunakan untuk membedakan topik. Misalnya, Anda dapat menginstruksikan pengklasifikasi untuk mencari kata seperti "angin", "hujan", "matahari", "salju", atau "awan". Anda kemudian dapat meminta pengklasifikasi melihat melalui teks masukan dan menghitung berapa kali kata-kata ini muncul di badan teks dan jika muncul lebih umum daripada kata-kata yang terkait dengan film, Anda akan mengklasifikasikan teks sebagai milik kelas cuaca.

Keuntungan dari sistem berbasis aturan adalah input dan outputnya dapat diprediksi dan ditafsirkan oleh manusia, dan dapat ditingkatkan melalui intervensi manual oleh insinyur. Namun, metode klasifikasi berbasis aturan juga agak rapuh, dan seringkali mengalami kesulitan untuk menggeneralisasi karena hanya dapat mengikuti pola yang telah ditentukan sebelumnya yang telah diprogram. Sebagai contoh, kata "awan" dapat merujuk pada kelembapan di dalam langit, atau bisa juga mengacu pada cloud digital tempat data disimpan. Sulit bagi sistem berbasis aturan untuk menangani nuansa ini tanpa para insinyur menghabiskan cukup banyak waktu untuk mencoba mengantisipasi dan menyesuaikan seluk-beluk ini secara manual.

Sistem Pembelajaran Mesin

Seperti disebutkan di atas, sistem berbasis aturan memiliki keterbatasan, karena fungsi dan aturannya harus diprogram sebelumnya. Sebaliknya, sistem klasifikasi berbasis pembelajaran mesin beroperasi dengan menerapkan algoritme yang menganalisis kumpulan data untuk pola yang terkait dengan kelas tertentu.

Algoritme pembelajaran mesin diberi contoh pra-label/pra-klasifikasi yang dianalisis untuk fitur yang relevan. Instance yang diberi label sebelumnya ini adalah data pelatihan.

Pengklasifikasi pembelajaran mesin menganalisis data pelatihan dan mempelajari pola yang terkait dengan kelas yang berbeda. Setelah ini, instance yang tidak terlihat dilucuti dari labelnya dan diumpankan ke algoritme klasifikasi yang memberikan label pada instance tersebut. Label yang ditetapkan kemudian dibandingkan dengan label asli untuk melihat seberapa akurat pengklasifikasi pembelajaran mesin, mengukur seberapa baik model mempelajari pola apa yang memprediksi kelas mana.

Algoritme pembelajaran mesin beroperasi dengan menganalisis data numerik. Ini berarti bahwa untuk menggunakan algoritma pembelajaran mesin pada data teks, teks perlu diubah menjadi format numerik. Ada berbagai metode pengkodean data teks sebagai data numerik dan membuat metode pembelajaran mesin di sekitar data ini. Kami akan membahas beberapa cara berbeda untuk merepresentasikan data teks di bawah ini.

Tas-of-Words

Kumpulan kata-kata adalah salah satu pendekatan yang paling umum digunakan untuk menyandikan dan merepresentasikan data teks. Istilah "kantong kata" berasal dari fakta bahwa Anda pada dasarnya mengambil semua kata dalam dokumen dan memasukkan semuanya ke dalam satu "kantong" tanpa memperhatikan urutan kata atau tata bahasa, hanya memperhatikan frekuensi kata di dalam tas. Ini menghasilkan larik panjang, atau vektor, yang berisi representasi tunggal dari semua kata dalam dokumen masukan. Jadi jika ada total 10000 kata unik dalam dokumen input, vektor fitur akan menjadi 10000 kata. Beginilah cara menghitung ukuran kantong kata/vektor fitur.

Foto: gk_ via Machinelearning.co, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)

Setelah ukuran vektor fitur ditentukan, setiap dokumen dalam daftar total dokumen diberi vektornya sendiri yang diisi dengan angka yang menunjukkan berapa kali kata yang dimaksud muncul dalam dokumen saat ini. Ini berarti bahwa jika kata "makanan" muncul delapan kali dalam satu dokumen teks, vektor fitur/array fitur yang sesuai akan memiliki delapan di posisi yang sesuai.

Dengan kata lain, semua kata unik yang muncul di dokumen input semuanya ditumpuk menjadi satu tas dan kemudian setiap dokumen mendapatkan vektor kata dengan ukuran yang sama, yang kemudian diisi dengan berapa kali kata yang berbeda muncul di dokumen .

Kumpulan data teks sering kali berisi banyak kata unik, tetapi sebagian besar tidak terlalu sering digunakan. Untuk alasan ini, jumlah kata yang digunakan untuk membuat vektor kata biasanya dibatasi pada nilai yang dipilih (N) dan dimensi vektor fitur akan menjadi Nx1.

Term Frekuensi-Invers Dokumen Frekuensi (TF-IDF)

Cara lain untuk merepresentasikan dokumen berdasarkan kata-kata di dalamnya adalah dubbing Term Frekuensi-Invers Dokumen Frekuensi (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 tertimbang oleh lebih dari sekedar frekuensi mereka. TF-IDF mempertimbangkan pentingnya kata-kata dalam dokumen, berusaha mengukur seberapa relevan kata tersebut dengan subjek dokumen. Dengan kata lain, TF-IDF menganalisis relevansi alih-alih frekuensi dan jumlah kata dalam vektor fitur diganti dengan skor TF-IDF yang dihitung berdasarkan keseluruhan dataset.

Pendekatan TF-IDF beroperasi dengan terlebih dahulu menghitung frekuensi istilah, berapa kali istilah unik muncul dalam dokumen tertentu. Namun, TF-IDF juga berhati-hati untuk membatasi pengaruh kata-kata yang sangat umum seperti "the", "or", dan "and", karena "stopwords" ini sangat umum namun hanya menyampaikan sedikit informasi tentang konten dokumen. Kata-kata ini perlu diabaikan, yang mengacu pada bagian "frekuensi dokumen terbalik" dari TF-IDF. Hal ini dilakukan karena semakin banyak dokumen yang menampilkan kata tertentu, semakin tidak berguna kata tersebut dalam membedakannya dari dokumen lain dalam daftar semua dokumen. Rumus yang digunakan TF-IDF untuk menghitung pentingnya sebuah kata dirancang untuk mempertahankan kata-kata yang paling sering muncul dan paling kaya semantik.

Vektor fitur yang dibuat dengan pendekatan TF-IDF berisi nilai normal yang dijumlahkan menjadi satu, menetapkan setiap kata nilai tertimbang seperti yang dihitung dengan rumus TF-IDF.

Word Embeddings

Penyematan kata adalah metode merepresentasikan teks yang memastikan bahwa kata-kata dengan arti serupa memiliki representasi numerik yang serupa.

Penyematan kata beroperasi dengan kata-kata "vektorisasi"., artinya mereka mewakili kata-kata sebagai vektor bernilai nyata dalam ruang vektor. Vektor ada dalam kisi atau matriks, dan mereka memiliki arah dan panjang (atau besaran). Saat merepresentasikan kata sebagai vektor, kata tersebut diubah menjadi vektor yang terdiri dari nilai nyata. Setiap kata dipetakan ke satu vektor, dan kata-kata yang mirip artinya memiliki arah dan besaran yang sama. Jenis pengkodean ini memungkinkan algoritme pembelajaran mesin untuk mempelajari hubungan rumit antar kata.

Penyematan yang mewakili kata-kata berbeda dibuat sehubungan dengan bagaimana kata-kata tersebut digunakan. Karena kata-kata yang digunakan dengan cara yang mirip akan memiliki vektor yang serupa, proses pembuatan penyisipan kata secara otomatis menerjemahkan beberapa arti dari kata-kata tersebut. Pendekatan sekantong kata, sebaliknya, menciptakan representasi rapuh di mana kata-kata yang berbeda akan memiliki representasi yang berbeda bahkan jika digunakan dalam konteks yang sangat mirip.

Hasilnya, penyisipan kata lebih baik dalam menangkap konteks kata dalam kalimat.

Ada berbagai algoritme dan pendekatan yang digunakan untuk membuat penyematan kata. Beberapa metode penyematan kata yang paling umum dan andal meliputi: penyematan lapisan, word2vec, dan GloVe.

Menanam Lapisan

Salah satu cara potensial untuk menggunakan penyematan kata di samping sistem pembelajaran mesin/pembelajaran mendalam adalah dengan menggunakan lapisan embedding. Lapisan penyematan adalah lapisan pembelajaran mendalam yang mengubah kata menjadi penyematan yang kemudian dimasukkan ke dalam sistem pembelajaran mendalam lainnya. Penyematan kata dipelajari saat jaringan berlatih untuk tugas berbasis teks tertentu.

Dalam pendekatan penyisipan kata, kata-kata yang mirip akan memiliki representasi yang mirip dan lebih dekat satu sama lain daripada kata-kata yang berbeda.

Untuk menggunakan layer penyematan, teks perlu diproses terlebih dahulu. Teks dalam dokumen harus dikodekan satu kali, dan ukuran vektor harus ditentukan terlebih dahulu. Teks one-hot kemudian diubah menjadi vektor kata dan vektor diteruskan ke model pembelajaran mesin.

Kata2Vec

Kata2Vec adalah metode umum lainnya untuk menyematkan kata. Word2Vec menggunakan metode statistik untuk mengonversi kata menjadi penyematan dan dioptimalkan untuk digunakan dengan model berbasis jaringan saraf. Word2Vec dikembangkan oleh para peneliti Google dan merupakan salah satu metode penyematan yang paling umum digunakan, karena dapat dipercaya menghasilkan penyematan yang kaya dan berguna. Representasi Word2Vec berguna untuk mengidentifikasi kesamaan semantik dan sintaksis dalam bahasa. Ini berarti bahwa representasi Word2Vec menangkap hubungan antara konsep yang serupa, mampu membedakan kesamaan antara "Raja" dan "Ratu" adalah royalti dan bahwa "Raja" menyiratkan "kejantanan" sementara Ratu menyiratkan "kewanitaan".

Sarung tangan

GloVE, atau Vektor Global untuk Representasi Kata, dibangun di atas algoritma penyematan yang digunakan oleh Word2Vec. Metode penyematan GloVe menggabungkan aspek Word2Vec dan teknik faktorisasi matriks seperti Latent Semantic Analysis. Keuntungan dari Word2Vec adalah dapat menangkap konteks, tetapi sebagai gantinya, WordXNUMXVec menangkap statistik teks global dengan buruk. Sebaliknya, representasi vektor tradisional bagus dalam menentukan statistik teks global tetapi tidak berguna untuk menentukan konteks kata dan frasa. GloVE menarik dari yang terbaik dari kedua pendekatan, menciptakan konteks kata berdasarkan statistik teks global.

Blogger dan programmer dengan spesialisasi di Pembelajaran mesin dan Belajar mendalam topik. Daniel berharap dapat membantu orang lain menggunakan kekuatan AI untuk kebaikan sosial.