Nlp gensim中TaggedDocument和TaggedLineDocument之间的差异?以及如何处理目录中的文件?
我是doc2vec新手,我希望使用它对文本集进行分类 我对TaggedDocument和TaggedLineDocument感到困惑 1) 两者之间有什么区别?TaggedLineDocument是TaggedDocuments的集合吗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属性(即字符串标记列表)和
2) 如果我有一个包含所有文件的目录,如何为它们生成特征向量?我是否应该创建一个新文件,其中每行都包含目录中文件的文本?
TaggedDocument
是一个示例类,用于表示可以作为文本示例的对象。您不需要使用它–您只需要提供具有words
属性(即字符串标记列表)和tags
属性(即与文档关联的标记列表)的对象。(也就是说,您可以将文本示例作为“成形”或“鸭型”对象提供,如TaggedDocument
)
TaggedLineDocument
是一个实用程序类,用于获取每行有一个文档的文件,该文件的标记字已用空格分隔,并将其转换为TaggedDocument
的可编辑集合,其中每个文档都有一个整数行号作为其唯一标记。因此,它是将文本流式传输到Doc2Vec
的一个最简单的示例,通常情况下,每行文本文件只有一个文档作为输入,不需要自定义每文档标记/id
如果数据采用其他格式,则不能直接使用TaggedLineDocument
,但这可能是一个有用的起点。如果您可以使用从0到文档计数的简单标记,则可以将格式转换为单个文件TaggedLineDocument
或者,特别是如果您需要使用自定义标记,您可以编写自己的类,将数据源(无论是一组文件、网络资源还是数据库)转换为一个iterable对象,该对象会为每个示例发出一个类似于
TaggedDocument
的对象 最好问两个独立的问题,必要时把它们联系起来。“如何处理目录中的文件?”并没有说明您想要完成什么。