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作为令牌列表处理,如下所示:
['本报', '讯', '河北邢台中桥商场', '以', '诚', '待客', ',', '以', '真品', '赢', '来', '回头客', '。', '1997年', ',', '商场', '利税', '比', '上年', '翻', '了', '一番', '多', ',', '员工', '人均', '年', '销售额', '达', '22.1万', '元', '。']
['中桥商场', '虽', '地处', '邢台市', ',', '但', '为了', '扩大', '销售', '半径', ',', '他们', '投资', '近', '万', '元', ',', '向', '邢台市', '19', '个', '县', '、', '市', '、', '区', '部分', '顾客', '赠阅', '《', '公关', '世界', '》', '及', '《', '中国', '质量', '万', '里', '行', '》', '杂志', ',', '扩大', '了', '商店', '的', '影响', '。']
然后得到错误:
KeyError: "word '一九九八年新年' not in vocabulary"
但只有少数令牌不在词汇表中,其他人可以得到他们的单词矢量,然后我不知道原因。
答案 0 :(得分:0)
gensim.models.Word2Vec(sen, size=100, workers=4, min_count=1)
set min_count=1
min_count
表示忽略所有总频率低于此频率的单词。
答案 1 :(得分:0)
您面临的问题是因为您要获取的单词的嵌入不存在。您不能查询不在训练中输入到模型的单词词典中的单词。
我希望这能回答您的问题。