Machine learning Genisim doc2vec:短文档是如何处理的?

Machine learning Genisim doc2vec:短文档是如何处理的?,machine-learning,nlp,gensim,doc2vec,Machine Learning,Nlp,Gensim,Doc2vec,在doc2vec训练过程的每一小步中,它都会在一定的长度(称为窗口大小)内接收一个单词及其相邻单词。邻域被求和、平均或浓缩,依此类推 我的问题是,如果窗口超出某个文档的边界,比如 那么,邻域是如何求和、平均或浓缩的呢?或者它们只是被丢弃 我正在做一些nlp工作,数据集中的大多数文档都很短。喜欢任何想法。纯PV-DBOW模式(dm=0)训练速度快,通常表现很好(尤其是在短文档上),完全不使用滑动窗口。每个文档向量都经过训练,能够很好地直接预测文档中的单词——相邻单词没有任何区别 只有当您切换到P

在doc2vec训练过程的每一小步中,它都会在一定的长度(称为窗口大小)内接收一个单词及其相邻单词。邻域被求和、平均或浓缩,依此类推

我的问题是,如果窗口超出某个文档的边界,比如

那么,邻域是如何求和、平均或浓缩的呢?或者它们只是被丢弃

我正在做一些nlp工作,数据集中的大多数文档都很短。喜欢任何想法。

纯PV-DBOW模式(
dm=0
)训练速度快,通常表现很好(尤其是在短文档上),完全不使用滑动窗口。每个文档向量都经过训练,能够很好地直接预测文档中的单词——相邻单词没有任何区别

只有当您切换到PV-DM模式(
DM=1
)或添加交错跳过的克字向量训练(
DM=0,dbow\u words=1
)时,
窗口才相关。然后,窗口的处理方式与Word2Vec培训中的处理方式相同:如果它将经过文本的任意一端,它只是被截断而不超过一端,可能会使有效窗口不平衡

因此,如果你有一个文本“a B C D E”和一个2的
窗口,当预测第一个单词“a”时,只有右边的“B”和“C”起作用(因为左边没有单词)。当预测第二个单词“B”时,左边的“A”和右边的“C”和“D”起作用。等等

另一个缺点是,为了以计算效率高的方式对附近的单词进行更大的加权,用于任何一个目标预测的实际窗口实际上具有从1到配置的
窗口
值的随机大小。因此,对于
window=2
,一半的时间实际上只在每侧使用1个窗口,另一半的时间使用2个完整窗口。(对于
window=5
,对于20%的预测使用有效值1,对于20%的预测使用有效值2,对于20%的预测使用有效值3,对于20%的预测使用有效值4,对于20%的预测使用有效值5。),无需每次包含所有完整窗口字的全部计算成本或任何额外的部分权重计算