20240330-1-词嵌入模型w2v+tf-idf

Word2Vector

1.什么是词嵌入模型?

把词映射为实数域向量的技术也叫词嵌⼊

2.介绍一下Word2Vec

谷歌2013年提出的Word2Vec是目前最常用的词嵌入模型之一。Word2Vec实际是一种浅层的神经网络模型,它有两种网络结构,分别是连续词袋(CBOW)和跳字(Skip-Gram)模型。

3.介绍CBOW

CBOW,全称Continuous Bag-of-Word,中文叫做连续词袋模型:以上下文来预测当前词 w t w_t wt 。CBOW模型的目的是预测 $P(w_t| w_{t-k}, \cdots, w_{t-1}, w_{t+1}, \cdots, w_{t+k}) $

img

前向传播过程
  • 输入层: 输入C个单词 x x x: $x_{1k}, \cdots, x_{Ck} $,并且每个 x x x 都是用 One-hot 编码表示,每一个 x x x 的维度为 V(词表长度)。

  • 输入层到隐层

    • 首先,共享矩阵为 W V × N W_{V \times N} WV×NV表示词表长度,W的每一行表示的就是一个N维的向量(训练结束后,W的每一行就表示一个词的词向量)。
    • 然后,我们把所有输入的词转 x x x化为对应词向量,然后取平均值,这样我们就得到了隐层输出值 ( 注意,隐层中无激活函数,也就是说这里是线性组合)。 其中,隐层输出 h h h 是一个N维的向量 。

    h = 1 C W T ( x 1 + x 2 + ⋯ + x c ) h = \frac{1}{C} W^T(x_1 + x_2 + \cdots + x_c) h=C1WT(x1+x2++xc)

  • 隐层到输出层:隐层的输出为N维向量 h h h , 隐层到输出层的权重矩阵为 W N × V ′ W'_{N \times V} WN×V 。然后,通过矩阵运算我们得到一个 $V \times 1 $ 维向量
    u = W ′ T ∗ h u = W'^{T} * h u=WTh

其中,向量 u u u 的第 i i i 行表示词汇表中第 i i i 个词的可能性,然后我们的目的就是取可能性最高的那个词。因此,在最后的输出层是一个softmax 层获取分数最高的词,那么就有我们的最终输出:
P ( w j ∣ c o n t e x t ) = y i = e x p ( u j ) ∑ k ∈ V e x p ( u k ) P(w_j| context) =y_i = \frac{exp({u_j})}{\sum_{k \in V} exp({u_k})} P(wjcontext)=yi=kVexp(uk)exp(uj)

损失函数

我们假定 j ∗ j^* j 是真实单词在词汇表中的下标,那么根据极大似然法,则目标函数定义如下:
E = − l o g   p ( W O ∣ W I ) = − l o g   e x p ( u j ) ∑ k ∈ V e x p ( u k ) = l o g ∑ k ∈ V e x p ( u k ) − u j E = -log \, p(W_O |W_I) = -log \, \frac{exp({u_j})}{\sum_{k \in V} exp({u_k})} = log \sum_{k \in V} exp(u_{k}) -u_j E=logp(WOWI)=logkVexp(uk)exp(uj)=logkVexp(uk)uj

4.Skip-gram模型

Skip-Gram的基本思想是:通过当前词 w t w_t wt 预测其上下文 w t − i , ⋯   , w t + i w_{t-i}, \cdots , w_{t+i} wti,,wt+i ,模型如下图所示:

img

前向传播过程
  • 输入层: 输入的是一个单词,其表示形式为 One-hot ,我们将其表示为V维向量 x k x_k xk ,其中 V V V 为词表大小。然后,通过词向量矩阵 W V × N W_{V \times N} WV×N 我们得到一个N维向量
    h = W T ∗ x k = v w I T h = W^T * x_k = v^{T}_{w_I} h=WTxk=vwIT

  • 隐层: 而隐层中没有激活函数,也就是说输入=输出,因此隐藏的输出也是 h h h

  • 隐层到输出层:

    • 首先,因为要输出C个单词,因此我们此时的输出有C个分布: $y_1, \cdots y_C $,且每个分布都是独立的,我们需要单独计算, 其中 y i y_i yi 表示窗口的第 i i i 个单词的分布。

    • 其次, 因为矩阵 W N × V ′ W'_{N \times V} WN×V 是共享的,因此我们得到的 V × 1 V \times 1 V×1 维向量 u u u 其实是相同的,也就是有 u c , j = u j u_{c,j} = u_j uc,j=uj ,这里 u u u 的每一行同 CBOW 中一样,表示的也是评分。

    • 最后,每个分布都经过一个 softmax 层,不同于 CBOW,我们此处产生的是第 i i i 个单词的分布(共有C个单词),如下:

    P ( w i , j ∣ c o n t e x t ) = y i = e x p ( u j ) ∑ k ∈ V e x p ( u k ) P(w_{i,j}| context) =y_i = \frac{exp({u_j})}{\sum_{k \in V} exp({u_k})} P(wi,jcontext)=yi=kVexp(uk)exp(uj)

损失函数

假设 j ∗ j^* j 是真实单词在词汇表中的下标,那么根据极大似然法,则目标函数定义如下:
E = − l o g   p ( w 1 , w 2 , ⋯   , w C ∣ w I ) = − l o g ∏ c = 1 C P ( w c ∣ w i ) = − l o g ∏ c = 1 C e x p ( u c , j ) ∑ k = 1 V e x p ( u c , k ) = − ∑ c = 1 C u j c ∗ + C ⋅ l o g ∑ k = 1 V e x p ( u k ) \begin{split} E &= - log \, p(w_1, w_2, \cdots, w_C | w_I) \\ &= - log \prod_{c=1}^C P(w_c|w_i) \\ &= - log \prod_{c=1}^{C} \frac{exp(u_{c, j})}{\sum_{k=1}^{V} exp(u_{c,k}) } \\ &= - \sum_{c=1}^C u_{j^*_c} + C \cdot log \sum_{k=1}^{V} exp(u_k) \end{split} E=logp(w1,w2,,wCwI)=logc=1CP(wcwi)=logc=1Ck=1Vexp(uc,k)exp(uc,j)=c=1Cujc+Clogk=1Vexp(uk)

5.Word2Vec与LDA的区别

  • LDA

    LDA是利用文档中单词的共现关系来对单词按主题聚类,也可以理解为对“文档-单词”矩阵进行分解,得到“文档-主题”和“主题-单词”两个概率分布

  • Word2Vec

    Word2Vec是利用上下文-单词“矩阵进行学习,其中上下文由周围的几个单词组成,由此得到的词向量表示更多地融入了上下文共现的特征。也就是说,如果两个单词所对应的word2vec向量相似度较高,那么它们很可能经常在同样的上下文中出现。

  • LDA模型是一种基于概率图模型生成式模型,其似然函数可以写成若干条件概率连乘的形式,其中包括需要推测的隐含变量(即主题);

  • 而Word2Vec模型一般表达为神经网络的形式,似然函数定义在网络的输出之上,需要通过学习网络的权重以得到单词的稠密向量表示。

6.Word2Vec存在的问题是什么?

  • 对每个local context window单独训练,没有利用包 含在global co-currence矩阵中的统计信息。
  • 对多义词无法很好的表示和处理,因为使用了唯一的词向量

Tf-idf

1.介绍一下Tf-idf

一个词语在一篇文章中出现次数越多, 同时在所有文档中出现次数越少, 越能够代表该文章.

  • TF: Term Frequency, 表示词频。 一个给定的词在该文章中出现的次数。
    T F = 某个词在文章中的出现次数 文章的总词数 TF = \frac{\text{某个词在文章中的出现次数}}{\text{文章的总词数}} \\ TF=文章的总词数某个词在文章中的出现次数

  • IDF: Inverse Document Frequency, 表示逆文档频率。如果包含词条 t 的文档越少, IDF越大,则说明词条具有很好的类别区分能力。

I D F = l o g ( 语料库的文档总数 包含该词的文档数 + 1 ) IDF = log(\frac{语料库的文档总数}{包含该词的文档数+1}) \\ IDF=log(包含该词的文档数+1语料库的文档总数)

  • **TF-IDF:**某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语
    TF-IDF = T F × I D F \text{TF-IDF} = TF \times IDF TF-IDF=TF×IDF

举例说明

假设现在有一篇文章, 文章中包含 10000 个词组, 其中,“贵州” 出现100次,“的” 出现500次,那么我们可以计算得到这几个词的 TF(词频) 值:
T F ( 贵州 ) = 100 / 10000 = 0.01 T F ( 的 ) = 500 / 10000 = 0.05 TF(贵州) = 100 / 10000 = 0.01 \\ TF(的) = 500 / 10000 = 0.05 TF(贵州)=100/10000=0.01TF()=500/10000=0.05
现在语料库中有 1000 篇文章, 其中,包含 “贵州” 的有 99 篇, 包含 “的” 的有 899 篇, 则它们的 IDF 值计算为:
I D F ( 贵州 ) = l o g ( 1000 / ( 99 + 1 ) ) = 1.000 I D F ( 的 ) = l o g ( 1000 / ( 899 + 1 ) ) = 0.046 IDF(贵州) = log(1000 / (99+1)) = 1.000 \\ IDF(的) = log(1000 / (899+1)) = 0.046 IDF(贵州)=log(1000/(99+1))=1.000IDF()=log(1000/(899+1))=0.046

2. Tf-idf的优缺点

  • 优点:简单快速,而且容易理解。
  • 缺点:有时候用词频来衡量文章中的一个词的重要性不够全面,有时候重要的词出现的可能不够多,而且这种计算无法体现位置信息,无法体现词在上下文的重要性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/562189.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++ stl容器stack,queue,priority_queue的底层模拟实现

目录 前言: 文档借鉴:Reference - C Reference 1.deque a.deque的结构特点: b.deque的迭代器结构: c.面试题: 2.stack 3.queue 4.仿函数 5.priority_queue 总结: 前言: 本篇一共简单…

Hive 中常用的函数以及数据类型

数据类型 1.基本数据类型: 数据类型大小范围示例TINYINT1byte-128 ~ 127100YSMALLINT2byte-32768 ~ 32767100SINT4byte-2^32~ 2^32-1100BIGINT8byte-2^64~ 2^64-1100LFLOAT4byte单精度浮点数5.21DOUBLE8byte双精度浮点数5.21DECIMAL-高精度浮点数DECIMAL(9,8)BOOLEAN-布尔型tr…

VF02 XBLNR增强将不可编辑状态改为可编辑状态

VF02 XBLNR增强将不可编辑状态改为可编辑状态 一、业务界面展示 二、在程序SAPMV60A的INCLUDE程序MV60AF0F_FELDAUSWAHL_SONDERREG增强 *$*$-Start: ZEN_POINT_TEST1---------------------------------------------------------------------$*$* ENHANCEMENT 1 ZFI_TEST01.…

C语言 | 自定义类型:联合和枚举

目录: ----前言 1. 联合体 1.1 联合体类型的声明 1.2 联合体的特点 1.3 相同成员的结构体和联合体对比 1.4 联合体大小的计算 1.5 联合的使用 1.6联合体的练习 2. 枚举 2.1 枚举类型的声明 2.2 枚举类型的优点 2.3 枚举类型的使用 --前言: c语言中内…

代码随想录刷题随记24-回溯

代码随想录刷题随记24-回溯 491. 非递减子序列 leetcode链接 与之前的集合问题不同&#xff0c;而本题求自增子序列&#xff0c;是不能对原数组进行排序的&#xff0c;排完序的数组都是自增子序列了。所以不能通过排序的问题去重 class Solution {List<List<Integer…

超越GPT-4V,苹果多模态大模型上新,神经形态计算加速MLLM(二)

上文介绍基于MINOnets神经网络架构加速多模态大模型的策略&#xff0c;本文将以Spinnaker2多核神经网络芯片EGRU架构为起点&#xff0c;覆盖存内计算架构&#xff0c;介绍新型计算架构在加速大模型推理的作用。SpiNNaker 2是一个设计用于大规模异步处理的多核神经形态芯片&…

建议收藏 | 2023年中国SCI期刊影响因子最新预测

公众号&#xff1a;生信漫谈&#xff0c;获取最新科研信息&#xff01; 2023年中国SCI期刊影响因子最新预测 经过Web of Science 官网对引用前50和IF排名前50的中国&#xff08;包括香港、澳门和台湾&#xff09;期刊以及中国主办或中国人主编的高影响力期刊进行了2023年影响…

数据结构_时间复杂度

✨✨所属专栏&#xff1a;数据结构✨✨ ✨✨作者主页&#xff1a;嶔某✨✨ 什么是时间复杂度&#xff1f; 时间复杂度的定义&#xff1a;在计算机科学中&#xff0c;算法的时间复杂度是一个函数&#xff0c;它定量描述了该算法的运行时间。一个算法执行所耗费的时间&#xff0…

YOLO世界:实时开放词汇对象检测

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 摘要Abstract文献阅读&#xff1a;YOLO世界&#xff1a;实时开放词汇对象检测1、研究背景2、提出方法3、相关技术3.1、Re-parameterizable Vision-Language Path Ag…

MySQL中InnoDB存储引擎详细介绍

介绍 InnoDB是一种兼顾高可靠性高和高性能的通用存储引擎&#xff0c;在MySQL5.5之后&#xff0c;InnoDB是默认的MySQL存储引擎。 特点 DML(增删改)操作遵循ACID(事务四大特性)模型&#xff0c;支持事务&#xff1b;行级锁&#xff0c;提高并发访问性能支持外链FORELGN KEY约…

Jenkins服务器IP更换,Jenkins URL地址更换

服务器的网络地址发生变动&#xff0c;修改jenkins服务器IP地址后&#xff0c;jenkins网页能够打开&#xff0c;但是job中的配置钩子没有自动改变&#xff0c;如图所示&#xff1a; 经过查询资料了解&#xff0c;需要修改jenkins本地化配置地址才可以显示正确&#xff1a; 1、…

2024最好用的11个AI搜索引擎工具盘点!

0. 未来百科 未来百科&#xff0c;最大的 中文AI 产品导航网站 —— 为发现全球优质 AI 工具而生 。目前已 聚集全球 10000优质 AI 工具产品 &#xff0c;旨在帮助用户发现全球最好的 AI 工具&#xff0c;同时为研发 AI 垂直应用的创业公司提供展示窗口&#xff0c;迎接未来的…

如何在群晖NAS部署office系统办公服务并实现无公网IP远程编辑文件

文章目录 本教程解决的问题是&#xff1a;1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制作固定公网访问链接 本教程解决的问题是&#xff1a; 1.Word&#xff0c;PPT&#xff0c;Excel等重要文件存在本地环境&#xff0c;如何在编…

【001_IoT/物联网通信协议基础: HTTP、Websocket、MQTT、AMQP、COAP、LWM2M一文搞懂】

001_IoT/物联网通信协议基础: HTTP、Websocket、MQTT、AMQP、COAP、LWM2M一文搞懂 文章目录 001_IoT/物联网通信协议基础: HTTP、Websocket、MQTT、AMQP、COAP、LWM2M一文搞懂创作背景通信模型ISO/OSI七层模型 和 TCP/IP四层模型网络通信数据包格式&#xff08;Ethernet II&…

Linux SDIO-WiFi 协议栈

Linux SDIO-WiFi 协议栈 1. 简介2. BCMDHD2.1 WiFi模组 1. 简介 2. BCMDHD BCMDHD&#xff1a;Broadcom Dongle Host DriverSIP&#xff1a;System In Package 2.1 WiFi模组

互连芯片浪潮席卷AI服务器:突破瓶颈,再创辉煌

改变AI服务器&#xff1a;互连芯片技术创新和突破 AI服务器崛起&#xff0c;引领未来创新根据TrendForce数据&#xff0c;AI服务器出货量达130,000台&#xff0c;占服务器总出货量的1%。主要制造商推出生成式AI产品&#xff0c;推动订单激增。ChatGPT等应用的需求持续增长&…

html2Canvas截图包含滚动条解决思路

概况描述 在项目中使用html2Canvas进行截图时发现无法截取滚动条部分,前端是使用vue2的版本,网上找了很多方式都没效果,冷静思考后,给出解决办法。 解决思路 当我们截取的div容器的宽和高与内部的子容器div的宽和高不一样时,内部div就会出现滚动条,因为我们截取的div与…

OSPF的学习笔记

1.OSPF &#xff08;1&#xff09;链路状态路由协议的路由信息并不是像距离矢量路由协议那样(邻居告诉的)&#xff0c;通过收集自身以及邻居发出的LSA(原材料)&#xff0c;并LSA放到指定仓库里面(LSDB)&#xff0c;通过SPF算法&#xff0c;以自己为根计算到达网络每个节点的最优…

【Spring Boot】掌握Spring Boot:深入解析配置文件的使用与管理

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录文章&#xff1a;【Spring Boot】掌握Spring Boot&#xff1a;深入解析配置文件的使用与管理 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 Spring Boot 配置文件一. 配置文…

第65天:API攻防-接口安全WebPackRESTSOAPWSDLWebService

目录 思维导图 前置知识 案例一&#xff1a;WebService 类-Wsdl&ReadyAPI-SQL 注入 案例二&#xff1a;SOAP 类-Swagger&SoapUI&EXP-信息泄露 案例三&#xff1a;HTTP 类-WebPack&PackerFuzzer-信息泄露 思维导图 前置知识 RPC接口: 登录游戏时候登录账号…