【机器学习300问】128、简述什么Word2Vec?

一、一句话说明Word2Vec是什么?

Word2Vec是一种常见的词嵌入技术。Word2Vec的目标是将每个词表示为一个向量,使得这些向量能够反映出词语之间的相似性和关联性。

word2vec算法通过预测中心词和上下文词的共现概率来学习词向量,能够捕捉词语之间的语义关系。

二、模型的架构

Word2Vec包括两种模型架构:

无论是CBOW还是Skip-gram,他们的目标都是得出词嵌入矩阵。


(1)CBOW

**连续词袋模型(Continuous Bag-of-Words, CBOW)目标是根据上下文预测当前单词。**在这个模型中,给定一个上下文,模型试图预测在这个上下文中出现的单词。这种方法对常见的单词效果更好。

  • 输入是上下文词,输出是中心词【就是完形填空】
  • 设置窗口上下文

CBOW模型考虑一个词的前后若干个词(定义为一个窗口),将这些上下文词的向量相加(或取平均)作为输入,然后通过一个神经网络模型来预测位于这些上下文中的目标词。

  • CBOW模型本质是一个简单的前馈神经网络

**输入层:**输入是中心词周围的上下文单词。在实际操作中,通常会选择中心词的前后各几个单词作为上下文。这些上下文单词被转化为词向量,通常是通过输入层中的Embedding层实现(嵌入层)。

**隐藏层:**所有上下文词向量被平均或求和来形成一个固定长度的隐藏层表示,这个过程相当于将输入向量合并为一个单一的向量。

线性层位于输出层前的位置。在处理了上下文向量之后,网络通常会有一个线性层(也称为全连接层),它使用权重矩阵(这些权重在训练过程中学习得到)将上下文表示变换到另一个空间,通常是一个与词汇表大小相同的空间,为了准备最后的分类任务 --- 即预测中心单词。

**输出层:**隐藏层的输出是一个单词的分布式表示,然后这个表示被用来预测中心单词。通常,这涉及到一个softmax函数,它会将隐藏层的输出转换成一个概率分布,对应于词汇表中每个单词是中心词的概率。


(2)Skip-gram

**跳字模型(Skip-gram)是相反的过程,目标是根据当前单词来预测其上下文中的单词。**这个模型适合捕捉更多的近上下文信息,对罕见词或特殊词汇表现更佳。

  • 输入是中心词,输出是上下文词【就是遣词造句】
  • 设置窗口上下文
  • 使用一个词预测另一个词,就是尽量使这两个词向量接近
  • Skip-gram模型本质也是个神经网络

**输入层:**接收一个中心词的词向量表示。

**隐藏层:**该层通常包含较多的神经元,用于学习从中心词到上下文词的复杂映射关系。这层的输出可以看作是中心词的潜在表示,但其直接目的是服务于输出层的预测,而非数据重构。

**输出层:**包含词汇表中所有词的softmax分类器,用于预测围绕中心词的上下文词的概率分布。

三、总结

Word2Vec词嵌入模型的**核心目标是通过学习将词汇转化为高维向量的形式(得到一个词嵌入矩阵),使得这些向量能捕捉词语间的语义和句法关系。**这些词向量能够表达词语之间的相似性和关联性,从而提升诸如文本分类、情感分析、机器翻译等自然语言处理任务的性能。

Word2Vec主要包含两个模型:Skip-gram模型、CBOW模型

相关推荐
MediaTea5 分钟前
AI 文生图:提示词撰写技巧与示例(ChatGPT-4o 篇)
人工智能
墨绿色的摆渡人16 分钟前
用 pytorch 从零开始创建大语言模型(三):编码注意力机制
人工智能·pytorch·语言模型
zm-v-1593043398633 分钟前
ChatGPT 与 DeepSeek:学术科研的智能 “双引擎”
人工智能·chatgpt
果冻人工智能35 分钟前
美国狂奔,中国稳走,AI赛道上的龟兔之争?
人工智能
果冻人工智能1 小时前
再谈AI与程序员: AI 写的代码越来越多,那我们还需要开发者吗?
人工智能
大脑探路者1 小时前
【PyTorch】继承 nn.Module 创建简单神经网络
人工智能·pytorch·神经网络
无代码Dev1 小时前
如何使用AI去水印(ChatGPT去除图片水印)
人工智能·ai·ai-native
达柳斯·绍达华·宁1 小时前
自动驾驶04:点云预处理03
人工智能·机器学习·自动驾驶
wgc2k2 小时前
吴恩达深度学习复盘(4)神经网络的前向传播
人工智能·深度学习