gensim Doc2Vec:从 txt 文件获取 TaggedDocuments

gensim Doc2Vec: Getting from txt files to TaggedDocuments

这里是初学者。

我有大量 .txt 文件,我想在这些文件上训练 Doc2Vec 模型。但是,我无法以可用的方式将数据导入 python。

导入数据,我用过:

docLabels = []
docLabels = [f for f in listdir(“PATH TO YOU DOCUMENT FOLDER”) if 
f.endswith(‘.txt’)]
data = []
for doc in docLabels:
    data.append(open(‘PATH TO YOU DOCUMENT FOLDER’ + doc).read()) `

但是,有了这个,我得到了一个 "list",我无法对其进行进一步处理。我似乎无法找到如何以可与 NLTK / doc2vec 一起使用的方式导入文本文件,在 SO 或教程中的任何地方。

将不胜感激。谢谢!

我只是在解决标题指示的问题部分,关于 Doc2VecTaggedDocument。 (NLTK 是另外一回事。)

TaggedDocument class 要求您为每个 object 指定 wordstags

因此,如果您当前只是将一个大的 full-read 文件附加到 data,您将需要:

  • 将数据分解成单词 – 一种 super-simple 方法是 .split() 将其放在空白处,尽管大多数项目做得更多
  • 决定一个或多个标签,也许只是文件名本身
  • 实例化一个 TaggedDocument,并将其附加到 data

因此,您可以将现有循环替换为:

for doc in docLabels:
    words = open(open(‘PATH TO YOU DOCUMENT FOLDER’ + doc).read()).split()
    tags = [doc]
    data.append(TaggedDocument(words=words, tags=tags)