词向量模型Word2Vec

Word2Vec

CBOW和skip-gram的目标都是迭代出词向量字典(嵌入矩阵)------embeddings

CBOW连续词袋模型

根据上下文词汇预测目标词汇

例子

使用study的上下文,表示出study

例句:We are about to study the idea of deep learning.

  1. 某个词的上下文,需要提前设置一个上下文窗口长度

窗口长度为1:We are about to study the idea of deep learning. (上下文分别问to和the)

窗口长度为2:We are about to study the idea of deep learning. (上下文分别为about to 和 the idea)

  1. 设置好窗口的长度后,需要通过窗口内的词语,预测目标词:

窗口长度为2时,则有如下对应关系:

We、are、to、study -预测> about

are、about、study、the -预测> to

about、to、the、idea -预测> study

  1. CBOW模型是一个神经网络:该神经网络会将接收上下文词语,将上下文词语转换为最有可能得到的目标词。
    eg.如果向神经网络输入 about、to、the、idea四个词,神经网络则输出study这个词。

CBOW模型的embeddings层

CBOW模型中有一个特殊的层------embeddings层

embeddings层是一个N*V的矩阵

N------词表中的词语个数;

V------词向量的维度

他就是我们最终希望得到的嵌入矩阵

embeddings层的作用是将我们输入的词语转换成词向量

1.将词语we输入至CBOW,将we转换为One-Hot编码形式,是一个1xN的向量,其中只有与We对应的位置是1,其余位置都是0

2.将we的One-Hot编码(1xN的向量)与embeddings(NxV的矩阵)相乘,得到we的词向量(1xV的向量)

相当于从矩阵中选择一个特定的行,从embeddings中查找we的词向量。

由于某个词的上下文中包括了多个词语,这些词语会同时输入embeddings层,每个词语都会被转换为一个词向量。

多个上下文词的一个统一表示:v=(v1+v2+v3+v4)/ 4

embeddings层的输出结果:是一个将语义信息平均的向量v

CBOW模型的线性层

在embeddings层后会连接一个线性层

橙色标记的线性层

不设置激活函数

权重矩阵的维度:VxN

词向量维度:V

词表中词语的个数:N
V个隐藏神经元、N个输出神经元的神经网络

  1. 我们将所有上下文词向量的平均值(向量V),输入该线性层
  2. 通过线性层的计算得到一个1xN的向量
  3. 将1xN的向量再输入至softmax层,最终计算出一个最有可能的输出词,这个词就是CBOW模型的预测目标词

总结

CBOW模型包括两部分:embeddings层和线性层

embeddings层:将输入的上下文词语,都转换为一个上下文词向量,并继续求出这些上下文词向量的平均值(代表整个上下文的向量)

线性层:接收该向量,并将其转换为一个输出向量(输出向量的维度与词汇表的大小相同)

最后使用softmax函数,将输出向量转换为一个概率分布,表示每个词作为目标词的概率,概率最大的词就是CBOW模型的预测结果

skip-gram跳字模型

根据目标词汇预测上下文

例子

使用词语study,预测出它的上下文

例句:We are about to study the idea of deep learning.

  1. 某个词的上下文,需要提前设置一个上下文窗口长度

设置窗口长度为2后,根据目标词,预测窗口内的上下文词,study -预测-> about、to、the、idea

如何使用一个词预测另一个词:

使用一个词,预测另一个词,尽量使这两个词的词向量接近
Skip-gram在迭代时,调整词向量:

使目标词的词向量与其上下文的词向量尽可能的接近;

使目标词的词向量与非上下文词的词向量尽可能的远离。

因此我们对于给定的目标词,它与它的上下文的词向量相似,与非上下文词的词向量不相似。

在skip模型中,判断两个词向量是否相似,使用向量点积:

A·B=a1b1+a2b2+...+anbn

A=(a1,a2,...,an)

B=(b1,b2,...,bn)

向量的点积:衡量了两个向量在同一方向上的强度,点积越大------两个向量越相似,它们对应的词语语义就越接近

需要想办法让study与about的词向量 的点积尽可能大

Skip-Gram模型的结构

目标词的概率分布------词汇表中的每个词是目标词的上下文的可能性

词表中的词,与目标词有两种关系:

  1. 上下文词------正样本,标记为1
  2. 非上下文词------负样本,标记为0

基于这一点来优化模型中两个嵌入层------in_embedding和out_embedding

最后将in_embedding作为skip-gram模型的输出

由此产生的训练数据:有4个上下文词,因此产生4组训练数据

相关推荐
gis分享者1 小时前
AI数字营销实测体验,GEO效果查询功能体验
人工智能·csdn·geo·数字营销·实测体验·效果查询
莱歌数字1 小时前
轻出20%性能:三维拓扑优化如何重塑无人机电子设备散热格局
人工智能·科技·制造·cae·散热
猿小猴子2 小时前
主流 AI IDE 之一的「DeepSeek-Reasonix 」介绍
人工智能·ai·deepseek·reasonix
装不满的克莱因瓶2 小时前
链式法则如何传递参数误差 —— 深入理解神经网络中的梯度传播
人工智能·python·深度学习·神经网络·数学·机器学习·ai
Anastasiozzzz2 小时前
从有限状态机到智能体图:传统 FSM 与 Agent Graph的演进
java·人工智能·python·ai
程序员cxuan7 小时前
为每个任务配一套 harness:Claude Code 里的动态工作流
人工智能
程序员cxuan8 小时前
Claude Fable 5 来了
人工智能·后端·程序员
云边云科技_云网融合8 小时前
云边云科技亮相 2026 WOD 制造业数智化博览会 云网融合赋能制造焕新
人工智能·科技·安全·制造
Σίσυφος19008 小时前
激光三角 光平面标定-多高度误差分析
人工智能·计算机视觉·平面
JS菌8 小时前
手写一个 AI Agent 全栈项目:从沙箱执行到子智能体的完整实现
前端·人工智能·后端