我正在尝试构建一个Doc2Vec模型。我有一个带有标签的句子列表,使用Gensim的LabeledSentence()函数进行标记。在构建模型之后,我看到他们在训练模型之前对标记的句子使用了build_vocab()。
谁能解释一下build_vocab()是做什么的,如果我不使用它会发生什么?
请查看以下图片:
发布于 2020-12-18 09:10:41
build_vocab()
步骤是模型如何发现所有可能的单词/文档标记的集合-在单词的情况下,查找哪些单词出现的次数超过min_count
次数。
你必须使用它:试图训练一个没有经过发现步骤的模型将会出错。
(如果使用模型实例化的形式,在创建对象时提供语料库,则会自动为您调用build_vocab()
和train()
。)
关于你提到的LabeledSentence
要及时了解首选的术语/类型,您应该使用TaggedDocument
类。单个训练项目更好地描述为文档而不是句子,并且在模型中,它们的全文本文档向量键被称为标签,而不是标签。(在某些情况下,它们也可能是分类器使用的那种标签,但并不总是这样,最典型的情况是标签是每个文档唯一的ID。因此,在代码中最好使用“标签”一词,以防止将这些文档向量的键与其他可能是“标签”的东西混合在一起。)
( LabeledSentence
类是一个较旧的名称,现在只是TaggedDocument
的别名。因此,使用它作为名称是可行的,但与其余代码不匹配。)
https://stackoverflow.com/questions/65350423
复制相似问题