为模型Doc2V中的向量获取标记

2024-10-01 17:34:32 发布

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

我试图在不使用KNN函数的情况下实现KNN。一旦我训练了Doc2vec模型,是否有任何方法可以返回一个元组列表(vector,tag),因为我在训练过程中将标记设置为类?我这样做是为了计算一个测试样本向量和训练集中每个向量的余弦相似度,并基于它进行排序,取k个最高值,同时让标签进行多数投票。在

从我搜索的内容中,我可以得到一个单词的向量,但不能得到一个经过训练的单词的标签向量。和, 我使用了最相似的方法,它在某种程度上返回了我需要的输出,但它使用的是数据的平均值,而我只希望训练集和测试数据示例中向量之间的差异作为排序标准,同时也有可用的标签。在


Tags: 方法函数模型列表排序tag情况标签
1条回答
网友
1楼 · 发布于 2024-10-01 17:34:32

如果您有一个Doc2Vec模型d2v_model,那么您可以获得它在培训期间学习的(字符串)标记的列表:

d2v_model.docvecs.index2entity

对于任何给定的标记,您可以通过以下方式获得其精确矢量:

^{pr2}$

如果要查找向量接近某个目标向量的标记,可以将most_similar()方法与一个列表一起使用,该列表的target_vec作为其positive参数:

nearest = d2v_model.docvecs.most_similar(positive=[target_vec])

如果您需要其他信息,请更清楚地说明您的培训数据的形式。(例如,每个文档是否只包含一个标识符ID,或者重复的类标签,或者两者都包含?)在

相关问题 更多 >

    热门问题