词嵌入技术:从基础到垃圾短信分类应用
1. Word2Vec与GloVe对比
在自然语言处理领域,Word2Vec和GloVe是两种常用的词嵌入方法。GloVe过程比Word2Vec更耗费资源,原因在于Word2Vec通过对批量词向量进行训练来学习嵌入,而GloVe则一次性对整个共现矩阵进行分解。为了使该过程可扩展,通常会采用随机梯度下降(SGD)的并行模式。
Levy和Goldberg指出,Word2Vec和GloVe方法之间存在等价性,Word2Vec的SGNS模型隐式地对词 - 上下文矩阵进行分解。
一般情况下,我们不太需要自己生成GloVe嵌入,更多的是使用针对大型语料库预生成并可供下载的嵌入。GloVe项目下载页面(https://nlp.stanford.edu/projects/glove/ )提供了在各种大型语料库上训练的GloVe向量,这些语料库的词元数量从60亿到840亿不等,词汇量从40万到220万,向量维度有50、100、200和300。可以直接从该网站下载,也可以使用Gensim或spaCy数据下载器进行下载。
2. 使用Gensim创建自己的嵌入
2.1 准备工作
Gensim是一个开源的Python库,用于从文本文档中提取语义信息。它对Word2Vec算法有出色的实现,提供了易于使用的API,可用于训练和查询自己的Word2Vec模型。
text8数据集是Large Text Compression Benchmark的前 $10^8$ 字节,该基准由英文维基百科的前 $10^9$ 字节组成。可以通过Gensim API访问text8数据集,它是一个词元的可迭代对
超级会员免费看
订阅专栏 解锁全文
1242

被折叠的 条评论
为什么被折叠?



