def MakePlans(Data, model, LP, Q=None, **kwargs):
''' Create list of Plans
'''
newTopics, Info = makeCandidateTopics(Data, Q, model, LP, **kwargs)
if 'doVizBirth' in kwargs and kwargs['doVizBirth']:
from matplotlib import pylab
pylab.imshow(newTopics, vmin=0, vmax=0.01,
aspect=Data.vocab_size / newTopics.shape[0],
interpolation='nearest')
Plans = list()
for kk in xrange(newTopics.shape[0]):
Plan = dict(ktarget=None, Data=None, targetWordIDs=None,
targetWordFreq=newTopics[kk])
# Add material to the log
topWords = np.argsort(-1 * Plan['targetWordFreq'])[:10]
if hasattr(Data, 'vocab_dict'):
Vocab = getVocab(Data)
topWordStr = ' '.join([Vocab[w] for w in topWords])
else:
topWordStr = ' '.join([str(w) for w in topWords])
Plan['log'] = list()
Plan['topWordIDs'] = topWords
Plan['log'].append(topWordStr)
if 'anchorID' in Info:
anchorWordStr = 'Anchor: ' + str(Info['anchorID'][kk])
Plan['anchorWordID'] = anchorWordStr
Plan['log'].append(anchorWordStr)
Plans.append(Plan)
return Plans
评论列表
文章目录