词向量模型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组训练数据

相关推荐
蹦蹦跳跳真可爱5892 小时前
Python----深度学习(基于深度学习Pytroch簇分类,圆环分类,月牙分类)
人工智能·pytorch·python·深度学习·分类
蚂蚁20143 小时前
卷积神经网络(二)
人工智能·计算机视觉
z_mazin5 小时前
反爬虫机制中的验证码识别:类型、技术难点与应对策略
人工智能·计算机视觉·目标跟踪
lixy5796 小时前
深度学习3.7 softmax回归的简洁实现
人工智能·深度学习·回归
youhebuke2256 小时前
利用deepseek快速生成甘特图
人工智能·甘特图·deepseek
訾博ZiBo6 小时前
AI日报 - 2025年04月26日
人工智能
郭不耐6 小时前
DeepSeek智能时空数据分析(三):专业级地理数据可视化赏析-《杭州市国土空间总体规划(2021-2035年)》
人工智能·信息可视化·数据分析·毕业设计·数据可视化·城市规划
AI军哥6 小时前
MySQL8的安装方法
人工智能·mysql·yolo·机器学习·deepseek
余弦的倒数6 小时前
知识蒸馏和迁移学习的区别
人工智能·机器学习·迁移学习
Allen Bright6 小时前
【机器学习-线性回归-2】理解线性回归中的连续值与离散值
人工智能·机器学习·线性回归