Es wurde bewiesen, dass CNN (convolutional neural network) sehr nützlich für die Text/Dokumenten-Klassifizierung ist. Ich frage mich, wie man mit den Längenunterschieden fertig wird, da die Längen der Artikel in den meisten Fällen unterschiedlich sind. Gibt es Beispiele in Keras? Vielen Dank!!Wie man mit Längenvariationen für die Textklassifizierung mit CNN (Keras) umgehen kann
5
A
Antwort
2
sind hier drei Möglichkeiten:
- Crop die längeren Artikel.
- Pad die kürzeren Artikel.
- Verwenden Sie ein rekurrentes neuronales Netzwerk, das Eingaben variabler Länge natürlich unterstützt.
2
Sie können ein konkretes Beispiel siehe hier: https://github.com/fchollet/keras/blob/master/examples/imdb_cnn.py
Will Option 1 und 2, um die ursprüngliche Bedeutung der Gegenstände beeinflussen nach dem Schneiden oder Polsterung? – Fiong
Wahrscheinlich schneiden wird (nicht so viel Polsterung), aber müssen Sie wirklich einen ganzen Nachrichtenartikel lesen, um den Kern davon zu bekommen? Wie nachteilig das Schneiden ist, hängt von Ihrer Aufgabe ab. –
In Bezug auf 3, ich denke, es ist wahr, wenn Sie eine Sequenz zu sequenzieren Problem, wie Pos-Tagging. Bei der Sequenzmarkierung, wie Sentimentanalyse oder Emotionserkennung, glaube ich, dass Sie in Keras Trunking/Padding durchführen müssen, um RNN für die Sequenzmarkierung zu verwenden. – pedrobisp