首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >KeyError:当我使用gensim.Word2Vec处理中文标记时,单词不在词汇表中

KeyError:当我使用gensim.Word2Vec处理中文标记时,单词不在词汇表中
EN

Stack Overflow用户
提问于 2018-05-03 12:19:39
回答 2查看 1.3K关注 0票数 0

代码如下:

代码语言:javascript
运行
复制
train_corpus = "sentence_all.txt"
sentences = LineSentence(train_corpus)
model = Word2Vec(sentences, size=vector_size,  window=window_size, min_count=min_count, workers=worker_count, iter=train_epoch)
print(model['一九九八年新年'])

在gensim中,语料库文件已被LineSentence处理为标记列表,如下所示:

代码语言:javascript
运行
复制
['本报', '讯', '河北邢台中桥商场', '以', '诚', '待客', ',', '以', '真品', '赢', '来', '回头客', '。', '1997年', ',', '商场', '利税', '比', '上年', '翻', '了', '一番', '多', ',', '员工', '人均', '年', '销售额', '达', '22.1万', '元', '。']
['中桥商场', '虽', '地处', '邢台市', ',', '但', '为了', '扩大', '销售', '半径', ',', '他们', '投资', '近', '万', '元', ',', '向', '邢台市', '19', '个', '县', '、', '市', '、', '区', '部分', '顾客', '赠阅', '《', '公关', '世界', '》', '及', '《', '中国', '质量', '万', '里', '行', '》', '杂志', ',', '扩大', '了', '商店', '的', '影响', '。']

然后得到错误:

代码语言:javascript
运行
复制
KeyError: "word '一九九八年新年' not in vocabulary"

但是只有几个标记没有在词汇表中,其他的可以得到它们的词向量,我不知道原因。

EN

回答 2

Stack Overflow用户

发布于 2018-06-24 17:42:18

代码语言:javascript
运行
复制
gensim.models.Word2Vec(sen, size=100, workers=4, min_count=1)

set min_count=1

min_count表示忽略总频率低于此值的所有单词。

票数 0
EN

Stack Overflow用户

发布于 2018-06-25 01:26:22

您面临的问题是因为您试图获取的单词的嵌入不存在。您不能查询不在训练时提供给模型的单词字典中的单词。

我希望这能回答你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50146901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档