使用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)
我在使用 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)