Bag-of-Words untuk Klasifikasi Teks: Mengapa tidak hanya menggunakan frekuensi kata daripada TFIDF?


24

Pendekatan umum untuk klasifikasi teks adalah untuk melatih classifier dari 'kata-kata'. Pengguna mengambil teks untuk diklasifikasikan dan menghitung frekuensi kata-kata di setiap objek, diikuti oleh semacam pemangkasan untuk menjaga matriks yang dihasilkan dari ukuran yang dapat dikelola.

Seringkali, saya melihat pengguna membuat vektor fitur mereka menggunakan TFIDF. Dengan kata lain, frekuensi teks yang disebutkan di atas diturunkan menurut frekuensi kata dalam corpus. Saya melihat mengapa TFIDF akan berguna untuk memilih kata-kata 'paling membedakan' dari dokumen yang diberikan untuk, katakanlah, tampilan kepada seorang analis manusia. Tetapi dalam kasus kategorisasi teks menggunakan teknik ML yang diawasi standar, mengapa repot-repot menurunkan berat badan dengan frekuensi dokumen dalam corpus? Tidakkah pelajar itu sendiri akan memutuskan pentingnya untuk menetapkan setiap kata / kombinasi kata? Saya akan berterima kasih atas pemikiran Anda tentang nilai apa yang ditambahkan IDF, jika ada.

Jawaban:


29

Jawabannya sangat mudah: TF-IDF dapat mencapai hasil yang lebih baik daripada frekuensi istilah sederhana jika dikombinasikan dengan beberapa metode yang diawasi.

Contoh kanonik menggunakan cosine similarity sebagai pengukuran kesamaan antara dokumen. Mengambil kosinus sudut antara representasi vektor TF-IDF dokumen dapat berhasil mengambil dokumen serupa yang relevan dengan akurasi lebih tinggi dari TF saja.

Ini karena IDF mengurangi bobot yang diberikan pada kata-kata umum, dan menyoroti kata-kata yang tidak umum dalam dokumen. Sebagian besar artikel berita bukan tentang burung unta, jadi artikel berita yang berisi "burung unta" tidak biasa, dan kami ingin mengetahuinya ketika mencoba menemukan dokumen yang serupa.

Tetapi dalam kasus kategorisasi teks menggunakan teknik ML yang diawasi standar, mengapa repot-repot menurunkan berat badan dengan frekuensi dokumen dalam corpus? Tidakkah pelajar itu sendiri akan memutuskan pentingnya untuk menetapkan setiap kata / kombinasi kata?

xyxyy), maka kami telah membuat tugas itu jauh lebih mudah bagi diri kami sendiri, dan komputer kami yang miskin dan bekerja terlalu keras! Saya pikir ini adalah komponen bidang yang kurang dihargai - orang menghabiskan banyak waktu mempelajari dan mempertimbangkan algoritme karena mereka independen terhadap domain, tetapi mengetahui lebih banyak tentang data Anda dan masalah yang Anda coba selesaikan dapat menyarankan jalur untuk peningkatan pengumpulan data atau representasi data yang membuat tugas jadi jauh lebih mudah - dan begitu mudah sehingga model kecanggihan hiasan tidak diperlukan.

Sejumlah sumber dapat ditemukan di sini , yang saya buat ulang untuk kenyamanan.

  • K. Sparck Jones. + Msgstr "Interpretasi statistik dari spesifisitas istilah dan penerapannya dalam pengambilan". Jurnal Dokumentasi, 28 (1). 1972.

  • G. Salton dan Edward Fox dan Wu Harry Wu. "Pengambilan informasi Boolean yang diperluas". Komunikasi ACM, 26 (11). 1983.

  • G. Salton dan MJ McGill. "Pengantar pengambilan informasi modern". 1983

  • G. Salton dan C. Buckley. "Pendekatan term-weighting dalam pencarian teks otomatis". Pemrosesan & Manajemen Informasi, 24 (5). 1988

  • H. Wu dan R. Luk dan K. Wong dan K. Kwok. "Menafsirkan bobot istilah TF-IDF sebagai membuat keputusan yang relevan". Transaksi ACM pada Sistem Informasi, 26 (3). 2008


Terima kasih atas catatan @ user777! Menghargai itu. Saya melihat artikel-artikel itu. Apakah ada kelas umum algoritma yang kami harapkan mendapat manfaat istimewa dari TFIDF vs hanya TF?
shf8888

@ shf8888 Saya tidak yakin apakah ada kelas umum di mana ada yang lebih baik. Itu mungkin! Sejauh yang saya ketahui, refleks pertama seseorang yang mengerjakan tugas NLP adalah mencoba TF dan kemudian TF-IDF sebagai metode dasar sebelum melanjutkan ke model yang lebih rumit. Dengan cara ini, Anda dapat mengukur seberapa banyak peningkatan kinerja yang Anda beli untuk upaya yang meningkat yang dikeluarkan dengan menggunakan model yang semakin rumit.
Sycorax berkata Reinstate Monica

Terima kasih banyak! Nah, jawaban yang "secara empiris TFIDF dapat memberikan peningkatan kinerja lebih dari TF dengan beberapa algoritma" (jika Anda tidak keberatan dengan ringkasan satu kalimat saya) jelas baik dari sudut pandang saya. Terima kasih atas rujukannya.
shf8888

2

Dalam kasus biasa, Anda dapat memiliki lebih banyak dokumen di dalam korpus Anda daripada dokumen berlabel. Itu berarti IDF dapat dihitung jauh lebih akurat dan lengkap ketika menggunakan seluruh korpus.

Selanjutnya pertimbangkan kasus di mana corpus yang bisa Anda dapatkan sejauh ini semuanya berlabel atau subset berlabel "cukup besar". Dalam hal ini jumlah iterasi yang diperlukan untuk pelatihan mungkin bisa lebih kecil ketika menggunakan TfIDF karena algoritma pembelajaran tidak perlu belajar sebanyak itu.

Akhirnya, dalam kasus yang sama ini, Anda juga dapat memberikan tf saja, atau tf dan idf secara terpisah (atau bahkan menyertakan tfidf juga). Saya akan berpikir ini berpotensi menghasilkan hasil yang lebih baik, misalnya, ketika menggunakan fungsi kernel yang canggih.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.