将单词矢量(从fast Text)转换为在Spacy中使用失败 [英] Converting word vectors (from fastText) to use in spaCy fails

查看:44
本文介绍了将单词矢量(从fast Text)转换为在Spacy中使用失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用fast Text生成了单词向量,并希望将它们转换为在Spacy模型中使用(用于德语)。在Spacy文档中,它说向量"应该是word2vec格式的制表符分隔的文件,其中第一列包含单词,其余列包含值。"因此,我将我的单词向量转换为txt文件,使它们具有完全相同的格式。然而,当我试图逃跑的时候 python -m spacy init-model de /Users/vectors --vectors-loc test_vectors.txt
我收到以下ValueError:基数为10的int()的文本无效:‘Ich’

我的文件格式不正确吗?我错过了什么吗?


操作系统:Windows 8.1 使用的Python版本:3.6.4 使用的Spacy版本:2.0.11 环境信息:Windows cmd

推荐答案

我从fast Textpretrained vectors下载了一个快速文本模型(wiki.el.vec),然后使用以下gensim代码将其转换为txt格式:

from gensim.models.keyedvectors import KeyedVectors
model = KeyedVectors.load_word2vec_format('wiki.el.vec', binary=False)
model.save_word2vec_format('wiki.el.txt', binary=False)

然后我运行:

python3 -m spacy init-model el . --vectors-loc wiki.el.txt

并且运行正常。

将el替换为de,将初始wiki.el.vec文件替换为相应的de.vec文件,并重复我遵循的步骤,我认为它将完成。

希望能有所帮助!

这篇关于将单词矢量(从fast Text)转换为在Spacy中使用失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆