Gensim 4.0.0如何获取model.wv中key对应单词并导出词向量到TXT文件
Gensim 4.0.0 词向量导出代码补全方案
Gensim 4.0版本中遍历model.wv拿到的key本身就是对应的单词,直接通过model.wv[key]即可读取对应向量,循环内补全后完整代码如下:
with open(args.output, 'w+', encoding='utf-8') as f: f.write('%d %d\n' % (len(model.wv), args.size)) for key in tqdm(model.wv): # 把numpy格式的向量转换为空格分隔的字符串 vector_str = ' '.join(map(str, model.wv[key])) # 拼接单词、向量,加换行符写入文件 f.write(f"{key} {vector_str}\n")
补充说明:
- 导出的文件格式和标准Word2Vec输出格式完全兼容,后续可以直接用
gensim.models.KeyedVectors.load_word2vec_format()读取使用 - 原代码里
f.write(WORD, VECTOR)的传参方式是错误的,write方法只接收单个字符串参数,所以需要先把单词和向量拼接为完整的一行字符串再写入
内容的提问来源于stack exchange,提问作者user10679548
相关产品推荐
相关产品推荐

