Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 关键字错误:单词不在词汇表中,;当我使用gensim.Word2Vec处理中文代币时_Python_Nlp_Word2vec_Gensim_Keyerror - Fatal编程技术网

Python 关键字错误:单词不在词汇表中,;当我使用gensim.Word2Vec处理中文代币时

Python 关键字错误:单词不在词汇表中,;当我使用gensim.Word2Vec处理中文代币时,python,nlp,word2vec,gensim,keyerror,Python,Nlp,Word2vec,Gensim,Keyerror,代码如下: 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['一九九八年新年']) ['本报', '讯', '河北邢台中

代码如下:

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['一九九八年新年'])
['本报', '讯', '河北邢台中桥商场', '以', '诚', '待客', ',', '以', '真品', '赢', '来', '回头客', '。', '1997年', ',', '商场', '利税', '比', '上年', '翻', '了', '一番', '多', ',', '员工', '人均', '年', '销售额', '达', '22.1万', '元', '。']
['中桥商场', '虽', '地处', '邢台市', ',', '但', '为了', '扩大', '销售', '半径', ',', '他们', '投资', '近', '万', '元', ',', '向', '邢台市', '19', '个', '县', '、', '市', '、', '区', '部分', '顾客', '赠阅', '《', '公关', '世界', '》', '及', '《', '中国', '质量', '万', '里', '行', '》', '杂志', ',', '扩大', '了', '商店', '的', '影响', '。']
语料库文件在gensim中被处理为按行句子标记的列表,如下所示:

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['一九九八年新年'])
['本报', '讯', '河北邢台中桥商场', '以', '诚', '待客', ',', '以', '真品', '赢', '来', '回头客', '。', '1997年', ',', '商场', '利税', '比', '上年', '翻', '了', '一番', '多', ',', '员工', '人均', '年', '销售额', '达', '22.1万', '元', '。']
['中桥商场', '虽', '地处', '邢台市', ',', '但', '为了', '扩大', '销售', '半径', ',', '他们', '投资', '近', '万', '元', ',', '向', '邢台市', '19', '个', '县', '、', '市', '、', '区', '部分', '顾客', '赠阅', '《', '公关', '世界', '》', '及', '《', '中国', '质量', '万', '里', '行', '》', '杂志', ',', '扩大', '了', '商店', '的', '影响', '。']
然后获取错误:

KeyError: "word '一九九八年新年' not in vocabulary"
但只有少数标记不在词汇表中,其他标记可以得到它们的词向量,那么我不知道原因

gensim.models.Word2Vec(sen, size=100, workers=4, min_count=1)

set min_count=1

min\u count
表示忽略所有总频率低于此值的单词。

您面临的问题是,您试图获取的单词的嵌入不存在。您无法查询训练时输入模型的单词词典中没有的单词


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

你为什么这么认为一九九八年新年' 首先应该在模型中?为什么不把它放在试块中?