当前位置: 首页 > article >正文

AI大模型开发原理篇-3:词向量和词嵌入

简介

词向量是用于表示单词意义的向量, 并且还可以被认为是单词的特征向量或表示。 将单词映射到实向量的技术称为词嵌入在实际应用中,词向量和词嵌入这两个重要的NLP术语通常可以互换使用。它们都表示将词汇表中的单词映射到固定大小的连续向量空间中的过程。这些向量可以捕捉词汇的语义信息。

词向量

词向量(Word Vector)是一种将词语表示为向量的方式,其核心思想是把词语映射到一个连续的向量空间中,每个词都对应空间中的一个点(向量),通过向量之间的运算(如距离计算、相似度计算等)来反映词语之间的语义关系。常见的方式包括:

  • One-Hot编码(独热)
    为词汇表中的每个词分配一个唯一的整数索引,然后将每个词表示为一个长度等于词汇表大小的向量,向量中只有对应索引位置的值为 1,其余位置为 0。例如,词汇表为 ["苹果", "香蕉", "橙子"],“苹果” 的独热编码向量为 [1, 0, 0]。这种表示方法简单直接,但存在维度高、无法表示词之间语义关系等缺点。
  • 词袋模型(Bag-of-Words, BoW)
  • TF-IDF
  • 词嵌入(Word Embedding)

作用

  • 语义表示:能够捕捉词语的语义信息,使得语义相近的词在向量空间中距离较近。例如,“苹果” 和 “香蕉” 在语义上都属于水果类别,它们的词向量在空间中会相对靠近。
  • 作为模型输入:方便计算机对文本进行处理,可用于各种自然语言处理任务,如文本分类、情感分析、机器翻译等。

词嵌入(Word Embedding)

词嵌入是一种低维、密集的词向量表示方法,它能够捕捉单词之间的语义关系上下文信息。词嵌入通常是从大规模文本语料库中通过机器学习训练得到的。这个术语通常用于描述将词映射到向量空间的过程或表示方法。它通常包括训练算法和生成的词向量空间。例如,我们可以说“我们使用Word2Vec算法来生成词嵌入”。

主要方法

  1. Word2Vec(Google, 2013)

    • CBOW(Continuous Bag of Words):根据上下文预测中心词。
    • Skip-gram:根据中心词预测上下文词。
    • 词向量能学习到“王子-男人+女人≈公主”这样的关系。
  2. GloVe(Global Vectors for Word Representation)(Stanford, 2014)

    • 结合全局统计信息,计算词的共现矩阵,然后通过矩阵分解得到词向量。
    • 适用于捕捉更广泛的语义信息。
  3. FastText(Facebook, 2016)

    • 将单词拆分成多个子词(如"apple"→["ap", "pp", "pl", "le"])。
    • 能够更好地处理未见过的新词(OOV, Out-of-Vocabulary)。
  4. BERT(Google, 2018)ELMo

    • 采用深度神经网络(Transformer / LSTM),结合上下文语境生成动态词向量。
    • BERT能捕捉单词在不同句子中的不同含义(例如“银行”在“去银行存钱”和“河岸边的风景”中的区别)。

词嵌入的应用

  • 自然语言处理(NLP):机器翻译、情感分析、文本分类等。
  • 搜索引擎:提升查询理解能力。
  • 推荐系统:基于文本的个性化推荐(如新闻推荐)。
  • 聊天机器人:让AI更好地理解用户输入。

Word2Vec:基于上下文学习单词的词向量模型

1、概念

Word2Vec 是一种基于神经网络的词向量训练方法,由 Google2013年 提出,能够将单词映射到一个低维稠密向量(Dense Vector),并且可以捕捉单词之间的语义关系。

Word2Vec 训练出的词向量可以进行数学运算,例如:

“国王” - “男人” + “女人” ≈ “王后”

它比传统的 One-Hot 编码、TF-IDF 更紧凑,并且能学习到单词的语义信息

2、原理

Word2Vec 基于分布式假设,即上下文相似的词,其语义也相似。它的核心思想是通过在大规模文本语料上进行训练,学习词语的上下文信息,从而将每个词语表示为一个固定长度的向量。在这个向量空间中,语义相近的词语对应的向量在空间上也比较接近。

Word2Vec通过训练一个神经网络模型来学习词嵌入,模型的任务就是基于给定的上下文词来预测目标词,或者基于目标词来预测上下文词。

3、训练模型

Word2Vec 主要有两种训练模型:连续词袋模型(CBOW)和跳字模型(Skip - Gram)。

  • 连续词袋模型(CBOW)
    • 原理:根据上下文词来预测目标词。例如,在句子 “The dog chased the cat” 中,如果上下文窗口大小设为 2,对于目标词 “chased”,上下文词就是 “The”、“dog”、“the”、“cat”。模型的任务就是根据这些上下文词预测出 “chased”。
    • 结构:CBOW 模型包含输入层、隐藏层和输出层。输入层是上下文词的独热编码向量,隐藏层通常是线性变换,输出层是一个 softmax 函数,用于计算每个词作为目标词的概率。
  • 跳字模型(Skip - Gram)
    • 原理:与 CBOW 相反,它根据目标词来预测上下文词。同样以上述句子为例,以 “chased” 为目标词,模型要预测出它的上下文词 “The”、“dog”、“the”、“cat”。
    • 结构:Skip - Gram 模型的结构与 CBOW 类似,但输入层是目标词的独热编码向量,输出层要预测多个上下文词的概率。

4、Word2Vec 的应用

📌 搜索引擎:提升关键词检索能力
📌 推荐系统:新闻推荐、商品推荐
📌 情感分析:用于理解文本情绪
📌 机器翻译:提升翻译质量
📌 聊天机器人:让 AI 更好地理解用户输入

5、Word2Vec 的局限性

无法处理 OOV(Out-Of-Vocabulary,新词):如果词汇表中没有某个单词,就无法表示它。
忽略单词顺序:Word2Vec 仅考虑局部上下文,无法捕捉完整句意(BERT 解决了这个问题)。
计算资源消耗大:在大规模数据集上训练需要较长时间。

6、Word2Vec vs. 其他词向量方法

方法维度是否有语义计算量适用场景
One-Hot高(10万+)❌ 没有传统文本分类
TF-IDF❌ 没有文档检索
Word2Vec低(50-300)✅ 有中等NLP 任务
BERT低(768+)✅ 动态语义机器阅读理解


http://www.kler.cn/a/525279.html

相关文章:

  • 【编译原理实验二】——自动机实验:NFA转DFA并最小化
  • 98.1 AI量化开发:长文本AI金融智能体(Qwen-Long)对金融研报大批量处理与智能分析的实战应用
  • 安卓逆向之脱壳-认识一下动态加载 双亲委派(二)
  • 36、【OS】【Nuttx】OSTest分析(2):环境变量测试
  • SpringCloud基础二(完结)
  • WSL 安装cuDNN
  • Ubuntu 16.04安装Lua
  • Yii框架中的正则表达式:如何实现高效的文本操作
  • 【Unity教程】零基础带你从小白到超神part3
  • 观察者模式和订阅发布模式的关系
  • 03链表+栈+队列(D1_链表(D1_基础学习))
  • hdfs之读写流程
  • AI学习指南Ollama篇-使用Ollama构建自己的私有化知识库
  • 【单细胞-第三节 多样本数据分析】
  • 大模型(LLM)工程师实战之路(含学习路线图、书籍、课程等免费资料推荐)
  • 为AI聊天工具添加一个知识系统 之78 详细设计之19 正则表达式 之6
  • 租赁系统为企业资产管理提供高效解决方案促进业务增长与创新
  • premierePro 2022创建序列方式
  • 为AI聊天工具添加一个知识系统 之77 详细设计之18 正则表达式 之5
  • 高级同步工具解析
  • 认识小程序页面,小程序的宿主环境
  • Python 类型注解
  • 新手项目管理的实用工具推荐
  • 《探秘人工智能:从基础到未来变革》
  • U盘打开提示格式化:深度解析与数据恢复全攻略
  • 如何在 PowerPoint 中新建幻灯片?