首页 > 其他分享 >NLP复习之向量语义

NLP复习之向量语义

时间:2023-12-26 17:59:26浏览次数:28  
标签:NLP frac 复习 neg 语义 pos partial sigma 向量

向量语义

词汇语义

  • 语义概念(sense or concept)是单词含义(word sense)的组成部分,词原型可以是多义的。

  • 同义词是指:在某些或者全部的上下文中,单词之间有相同或近似含义

  • 可能没有完全相同含义的同义词例子!

    即使在很多情况下(上下文语境),单词间的含义是相同的。

    但仍然有可能因为礼貌(politeness),俚语(slang),流派(genre)等其他因素导致不会完全相同。

向量语义

  • 将语义定义为基于分布的一个空间向量

  • 一个单词 = 一个向量

    同义词定义为语义空间中相邻的词

    通过查看文本数据中的附近词来自动构建向量空间

  • 词向量可以称为词嵌入(embeddings),因为该向量嵌入在一个向量空间中。

  • 两种词嵌入

    • Tf-idf:

      主要用于信息检索的一种常用模型

      会生成较为稀疏的词向量

      单词由附近单词计数有关的简单函数来表示

    • Word2vec:

      会生成较为稠密的词向量

      通过训练一个分类器来预测一个单词出现在某一语境中的概率,来生成表示

相似度度量

  • 两个向量的点积是一个标量

    \[\text{dot product}(v,w)=v \cdot w=\sum_{i=1}^{N}v_iw_i \]

    • 点积的结果如果值越大,说明两个向量之间在相同维度上有较大的值。因此,点积可以作为一种向量之间相似度度量的方法。
    • 点积适合高纬度向量,如果向量维度越高,点积的结果值也会越高。
  • 余弦相似度

    \[\cos(v,w) = \frac{v \cdot w}{|v||w|} = \frac{\sum_{i=1}^{N}v_iw_i}{\sqrt{\sum_{i=1}^{N}v_i^2}\sqrt{\sum_{i=1}^{N}w_i^2}} \]

    • 基于向量a和b的点积:

      \[a \cdot b = |a||b| \cos{\theta} \]

    • \(-1\)表示两个向量在相反方向;\(+1\)表示两个向量方向一致;\(0\)表示两个向量正交。

TF-IDF

单词t在文档d中的\(tf-idf\)值表示为

\[w_{t,d} = tf_{t,d} \times idf_t \]

\(tf_{t,d}\)有两中计算方式,一种是\(tf_{t,d} = count(t,d)\),但更常见的是用log函数对计数进行处理:

\[tf_{t,d} = \log_{10}(count(t,d)+1) \]

\(df_t\)代表单词t在多少个文档中出现,N表示数据集中文档的总数,有

\[idf_t = \log_{10}(\frac{N}{df_t}) \]

word2vec

word2vec 的直觉是,我们不会计算每个单词 w 在例如杏子附近出现的频率,而是在二进制预测任务上训练分类器。

给定一组正采样和负采样,以及一组初始词向量,

算法的学习目标是将这些初始向量训练为:

•最大化目标词和上下文词对(w , cpos )的相似性,

•最小化反例中目标词与反例上下文词对 (w , cneg) 的相似性。

sigmoid函数

\[y = \sigma(z) = \frac{1}{1 + e^{-z}} \]

值域为 \([0,1]\)

将点积转化为概率

  • \(P(+|w,c) = \sigma(c \cdot w) = \frac{1}{1 + \exp(-c \cdot w)}\)

  • \(P(-|w,c) = 1 - P(+|w,c) = \sigma(-c \cdot w) = \frac{1}{1 + \exp(c \cdot w)}\)

  • 假设上下文单词相互独立,并且将它们的概率相乘:

    \[\begin{aligned} P(+|w, c_{1:L}) = \Pi_{i=1}^{L} \sigma(c_i \cdot w)\\ \log P(+|w, c_{1:L}) = \sum_{i=1}^{L} \log \sigma(c_i \cdot w) \end{aligned} \]

  • 将损失函数(公式6.34)各项偏导数进行求解,并使得推导结果分别为公式6.35,6.36,6.37。

    \[\begin{aligned} L_{CE} &= - \log{[P(+|w, c_{pos}) \Pi_{i=1}^k P(-|w, c_{neg_i})]} \\ &= - [\log{P(+|w,c_{pos})}+\sum_{i=1}^k \log{P(-|w,c_{neg_i})}] \\ &= -[\log{\sigma(c_{pos} \cdot w)} + \sum_{i=1}^k \log{\sigma(-c_{neg_i} \cdot w)}] \end{aligned} \tag{6.34} \]

    \[\frac{\partial L_{CE}}{\partial c_{pos}} = [\sigma(c_{pos} \cdot w)-1]w \tag{6.35} \]

    \[\frac{\partial L_{CE}}{\partial c_{neg}} = [\sigma(c_{neg} \cdot w)]w \tag{6.36} \]

    \[\frac{\partial L_{CE}}{\partial c_{w}} = [\sigma(c_{pos} \cdot w)-1]c_{pos}+\sum_{i=1}^k [\sigma(c_{neg_i} \cdot w)]c_{neg_i} \tag{6.37} \]

    We'll start by finding the partial derivative with respect to \(c_{pos}\):

    \[\frac{\partial L_{CE}}{\partial c_{pos}}=\frac{\partial}{\partial c_{pos}} = (-[\log{\sigma(c_{pos}·w)}+\sum_{i=1}^{k} \log{\sigma(-c_{neg_i}·w)}]) \]

    Using the chain rule, we have:

    \[\frac{\partial L_{CE}}{\partial c_{pos}} = -\frac{1}{\sigma(c_{pos}·w)} \frac{\partial}{\partial c_{pos}} \sigma(c_pos·w) \]

    Recall that the derivate of the sigmoid function with respect to \(x\) is given by:

    \[\frac{\partial}{\partial x} \sigma(x) = \sigma(x)(1-\sigma(x)) \]

    Applying this to our equation, we get:

    \[\frac{\partial L_{CE}}{\partial c_{pos}} = -\frac{1}{\sigma(c_{pos}·w)}·\sigma(c_{pos}·w)·(1-\sigma(c_{pos}·w))·w \]

    Simplifying further:

    \[\frac{\partial L_{CE}}{\partial c_{pos}} = [\sigma(c_{pos}·w)-1]w \tag{6.35} \]

    Next, we find the partial derivative with respect to \(c_{neg}\):

    \[\frac{\partial L_{CE}}{\partial c_{neg}}=\frac{\partial}{\partial c_{neg}} = (-[\log{\sigma(c_{pos}·w)}+\sum_{i=1}^{k} \log{\sigma(-c_{neg_i}·w)}]) \]

    Using the chain rule and the derivative of the sigmoid function, we have:

    \[\frac{\partial L_{CE}}{\partial c_{neg}} = \sum_{i=1}^{k} \frac{1}{\sigma(-c_{neg_i}·w)} \frac{\partial}{\partial c_{neg}} \sigma(-c_{neg_i}·w) \]

    Simplifying further:

    \[\frac{\partial L_{CE}}{\partial c_{neg}} = [\sigma(c_{neg}·w)]w \tag{6.36} \]

    Using the chain rule and the derivative of the sigmoid function, we have:

    \[\frac{\partial L_{CE}}{\partial w} = - \frac{1}{\sigma(c_{pos}·w)} · \frac{\partial}{\partial w} \sigma(c_{pos}·w) - \sum_{i = 1}^{k} \frac{1}{\sigma(-c_{neg_i}·w)} \frac{\partial}{\partial w} \sigma(-c_{neg_i}·w) \]

    Using the derivative of the sigmoid function, we have:

    \[\frac{\partial}{\partial w} \sigma(c_{pos}·w) = \sigma(c_{pos}·w)·(1-\sigma(c_{pos}·w))·c_{pos}\]

    and

    \[\frac{\partial}{\partial w} \sigma(-c_{neg_i}·w) = \sigma(-c_{neg_i}·w)·(1-\sigma(-c_{neg_i}·w))·(-c_{neg_i}) \]

    Simplifying further, we have

    \[\frac{\partial L_{CE}}{\partial w} = [\sigma(c_{pos}·w)-1]c_{pos}+\sum_{i=1}^{k}[\sigma(c_{neg_i}·w)]c_{neg_i} \tag{6.37} \]

标签:NLP,frac,复习,neg,语义,pos,partial,sigma,向量
From: https://www.cnblogs.com/wanyy-home/p/17928930.html

相关文章

  • 大语言模型生成模型的源码结构复习
    modeling_gpt2.py:1099iflabelsisnotNone:#movelabelstocorrectdevicetoenablemodelparallelismlabels=labels.to(lm_logits.device)#Shiftsothattokens<npredictnshift_logits=lm......
  • 自然语言处理的未来:语义理解与知识图谱
    1.背景介绍自然语言处理(NLP)是人工智能领域的一个重要分支,其主要研究如何让计算机理解和生成人类语言。随着大数据、深度学习等技术的发展,NLP领域取得了显著的进展。然而,目前的NLP技术仍然存在一些局限性,如无法理解语境、无法处理多义性等。因此,语义理解和知识图谱等技术成为了未......
  • 数据库论述题复习
    1.数据库的三级模式和两级映像架构对数据库系统有何重要意义三级模式视图层/外模式把现实世界信息按不同用户观点抽象为多个逻辑数据结构,每个逻辑结构称为视图每个视图称为数据库的一个子模式逻辑模式综合所有视图,把所有用户关心的现实世界抽象为逻辑模式描述数据......
  • 接口自动化测试复习巩固第二天,管理员后端验证和接口抓包+requests实现
    接口自动化测试第二天,需要用到的第三方库有os,openpyxl,json,pytest,requests首选我们今天的目标是写出一个测试登录用例的脚本,这里我用的是分层设计,整个框架暂时被分为工具层,测试数据层,用例层。工具层:这里我会先放目前需要用到的脚本测试数据层:用例执行时需要的测试数据,我会以exce......
  • HTML学习第三天:探索语义化标签与响应式设计
    在今天的HTML学习中,我进一步了解了语义化标签和响应式设计的重要性。早上,我开始学习语义化标签。这些标签不仅可以定义网页的结构,还能为搜索引擎和辅助技术提供信息。例如,<header>标签用于定义页面的头部,<nav>标签用于定义导航菜单。这些标签不仅提高了代码的可读性,还有助于提高网......
  • 人工智能大模型原理与应用实战:从NLP to BERT
    1.背景介绍人工智能(AI)是一种通过计算机程序模拟人类智能的技术。自从20世纪70年代的人工智能研究开始以来,人工智能技术一直在不断发展和进步。随着计算机硬件的不断提高,人工智能技术也在不断发展,使得人工智能技术在各个领域的应用越来越广泛。自然语言处理(NLP)是人工智能领域中的一......
  • 【论文精读#1】SPGAN-DA:用于领域自适应遥感图像语义分割的语义保留生成对抗网络
    作者:YanshengLi发表年代:2023使用的方法:无监督领域自适应(UDA)、GAN、ClassMix、边界增强来源:IEEETGRS方向:语义分割期刊层次:CCFB;工程技术1区;IF8.2文献链接:https://doi.org/10.1109/TGRS.2023.3313883LiY,ShiT,ZhangY,etal.SPGAN-DA:Semantic-Pres......
  • 算法复习 DFS两题
    全排列模版题AcWing842.排列数字#include<cstdio>#include<vector>#include<queue>#include<cstring>#include<algorithm>#include<iostream>#include<stack>usingnamespacestd;typedeflonglongll;typedefpair&l......
  • 期末复习
    DHCP功能DHCP地址池dhcpenableippoolelinnetwork192.168.100.0mask24gateway-list192.168.100.254dns-list114.114.114.114leaseday1hour1minute1intg0/0/0dhcpselectglobal接口下发dhcpenableintg0/0/0ipadd192.168.200.25424dhcpse......
  • 密码学期末复习
    密码学复习笔记欧几里得算法欧几里得算法(辗转相除法)利用带余除法求两个整数a和b的最大公因子的过程。给定两个正整数a和b,假定a大于b,由带余除法,可以得到:其中r就是a和b的最大公因子算术基本定理同余关系的性质取模重要结论快速幂计算器快速模幂运算如果B是2......