【发布时间】:2021-07-14 16:22:00
【问题描述】:
我注意到我的 gensim Doc2Vec (DBOW) 模型对文档标签很敏感。我的理解是这些标签是装饰性的,因此它们不应该影响学习到的嵌入。我是不是误会了什么?这是一个最小的例子:
from gensim.test.utils import common_texts
from gensim.models.doc2vec import Doc2Vec, TaggedDocument
import numpy as np
import os
os.environ['PYTHONHASHSEED'] = '0'
reps = []
for a in [0,500]:
documents = [TaggedDocument(doc, [i + a])
for i, doc in enumerate(common_texts)]
model = Doc2Vec(documents, vector_size=100, window=2, min_count=0,
workers=1, epochs=10, dm=0, seed=0)
reps.append(np.array([model.docvecs[k] for k in range(len(common_texts))])
reps[0].sum() == reps[1].sum()
最后一行返回False。我正在使用 gensim 3.8.3 和 Python 3.5.2。更一般地说,标签的值是否有任何作用(假设它们是唯一的)?我问是因为我发现在分类任务中对文档使用不同的标签会导致性能差异很大。
提前致谢。
【问题讨论】:
标签: gensim word2vec random-seed doc2vec