无法从发布数据加载预训练的 gensim Doc2Vec

Unable to load pre-trained gensim Doc2Vec from publication data

我想使用已发表论文中经过训练的 Doc2Vec。

Whalen, R., Lungeanu, A., DeChurch, L., & Contractor, N. (2020). Patent Similarity Data and Innovation Metrics. Journal of Empirical Legal Studies, 17(3), 615–639. https://doi.org/10.1111/jels.12261

代码

https://github.com/ryanwhalen/patent_similarity_data

数据

https://zenodo.org/record/3552078#.YeWkFvgxmUk

但是,在尝试加载模型 (patent_doc2v_10e.model) 时出现错误。 编辑:该文件可以从数据存储库中下载(link 以上)。我不是论文的作者,也不是模型的创建者。

from gensim.models.doc2vec import Doc2Vec
model = Doc2Vec.load("patent_doc2v_10e.model")


FileNotFoundError: [Errno 2] No such file or directory: 'patent_doc2v_10e.model.trainables.syn1neg.npy'

我是缺少文件还是必须以其他方式加载模型?

文件 patent_doc2v_10e.model 来自哪里?

如果尝试加载该文件,它会生成关于另一个名为 patent_doc2v_10e.model.trainables.syn1neg.npy 的文件的错误,那么该文件是完整模型的必要部分,应该与 [=10] 一起创建=] 当 patent_doc2v_10e.model 文件是第一个时 .save()- 持久化到磁盘。

您需要返回创建 patent_doc2v_10e.model 的位置,并找到额外丢失的 patent_doc2v_10e.model.trainables.syn1neg.npy 文件(可能其他人也在 patent_doc2v_10e.model… 开始)。在同一 .save() 创建的所有此类文件必须 kept/moved 在一起,在同一文件系统路径中,以便将来 .load() 成功。

(此外,如果您自己从原始数据训练这些,我建议您务必使用当前版本的 Gensim。只有较早的 4.0 之前版本会创建任何带有 trainables 的保存文件名字。)