Saya mencoba menggunakan CNN (jaringan saraf convolutional) untuk mengklasifikasikan dokumen. CNN untuk teks / kalimat pendek telah dipelajari di banyak makalah. Namun, tampaknya tidak ada kertas yang menggunakan CNN untuk teks atau dokumen yang panjang.
Masalah saya adalah bahwa ada terlalu banyak fitur dari suatu dokumen. Dalam dataset saya, setiap dokumen memiliki lebih dari 1000 token / kata. Untuk memberi makan setiap contoh ke CNN, saya mengubah setiap dokumen menjadi matriks dengan menggunakan word2vec atau sarung tangan yang menghasilkan matriks besar. Untuk setiap matriks, tingginya adalah panjang dokumen, dan lebarnya adalah ukuran dari kata embedding vektor. Dataset saya memiliki lebih dari 9000 contoh dan dibutuhkan banyak waktu untuk melatih jaringan (seminggu penuh) yang membuatnya sulit untuk menyempurnakan parameter.
Metode ekstraksi fitur lain adalah dengan menggunakan vektor satu-panas untuk setiap kata, tetapi ini akan membuat matriks yang sangat jarang. Dan tentu saja, metode ini bahkan membutuhkan lebih banyak waktu untuk berlatih daripada metode sebelumnya.
Jadi apakah ada metode yang lebih baik untuk mengekstraksi fitur tanpa membuat matriks input besar?
Dan bagaimana kita harus menangani panjang variabel dokumen? Saat ini, saya menambahkan string khusus untuk membuat dokumen memiliki panjang yang sama, tapi saya pikir itu bukan solusi yang baik.