In NLP ist es immer so, dass die Dimension der Features sehr groß ist. Zum Beispiel ist für ein vorliegendes Projekt die Dimension der Merkmale fast 20 Tausend (p = 20.000), und jedes Merkmal ist eine Ganzzahl von 0-1, um anzuzeigen, ob ein bestimmtes Wort oder ein bestimmtes Gramm in einem Papier dargestellt wird (ein Papier) ist ein Datenpunkt $ x \ in R^{p} $).Wie können Sie bei der Verarbeitung natürlicher Sprache (NLP) eine effiziente Dimensionsreduktion vornehmen?
Ich weiß, dass die Redundanz unter den Features sehr groß ist, daher ist eine Dimensionsreduktion notwendig. Ich habe drei Fragen:
1) Ich habe 10 Tausend Datenpunkte (n = 10.000), und jeder Datenpunkte hat 10 Tausend Funktionen (p = 10.000). Was ist der effiziente Weg zur Dimensionsreduktion? Die Matrix $ X \ in R^{n \ mal p} $ ist so groß, dass sowohl PCA (oder SVD, abgeschnittene SVD ist OK, aber ich glaube nicht, dass SVD eine gute Methode ist, die Dimension für binäre Features zu reduzieren) und Bag of Words (oder K-means) ist schwer direkt auf $ X $ zu führen (Sicher, es ist spärlich). Ich habe keinen Server, ich benutze nur meinen PC :-(.
2) Wie beurteilen Sie die Ähnlichkeit oder Entfernung zwischen zwei Datenpunkten? Ich denke, dass die euklidische Distanz für binäre Merkmale nicht gut funktioniert. Wie wäre es mit L0 Norm? Was benutzt du?
3) Wenn ich die SVM-Maschine (oder andere Kernel-Methoden) zur Klassifizierung verwenden möchte, welchen Kernel sollte ich verwenden?
Vielen Dank!
sieht aus wie eine gute Frage für diese Gemeinschaft http://stats.stackexchange.com/ – Leo