J'étudie différentes techniques utilisées dans le clustering de documents et je voudrais dissiper certains doutes concernant PCA (analyse en composantes principales) et LSA (analyse sémantique latente).
Première chose - quelles sont les différences entre eux? Je sais qu'en PCA, la décomposition SVD est appliquée à la matrice terme-covariance, tandis qu'en LSA c'est la matrice terme-document. Y a-t-il autre chose?
Deuxièmement - quel est leur rôle dans la procédure de regroupement de documents? De ce que j'ai lu jusqu'à présent, je déduis que leur objectif est la réduction de la dimensionnalité, la réduction du bruit et l'intégration des relations entre les termes dans la représentation. Après avoir exécuté PCA ou LSA, des algorithmes traditionnels comme k-means ou des méthodes agglomératives sont appliqués sur l'espace à terme réduit et des mesures de similitude typiques, comme la distance cosinusoïdale, sont utilisées. Corrigez-moi si j'ai tort, s'il-vous plait.
Troisièmement - est-il important que les vecteurs de termes TF / IDF soient normalisés avant d'appliquer PCA / LSA ou non? Et devraient-ils être normalisés à nouveau après cela?
Quatrièmement - disons que j'ai effectué un regroupement sur le terme espace réduit par LSA / PCA. Maintenant, comment dois-je attribuer des étiquettes aux clusters de résultats? Puisque les dimensions ne correspondent pas aux mots réels, c'est plutôt une question difficile. La seule idée qui me vient à l'esprit est de calculer les centroïdes pour chaque cluster à l'aide de vecteurs de termes originaux et de sélectionner des termes avec des poids supérieurs, mais cela ne semble pas très efficace. Existe-t-il des solutions spécifiques à ce problème? Je n'ai rien trouvé.
Je serai très reconnaissant d'avoir clarifié ces questions.
la source
Réponses:
la source
LSI est calculé sur la matrice terme-document, tandis que PCA est calculé sur la matrice de covariance, ce qui signifie que LSI essaie de trouver le meilleur sous-espace linéaire pour décrire l'ensemble de données, tandis que PCA essaie de trouver le meilleur sous-espace linéaire parallèle.
la source
Juste une extension de la réponse de russellpierce.
1) LSA est essentiellement une PCA appliquée aux données textuelles. Lorsque vous utilisez SVD pour PCA, il n'est pas appliqué à la matrice de covariance mais directement à la matrice d'échantillons de caractéristiques, qui n'est que la matrice de termes-documents dans LSA. La différence est que PCA nécessite souvent une normalisation par fonctionnalité des données, contrairement à LSA.
Il y a une belle conférence d'Andrew Ng qui illustre les liens entre PCA et LSA.
2/3) Les données du document étant de différentes longueurs, il est généralement utile de normaliser l'ampleur. Ici, la normalisation par échantillon doit être utilisée et non par la normalisation par fonctionnalité. Dans la pratique, j'ai trouvé utile de normaliser avant et après LSI.
Si la métrique de l'algorithme de clustering ne dépend pas de la magnitude (disons la distance cosinus), alors la dernière étape de normalisation peut être omise.
4) Il pense que c'est en général un problème difficile pour obtenir des étiquettes significatives à partir de clusters. Certaines personnes extraient des termes / expressions qui maximisent la différence de distribution entre le corpus et le cluster. Une autre façon consiste à utiliser le clustering semi-supervisé avec des étiquettes prédéfinies.
la source