【发布时间】:2021-09-02 15:33:44
【问题描述】:
我的任务是将文档矢量模型投入生产。 我是 R 用户,所以我的原始模型是在 R 中。我们拥有的途径之一是在 Python 中重新创建代码和模型。
我对 Doc2vec 的 Gensim 实现感到困惑。
在 R 中工作的过程是这样的:
离线
-
在大型语料库上使用
text2vec包中的函数(即 GloVe 或 GlobalVectors)训练词向量这给了我一个大型词向量文本文件。 -
在 ML 步骤发生之前,
TextTinyR库中的Doc2Vec函数用于将每段文本从更小、更具体的训练语料库转换为向量。 这不是机器学习步骤。没有模型被训练。 Doc2Vec 函数有效地聚合句子中的词向量,其意义与求向量的总和或平均值相同,但以保留词序信息的方式。 -
然后在这些较小的文本语料库上训练各种模型。
在线
- 使用预训练的词向量将新文本转换为文档向量。
- 文档向量被输入预训练模型以获得输出分类。
我为 Gensim 找到的示例代码似乎与此大相径庭。
在gensim 中显示,Doc 向量是与您可以训练的词向量不同的模型类别。似乎在某些情况下,词向量和文档向量都是同时训练的。以下是教程和 stackoverflow 答案中的一些示例:
https://medium.com/@mishra.thedeepak/doc2vec-simple-implementation-example-df2afbbfbad5
How to use Gensim doc2vec with pre-trained word vectors?
How to load pre-trained model with in gensim and train doc2vec with it?
gensim(1.0.1) Doc2Vec with google pretrained vectors
所以我的问题是:
Doc2Vec 的 gensim 实现与 TextTinyR 实现有根本不同吗?
还是说gensim doc2vec模型基本上只是将word2vec模型和doc2vec过程封装成一个对象?
我在这个过程中还有什么遗漏的吗?
【问题讨论】:
标签: python r gensim word2vec doc2vec