gensim lda 的关键词怎么画词云
时间: 2023-07-15 09:10:21 浏览: 43
你可以使用 Python 的 wordcloud 库来生成词云。首先,你需要使用 gensim 训练 LDA 模型,然后提取每个主题中的关键词。接下来,将每个主题的关键词转换为一个字符串,并计算每个关键词出现的频率。最后,使用 wordcloud 库将关键词和频率绘制成词云。
下面是一个示例代码:
```python
from gensim.models.ldamodel import LdaModel
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 加载模型
lda_model = LdaModel.load('lda_model')
# 获取每个主题的关键词
topics = lda_model.show_topics(num_topics=-1, num_words=10, formatted=False)
# 将关键词转换为字符串
topic_words = []
for topic in topics:
words = [word[0] for word in topic[1]]
topic_words.append(' '.join(words))
# 计算每个关键词出现的频率
word_freq = {}
for topic in topic_words:
words = topic.split()
for word in words:
if word in word_freq:
word_freq[word] += 1
else:
word_freq[word] = 1
# 绘制词云
wordcloud = WordCloud(background_color='white').fit_words(word_freq)
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
```
这段代码首先加载已经训练好的 LDA 模型,然后使用 `show_topics` 方法获取每个主题的关键词。接着将关键词转换为字符串,并计算每个关键词出现的频率,最后使用 `WordCloud` 类绘制词云。你可以根据自己的需要修改代码来适应不同的情况。