我现在也面临同样的问题。
编辑:
我的脚本如下:
第一部分:
import pyLDAvis
import pyLDAvis.sklearn
print('start script')
tf_vectorizer = CountVectorizer(strip_accents = 'unicode',stop_words = 'english',lowercase = True,token_pattern = r'\b[a-zA-Z]{3,}\b',max_df = 0.5,min_df = 10)
dtm_tf = tf_vectorizer.fit_transform(docs_raw)
lda_tf = LatentDirichletAllocation(n_topics=20, learning_method='online')
print('fit')
lda_tf.fit(dtm_tf)
second part:
print('prepare')
vis_data = pyLDAvis.sklearn.prepare(lda_tf, dtm_tf, tf_vectorizer)
print('display')
pyLDAvis.display(vis_data)
问题出在“vis_data = (...)”这一行。如果我运行脚本,它会打印“prepare”,然后继续运行而不打印其他任何内容(因此它永远不会到达“print('display')”这一行)。
有趣的是,当我只运行整个脚本时,它会卡在那一行,但是当我运行第一部分,进入我的控制台并执行单独的一行“vis_data = pyLDAvis.sklearn.prepare(lda_tf, dtm_tf, tf_vectorizer)”时,它会在几秒钟内执行。
至于图表,我将其保存为html(“simple”),并使用html文件查看图表。