问题
使用embeddings工具包,运行后会自动下载预训练向量的压缩文件,我中断程序后,再运行,就会报错“BadZipFile: File is not a zip file”。
from embeddings import GloveEmbedding, FastTextEmbedding, KazumaCharEmbedding, ConcatEmbedding
g = GloveEmbedding('common_crawl_840', d_emb=300, show_progress=True)
f = FastTextEmbedding()
k = KazumaCharEmbedding()
c = ConcatEmbedding([g, f, k])
for w in ['canada', 'vancouver', 'toronto']:
print('embedding {}'.format(w))
print(g.emb(w))
print(f.emb(w))
print(k.emb(w))
print(c.emb(w))
解决办法
原因是下载程序中断,zip文件损坏,删掉损坏文件,再重新运行程序即可。
在Linux系统中,删除“~/.embeddings/”中的glove文件夹
cd ~/.embeddings/
rm -r glove/