2010-01-20 24 views
2

J'utilise l'analyse sémantique latente pour la similarité du texte. J'ai 2 questions.Problème pour lsi

  1. Comment sélectionner la valeur K pour la réduction de la dimension? Je lis beaucoup partout où ce LSI travaille pour des mots de sens similaires, par exemple voiture et automobile. Comment est-ce possible??? Quel est le pas magique qui me manque ici?

Répondre

0
  1. essayer deux différentes valeurs de [1..n] et de voir ce qui fonctionne pour toutes les tâches que vous essayez d'accomplir

  2. Faire un mot-mot matrice de corrélation [c.-à-cellule (i, j) Maintient le nombre de documents où (i, j) co-occur] et utiliser quelque chose comme PCA sur elle

1
  1. le choix typique pour k est 300. Idéalement, vous définissez k sur la base d'une métrique d'évaluation qui utilise les vecteurs réduits. Par exemple, si vous mettez en cluster des documents, vous pouvez sélectionner le k qui maximise le score de la solution de clustering. Si vous n'avez pas d'indice de référence à mesurer, alors je définirais k en fonction de la taille de votre ensemble de données. Si vous n'avez que 100 documents, vous ne vous attendez pas à avoir besoin de plusieurs centaines de facteurs latents pour les représenter. De même, si vous avez un million de documents, 300 peuvent être trop petits. Cependant, dans mon expérience, les vecteurs résultants sont assez robustes à d'importants changements dans k, à condition que k est pas trop petite (à savoir, k = 300 ne à peu près aussi bien que k = 1000).

  2. Vous pouvez confondre LSI avec Latent Semantic Analysis (LSA). Ce sont des techniques très similaires, à la différence que LSI fonctionne sur des documents, et LSA fonctionne sur des mots. Les deux approches utilisent la même entrée (une matrice de terme x document). Il existe plusieurs bonnes implémentations LSA open source si vous souhaitez les essayer. La page LSA wikipedia a une liste complète.