Belgeleri sınıflandırmak için CNN (evriyal sinir ağı) kullanmaya çalışıyorum. Kısa metin / cümleler için CNN birçok makalede incelenmiştir. Ancak, hiçbir makalede uzun metin veya belge için CNN kullanılmamıştır.
Benim sorunum, bir belgede çok fazla özellik olması. Veri kümemde her belgede 1000'den fazla simge / kelime var. Her örneği bir CNN'ye beslemek için word2vec veya eldiven kullanarak her belgeyi bir matrise dönüştürerek büyük bir matris oluştururum. Her matris için yükseklik, belgenin uzunluğudur ve genişlik, sözcük gömme vektörünün boyutudur. Veri setimin 9000'den fazla örneği var ve ağı eğitmek (bir hafta) çok zaman alıyor ve bu da parametrelerin ince ayarını zorlaştırıyor.
Başka bir özellik çıkarma yöntemi, her sözcük için bir sıcak vektör kullanmaktır, ancak bu çok seyrek matrisler oluşturur. Ve elbette, bu yöntemin eğitimi önceki yönteme göre daha fazla zaman alır.
Peki, büyük girdi matrisleri oluşturmadan özellikleri çıkarmak için daha iyi bir yöntem var mı?
Ve değişken uzunluktaki belgeleri nasıl ele almalıyız? Şu anda, belgenin aynı uzunlukta olmasını sağlamak için özel dizeler ekliyorum, ancak bunun iyi bir çözüm olduğunu düşünmüyorum.