在 spacy 中,如何使用自己在 gensim 中创建的 word2vec 模型?
In spacy, how to use your own word2vec model created in gensim?
我已经在 gensim 中训练了我自己的 word2vec 模型,我正在尝试在 spacy 中加载该模型。首先,我需要将它保存在我的磁盘中,然后尝试在 spacy 中加载一个 init-model 但无法弄清楚具体如何。
gensimmodel
Out[252]:
<gensim.models.word2vec.Word2Vec at 0x110b24b70>
import spacy
spacy.load(gensimmodel)
OSError: [E050] Can't find model 'Word2Vec(vocab=250, size=1000, alpha=0.025)'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
如 here 所述,您可以导入使用 Gensim、Fast Text 或 Tomas Mikolov 的原始 word2vec 实现训练的自定义词向量,方法是使用以下方法创建模型:
wget https://s3-us-west-1.amazonaws.com/fasttext-vectors/word-vectors-v2/cc.la.300.vec.gz
python -m spacy init-model en your_model --vectors-loc cc.la.300.vec.gz
然后你可以加载你的模型,nlp = spacy.load('your_model')
并使用它!
另请参阅回答 的类似问题。
训练模型并将其保存为纯文本格式:
from gensim.test.utils import common_texts, get_tmpfile
from gensim.models import Word2Vec
path = get_tmpfile("./data/word2vec.model")
model = Word2Vec(common_texts, size=100, window=5, min_count=1, workers=4)
model.wv.save_word2vec_format("./data/word2vec.txt")
Gzip 文本文件:
gzip word2vec.txt
生成 word2vec.txt.gz
文件。
运行 以下命令:
python -m spacy init-model en ./data/spacy.word2vec.model --vectors-loc word2vec.txt.gz
使用以下方式加载向量:
nlp = spacy.load('./data/spacy.word2vec.model/')
所有这些答案都是针对旧版本的 spacy。在最新版本中命令更改为:
python -m spacy init vectors [OPTIONS] LANG VECTORS_LOC OUTPUT_DIR
您可以通过在命令提示符中键入 python -m spacy init --help
来了解有关选项的更多信息
我已经在 gensim 中训练了我自己的 word2vec 模型,我正在尝试在 spacy 中加载该模型。首先,我需要将它保存在我的磁盘中,然后尝试在 spacy 中加载一个 init-model 但无法弄清楚具体如何。
gensimmodel
Out[252]:
<gensim.models.word2vec.Word2Vec at 0x110b24b70>
import spacy
spacy.load(gensimmodel)
OSError: [E050] Can't find model 'Word2Vec(vocab=250, size=1000, alpha=0.025)'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
如 here 所述,您可以导入使用 Gensim、Fast Text 或 Tomas Mikolov 的原始 word2vec 实现训练的自定义词向量,方法是使用以下方法创建模型:
wget https://s3-us-west-1.amazonaws.com/fasttext-vectors/word-vectors-v2/cc.la.300.vec.gz
python -m spacy init-model en your_model --vectors-loc cc.la.300.vec.gz
然后你可以加载你的模型,nlp = spacy.load('your_model')
并使用它!
另请参阅回答
训练模型并将其保存为纯文本格式:
from gensim.test.utils import common_texts, get_tmpfile
from gensim.models import Word2Vec
path = get_tmpfile("./data/word2vec.model")
model = Word2Vec(common_texts, size=100, window=5, min_count=1, workers=4)
model.wv.save_word2vec_format("./data/word2vec.txt")
Gzip 文本文件:
gzip word2vec.txt
生成 word2vec.txt.gz
文件。
运行 以下命令:
python -m spacy init-model en ./data/spacy.word2vec.model --vectors-loc word2vec.txt.gz
使用以下方式加载向量:
nlp = spacy.load('./data/spacy.word2vec.model/')
所有这些答案都是针对旧版本的 spacy。在最新版本中命令更改为:
python -m spacy init vectors [OPTIONS] LANG VECTORS_LOC OUTPUT_DIR
您可以通过在命令提示符中键入 python -m spacy init --help
来了解有关选项的更多信息