Neural network 在Fasttext skipgram训练中,如果语料库中的某些句子只有一个单词,会发生什么?

Neural network 在Fasttext skipgram训练中,如果语料库中的某些句子只有一个单词,会发生什么?,neural-network,word2vec,word-embedding,fasttext,Neural Network,Word2vec,Word Embedding,Fasttext,假设您有一个语料库,其中一些行只有一个单词,因此一些单词周围没有上下文。在这种情况下,Fasttext如何为这些单字提供嵌入?请注意,其中一些单词的频率为一,没有去除它们的截止值 没有办法训练context\u word->target\u word跳过这类单词的语法对(在“context”或“target”角色中),因此这类单词无法接受经过训练的表示。只有具有至少2个标记的文本才能对word2vec或FastText单词向量训练做出贡献 (一个可能的例外:处于“监督分类”模式的FastText

假设您有一个语料库,其中一些行只有一个单词,因此一些单词周围没有上下文。在这种情况下,Fasttext如何为这些单字提供嵌入?请注意,其中一些单词的频率为一,没有去除它们的截止值

没有办法训练
context\u word->target\u word
跳过这类单词的语法对(在“context”或“target”角色中),因此这类单词无法接受经过训练的表示。只有具有至少2个标记的文本才能对word2vec或FastText单词向量训练做出贡献

(一个可能的例外:处于“监督分类”模式的FastText可能能够利用并训练这些单词的向量,因为这样即使是单个单词也可以用来预测训练文本的已知标签。)

我怀疑这样的小体仍然会导致模型在其初始词汇发现扫描中对单词进行计数,因此它将被分配一个向量(如果它至少出现
minu count
次),并且该向量将接收通常的小随机向量初始化。但是vector这个词不会接受进一步的训练——因此,当你在训练后要求返回vector时,它的质量会很低,只有与其他接受过真正训练的词共享的任何char n-gram才会做出有意义的贡献

你应该考虑任何文本中断过程,导致单单词文本成为FASTY文本的BUGGY。如果这些单字文本来自另一个有意义的上下文,它们曾经被其他上下文单词包围过,那么您应该将文本分解过程更改为在保留该上下文的较大块中工作

还要注意的是:
min_count=1
对于单词向量模型来说是个好主意,至少当训练文本是真实的自然语言材料,单词标记频率大致遵循Zipf定律时是这样。将会有很多很多单次出现(或很少出现)的单词,但只有一到几个示例使用上下文,不太可能代表该单词实际用法的真正广度和微妙程度,这类单词几乎不可能获得良好的向量,从而推广到其他地方相同单词的其他用法


训练好的向量需要各种各样的用法示例,与数十到数百个其他单词用法示例相比,只有一个或几个示例实际上是“噪音”。因此,保留这些罕见的单词,而不是像默认的
min_count=5
(或更大的微粒中的更高值)那样丢弃它们,会减慢训练,减慢模型的收敛(“稳定”),并且在结尾处降低其他更频繁的词向量的质量——这是因为算法在帮助定位这些稀有词方面做出了重大但基本上是徒劳的努力。

也许这个问题更适合于