2

我正在使用 Gensim 加载我的 fasttext.vec文件,如下所示。

m=load_word2vec_format(filename, binary=False)

但是,如果我需要加载.bin文件来执行诸如 , 等命令m.most_similar("dog")m.wv.syn0我会感到困惑m.wv.vocab.keys()吗?如果是这样,该怎么做?

或者.bin文件对于执行这个余弦相似度匹配并不重要?

请帮我!

4

4 回答 4

5

gensim-lib 已经进化,所以一些代码片段被弃用了。这是一个实际的工作解决方案:

import gensim.models.wrappers.fasttext
model = gensim.models.wrappers.fasttext.FastTextKeyedVectors.load_word2vec_format(Source + '.vec', binary=False, encoding='utf8')
word_vectors = model.wv
# -- this saves space, if you plan to use only, but not to train, the model:
del model

# -- do your work:
word_vectors.most_similar("etc") 
于 2018-05-18T09:28:27.417 回答
4

可以使用以下内容:

from gensim.models import KeyedVectors
model = KeyedVectors.load_word2vec_format(link to the .vec file)
model.most_similar("summer")
model.similarity("summer", "winter")

现在使用该模型的许多选项。

于 2018-03-09T03:45:29.893 回答
0

If you want to be able to retrain the gensim model later with additional data, you should save the whole model like this: model.save("fasttext.model"). If you save just the word vectors with model.wv.save_word2vec_format(Path("vectors.txt")), you will still be able to perform any of the functions that vectors provide - like similarity, but you will not be able to retrain the model with more data.

Note that if you are saving the whole model, you should pass a file name as a string instead of wrapping it in get_tmpfile, as suggested in the documentation here.

于 2021-06-11T22:00:59.533 回答
-2

也许我回答这个问题迟了:但在这里你可以在文档中找到你的答案:https ://github.com/facebookresearch/fastText/blob/master/README.md#word-representation-learning 示例用例

这个库有两个主要用例:词表示学习和文本分类。这些在两篇论文 1 和 2 中进行了描述。 词表示学习

为了学习词向量,如 1 所述,请执行以下操作:

$ ./fasttext skipgram -输入数据.txt -输出模型

其中 data.txt 是包含 UTF-8 编码文本的训练文件。默认情况下,词向量将考虑 3 到 6 个字符的字符 n-gram。在优化结束时,程序将保存两个文件:model.bin 和 model.vec。model.vec 是一个包含词向量的文本文件,每行一个。model.bin 是一个二进制文件,其中包含模型的参数以及字典和所有超参数。二进制文件稍后可用于计算词向量或重新启动优化。

于 2018-06-18T13:03:33.037 回答