2017-03-02 1 views
3

J'essaie de comparer en quelque sorte la distribution de sujet d'un document unique (en utilisant LDA) avec, d'autres fichiers et leurs distributions de sujet au sein d'un modèle sujet précédemment créé, en utilisant MALLET.Comment obtenir un vecteur sujet de nouveaux documents et comparer avec un modèle de sujet prédéfini dans Mallet?

Je sais que cela peut être fait par des commandes MALLET dans le terminal mais j'ai des problèmes pour trouver un moyen de l'implémenter en Java.

Pour donner un point essentiel de ce que la fonctionnalité de mon programme est:

Le modèle de sujet déjà créé a été créé avec un grand corpus de textes. Je veux utiliser ceci pour comparer les distributions de sujet avec un tweet qui contient un certain hashtag et ensuite retirer le fichier le plus similaire au tweet du corpus. J'ai lu les documents de l'API Java de Mallet, mais ils semblent très confus et pas vraiment explicatifs.

Si quelqu'un pouvait me donner quelques conseils que je vous en serais reconnaissant

Répondre

2

Tout d'abord, jetez un oeil à ces:

Maintenant, ces exemples montrent la fonctionnalité de base, mais ils ne montrent pas comment sauvegarder et charger le modèle si vous devez séparer l'entraînement des tests. Fondamentalement, ce dont vous avez besoin est de sauvegarder à la fois le modèle et les instances après la formation (puisque vous devez vous entraîner et tester avec le même pipeline), et les charger avant les tests.

modèle Enregistrer et pipeline après la formation:

model.write(new File("model.dat")); 
instances.save(new File("pipeline.dat")); 

modèle de charge et le pipeline avant le test:

ParallelTopicModel model = ParallelTopicModel.read(new File("model.dat")); 
InstanceList instances = InstanceList.load(new File("pipeline.dat")); 

Hope this helps.