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

NLP中实现Word2Vec模型时出现KeyError错误该如何解决?

错误原因

你触发报错的核心原因是遍历Gensim Word2Vec词向量对象的写法错误:
Gensim的KeyedVectors(也就是w2v_model.wv对应的类)不支持直接用list()强制转换,直接迭代该对象时,它会把迭代的整数索引当成词汇的key去查询词向量,你的词表里根本不存在141101这个数字字符串组成的词汇,自然抛出KeyError。

解决方案

1. 正确获取词表长度

不需要转list,直接调用len()即可:

print(len(w2v_model.wv))

2. 正确获取所有词汇列表

Gensim 4.x及以上版本使用index_to_key属性获取所有词汇的有序列表:

all_words = w2v_model.wv.index_to_key

如果是3.x旧版本,替换为all_words = w2v_model.wv.index2word即可。

3. 遍历所有词向量的正确写法

for word in w2v_model.wv.index_to_key:
    # 拿到单个词的向量
    vec = w2v_model.wv[word]
    # 后续处理逻辑

补充检查(可选)

你的预处理逻辑里设置了if(cleaned_words.isalpha()),只有纯字母的词才会进入训练语料,如果你需要保留数字类的词汇,可以删掉这个判断,避免有效信息丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:24:04