【问题标题】:FastText in GensimGensim 中的 FastText
【发布时间】:2017-11-16 09:23:24
【问题描述】:

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

m=load_word2vec_format(filename, binary=False)

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

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

请帮帮我!

【问题讨论】:

    标签: python word2vec gensim fasttext


    【解决方案1】:

    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") 
    

    【讨论】:

      【解决方案2】:

      可以使用以下内容:

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

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

      【讨论】:

        【解决方案3】:

        如果您希望以后能够使用其他数据重新训练 gensim 模型,您应该像这样保存整个模型:model.save("fasttext.model")。 如果您仅使用 model.wv.save_word2vec_format(Path("vectors.txt")) 保存词向量,您仍然可以执行向量提供的任何功能 - 例如相似度,但您将无法使用更多数据重新训练模型。

        请注意,如果要保存整个模型,则应将文件名作为字符串传递,而不是按照文档 here 中的建议将其包装在 get_tmpfile 中。

        【讨论】:

          【解决方案4】:

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

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

          为了学习词向量,如1中所述,这样做:

          $ ./fasttext skipgram -input data.txt -output 模型

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-10-14
            • 2018-11-11
            • 2021-03-31
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-07-08
            • 2019-05-17
            相关资源
            最近更新 更多