Python >> Tutoriel Python >  >> Python Tag >> Gensim

Comprendre la mise en œuvre de LDA à l'aide de gensim

La réponse que vous cherchez se trouve dans le tutoriel du gensim. lda.printTopics(k) imprime les mots les plus contributifs pour k sujets choisis au hasard. On peut supposer qu'il s'agit (partiellement) de la distribution des mots sur chacun des sujets donnés, c'est-à-dire de la probabilité que ces mots apparaissent dans le sujet de gauche.

Habituellement, on exécuterait LDA sur un grand corpus. L'exécution de LDA sur un échantillon ridiculement petit ne donnera pas les meilleurs résultats.


Je pense que ce tutoriel vous aidera à tout comprendre très clairement - https://www.youtube.com/watch?v=DDq3OVp9dNA

Moi aussi j'ai eu beaucoup de mal à le comprendre au début. Je vais essayer de résumer quelques points.

Dans Allocation Dirichlet Latente,

  • L'ordre des mots n'est pas important dans un document – modèle de sac de mots.
  • Un document est une distribution sur sujets
  • Chaque sujet , à son tour, est une distribution sur les mots appartenant au vocabulaire
  • LDA est un modèle génératif probabiliste . Il est utilisé pour déduire des variables cachées à l'aide d'une distribution a posteriori.

Imaginez que le processus de création d'un document soit quelque chose comme ça -

  1. Choisissez une répartition par thèmes
  2. Dessinez un sujet - et choisissez un mot du sujet. Répétez cette opération pour chacun des sujets

LDA est en quelque sorte un retour en arrière sur cette ligne - étant donné que vous avez un sac de mots représentant un document, quels pourraient être les sujets qu'il représente ?

Donc, dans votre cas, le premier sujet (0)

INFO : topic #0: 0.181*things + 0.181*amazon + 0.181*many + 0.181*sells + 0.031*nokia + 0.031*microsoft + 0.031*apple + 0.031*announces + 0.031*acquisition + 0.031*product

est plus sur things , amazon et many car ils ont une proportion plus élevée et pas tellement sur microsoft ou apple qui ont une valeur nettement inférieure.

Je suggérerais de lire ce blog pour une bien meilleure compréhension ( Edwin Chen est un génie ! ) - http://blog.echen.me/2011/08/22/introduction-to-latent-dirichlet-allocation/


Depuis que les réponses ci-dessus ont été publiées, il existe maintenant de très bons outils de visualisation pour acquérir une intuition de LDA en utilisant gensim .

Jetez un œil au package pyLDAvis. Voici un excellent aperçu du cahier. Et voici une description vidéo très utile destinée à l'utilisateur final (tutoriel de 9 minutes).

J'espère que cela vous aidera !