分享

使用cntext训练Glove词嵌入模型

 大邓的Python 2022-05-11

近期活动

Python数据挖掘2022五月直播开始报名啦

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

训练好的词嵌入模型使用方法,可参照  影评实战 | 探索词向量妙处

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多