Glove官方用于训练词嵌入模型的代码是C语言,虽然速度极快,但对于小白文科生而言,可理解易上手是更重要的。相比word2vec, Glove训练出的词向量模型,能够更多的保留语义的全局性信息。对于词嵌入(词向量)不太熟悉,可以阅读
使用Python的mittens库实现Glove,对于小规模数据的训练。 例如6M的brown_corpus.txt,设定模型维度50, 迭代25次, 耗时175.98s。 import cntext as ct import os
model = ct.Glove(cwd=os.getcwd(), lang='english') model.create_vocab(file='data/brown_corpus.txt', min_count=5) model.cooccurrence_matrix() model.train_embeddings(vector_size=50, max_iter=25) model.save()
Run Step 1/4: ...Create vocabulary for Glove. Step 2/4: ...Create cooccurrence matrix. Step 3/4: ...Train glove embeddings. Note, this part takes a long time to run Step 3/4: ... Finish! Use 175.98 s
生成的Glove词嵌入文件位于output/Glove 。 训练好的词嵌入模型使用方法,可参照 影评实战 | 探索词向量妙处
|