我想下载并加载经过预先训练的分析韩文的word2vec。
我在这里下载了预训练的word2vec:https://drive.google.com/file/d/0B0ZXk88koS2KbDhXdWg1Q2RydlU/view?resourcekey=0-Dq9yyzwZxAqT3J02qvnFwg,从30+语言的预训练词向量:https://github.com/Kyubyong/wordvectors中下载。
我的gensim版本是4.1.0,因此我使用:KeyedVectors.load_word2vec_format('./ko.bin', binary=False)加载模型。但有一个错误是:
UnicodeDecodeError:'utf-8‘编解码器无法解码位置0的字节0x80 :无效的开始字节
我已经尝试了许多选项,包括堆栈溢出和Github,但仍然不能很好地工作。你介意让我找个合适的解决办法吗?
谢谢,
发布于 2021-12-23 07:58:55
虽然https://github.com/Kyubyong/wordvectors的页面并不清楚作者所选择的格式,但是通过查看它们的源代码,我们可以看到.
https://github.com/Kyubyong/wordvectors/blob/master/make_wordvectors.py#L61
...shows使用Gensim模型.save()方法。
这样保存的模型应该使用同一个模型类的.load()类方法重新加载。例如,如果一个Word2Vec模型是用.
model.save('language.bin')...then可以重新装上.
loaded_model = Word2Vec.load('language.bin')注:通过:
以这种方式保存的
.load()该模型。然后,您可以使用.save_word2vec_format()将普通向量保存出来,以便以后跨任何版本重新加载。(或者,使用可以加载模型的最新临时版本,将模型重新保存为.save(),然后使用可以读取该模型的最新版本重复该过程,直到您到达当前的Gensim。)但是,您也可能希望找到一组更新的、更好的预先训练过的字向量集。
例如,Facebook在https://fasttext.cc/docs/en/pretrained-vectors.html (仅在维基百科上进行培训)或https://fasttext.cc/docs/en/crawl-vectors.html (对维基百科和网络爬虫数据进行培训)上,为许多语言提供了一种“文本”格式和“bin”格式。
“文本”格式实际上应该与KeyedVectors.load_word2vec_format(filename, binary=False)一起加载,但只包含完整的字向量。(也可以相对容易地将其视为文本,或者编写简单的代码,将其转换为其他格式。)
“bin”格式是Facebook自己的本机FastText模型格式,应该可以使用load_facebook_model()或load_facebook_vectors()实用程序方法加载。然后,加载的模型(或向量)将能够创建FastText算法的基于子字符串的猜测向量,甚至对于模型或训练数据中没有的许多单词也是如此。
https://stackoverflow.com/questions/70458726
复制相似问题