public static void main (String[] args) throws IOException { CommandOption.setSummary(HierarchicalPAM.class, "Train a three level hierarchy of topics"); CommandOption.process(HierarchicalPAM.class, args); InstanceList instances = InstanceList.load (new File(inputFile.value)); InstanceList testing = null; HierarchicalPAM pam = new HierarchicalPAM (numSuperTopicsOption.value, numSubTopicsOption.value, superTopicBalanceOption.value, subTopicBalanceOption.value); pam.estimate (instances, testing, 1000, 100, 0, 250, null, new Randoms()); if (stateFile.wasInvoked()) { pam.printState(new File(stateFile.value)); } } }
superSubTopicPriorWeights = new double[ numSuperTopics ][ numSubTopics + 1 ]; cacheSuperTopicPrior(); for (superTopic = 0; superTopic < numSuperTopics; superTopic++) { cacheSuperSubTopicPrior(superTopic); sampleTopicsForOneDoc ((FeatureSequence)instances.get(doc).getData(), superTopics[doc], subTopics[doc], r); logger.info( printTopWords(8, false) ); logger.info ("<" + iterations + "> LL: " + formatter.format(modelLogLikelihood() / numTokens));
cacheSuperTopicPrior(); superSubTopicDocumentFrequencies[superTopic][subTopic]--; sumSuperTopicDocumentFrequencies[superTopic]--; cacheSuperSubTopicPrior(superTopic); superTopicDocumentFrequencies[superTopic]++; sumDocumentFrequencies++; cacheSuperTopicPrior(); superSubTopicDocumentFrequencies[superTopic][subTopic]++; sumSuperTopicDocumentFrequencies[superTopic]++; cacheSuperSubTopicPrior(superTopic);
public void printState (File f) throws IOException { PrintWriter out = new PrintWriter (new BufferedWriter (new FileWriter(f))); printState (out); out.close(); }
superSubTopicPriorWeights = new double[ numSuperTopics ][ numSubTopics + 1 ]; cacheSuperTopicPrior(); for (superTopic = 0; superTopic < numSuperTopics; superTopic++) { cacheSuperSubTopicPrior(superTopic); sampleTopicsForOneDoc ((FeatureSequence)instances.get(doc).getData(), superTopics[doc], subTopics[doc], r); logger.info( printTopWords(8, false) ); logger.info ("<" + iterations + "> LL: " + formatter.format(modelLogLikelihood() / numTokens));
cacheSuperTopicPrior(); superSubTopicDocumentFrequencies[superTopic][subTopic]--; sumSuperTopicDocumentFrequencies[superTopic]--; cacheSuperSubTopicPrior(superTopic); superTopicDocumentFrequencies[superTopic]++; sumDocumentFrequencies++; cacheSuperTopicPrior(); superSubTopicDocumentFrequencies[superTopic][subTopic]++; sumSuperTopicDocumentFrequencies[superTopic]++; cacheSuperSubTopicPrior(superTopic);
public void printState (File f) throws IOException { PrintWriter out = new PrintWriter (new BufferedWriter (new FileWriter(f))); printState (out); out.close(); }
superSubTopicPriorWeights = new double[ numSuperTopics ][ numSubTopics + 1 ]; cacheSuperTopicPrior(); for (superTopic = 0; superTopic < numSuperTopics; superTopic++) { cacheSuperSubTopicPrior(superTopic); sampleTopicsForOneDoc ((FeatureSequence)instances.get(doc).getData(), superTopics[doc], subTopics[doc], r); logger.info( printTopWords(8, false) ); logger.info ("<" + iterations + "> LL: " + formatter.format(modelLogLikelihood() / numTokens));
public static void main (String[] args) throws IOException { CommandOption.setSummary(HierarchicalPAM.class, "Train a three level hierarchy of topics"); CommandOption.process(HierarchicalPAM.class, args); InstanceList instances = InstanceList.load (new File(inputFile.value)); InstanceList testing = null; HierarchicalPAM pam = new HierarchicalPAM (numSuperTopicsOption.value, numSubTopicsOption.value, superTopicBalanceOption.value, subTopicBalanceOption.value); pam.estimate (instances, testing, 1000, 100, 0, 250, null, new Randoms()); if (stateFile.wasInvoked()) { pam.printState(new File(stateFile.value)); } } }
cacheSuperTopicPrior(); superSubTopicDocumentFrequencies[superTopic][subTopic]--; sumSuperTopicDocumentFrequencies[superTopic]--; cacheSuperSubTopicPrior(superTopic); superTopicDocumentFrequencies[superTopic]++; sumDocumentFrequencies++; cacheSuperTopicPrior(); superSubTopicDocumentFrequencies[superTopic][subTopic]++; sumSuperTopicDocumentFrequencies[superTopic]++; cacheSuperSubTopicPrior(superTopic);
public void printState (File f) throws IOException { PrintWriter out = new PrintWriter (new BufferedWriter (new FileWriter(f))); printState (out); out.close(); }
public static void main (String[] args) throws IOException { CommandOption.setSummary(HierarchicalPAM.class, "Train a three level hierarchy of topics"); CommandOption.process(HierarchicalPAM.class, args); InstanceList instances = InstanceList.load (new File(inputFile.value)); InstanceList testing = null; HierarchicalPAM pam = new HierarchicalPAM (numSuperTopicsOption.value, numSubTopicsOption.value, superTopicBalanceOption.value, subTopicBalanceOption.value); pam.estimate (instances, testing, 1000, 100, 0, 250, null, new Randoms()); if (stateFile.wasInvoked()) { pam.printState(new File(stateFile.value)); } } }