我正在尝试使用gensim训练Doc2Vec模型。
我正在使用的数据集是sklearn的数据集模块中包含的20个新闻组数据集[1]。
我已使用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
答案 0 :(得分:1)
Enumerate
返回一个整数计数器和列表中的值。因此,在您的第三行代码中,i
是一个整数。但是,TaggedDocument
函数的第二个参数应该是可迭代的。