【问题标题】:Having trouble loading custom trained word vectors created in Gensim, into Spacy将在 Gensim 中创建的自定义训练词向量加载到 Spacy 时遇到问题
【发布时间】:2020-03-27 08:23:15
【问题描述】:

我已经训练了一个模型:

from gensim.models import Word2Vec    

model = Word2Vec(master_sent_list,
                     min_count=5,   
                     size=300,      
                     workers=5,    
                     window=5,      
                     iter=30)  

根据this帖子保存:

model.wv.save_word2vec_format("../moj_word2vec.txt")
!gzip ../moj_word2vec.txt
!python -m spacy init-model en ../moj_word2vec.model --vectors-loc ../moj_word2vec.txt.gz

一切看起来都很好:

✔ Successfully created model
22470it [00:02, 8397.55it/s]j_word2vec.txt.gz
✔ Loaded vectors from ../moj_word2vec.txt.gz
✔ Sucessfully compiled vocab
22835 entries, 22470 vectors

然后我以不同的名称加载模型

nlp = spacy.load('../moj_word2vec.model/')

但是出了点问题,因为我不能在nlp 上使用常用命令;我可以在model

例如,这些工作:

model.wv.most_similar('police')
model.vector_size

但这些不是:

nlp.wv.most_similar('police')
AttributeError: 'English' object has no attribute 'wv'

nlp.most_similar('police')
AttributeError: 'English' object has no attribute 'most_similar'

nlp.vector_size
AttributeError: 'English' object has no attribute 'vector_size'

所以加载或保存中似乎出现了问题,有人可以帮忙吗?

【问题讨论】:

    标签: python-3.x spacy gensim


    【解决方案1】:

    没有任何问题 - 你只是有错误的期望。

    来自spacy 的模型在加载到您的nlp 变量中时,将不支持来自gensim 模型类的方法。

    它是一个不同的库、代码、类和 API——它本身并不使用 gensim 底层代码——即使它可以从普通的 word2vec_format 导入普通的向量集.

    (例如,比较type(model)type(model.wv) 在您的工作gensim 模型上的结果,然后比较稍后创建的spacy 对象的type(nlp):完全不同的类型,具有不同的方法/属性.)

    您必须使用以下组合:

    • 检查 spacy 文档以了解等效操作

    • 如果您需要 gensim 操作,请将向量加载到 gensim 模型类中。例如:

    from gensim.models.keyedvectors import KeyedVectors
    wv = KeyedVectors.load_word2vec_format(filename)
    # then do gensim ops on the `wv` object
    

    (您也可以使用.save() 方法保存整个gensimWord2Vec 模型,该方法将使用Python 酸洗将其存储在一个或多个文件中。然后可以将其重新加载到gensim @987654339 @model using Word2Vec.load()——尽管如果你只需要通过词键查看单个词向量,则不需要完整模型。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      • 1970-01-01
      • 2022-01-16
      相关资源
      最近更新 更多