Ich versuche, CNN (Convolutional Neural Network) zu verwenden, um Dokumente zu klassifizieren. CNN für kurze Texte / Sätze wurde in vielen Artikeln untersucht. Es scheint jedoch, dass keine Papiere CNN für Langtext oder Dokumente verwendet haben.
Mein Problem ist, dass ein Dokument zu viele Funktionen enthält. In meinem Datensatz enthält jedes Dokument mehr als 1000 Token / Wörter. Um jedes Beispiel einem CNN zuzuführen , konvertiere ich jedes Dokument in eine Matrix, indem ich word2vec oder einen Handschuh verwende , der eine große Matrix ergibt. Für jede Matrix ist die Höhe die Länge des Dokuments und die Breite die Größe des Worteinbettungsvektors. Mein Datensatz enthält mehr als 9000 Beispiele und das Trainieren des Netzwerks (eine ganze Woche) nimmt viel Zeit in Anspruch, was die Feinabstimmung der Parameter erschwert.
Eine andere Methode zum Extrahieren von Merkmalen besteht darin, für jedes Wort einen heißen Vektor zu verwenden, dies erzeugt jedoch sehr spärliche Matrizen. Und natürlich dauert das Trainieren dieser Methode sogar länger als die vorherige.
Gibt es also eine bessere Methode zum Extrahieren von Features, ohne große Eingabematrizen zu erstellen?
Und wie sollen wir mit variabler Länge von Dokumenten umgehen? Derzeit füge ich spezielle Zeichenfolgen hinzu, damit das Dokument dieselbe Länge hat, aber ich denke nicht, dass dies eine gute Lösung ist.