Ich untersuche verschiedene Techniken, die beim Clustering von Dokumenten zum Einsatz kommen, und möchte einige Zweifel in Bezug auf PCA (Principal Component Analysis) und LSA (Latent Semantic Analysis) klären.
Erste Sache - was sind die Unterschiede zwischen ihnen? Ich weiß, dass in PCA die SVD-Zerlegung auf die Term-Kovarianz-Matrix angewendet wird, während sie in LSA die Term-Dokument-Matrix ist. Gibt es noch etwas?
Zweitens: Welche Rolle spielen sie beim Clustering von Dokumenten? Aus dem, was ich bisher gelesen habe, schließe ich, dass ihr Zweck darin besteht, die Dimensionalität zu verringern, das Rauschen zu verringern und die Beziehungen zwischen Begriffen in die Darstellung einzubeziehen. Nach der Ausführung von PCA oder LSA werden traditionelle Algorithmen wie k-means oder agglomerative Methoden auf den reduzierten Termraum angewendet und typische Ähnlichkeitsmaße wie der Kosinusabstand verwendet. Bitte korrigieren Sie mich, falls ich falsch liege.
Drittens - spielt es eine Rolle, ob die TF / IDF-Termvektoren vor dem Anwenden von PCA / LSA normalisiert werden oder nicht? Und sollten sie danach wieder normalisiert werden?
Viertens: Nehmen wir an, ich habe einige Cluster für den durch LSA / PCA reduzierten Begriff "Space" durchgeführt. Wie soll ich nun den Ergebnis-Clustern Beschriftungen zuweisen? Da die Dimensionen nicht den tatsächlichen Wörtern entsprechen, ist dies ein schwieriges Thema. Die einzige Idee, die mir in den Sinn kommt, ist die Berechnung von Zentroiden für jeden Cluster unter Verwendung der ursprünglichen Termvektoren und die Auswahl der Terme mit der höchsten Gewichtung, aber das klingt nicht sehr effizient. Gibt es spezielle Lösungen für dieses Problem? Ich konnte nichts finden.
Für die Klärung dieser Fragen bin ich sehr dankbar.
quelle
Antworten:
quelle
LSI wird in der Term-Document-Matrix berechnet, während PCA in der Kovarianzmatrix berechnet wird. Dies bedeutet, dass LSI versucht, den besten linearen Unterraum zur Beschreibung des Datensatzes zu finden, während PCA versucht, den besten parallelen linearen Unterraum zu finden.
quelle
Nur eine Erweiterung von Russellpierces Antwort.
1) LSA ist im Wesentlichen PCA, das auf Textdaten angewendet wird.Wenn Sie SVD für PCA verwenden, wird es nicht auf die Kovarianzmatrix angewendet, sondern direkt auf die Feature-Sample-Matrix. Dies ist nur die Term-Document-Matrix in LSA. Der Unterschied besteht darin, dass PCA häufig eine funktionsbezogene Normalisierung der Daten erfordert, LSA jedoch nicht.
Es gibt einen schönen Vortrag von Andrew Ng , der die Zusammenhänge zwischen PCA und LSA zeigt.
2/3) Da die Dokumentdaten unterschiedlich lang sind, ist es normalerweise hilfreich, die Größe zu normalisieren. Hier sollte die Normalisierung in Bezug auf die Stichprobe verwendet werden, nicht die Normalisierung in Bezug auf die Merkmale. In der Praxis fand ich es hilfreich, sowohl vor als auch nach der LSI zu normalisieren.
Wenn die Metrik des Clustering-Algorithmus nicht von der Größe (z. B. dem Kosinusabstand) abhängt, kann der letzte Normalisierungsschritt weggelassen werden.
4) Es ist im Allgemeinen schwierig, aussagekräftige Bezeichnungen aus Clustern zu erhalten. Einige Leute extrahieren Ausdrücke / Phrasen, die den Unterschied in der Verteilung zwischen dem Korpus und dem Cluster maximieren. Eine andere Möglichkeit ist die Verwendung von halbüberwachtem Clustering mit vordefinierten Beschriftungen.
quelle