利用Python写一个LDA用gensim库
时间: 2023-05-27 18:05:53 浏览: 130
以下是一个简单的LDA模型的实现示例,使用了gensim库:
```python
import gensim
from gensim import corpora
from gensim.models import LdaModel
# 读取文本文件
with open('text.txt', 'r') as f:
text = f.readlines()
# 分词处理
texts = [[word for word in doc.split()] for doc in text]
# 构建词典
dictionary = corpora.Dictionary(texts)
# 将文本转换为词袋表示
corpus = [dictionary.doc2bow(text) for text in texts]
# 训练LDA模型
lda_model = LdaModel(corpus=corpus, num_topics=10, id2word=dictionary, passes=10)
# 打印所有主题
for topic_id in range(lda_model.num_topics):
print('Topic', topic_id, ':', lda_model.print_topic(topic_id))
```
上述代码中,我们首先读取文本文件并进行分词处理,然后使用gensim库中的corpora.Dictionary()函数构建词典,将文本转换为词袋表示。接着,我们使用LdaModel()函数训练LDA模型,其中num_topics参数指定主题数量,id2word参数指定词典,passes参数指定迭代次数。最后,我们打印出所有主题及其对应的单词权重。
阅读全文