我用fastText生成了单词向量,并想将它们转换为用于spaCy模型(德语)。在spaCy文档中,它说向量“应该是Word2Vec格式的制表符分隔的文件,其中第一列包含单词,其余列包含值”。因此,我将字向量转换为txt文件,以使它们具有正确的格式。但是,当我尝试运行
python -m spacy init-model de /Users/vectors --vectors-loc test_vectors.txt
,
我收到以下ValueError:int()以10为底的无效文字:“ ich”
我的文件格式不正确吗?我错过了什么吗?
操作系统:Windows 8.1 使用的Python版本:3.6.4 使用的spaCy版本:2.0.11 环境信息:Windows cmd
答案 0 :(得分:1)
我从fastText pretrained 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文件,并重现我遵循的步骤,我认为它将完成。
希望有帮助!