【问题标题】:Difference between Fasttext .vec and .bin fileFasttext .vec 和 .bin 文件的区别
【发布时间】:2018-04-17 12:54:26
【问题描述】:

我最近下载了英语的 fasttext 预训练模型。我有两个文件:

  1. wiki.en.vec
  2. wiki.en.bin

我不确定这两个文件有什么区别?

【问题讨论】:

    标签: python nlp deep-learning word2vec fasttext


    【解决方案1】:

    .vec 文件仅包含纯文本的聚合词向量。 .bin 文件另外包含模型参数,关键是所有 n-gram 的向量。

    因此,如果您想使用那些 n-gram(FastText 著名的“子词信息”)对未训练的单词进行编码,您需要找到可以处理 FastText .bin 文件的 API (不过大多数只支持.vec 文件...)。

    【讨论】:

    • 您如何实际使用.bin 文件?我试过open(FILENAME, "rb"),但不知道之后如何实际访问权重矩阵
    • @information_interchange 你找到这个问题的答案了吗?
    • 请看Python API的官方文档:github.com/facebookresearch/fastText/tree/master/…
    • @information_interchange 你可以做 model = fasttext.load_model("embedding.bin") 来加载模型对象。
    【解决方案2】:

    正如documentation 所说,

    model.vec 是一个包含单词向量的文本文件,每行一个。 model.bin 是一个包含模型参数的二进制文件 以及字典和所有超参数。

    换句话说,.vec 文件格式与 .txt 文件格式相同,您可以在其他应用程序中使用它(例如,在您的 FastText 模型和您的 Word2Vec 模型之间交换数据,因为 .vec 文件类似于由 Word2Vec 生成的.txt 文件)。如果您想继续训练向量或重新开始优化,可以使用.bin 文件。

    【讨论】:

    • 我同意突出显示的部分,但我们也可以在其他数据/语料库上进一步训练 .vec 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多