Я пытаюсь сохранить HTML файлов, сгенерированных из pyldavis
, как несколько файлов каждый раз, когда выбирается диапазон, но при этом выдает ошибку. Я хочу, чтобы файлы создавались как malletresults1
, malletresults2
, malletresults3
. Но это дает мне ошибку, файл также не сохраняется как HTML файл. '' '
def create_lda_optimize(self,texts,topics_range,corpus,dictionary,repetitions=4,visualize = True):
coherence_values = []
model_list = []
j = 0
#topics_range = list(range(10,20,1))
mallet_path = '/home/ResearchAndDevelopment/RD003-TopicModelling/'
for i in range(repetitions):
ccv = []
for num_topics in topics_range:
model = gensim.models.wrappers.LdaMallet(mallet_path, corpus=corpus,
num_topics=num_topics, id2word=dictionary)
model_list.append(model)
lda_model = gensim.models.wrappers.ldamallet.malletmodel2ldamodel(model)
vis = pyLDAvis.gensim.prepare(lda_model,corpus,dictionary,mds = 'mmds')
name = str(i)
filename = "malletresults"+name
if not os.path.exists(os.path.dirname(filename)):
try:
os.makedirs(os.path.dirname(filename))
except OSError as exc:
with open(filename, "w") as f:
pyLDAvis.save_html(vis,filename+".html")
name+1
coherencemodel = CoherenceModel(model=model, texts=texts, dictionary=dictionary, coherence='c_v')
ccv.append(coherencemodel.get_coherence())
coherence_values.append(ccv)
print(model_list, coherence_values)
def _mean(a):
return sum(a) / len(a)
avg_cv = list(map(_mean, zip(*coherence_values)))
numberOfTopics = topics_range[avg_cv.index(max(avg_cv))]
' ''