Apa itu Bag of Words
Model Bag of Words (BoW) adalah teknik representasi teks yang banyak digunakan dan menganggap sebuah dokumen sebagai kumpulan kata yang tidak teratur, mengabaikan tata bahasa, sintaksis, dan urutan kata, namun tetap memperhatikan frekuensi masing-masing kata. Pendekatan yang sederhana ini memungkinkan pengubahan data teks menjadi format numerik yang terstruktur dan dapat diproses dengan mudah oleh algoritma pembelajaran mesin.
Konsep dasar dari model BoW adalah untuk mengubah sebuah dokumen menjadi "kantong" yang berisi kata-kata, di mana setiap kata dianggap sebagai entitas terpisah tanpa memperhatikan posisinya dalam teks. Dengan memecah teks menjadi kata-kata individual atau "token" dan mengabaikan urutannya, model BoW secara efektif menangkap frekuensi dan keberadaan istilah dalam sebuah dokumen. Hal ini memungkinkan pembuatan representasi numerik yang dapat digunakan sebagai input untuk berbagai algoritma pembelajaran mesin.
Sebagai contoh, pertimbangkan kalimat berikut:
"The quick brown fox jumps over the lazy dog."
Dengan menggunakan model Bag of Words, kalimat ini akan direpresentasikan sebagai koleksi kata-kata:
{"the", "quick", "brown", "fox", "jumps", "over", "lazy", "dog"}.
Urutan kata-kata tidak diperhatikan, dan fokus pada keberadaan dan frekuensi setiap istilah.
Model BoW memiliki beberapa kelebihan, termasuk kesederhanaan, efektivitas, dan fleksibilitas. Hal ini banyak digunakan dalam berbagai tugas analisis teks, seperti analisis sentimen, pemodelan topik, dan pengambilan informasi. Selain itu, model BoW dapat menghandle dataset yang besar dan sparse dengan ruang fitur yang berdimensi tinggi, sehingga cocok untuk memproses volume data teks yang besar.
Namun, model BoW juga memiliki keterbatasan. Salah satunya adalah hilangnya informasi kontekstual dan urutan kata, yang dapat mempengaruhi akurasi model pada beberapa aplikasi. Sebagai contoh, pada analisis sentimen, makna sebuah kalimat dapat berubah secara drastis oleh posisi kata-kata negasi seperti "not" atau "never." Model BoW juga mengalami kesulitan dalam menghandle sinonim dan homonim, karena model memperlakukan semua kemunculan suatu kata sebagai sama, tanpa memperhatikan makna yang berbeda.
Komponen Dasar dari BoW
Model Bag of Words (BoW) terdiri dari tiga komponen utama: tokenisasi, kosa kata, dan matriks dokumen-kata. Pada bab ini, saya akan menjelajahi setiap komponen secara detail.
Tokenisasi
Tokenisasi adalah proses memecah sebuah dokumen menjadi kata-kata atau token individual. Hal ini biasanya dicapai dengan membagi teks berdasarkan spasi dan tanda baca. Sebagai contoh, pertimbangkan kalimat berikut:
"The quick brown fox jumps over the lazy dog."
Tokenisasi dari kalimat ini akan menghasilkan token berikut:
{"The", "quick", "brown", "fox","jumps", "over", "the", "lazy", "dog"}.
Vocabulary
The vocabulary is a collection of all unique words present in the dataset after preprocessing. Each word in the vocabulary is assigned a unique index, and this index is used to represent the word in the document-term matrix. For example, in our previous example, the vocabulary would contain the following words:
{"The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}.
Dalam beberapa kasus, tokenisasi juga dapat melibatkan langkah preprocessing tambahan, seperti mengubah huruf menjadi lowercase atau menghilangkan karakter tertentu seperti tanda baca atau angka.
Kosa Kata
Kosa kata adalah kumpulan semua kata unik yang ada dalam dataset setelah preprocessing. Setiap kata dalam kosa kata diberi indeks unik, dan indeks ini digunakan untuk merepresentasikan kata dalam matriks dokumen-kata. Sebagai contoh, pada contoh sebelumnya, kosa kata akan berisi kata-kata berikut:
{"The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}.
Kosa kata merupakan komponen penting dari model BoW, karena menentukan himpunan fitur yang digunakan untuk merepresentasikan dokumen dalam dataset.
Matriks Dokumen-Kata
Matriks dokumen-kata adalah representasi numerik dari dokumen-dokumen dalam dataset, di mana setiap baris sesuai dengan sebuah dokumen dan setiap kolom sesuai dengan sebuah kata dalam kosa kata. Nilai dalam matriks mewakili frekuensi setiap kata dalam setiap dokumen. Sebagai contoh, pertimbangkan dua dokumen berikut:
Doc 1: "The quick brown fox jumps over the lazy dog."
Doc 2: "The lazy dog sleeps all day."
Dengan menggunakan kosa kata dari contoh sebelumnya, matriks dokumen-kata untuk kedua dokumen ini adalah:
Document | The | quick | brown | fox | jumps | over | lazy | dog |
---|---|---|---|---|---|---|---|---|
Doc 1 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Doc 2 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
Seperti yang terlihat, matriks dokumen-kata merepresentasikan setiap dokumen sebagai vektor frekuensi kata. Matriks ini merupakan komponen penting dari model BoW, karena menjadi input untuk banyak algoritma pembelajaran mesin yang digunakan untuk tugas analisis teks.
Aplikasi dan Kasus Penggunaan
Kesederhanaan dan efektivitas model Bag of Words (BoW) telah membuatnya banyak digunakan dalam berbagai tugas analisis teks, termasuk klasifikasi teks, analisis sentimen, pengambilan informasi, dan pemodelan topik.
Klasifikasi Teks
Klasifikasi teks adalah tugas menetapkan kategori atau label yang telah ditentukan pada sebuah teks berdasarkan kontennya. Model Bag of Words berfungsi sebagai teknik dasar untuk mengubah data teks menjadi format numerik yang dapat diproses oleh algoritma pembelajaran mesin. Dengan membuat matriks dokumen-kata, model BoW menangkap frekuensi dan keberadaan kata dalam dokumen, yang kemudian dapat digunakan sebagai input untuk berbagai algoritma klasifikasi, seperti Naive Bayes, regresi logistik, dan mesin vektor dukungan.
Contoh tugas klasifikasi teks meliputi:
-Filtering spam
Mengidentifikasi email spam berdasarkan frekuensi kata tertentu dalam konten email.
- Klasifikasi genre
Mengkategorikan artikel berita atau buku ke dalam genre yang telah ditentukan berdasarkan kata-kata yang digunakan dalam teks.
Analisis Sentimen
Analisis sentimen, juga dikenal sebagai opini mining, melibatkan penentuan sentimen (positif, negatif, atau netral) yang diekspresikan dalam sebuah teks. Dengan melatih algoritma pembelajaran mesin pada data sentimen yang telah dilabeli, model Bag of Words dapat digunakan untuk memprediksi sentimen dari teks yang belum terlihat. Keberadaan dan frekuensi kata-kata tertentu berfungsi sebagai fitur yang membantu klasifikator mengidentifikasi sentimen dalam teks.
Contoh tugas analisis sentimen meliputi:
-
Ulasan produk
Menganalisis ulasan pelanggan untuk menentukan sentimen umum terhadap produk atau layanan. -
Pemantauan media sosial
Meninjau posting media sosial untuk menilai opini publik tentang topik atau acara tertentu.
Pengambilan Informasi
Pengambilan informasi adalah proses mengidentifikasi dokumen-dokumen yang relevan berdasarkan kueri pengguna. Model Bag of Words dapat digunakan untuk merepresentasikan kueri pengguna dan dokumen dalam koleksi sebagai vektor numerik. Dengan menghitung kesamaan antara vektor kueri dan vektor dokumen (menggunakan metrik seperti kesamaan kosinus), model dapat menentukan urutan relevansi dokumen terhadap kueri.
Contoh tugas pengambilan informasi meliputi:
-
Mesin pencari
Mengidentifikasi dan memberikan peringkat halaman web berdasarkan relevansinya dengan kueri pencarian pengguna. -
Rekomendasi dokumen
Menyarankan makalah penelitian atau artikel berdasarkan sejarah bacaan atau minat bacaan seorang pengguna.
Pemodelan Topik
Pemodelan topik adalah teknik pembelajaran mesin tanpa pengawasan yang bertujuan untuk menemukan topik-topik yang mendasari dalam sebuah koleksi dokumen. Model Bag of Words dapat digunakan sebagai dasar untuk pemodelan topik dengan membuat matriks dokumen-kata yang merepresentasikan frekuensi kata dalam dokumen. Algoritma seperti Latent Dirichlet Allocation (LDA) dan Non-negative Matrix Factorization (NMF) kemudian dapat diterapkan pada matriks BoW untuk mengidentifikasi topik yang mendasari dalam teks.
Contoh tugas pemodelan topik meliputi:
-
Ringkasan teks
Menghasilkan ringkasan korpus besar teks dengan mengidentifikasi topik yang paling relevan. -
Organisasi dokumen
Mengelompokkan dokumen berdasarkan topik mendasar untuk meningkatkan organisasi dan navigasi.
Referensi