【发布时间】:2019-04-14 19:46:07
【问题描述】:
是否有可能像“正常”lda 模型一样评估动态模型(ldaseqmodel)的困惑度和主题连贯性? 我知道这些值会打印到 logging.INFO 中,因此另一种方法是将 logging.INFO 保存到文本文件中,以便在模拟后搜索这些评估值。 如果方法 1(评估 ldaseqmodel 的代码)不存在,是否可以将 logging.INFO 保存到文本文件中? 这是我生成 ldaseqmodel 的代码:
from gensim import models, corpora
import csv
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
Anzahl_Topics1 = 10
Zeitabschnitte = [16, 19, 44, 51, 84, 122, 216, 290, 385, 441, 477, 375, 390, 408, 428, 192, 38]
TDM_dateipfad = './1gramm/TDM_1gramm_1998_2014.csv'
dateiname_corpus = "./1gramm/corpus_DTM_1gramm.mm"
dateiname1_dtm = "./1gramm/DTM_1gramm_10.model"
ids = {}
corpus = []
with open(TDM_dateipfad, newline='') as csvfile:
reader = csv.reader(csvfile, delimiter=';', quotechar='|')
for rownumber, row in enumerate(reader):
for index, field in enumerate(row):
if index == 0:
if rownumber > 0:
ids[rownumber-1] = field
else:
if rownumber == 0:
corpus.append([])
else:
corpus[index-1].append((rownumber-1, int(field)))
corpora.MmCorpus.serialize(dateiname_corpus, corpus)
dtm1 = models.ldaseqmodel.LdaSeqModel(corpus=corpus, time_slice = Zeitabschnitte, id2word=ids, num_topics = Anzahl_Topics1, passes=1, chunksize=10000)
dtm1.save(dateiname1_dtm)
【问题讨论】:
标签: python-3.x gensim lda