一文彻底搞懂自然语言处理 - 词嵌入(Word Embedding)

文摘   科技   2024-11-16 23:05   湖北  

在自然语言处理中,词汇通常被表示为离散的符号(如独热编码One-Hot Encoding。但独热编码存在维度灾难和语义缺失导致计算复杂且无法表达词汇间关系为了解决这些问题,词嵌入技术应运而生。
词嵌入(Word Embedding)是NLP中的一个关键技术,它能够将词汇从离散的符号表示转换为连续的向量表示,从而方便后续的深度学习模型进行处理。

Word Embedding

一、One-Hot Encoding

什么是独热编码(one-hot 编码)独热编码的基本思想是为词汇表中的每个词汇分配一个唯一的向量。这个向量的长度等于词汇表的大小,向量中的每个元素都是0,除了代表该词汇的那个位置是1。

例如,假设我们的词汇表为 {“Biscoe”, “Dream”, “Torgensen”},那么“Biscoe”可以表示为 [1, 0, 0],“Dream”表示为 [0, 1, 0],“Torgensen”表示为 [0, 0, 1]。

为什么独热编码是个糟糕的选择独热编码在自然语言处理中因维度灾难造成计算负担,且由于语义缺失无法表达词汇间的相关性,因此通常不被视为理想选择
  1. 维度灾难:随着词汇表的增大,向量的维度也会增大,导致计算和存储的复杂度增加。

  2. 语义缺失:独热编码无法表达词汇之间的语义关系,因为任何两个不同词汇的向量之间的点积都是0。

二、Word2Vec

Word2Vec是什么?Word2Vec 是由 Google 在 2013 年提出的一种词嵌入技术,它利用神经网络将词汇映射到低维向量空间中。

Word2Vec 有两种主要的模型结构:CBOW(Continuous Bag of Words)和 Skip-Gram。

什么是CBOW(连续词袋模型)?CBOW 模型根据上下文(context)预测当前词(target word)。

CBOW模型类似于一个高级的完型填空游戏,其中上下文中的词汇(已知选项)被用来“填空”预测出缺失的中心词(答案)。

  • 输入层:将上下文词汇的 one-hot 编码作为输入。

  • 投影层:通过一个权重矩阵 W,将输入层的 one-hot 编码转换为连续的向量表示(即嵌入向量)。

  • 隐藏层:对投影层的向量进行平均或求和操作,得到一个上下文向量。

  • 输出层:通过另一个权重矩阵 W' 和 softmax 函数,计算当前词的概率分布。

CBOW 模型的目标是最小化预测当前词的概率分布的负对数似然。

什么是Skip-Gram(跳字模型)?Skip-Gram 模型则根据当前词预测上下文。

Skip-Gram模型如同一个词汇侦探,通过当前词“线索”去“追踪”并预测其周围的上下文词汇。

  • 输入层:将当前词的 one-hot 编码作为输入。

  • 投影层:通过一个权重矩阵 W,将输入层的 one-hot 编码转换为连续的向量表示(即嵌入向量)。

  • 隐藏层:此层实际上与投影层共用相同的嵌入向量。

  • 输出层:对于每个上下文词汇,通过另一个权重矩阵 W' 和 softmax 函数,计算其概率分布。

Skip-Gram 模型的目标是最小化预测上下文词汇的概率分布的负对数似然。

为了帮助更多人(AI初学者、IT从业者)从零构建AI底层架构,培养Meta Learning能力;提升AI认知,拥抱智能时代。

建立了 架构师带你玩转AI 知识星球

【架构师带你玩转AI】:公众号@架构师带你玩转AI 作者,资深架构师。2022年底,ChatGPT横空出世,人工智能时代来临。身为公司技术总监、研发团队Leader,深感未来20年属于智能时代。

选择加入即可获得:
1、10个专栏技术干货
2、1v1技术指导
3、每周读书分享
4、每月4次技术培训,每月1次技术实战
公众号一周年之际,答谢粉丝,特申请了100份星球优惠券

架构师带你玩转AI
分享人工智能,让所有人玩转AI
 最新文章