gensim Doc2Vec:从txt文件到TaggedDocuments

2024-09-30 18:35:13 发布

您现在位置:Python中文网/ 问答频道 /正文

初学者。在

我有一个很大的.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()) `

然而,有了这个,我得到了一个“列表”,我不能再做进一步的工作了。TK或2TK文件在任何地方都无法找到。在

我们将不胜感激。谢谢您!在


Tags: 文件to数据pathintxtyoufor
1条回答
网友
1楼 · 发布于 2024-09-30 18:35:13

我只讨论标题所指的问题,关于Doc2Vec和{}。(NLTK是另一个问题。)

TaggedDocument类要求为创建的每个对象指定words和{}。在

因此,如果您当前只是在data上附加一个文件的大的完整读取,那么您将希望:

  • 把这些数据分解成单词——一个超级简单的方法就是在空白处加.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)

相关问题 更多 >