如何使用(阅读)谷歌预训练的 word2vec 模型文件?

数据挖掘 Python 分类 喀拉斯 word2vec
2022-03-12 06:45:23

我正在尝试在 keras 中应用 open() 函数来使用 Google news-vectors-negative300.bin 这是一个通过 word2vec (例如 GloVe)进行预训练的文件,但是在下载 GloVe 后,它包含 4 个带有 txt 前缀的文件,而不是 Google 新闻- vectors-negative300.bin 文件夹包含一个带有二进制前缀的文件,即“data”,大小为 3.4 GB。我通过 keras 在 ubuntu 17.10 上使用 python 3.5 在 spyder 上使用 tensorflow 后端编写命令,在执行命令后它给了我这个错误:

File "/home/mary/anaconda3/envs/virenv/lib/python3.5/codecs.py", line 321, in decode
  (result, consumed) = self._buffer_decode(data, self.errors, final)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x94 in position 19: invalid start byte.

编写的代码如下:f = open('data').

我申请时已经成功实现了相同的代码 f = open('glove.6B.100d.txt')

主要问题是什么?

1个回答

我已经对其进行了搜索并通过以下步骤修复了错误:您应该首先加载“GoogleNews-vectors-negative300.bin.gz”文件,然后在 Ubuntu 中通过以下命令提取它:gunzip -k GoogleNews-vectors-negative300.bin.gz.[从不推荐手动提取]。其次,您应该在 python 3 中应用这些命令:

import gensim
model = gensim.models.Word2Vec.load_word2vec_format('./model/GoogleNews-vectors-negative300.bin', binary=True) 

我希望它会有用。