利用Gensim开发词嵌入模型
1. 词嵌入概述
在自然语言处理(NLP)中,词嵌入是一种现代的文本表示方法。传统的文本特征提取方法,如词袋模型,通过词计数和频率来编码单词,会产生大而稀疏的向量,这些向量主要由0组成,只能描述文档,却无法捕捉单词的含义。
而词嵌入则是将单个单词表示为预定义向量空间中的实值向量。每个单词被映射到一个向量,并且这些向量的值通过类似于神经网络的方式进行学习,因此该技术常被归类到深度学习领域。其核心思想是为每个单词使用密集分布式表示,每个单词由一个实值向量表示,通常是几十或几百维,这与稀疏词表示(如独热编码)所需的数千或数百万维形成鲜明对比。
词嵌入基于单词的使用方式来学习分布式表示,这使得以相似方式使用的单词具有相似的表示,自然地捕捉到它们的含义。这背后有更深层次的语言学理论,即Zellig Harris提出的分布假设:具有相似上下文的单词将具有相似的含义。John Firth的名言 “You shall know a word by the company it keeps!” 也总结了这种让单词的使用来定义其含义的概念。
1.1 词嵌入算法
词嵌入方法从文本语料库中为预定义的固定大小词汇表学习实值向量表示。学习过程可以与神经网络模型在某些任务(如文档分类)上联合进行,也可以是使用文档统计信息的无监督过程。主要有以下三种算法:
- 嵌入层(Embedding Layer) :嵌入层是与神经网络模型在特定自然语言处理任务(如语言建模或文档分类)上联合学习的词嵌入。它要求对文档文本进行清理和准备,使每个单词进行独热编码。向量空间的大小作为模型的一部分进行指定,例如
超级会员免费看
订阅专栏 解锁全文
16

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



