错误定位: w2v = KeyedVectors.load_word2vec_format('./data/glove_300d_w2v_format.txt', binary=False)
看了其他博客大部分都是说不能转换成int或者有空格,这里不是。
这里是因为下载的是glove.42B.300d 和跑的代码的格式是不一样的。
glove与word2vec的格式是不同的,需要将glove转化为word2vec的格式:
from gensim.scripts.glove2word2vec import glove2word2vec
def transfer(gloveFile, word2vecFile):
glove2word2vec(gloveFile, word2vecFile)
if __name__ == '__main__':
transfer('data/glove.42B.300d.txt', 'data/glove_300d_w2v_format.txt')