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

相关推荐
carpell38 分钟前
【语义分割专栏】3:Segnet实战篇(附上完整可运行的代码pytorch)
人工智能·python·深度学习·计算机视觉·语义分割
智能汽车人1 小时前
自动驾驶---SD图导航的规划策略
人工智能·机器学习·自动驾驶
mengyoufengyu1 小时前
DeepSeek11-Ollama + Open WebUI 搭建本地 RAG 知识库全流程指南
人工智能·深度学习·deepseek
Tianyanxiao1 小时前
华为×小鹏战略合作:破局智能驾驶深水区的商业逻辑深度解析
大数据·人工智能·经验分享·华为·金融·数据分析
rit84324991 小时前
基于BP神经网络的语音特征信号分类
人工智能·神经网络·分类
一点.点2 小时前
AlphaDrive:通过强化学习和推理释放自动驾驶中 VLM 的力量
人工智能·机器学习·自动驾驶
科技小E2 小时前
口罩佩戴检测算法AI智能分析网关V4工厂/工业等多场景守护公共卫生安全
网络·人工智能
说私域2 小时前
基于定制开发开源AI智能名片S2B2C商城小程序的首屏组件优化策略研究
人工智能·小程序·开源·零售
vlln2 小时前
2025年与2030年AI及AI智能体 (Agent) 市场份额分析报告
人工智能·深度学习·神经网络·ai
栗克2 小时前
Halcon 图像预处理②
人工智能·计算机视觉·halcon