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

Gensim 4.3.0中Word2Vec无infer_vector属性,求替代句向量生成方法

问题

环境信息

Name: gensim
Version: 4.3.0
Summary: Python framework for fast Vector Space Modelling
Home-page: http://radimrehurek.com/gensim
Author: Radim Rehurek
Author-email: me@radimr

报错情况

使用Word2Vec将句子转换为向量时,调用infer_vector方法触发以下错误:

AttributeError: 'Word2Vec' object has no attribute 'infer_vector'

现有代码

# 输入:clean_data[:3]
# 输出:
# [['good'],
#  ['nice'],
#  ['its',
#   'ok',
#   'but',
#   'still',
#   'not',
#   'work',
#   'some',
#   'times',
#   'please',
#   'upgrade',
#   'a',
#   'valuable',
#   'process']]

from gensim.models import Word2Vec

model= Word2Vec(clean_data, vector_size=100, min_count=2, sg=1)
model.train(clean_data,total_examples=model.corpus_count,epochs=model.epochs)

# 触发报错的代码行
model.infer_vector(['its','ok','but','still','not','work','some','times','please','upgrade','a','valuable','process'])

要求必须使用Word2Vec,请问有没有其他方法可将句子转换为向量?


解决方案

Gensim 4.x版本中Word2Vec类已移除infer_vector方法,以下是两种基于Word2Vec模型的句子向量化替代方案:

  • 手动计算词向量平均值:遍历句子中的词,过滤掉模型未收录的词后取向量均值

    def get_sentence_vector(sentence, word2vec_model, vec_size):
        valid_vecs = []
        for word in sentence:
            if word in word2vec_model.wv:
                valid_vecs.append(word2vec_model.wv[word])
        # 若所有词都未被收录,返回零向量
        return sum(valid_vecs) / len(valid_vecs) if valid_vecs else [0.0]*vec_size
    
    # 调用示例
    target_sentence = ['its','ok','but','still','not','work','some','times','please','upgrade','a','valuable','process']
    sentence_vec = get_sentence_vector(target_sentence, model, 100)
    
  • 使用KeyedVectors内置方法:model.wv(即KeyedVectors实例)提供了现成的get_mean_vector方法,自动处理未收录词

    target_sentence = ['its','ok','but','still','not','work','some','times','please','upgrade','a','valuable','process']
    sentence_vec = model.wv.get_mean_vector(target_sentence)
    

额外提示

  • 你的代码中model.train调用是冗余的:初始化Word2Vec时已自动完成训练,重复训练会导致模型参数不必要的迭代更新。
  • 当前设置min_count=2会过滤掉出现次数不足2次的词(比如示例中的good、nice),如果需要这类词参与计算,建议调整该参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 23:50:14