• NLP-词向量、Word2vec


    Word2vec

    Skip-gram算法的核心部分
    我们做什么来计算一个词在中心词的上下文中出现的概率?
    在这里插入图片描述

    似然函数

    词已知,它的上下文单词的概率 相乘
    然后所有中心词的这个相乘数 再全部相乘,希望得到最大

    在这里插入图片描述

    目标函数(代价函数,损失函数)

    平均对数似然 + 转化为极小化问题

    在这里插入图片描述

    最小化目标函数 J(θ) <==> 最大化预测的准确性

    • 为了简化数学和优化,每个单词都用两个向量表示:

    预测函数

    模型训练目的:具有相似上下文的单词,具有相似的向量。
    所有上下文之间的向量最相似,这样似然函数最大,损失函数最小!

    在这里插入图片描述

    取幂 用于使得所有数都为正
    点乘 用于计算向量相似程度。向量之间越相似,点乘结果越大。
    目的:找到与中心词向量 点乘最大的词向量,得到最相似的向量。
    分母 用于归一化,最终得到概率分布 => 所有词跟中心词的相似程度所构成的概率#

    预测函数使用的softmax函数

    在这里插入图片描述

    最小化损失函数来调整词向量 -> 最大化 在中心词的上下文实际看到的词的概率

    θ表示模型所有的参数,向量长度为2dV。调整θ来最大化上下文词的预测!
    词库一共有V个词,每个词向量都是d维。
    每个词都有上下文词向量和中心词向量。

    梯度下降法

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    总结:

    1. 为上下文词和中心词随机初始化一个向量
    2. 使用迭代算法逐步更新这些词向量 (梯度下降法)
    3. 可以更好的预测哪些词会出现在其他词的上下文中
  • 相关阅读:
    实现自定义Spring Boot Starter
    【oceanbase】centos7/kylinv10部署oceanbase(x86版本)
    高频面试题1,删除有序数组重复元素
    【计算机毕业设计】1.房屋租赁系统
    vue项目中非工程化配置eslint
    什么是中间件
    12海里、24海里、200海里的意义及名称
    Java内存区域
    STM32——485通信实验
    15【react-Hook (下)】
  • 原文地址:https://blog.csdn.net/stevence112/article/details/136310415