Word2Vec 的词向量维度(embedding dimension)不是固定的,可以根据需要进行设置。默认值取决于具体的实现和训练配置。以下是一些常见的默认维度设置:
常见的默认词向量维度
-
Google 的预训练 Word2Vec 模型:
- 维度: 300
- 说明: Google 提供的预训练 Word2Vec 模型通常使用 300 维的词向量。这是一个常用的维度,用于捕捉丰富的语义信息。
-
Gensim 库的 Word2Vec 实现:
- 维度: 没有固定的默认值
- 说明: 在 Gensim 中,Word2Vec 的词向量维度可以通过参数
size
(在较旧的版本中)或vector_size
(在较新的版本中)进行设置。默认值可以是 100、200 或 300,具体取决于使用的版本和设置。
-
其他开源 Word2Vec 实现:
- 维度: 通常为 100、200 或 300
- 说明: 许多开源实现和教程中的 Word2Vec 例子使用 100、200 或 300 维的词向量,这些维度是经验上选择的,以平衡模型性能和计算效率。
选择词向量维度的考虑因素
- 语料库规模: 对于大规模的语料库,较高的维度(如 300 维)可以捕捉更多的语义信息;对于小规模的语料库,较低的维度(如 100 维)可能更加合适。
- 计算资源: 较高的维度会增加计算负担和存储需求,因此需要考虑计算资源和内存限制。
- 任务需求: 任务的复杂性和对词语表示的需求也会影响选择的维度。复杂的任务可能受益于更高维度的词向量。
示例代码
在 Gensim 中,你可以在训练 Word2Vec 模型时指定词向量维度,例如:
from gensim.models import Word2Vec
# 示例语料
sentences = [["I", "love", "machine", "learning"], ["Deep", "learning", "is", "fascinating"]]
# 训练 Word2Vec 模型,指定词向量维度
model = Word2Vec(sentences, vector_size=300, window=5, min_count=1, sg=0)
# 获取词向量
word_vector = model.wv["love"]
print("词向量维度:", len(word_vector))
在这个示例中,我们使用 300 维的词向量来训练模型。你可以根据需要调整 vector_size
参数的值。