繁体   English   中英

Gensim word2vec-从不同于0的索引开始词汇表

[英]Gensim word2vec - start vocabulary from index different than 0

我正在使用gensim根据我的语料库创建单词向量,如下所示:

model = Word2Vec(sentences, size=100, window=5, min_count=5, workers=4)

我想知道是否可以在索引0和1处开始(或以某种方式避免使用)单词? 我希望我的词汇表从索引2开始,因为我需要执行其他操作,并且如果我将0和1保留为索引,则会有些混乱。

谢谢您的帮助!

它不是Word2Vec的本机功能。

这可能不是一个好主意,但是您可以通过以很高的频率创建两个伪单词并以包含对它们的最小影响的方式,将包含它们的示例添加到您的训练数据中, 粗略地伪造它。

例如,如果语料库中最常见的单词出现了5,000次,则创建一个仅包含单词“ dummy000000000”和“ dummy000000001”的假文本,每个单词重复1000次。 将此伪造的文字添加到您的语料库6次。 然后,“ dummy000000000”和“ dummy000000001”将是语料库中两个最常见的词,并因此获得索引0和1(在通常情况下)。 他们的训练将浪费时间,并且该模型将浪费其潜在状态给这些单词粗略的向量,但它们对其他单词的影响应最小(因为它们从未与真实单词共发)。 瞧,您有了0和1个索引,以后可以忽略(或将其视为错误)!

但是写出来后,这绝对不是一个好主意。 它将使模型稍微变慢和恶化。 模型中的各种进度/统计数据都会产生误导。

并且,使此类索引从0开始是非常典型的专业编程实践。 如果您发现它令人困惑,无论是在一般情况下还是在您的特定项目中,这可能是一个习惯/理解上的障碍,那就是通读起来比尝试用非标准实践打补丁要好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM