尝试在 gensim 中创建 doc2vec 模型时出现类型错误
Type error when trying to create a doc2vec model in gensim
我正在尝试使用 gensim 训练 Doc2Vec 模型。
我使用的数据集是 20 个新闻组数据集 [1],它包含在 sklearn 的数据集模块中。
我已经使用 gensim 文档中的示例创建了模型。
docs = newsgroups_train['data']
enumerated_docs = enumerate(docs)
documnets= [TaggedDocument(doc.split(),i) for i, doc in enumerated_docs]
model = Doc2Vec(documnets, vector_size=20, window=2, min_count=30, workers=4)
我检查了每一行代码,所有代码似乎都在运行到初始化模型的那一行。
我收到类型错误:
TypeError: 'int' object is not iterable
[1] https://scikit-learn.org/0.19/datasets/twenty_newsgroups.html
Enumerate
returns 一个整数计数器和列表中的值。因此,在您的第三行代码中,i
是一个整数。但是,TaggedDocument
函数的第二个参数应该是可迭代的。
我正在尝试使用 gensim 训练 Doc2Vec 模型。
我使用的数据集是 20 个新闻组数据集 [1],它包含在 sklearn 的数据集模块中。
我已经使用 gensim 文档中的示例创建了模型。
docs = newsgroups_train['data']
enumerated_docs = enumerate(docs)
documnets= [TaggedDocument(doc.split(),i) for i, doc in enumerated_docs]
model = Doc2Vec(documnets, vector_size=20, window=2, min_count=30, workers=4)
我检查了每一行代码,所有代码似乎都在运行到初始化模型的那一行。
我收到类型错误:
TypeError: 'int' object is not iterable
[1] https://scikit-learn.org/0.19/datasets/twenty_newsgroups.html
Enumerate
returns 一个整数计数器和列表中的值。因此,在您的第三行代码中,i
是一个整数。但是,TaggedDocument
函数的第二个参数应该是可迭代的。