Gensim的Word2vec Skip-gram的默认估计方法?

Default estimation method of Gensim's Word2vec Skip-gram?

我现在正在尝试通过 NCE(噪声对比估计)估计 skipgram 嵌入来使用 word2vec,而不是像最近的一篇论文那样使用传统的负采样方法(https://asistdl.onlinelibrary.wiley.com/doi/full/10.1002/asi.24421?casa_token=uCHp2XQZVV8AAAAA%3Ac7ETNVxnpqe7u9nhLzX7pIDjw5Fuq560ihU3K5tYVDcgQEOJGgXEakRudGwEQaomXnQPVRulw8gF9XeO). The paper has a replication GitHub repository (https://github.com/sandeepsoni/semantic-progressiveness),它主要依赖于 gensim实现了word2vec,但是repository没有很好的组织和混乱,所以我不知道作者是如何通过gensim的word2vec实现NCE估计的。

作者只是使用了gensim的word2vec作为默认状态,没有包含任何选项,所以我的问题是gensim的word2vec在Skip-gram embeddings下的默认估计方法是什么。网络教育?根据你的手册,它只是说有一个负采样选项,如果设置为 0,则不使用负采样。但是那么使用什么估计方法呢? negative (int, optional) – 如果 > 0,将使用负采样,负采样的 int 指定应绘制多少“噪声词”(通常在 5-20 之间)。如果设置为 0,则不使用负采样。

提前致谢,期待您的回音!

您可以在 Gensim 文档中的未修改的 Gensim 库中查看 Gensim Word2Vec 模型的默认参数。这是 Word2Vec 构造方法的当前版本 (4.1) 文档的 link,显示了所有默认参数值:

https://radimrehurek.com/gensim/models/word2vec.html#gensim.models.word2vec.Word2Vec

class gensim.models.word2vec.Word2Vec(sentences=None, corpus_file=None, vector_size=100, alpha=0.025, window=5, min_count=5, max_vocab_size=None, sample=0.001, seed=1, workers=3, min_alpha=0.0001, sg=0, hs=0, negative=5, ns_exponent=0.75, cbow_mean=1, hashfxn=, epochs=5, null_word=0, trim_rule=None, sorted_vocab=1, batch_words=10000, compute_loss=False, callbacks=(), comment=None, max_final_vocab=None, shrink_windows=True)

其中两个参数 - hs=0, negative=5 - 表示默认模式禁用 hierarchical-softmax,并使用 5 个负词启用负采样。对于许多版本,这些是 Gensim Word2Vec 的默认设置,因此即使其他代码使用旧版本,这也可能是使用的模式(除非参数或 modified/overriden 代码更改了它们)。