我想从谷歌新闻
加载预训练的单词嵌入model = gensim.models.KeyedVectors.load_word2vec_format('GoogleNews-vectors-negative300.bin', binary=True)
print (model.wv.vocab)
但错误显示:
UnicodeEncodeError: 'ascii' codec can't encode character '\u2022' in position 62425: ordinal not in range(128)
我该如何解决这个问题?因为我想列出单词嵌入中的所有单词并进行句子嵌入的平均值。
答案 0 :(得分:0)
我正以相同的方式加载它们并且没有那个问题 - 我怀疑它是print语句。可能你的stdout只为ascii设置,无论是在jupyter还是在终端上。为了避免这个问题,我建议打开一个像
这样的编码文件with open("vocab.txt", "w", encoding="utf8") as vocab_out:
for word in model.wv.vocab:
vocab_out.write(word + "\n")