You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gensim Word2Vec新版本适配:model[model.wv.vocab]转换问题

Gensim新版本替换model[model.wv.vocab]的正确方式

你之前报错的核心原因:model.wv.key_to_index是词汇到索引的字典结构,而PCA的fit_transform需要二维数值矩阵,直接传入字典会触发类型不匹配错误。

原来的model[model.wv.vocab]作用是获取所有词汇对应的词向量,在新版本Gensim里有两种等价替换方式:

方法1:直接使用model.wv.vectors

model.wv.vectors本身就是按key_to_index顺序排列的完整词向量矩阵,和旧代码效果完全一致,是最简单高效的方式:

model = Word2Vec(corpus, min_count=1, vector_size=5)

# 直接获取所有词向量矩阵
X = model.wv.vectors

pca = PCA(n_components=2)
result = pca.fit_transform(X)

pca_df = pd.DataFrame(result, columns=['x', 'y'])

方法2:基于key_to_index提取词汇后获取词向量

如果需要明确基于key_to_index中的词汇来获取向量,可以先提取词汇列表再获取:

model = Word2Vec(corpus, min_count=1, vector_size=5)

# 提取所有词汇
words = list(model.wv.key_to_index.keys())
# 获取对应词向量
X = model.wv[words]

pca = PCA(n_components=2)
result = pca.fit_transform(X)

pca_df = pd.DataFrame(result, columns=['x', 'y'])

两种方法都能得到和旧代码一致的结果,任选其一即可。

内容的提问来源于stack exchange,提问作者user10524276

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 19:28:17