将向量从 fastText 导出到 spaCy
Export vectors from fastText to spaCy
我下载了fasttext.cc vectors of 1.5gb, I used example code spaCy examples vectors_fast_text。我在终端中执行了以下命令:
python config/vectors_fast_text.py vectors_loc data/vectors/wiki.pt.vec
在处理器处于 100% 状态几分钟后,我收到了以下文本:
class colspan 0.32231358
从这里会发生什么?我如何将这些向量导出到其他地方,例如使用我的 AWS S3 培训模板?
我修改了示例脚本,以加载我的语言的现有数据,读取文件 word2vec,最后将所有内容写入一个文件夹(此文件夹需要存在)。
关注vectors_fast_text.py:
[LANGUAGE] = example: "pt"
[FILE_WORD2VEC] = "./data/word2vec.txt"
from __future__ import unicode_literals
import plac
import numpy
import spacy
from spacy.language import Language
@plac.annotations()
def main():
nlp = spacy.load('[LANGUAGE]')
with open("[FILE_WORD2VEC]", 'rb') as file_:
header = file_.readline()
nr_row, nr_dim = header.split()
nlp.vocab.reset_vectors(width=int(nr_dim))
count = 0
for line in file_:
count += 1
line = line.rstrip().decode('utf8')
pieces = line.rsplit(' ', int(nr_dim))
word = pieces[0]
print("{} - {}".format(count, word))
vector = numpy.asarray([float(v) for v in pieces[1:]], dtype='f')
nlp.vocab.set_vector(word, vector) # add the vectors to the vocab
nlp.to_disk("./models/new_nlp/")
if __name__ == '__main__':
plac.call(main)
在终端中输入:
python vectors_fast_text.py
大约需要 10 分钟才能完成,具体取决于 word2vec 文件的大小。剧本里我把字印出来了,大家可以照着看。
之后,您必须在终端中输入:
python -m spacy package ./models/new_nlp/ ./my_models/
python setup.py sdist
然后你会得到一个“zip”文件。
pip install /path/to/pt_example_model-1.0.0.tar.gz
详细教程可以在spaCy官网上找到:
https://spacy.io/usage/training
我下载了fasttext.cc vectors of 1.5gb, I used example code spaCy examples vectors_fast_text。我在终端中执行了以下命令:
python config/vectors_fast_text.py vectors_loc data/vectors/wiki.pt.vec
在处理器处于 100% 状态几分钟后,我收到了以下文本:
class colspan 0.32231358
从这里会发生什么?我如何将这些向量导出到其他地方,例如使用我的 AWS S3 培训模板?
我修改了示例脚本,以加载我的语言的现有数据,读取文件 word2vec,最后将所有内容写入一个文件夹(此文件夹需要存在)。
关注vectors_fast_text.py:
[LANGUAGE] = example: "pt"
[FILE_WORD2VEC] = "./data/word2vec.txt"
from __future__ import unicode_literals
import plac
import numpy
import spacy
from spacy.language import Language
@plac.annotations()
def main():
nlp = spacy.load('[LANGUAGE]')
with open("[FILE_WORD2VEC]", 'rb') as file_:
header = file_.readline()
nr_row, nr_dim = header.split()
nlp.vocab.reset_vectors(width=int(nr_dim))
count = 0
for line in file_:
count += 1
line = line.rstrip().decode('utf8')
pieces = line.rsplit(' ', int(nr_dim))
word = pieces[0]
print("{} - {}".format(count, word))
vector = numpy.asarray([float(v) for v in pieces[1:]], dtype='f')
nlp.vocab.set_vector(word, vector) # add the vectors to the vocab
nlp.to_disk("./models/new_nlp/")
if __name__ == '__main__':
plac.call(main)
在终端中输入:
python vectors_fast_text.py
大约需要 10 分钟才能完成,具体取决于 word2vec 文件的大小。剧本里我把字印出来了,大家可以照着看。
之后,您必须在终端中输入:
python -m spacy package ./models/new_nlp/ ./my_models/
python setup.py sdist
然后你会得到一个“zip”文件。
pip install /path/to/pt_example_model-1.0.0.tar.gz
详细教程可以在spaCy官网上找到: https://spacy.io/usage/training