Nlp gensim中TaggedDocument和TaggedLineDocument之间的差异?以及如何处理目录中的文件?

Nlp gensim中TaggedDocument和TaggedLineDocument之间的差异?以及如何处理目录中的文件?,nlp,gensim,word2vec,text-classification,doc2vec,Nlp,Gensim,Word2vec,Text Classification,Doc2vec,我是doc2vec新手,我希望使用它对文本集进行分类 我对TaggedDocument和TaggedLineDocument感到困惑 1) 两者之间有什么区别?TaggedLineDocument是TaggedDocuments的集合吗 2) 如果我有一个包含所有文件的目录,如何为它们生成特征向量?我是否应该创建一个新文件,其中每行都包含目录中文件的文本?TaggedDocument是一个示例类,用于表示可以作为文本示例的对象。您不需要使用它–您只需要提供具有words属性(即字符串标记列表)和

我是doc2vec新手,我希望使用它对文本集进行分类

我对TaggedDocument和TaggedLineDocument感到困惑

1) 两者之间有什么区别?TaggedLineDocument是TaggedDocuments的集合吗


2) 如果我有一个包含所有文件的目录,如何为它们生成特征向量?我是否应该创建一个新文件,其中每行都包含目录中文件的文本?

TaggedDocument
是一个示例类,用于表示可以作为文本示例的对象。您不需要使用它–您只需要提供具有
words
属性(即字符串标记列表)和
tags
属性(即与文档关联的标记列表)的对象。(也就是说,您可以将文本示例作为“成形”或“鸭型”对象提供,如
TaggedDocument

TaggedLineDocument
是一个实用程序类,用于获取每行有一个文档的文件,该文件的标记字已用空格分隔,并将其转换为
TaggedDocument
的可编辑集合,其中每个文档都有一个整数行号作为其唯一标记。因此,它是将文本流式传输到
Doc2Vec
的一个最简单的示例,通常情况下,每行文本文件只有一个文档作为输入,不需要自定义每文档标记/id

如果数据采用其他格式,则不能直接使用
TaggedLineDocument
,但这可能是一个有用的起点。如果您可以使用从0到文档计数的简单标记,则可以将格式转换为单个文件
TaggedLineDocument


或者,特别是如果您需要使用自定义标记,您可以编写自己的类,将数据源(无论是一组文件、网络资源还是数据库)转换为一个iterable对象,该对象会为每个示例发出一个类似于
TaggedDocument
的对象

最好问两个独立的问题,必要时把它们联系起来。“如何处理目录中的文件?”并没有说明您想要完成什么。