首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法加载经过预先训练的韩语word2vec

无法加载经过预先训练的韩语word2vec
EN

Stack Overflow用户
提问于 2021-12-23 07:03:09
回答 1查看 196关注 0票数 1

我想下载并加载经过预先训练的分析韩文的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,但仍然不能很好地工作。你介意让我找个合适的解决办法吗?

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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模型是用.

代码语言:javascript
复制
model.save('language.bin')

...then可以重新装上.

代码语言:javascript
复制
loaded_model = Word2Vec.load('language.bin')

注:通过:

以这种方式保存的

  • 模型通常被分成多个文件,这些文件应该放在一起(所有文件都以相同的根名开始)--但我在这里没有看到这些文件。
  • 这项工作似乎已有5年的历史了,基于Gensim的1.0版前版本--因此可能会出现将这些模型直接加载到最新的Gensim中的问题。如果您确实遇到了这样的问题&绝对需要使这些向量工作,您可能需要临时使用先前版本的Gensim来.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算法的基于子字符串的猜测向量,甚至对于模型或训练数据中没有的许多单词也是如此。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70458726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档