gpt4 book ai didi

python - 如何将最大词汇频率放入doc2vec

转载 作者:行者123 更新时间:2023-12-01 00:52:16 24 4
gpt4 key购买 nike

Doc2vec 在创建词汇表时可以将文档中出现次数最少的单词作为参数 min_count 包含在词汇表中。

model = gensim.models.doc2vec.Doc2Vec(vector_size=200, min_count=3, epochs=100,workers=8)

如何使用某些参数排除出现频率过高的单词?

我知道一种方法是在预处理步骤中通过手动删除这些单词并计算每个单词来完成此操作,但很高兴知道是否有一些内置方法可以这样做,因为它提供了更多的测试空间。非常感谢您的回答。

最佳答案

gensim 的 Word2Vec 中没有明确的 max_count 参数。

如果您确定某些标记毫无意义,则应该预处理文本以消除它们。

还有一个 trim_rule 选项可以作为模型实例化或 build_vocab() 传递,您自己的函数可以在其中丢弃一些单词;请参阅 gensim 文档:

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

同样,您可以避免直接调用 build_vocab(),而是调用其子步骤 - 但在词汇表最终确定之前编辑发现的原始计数字典。您可能需要查阅源代码来执行此操作,并且可以使用丢弃不常见单词的代码作为您自己的新附加代码的模型。

Word2Vec 的经典 sample 参数还控制高频词的下采样,以防止模型在冗余训练丰富的词上花费过多的相对精力。该值越激进(越小),训练期间随机跳过的高频词实例就越多。默认值 1e-03 (0.001) 非常保守;在非常大的自然语言语料库中,我看到了高达 1e-07 (0.0000001) 或 1e-8 ( 0.00000001)——因此,在另一个一些低含义标记非常频繁的领域中,类似的激进下采样值得尝试。

较新的 ns_exponent 选项更改了负采样,以调整不太频繁的单词的相对偏好。最初的 word2vec 工作使用了 0.75 的固定值,但此后的一些研究表明其他领域(例如推荐系统)可能会受益于对实际标记频率或多或少敏感的其他值。 (相关论文链接在 gensim 文档中的 ns_exponent 参数。)

关于python - 如何将最大词汇频率放入doc2vec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56478384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com