在 MATLAB 中加载 FastText 模型

问题描述

我已经用 Python 训练了一个 FastText 模型并将文件保存到一个文件夹中。这些是文件夹的内容

fasttext.model
fasttext.model.trainables.syn1neg.npy
fasttext.model.trainables.vectors_ngrams_lockf.npy
fasttext.model.trainables.vectors_vocab_lockf.npy
fasttext.model.wv.vectors.npy
fasttext.model.wv.vectors_ngrams.npy
fasttext.model.wv.vectors_vocab.npy

如何在 MATLAB 中加载模型并提取某些单词的词嵌入? 这就是我们在 Python 中所做的:

from gensim.models.fasttext import FastText
model = FastText.load(fasttext.model)
vector = model.wv[word]

MATLAB 中有类似的东西吗?如何在 MATLAB 中获取 Python 中的 FastText 模型生成的词嵌入并使用它们?

解决方法

使用trainWordEmbeddingreadWordEmbedding函数

训练和测试你的词嵌入:“emb” 词嵌入不需要词袋。它只需要标记化的文档(“cleanDoc”)。

emb = trainWordEmbedding(cleanDoc,"Dimension",100)
writeWordEmbedding(emb,"medEmb.vec");

列出嵌入中的词汇: emb.词汇