【问题标题】:Reading word2vec Binary File in Python [duplicate]在Python中读取word2vec二进制文件[重复]
【发布时间】:2019-02-20 05:00:36
【问题描述】:

我正在尝试读取 bin 文件。它有数百万行的单词,后跟空格分隔的数字。

所以,到目前为止,在 Python 中我无法打印一行,它要么给出乱码,要么给出错误的输出。

with open('GoogleNews-vectors-negative300.bin', mode='rb') as file: # b is important -> binary
    for line in file.readline():
        print(line)

如何逐行读取二进制文件?

【问题讨论】:

    标签: python file binary binaryfiles word2vec


    【解决方案1】:

    二进制文件倾向于不导向。打印时,它们也会显示鹅卵石。所以你的代码正在工作,但你的期望是错误的。

    你的最终目标是什么?如果要拥有可用的单词向量,您可能希望在Python中使用一些预先存在的Word2Vec 3987654323 @。

    在这样的库中,您还可以查看读取.bin word-vectors格式的源代码,作为一个模型来学习,如果出于某种原因,您真的需要编写自己的阅读代码。例如,这是Gensim of google:

    的原始word2vec.c code的格式中读取Word-Vector文件的Gensim源代码

    https://github.com/RaRe-Technologies/gensim/blob/3c3506d51a2caf6b890de3b1b32a8b85f7566ca5/gensim/models/utils_any2vec.py#L123

    (它更常见于KeyedVectors.load_word2vec_format() public api方法。)

    【讨论】:

      猜你喜欢
      • 2012-08-19
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-01
      • 1970-01-01
      相关资源
      最近更新 更多