【PyTorch][chapter 14][李宏毅深度学习][Word Embedding]

news2024/9/24 13:21:26

前言:

       这是用于自然语言处理中数据降维的一种方案。

我们希望用一个向量来表示每一个单词. 有不同的方案

目录:

  1.     one-hot Encoding
  2.     word-class
  3.     词的上下文表示
  4.     count-based
  5.     perdition-based
  6.    CBOW
  7.    Skip-Gram
  8.    word Embedding 词向量相似度


一  one-hot Encoding

      

      假设英文有10万个单词,那每个单词用1个10万维的one-hot 编码表示。

其中只有1个维度是1,其它维度是0.

    问题:

     1: 无法表示词汇之间的相互关系

                比如 car 和 cars


二  word-class

    

    比如dog ,cat ,bird 属于一类, ran jumped walk 属于class2,...

     问题:

               很多细节丢失了


三  单词上下文表示

  3.1:  某个单词可以通过其上下文表示

       如上图  早上,中午,晚上后面都接 打游戏,说明三者之间有一定的相关性。

  如何定义上下文,有两种方案

 count-based& perdition-based


四   count-based

流程:

   预置条件:

                通过通过一些文章,统计每个单词,之后或者之前出现的单词的概率

    建立灰度共现矩阵.

      

   训练

  1 每个单词先进行one-hot 编码

   2  通过神经网络得到 词向量 z_i,z_j.

    3 z_i,z_j 做内积,

 输出 

         测值\hat{y}=z_i^Tz_j

 损失函数:

          L=(\hat{y_{ij}}-p_{ij})^2

           L=p_{ij}log\hat{y_{ij}}

           其中p_{ij} 就是灰度共现矩阵里面的概率值


 五   perdition-based

      

 5.1 原理:

  count-based 使用一个单词预测下一个单词得到词向量,这个是用前面几个单词预测下一个单词,得到词向量

我们属于一些单词,经过一个神经网络,预测下面出现的单词(one-hot)表示。

    损失函数用cross entropy

5.2 应用

      文字推理

       

   : 推荐下一个单词出现的概率

5.3网络结构

5.4 训练流程:

   1 每个单词先进行one-hot 编码

   2  通过神经网络得到 (共用权重系数W ,同CNN 里面的卷积一样)词向量 z_i,z_j,z_k.

   3 通过softmax 函数输出

  4  通过交叉熵训练网络参数W

5.5 注意事项

这个网络的发明者通过实践发现不需要深度的网络,只需要一两层的线性网络可以

把该模型训练的很好。另外一个理由该模型只是实现抽取特征,该特征是其它NLP模型

的输入,所以不需要多层神经网络去实现

它的标签是灰度共现矩阵

 

       


六   CBOW

   

        CBOW是continuous bag of words的缩写,中文译为“连续词袋模型”。它是一种用于生成词向量的神经网络模型,由Tomas Mikolov等人于2013年提出 。词向量是一种将单词表示为固定长度的实数向量的方法,可以捕捉单词之间的语义和语法关系。

CBOW的基本思想是,给定一个单词的上下文(即窗口内的其他单词),预测该单词本身。例如,对于句子“The cat climbed up the tree”,如果窗口大小为5,那么当中心单词为“climbed”时,上下文单词为“The”、“cat”、“up”和“the”。CBOW模型要求根据这四个上下文单词,计算出“climbed”的概率分布。

  


七  Skip-gram

 

预测文本中某个字周围可能出现的词

我们在看一篇文章时,若是将一个词的周围几个词盖住让我们猜测,我们也能够大致的猜出被盖住部分原有的词语,因为文章中每个词语与其周围的词之间都是有关系的,也可以说,每个词都决定了和它相邻的词。skip-gram模型就是以此为动机来进行训练的。

为了完成上面的训练目标,skip-gram模型有一个长度为2c+1的滑动窗口(上图为5),这个窗口会在语料库中滑动,每滑动以此,被窗口包括在内的2c+1个词就会被用与模型的训练。窗口中心的词作为已知的词,而中心词前k个和后k个词


八  word Embedding 词向量相似度

    我们可以通过Vec 之间的相减得到词之间的关系

14: Unsupervised Learning - Word Embedding_哔哩哔哩_bilibili

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构(C语言)代码实现(八)——顺序栈实现数值转换行编辑程序汉诺塔

目录 参考资料 顺序栈的实现 头文件SqStack.h(顺序栈函数声明) 源文件SqStack.cpp(顺序栈函数实现) 顺序栈的三个应用 数值转换 行编辑程序 顺序栈的实现测试 栈与递归的实现(以汉诺塔为例) 参考资…

Vision Pro新机测评!“这才是MR硬件该有的模样!”

期盼很久的Vision Pro终于到了,小编迫不及待地体验了一把,效果相当非常震撼,操作非常丝滑,画面非常清晰…来不急解释了,快和小编一起来看一下吧~ 新机一到公司,为解大家对Vision Pro 的“相思之苦”&#x…

(43)找出中枢整数

文章目录 每日一言题目解题思路法一:法二: 代码法一:法二: 结语 每日一言 即使慢,驰而不息,纵令落后,纵令失败,但一定可以达到他所向往的目标。——鲁迅 题目 题目链接&#xff1a…

SQL注入(SQL Injection)从注入到拖库 —— 简单的手工注入实战指南精讲

基本SQL注入步骤: 识别目标:确定目标网站或应用程序存在潜在的SQL注入漏洞。收集信息:通过查看页面源代码、URL参数和可能的错误信息等,搜集与注入有关的信息。判断注入点:确定可以注入的位置,比如输入框、…

网络套件字(理论知识)

一、源IP地址和目的IP地址 上次说到IP地址是为了是为了让信息正确的从原主机传送到目的主机,而原IP地址和目的IP地址就是用于标识两个主机的,既然叫做地址必然有着路径规划的作用,而路径规划最重要的就是,从哪来到哪去&#xff0…

tab 切换类交互功能实现

tab切换类交互&#xff1a; 记录激活项&#xff08;整个对象/id/index)动态类型控制 下面以一个地址 tab 切换业务功能为例&#xff1a; <div class"text item" :class"{active : activeAddress.id item.id}" click"switchAddress(item)"…

2023年出版的新书中提到的《人月神话》(202402更新)(2)共8本

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 《人月神话》于1975年出版&#xff0c;1995年出二十周年版。自出版以来&#xff0c;该书被大量的书籍和文章引用&#xff0c;直到现在热潮不退。 2023年&#xff0c;清华大学出版社推…

MySQL 升级脚本制作

当数据库更新字段后或添加一些基础信息&#xff0c;要对生产环境进行升级&#xff0c;之前都是手动编写sql&#xff0c;容易出错还容易缺失。 通过 Navcat 工具的数据库结构同步功能和数据同步功能完成数据库脚本的制作。 一、结构同步功能 1、选择 工具–结构同步&#xff1…

WifiConfigStore初始化读取-Android13

WifiConfigStore初始化读取 1、StoreData创建并注册2、WifiConfigStore读取2.1 文件读取流程2.2 时序图2.3 日志 1、StoreData创建并注册 packages/modules/Wifi/service/java/com/android/server/wifi/WifiConfigManager.java mWifiConfigStore.registerStoreData(mNetworkL…

机器学习 - 梯度下降

场景 上一章学习了代价函数&#xff0c;在机器学习中&#xff0c;代价模型是用于衡量模型预测值与真实值之间的差异的函数。它是优化算法的核心&#xff0c;目标是通过调整模型的参数来最小化代价模型的值&#xff0c;从而使模型的预测结果更接近真实值。常见的代价模型是均方…

猫头虎分享已解决Bug ‍ || TypeError: Object of type ‘int64‘ is not JSON serializable

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

fghbbbbbbbbbb

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 磁盘满的本质分析 专栏&#xff1a;《Linux从小白到大神》 | 系统学习Linux开发、VIM/GCC/GDB/Make工具…

【精选】java继承进阶——构造方法的访问特点 this、super使用

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

Vulnhub-Empire靶机-详细打靶流程

渗透思路 1.确认靶机IP地址2.端口服务扫描3.敏感目录扫描4.ffuf命令在这个目录下&#xff0c;继续使用ffuf工具扫描 5.ssh私钥爆破1.将私钥写进sh.txt中2.将私钥转换为可以被john爆破的形式3.通过John爆破 6.ssh私钥登陆7.icex64提权8.arsene提权 1.确认靶机IP地址 ┌──(roo…

Unity引擎学习笔记之【动画剪辑和曲线操作】

动画剪辑和曲线Animation Clip 点选一个包含动画的FBX模型&#xff0c;在其检查器中便可查看动画剪辑 一、动画剪辑 1.Model 2.RIg 538.jpg%20%3D600x&pos_idimg-st6QJc3x-1707050419493) 无动画、旧版Animation动画、普通道具或角色动画、人形角色动画 3.Animation 二…

1 月 Web3 游戏行业概览:市场实现空前增长

作者&#xff1a;lesleyfootprint.network 今年一月&#xff0c;区块链游戏领域迎来了爆发式增长&#xff0c;活跃用户的数量大幅提升。 区块链游戏不断融合 AI 技术&#xff0c;旨在提升玩家体验并扩大其服务范围&#xff0c;公链与游戏的兼容性问题也日渐受到重视。技术革新…

又一款图像AI应用爆火,团队仅两人,单月吸引40万用户

又一款AI原生应用火了。近日&#xff0c;AI图像增强应用Magnific AI广受追捧&#xff0c;该应用在发布一个多月之后吸引了40万注册用户。 Magnific AI不仅可以用生成式AI技术放大图像&#xff0c;还能一键提升图像的分辨率&#xff0c;把原图呈现的更清晰&#xff0c;更有质感…

Web前端-移动web开发_rem布局

文章目录 移动web开发之rem布局1.0 rem基础1.1 rem单位(重点)1.2 em单位(了解)1.3 媒体查询什么是媒体查询媒体查询语法规范 1.4 less 基础维护css弊端Less 介绍Less安装Less 使用之变量使用node编译less的指令Less 编译 vocode Less 插件Less 嵌套Less 运算Less中的Mixin混入L…

xinput1_3.dll丢失怎么办?7种不同解决方法分享

xinput1_3.dll是微软Microsoft DirectX的一个重要动态链接库&#xff08;DLL&#xff09;文件&#xff0c;它主要与DirectInput API相关&#xff0c;为Windows操作系统中的游戏和应用程序提供对各种输入设备的支持。以下是关于xinput1_3.dll的详细全面介绍&#xff1a; 1、属性…

谷歌seo搜索引擎优化有什么思路?

正常做seo哪有那么多思路&#xff0c;其实就那么几种方法&#xff0c;无非就关键词&#xff0c;站内优化&#xff0c;外链&#xff0c;可以说万变不离其宗&#xff0c;但如果交给我们&#xff0c;你就可以实现其他的思路&#xff0c;或者说玩法 收录可以说是一个网站的基础&…