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 或教程中的任何地方。
将不胜感激。谢谢!
我只是在解决标题指示的问题部分,关于 Doc2Vec
和 TaggedDocument
。 (NLTK 是另外一回事。)
TaggedDocument
class 要求您为每个 object 指定 words
和 tags
。
因此,如果您当前只是将一个大的 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)
这里是初学者。
我有大量 .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 或教程中的任何地方。
将不胜感激。谢谢!
我只是在解决标题指示的问题部分,关于 Doc2Vec
和 TaggedDocument
。 (NLTK 是另外一回事。)
TaggedDocument
class 要求您为每个 object 指定 words
和 tags
。
因此,如果您当前只是将一个大的 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)