我使用 fastText 生成了词向量,并希望将它们转换为在 spaCy 模型(针对德语)中使用。在 spaCy 文档中,向量“应该是 Word2Vec 格式的制表符分隔文件,其中第一列包含单词,其余列包含值”。因此,我将词向量转换为 txt 文件,使其具有完全相同的格式。但是,当我尝试运行时
python -m spacy init-model de /Users/vectors --vectors-loc test_vectors.txt,
出现以下 ValueError: invalidliteral for int() with base 10: 'ich'
我的文件格式不正确吗?我错过了什么吗?
操作系统:Windows 8.1 使用的Python版本:3.6.4 spaCy 使用的版本:2.0.11 环境信息:windows cmd
我从 fastText预训练向量下载了 fasttext 模型 (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)
Run Code Online (Sandbox Code Playgroud)
然后我运行:
python3 -m spacy init-model el . --vectors-loc wiki.el.txt
Run Code Online (Sandbox Code Playgroud)
而且效果很好。
将 el 替换为 de,将初始 wiki.el.vec 文件替换为相应的 de.vec 文件,然后重现我遵循的步骤,我认为它会完成。
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
1342 次 |
| 最近记录: |