【机器学习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模型

相关推荐
好家伙VCC42 分钟前
**神经编码新视角:用Python实现生物启发的神经信号压缩与解码算法**在人工智能飞速发展的今天
java·人工智能·python·算法
Navicat中国42 分钟前
如何使用 Ollama 配置 AI 助手 | Navicat 教程
数据库·人工智能·ai·navicat·ollama
@小匠5 小时前
Read Frog:一款开源的 AI 驱动浏览器语言学习扩展
人工智能·学习
网教盟人才服务平台8 小时前
“方班预备班盾立方人才培养计划”正式启动!
大数据·人工智能
芯智工坊8 小时前
第15章 Mosquitto生产环境部署实践
人工智能·mqtt·开源
菜菜艾8 小时前
基于llama.cpp部署私有大模型
linux·运维·服务器·人工智能·ai·云计算·ai编程
TDengine (老段)8 小时前
TDengine IDMP 可视化 —— 分享
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据·时序数据
小真zzz8 小时前
搜极星:第三方多平台中立GEO洞察专家全面解析
人工智能·搜索引擎·seo·geo·中立·第三方平台
GreenTea9 小时前
从 Claw-Code 看 AI 驱动的大型项目开发:2 人 + 10 个自治 Agent 如何产出 48K 行 Rust 代码
前端·人工智能·后端
火山引擎开发者社区9 小时前
秒级创建实例,火山引擎 Milvus Serverless 让 AI Agent 开发更快更省
人工智能