使用gensim为LDA创建字典的问题

Problem with creating dictionary with gensim for LDA

我在使用 gensim 创建词典和文档术语矩阵时遇到问题运行。

当我运行:

from gensim import corpora, models
import gensim
clean = ['door', 'cat', 'mom']
dictionary = corpora.Dictionary(clean)

我得到:

doc2bow expects an array of unicode tokens on input, not a single string

在实际问题中,Clean仍然是一个列表型变量。这是在应用分词器、标注器、去除标点符号等之后大型语料库中的所有单词

为什么会出现此错误?

我只需要拆分:

from gensim import corpora, models
import gensim
clean = ['door', 'cat', 'mom']    
corpus = [d.split() for d in clean]
dictionary = corpora.Dictionary(corpus)

语料库中的每一项都应该是一系列 unicode 标记(单词),而不是字符串。

如果你想让字符串 'door', 'cat', & 'mom' 成为字典中的单词,你可以这样做:

from gensim import corpora
corpus = [
    ['door', 'cat', 'mom'],
]
dictionary = corpora.Dictionary(corpus)