You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将旧版gensim word embeddings保存为兼容新版Python的格式?

将旧版Word Embeddings转换为现代格式的步骤

假设你已经在Python 2.7.15中成功加载了词向量,以下是几种简单的转换方法,适配新版Python环境:

1. 先确认你的词向量对象类型

在Python 2.7的终端里执行以下代码,明确当前加载的是完整模型还是仅词向量:

print(type(your_embedding_object))

常见结果:

  • gensim.models.word2vec.Word2Vec:完整的Word2Vec模型(包含训练参数)
  • gensim.models.keyedvectors.KeyedVectors:仅包含词和对应向量的集合

2. 选择适合的保存方法

方法一:用gensim原生格式保存(推荐,新版Python直接兼容)

如果你的对象是完整Word2Vec模型:

# 保存为gensim现代格式
your_embedding_object.save("modern_word2vec_model.gensim")

如果是仅词向量集合(KeyedVectors):

your_embedding_object.save("modern_keyed_vectors.gensim")

新版Python中加载:
安装gensim后,直接用对应方法读取:

# 加载完整模型
from gensim.models import Word2Vec
model = Word2Vec.load("modern_word2vec_model.gensim")

# 加载词向量集合
from gensim.models import KeyedVectors
wv = KeyedVectors.load("modern_keyed_vectors.gensim")

方法二:保存为Numpy数组+词汇表(通用无依赖)

适合不需要gensim的场景,任何Python版本都能读取:

import numpy as np

# 提取词汇列表和向量数组
words = list(your_embedding_object.vocab.keys())
vectors = your_embedding_object.vectors

# 保存向量为npy格式(二进制,高效)
np.save("word_vectors.npy", vectors)

# 保存词汇表为txt文件(每行一个词)
with open("vocabulary.txt", "w") as f:
    for word in words:
        f.write(word + "\n")

新版Python中加载:

import numpy as np

# 读取向量和词汇表
vectors = np.load("word_vectors.npy")
with open("vocabulary.txt", "r") as f:
    words = [line.strip() for line in f]

# 转换成词-向量字典方便使用
word_to_vec = dict(zip(words, vectors))

方法三:保存为纯文本格式(跨工具兼容)

适合需要用其他语言或工具读取的场景,格式为词 向量分量1 向量分量2 ...:

import codecs

# 用codecs处理编码,避免Python2.7的中文乱码问题
with codecs.open("word_embeddings.txt", "w", encoding="utf-8") as f:
    # 第一行写入词汇总数和向量维度
    f.write(f"{len(your_embedding_object.vocab)} {your_embedding_object.vector_size}\n")
    # 逐行写入词和对应向量
    for word in words:
        vec = your_embedding_object[word]
        vec_str = " ".join(map(str, vec))
        f.write(f"{word} {vec_str}\n")

新版Python中加载:
可以用gensim快速读取,或者自己解析:

from gensim.models import KeyedVectors
wv = KeyedVectors.load_word2vec_format("word_embeddings.txt", encoding="utf-8")

内容的提问来源于stack exchange,提问作者Violet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 14:03:21