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

前言:

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

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

目录:

  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

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

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

相关文章

全流程机器视觉工程开发(三)任务前瞻 - 从opencv的安装编译说起,到图像增强和分割

前言 最近开始做这个裂缝识别的任务了,大大小小的问题我已经摸得差不多了,然后关于识别任务和分割任务我现在也弄的差不多了。 现在开始做正式的业务,也就是我们说的裂缝识别的任务。作为前言,先来说说场景: 现在相…

微服务的幂等性

微服务架构设计的中心思想是将服务进行拆分,但是在这个过程中,如果被依赖的服务发生奔溃,就会引起一系列问题。为了解决这个问题,就会引入重试的机制,重试又会引入幂等性的问题,下面我们就分析这个过程&…

电磁兼容(EMC):传导骚扰差模频段超标机理及解决方案

目录 1 家用电器传导发射限值要求 2 传导测量等效电路 3 传导测试数据差、共模干扰分段 4 差模干扰源分析及解决方案 电子产品需要满足电磁兼容EMC要求,EMC包括抗扰度试验(EMS)和辐射类试验(EMI),发射类…

如何编写接口测试用例

作为测试人,我们经常要对项目中的接口进行接口测试,那么在做接口测试的时候,如何写接口测试用例呢? 什么是接口测试 首先我们要了解一下,什么是接口测试? 那么首先要搞清楚,我们一般说的接口…

<设计模式>单例模式懒汉和饿汉

目录 一、单例模式概述 二、懒汉模式和饿汉模式 1.饿汉模式 1.1代码实现 1.2实现细节 1.3模式优劣 2.懒汉模式 2.1代码实现 2.2实现细节 2.3模式优劣 三、多线程下的线程安全问题 1.懒汉和饿汉线程安全问题分析 1.1安全的饿汉模式 1.2不安全的懒汉模式 2.懒汉线程…

Jenkins(三):自动化部署SpringBoot项目

前言 在软件开发过程中,自动化部署已经成为不可或缺的一环。Jenkins是一个广泛使用的开源自动化部署工具,它提供了强大的功能和灵活的配置选项,可以帮助开发团队实现高效的持续集成和持续部署。本文将详细介绍如何使用Jenkins自动化部署Spri…

爬取58二手房并用SVR模型拟合

目录 一、前言 二、爬虫与数据处理 三、模型 一、前言 爬取数据仅用于练习和学习。本文运用二手房规格sepc(如3室2厅1卫)和二手房面积area预测二手房价格price,只是练习和学习,不代表如何实际意义。 二、爬虫与数据处理 import requests import cha…

EasyX图形库学习(二、文字输出)

目录 一、文字绘制函数 字体属性结构体:logfont 文字输出 outtextxy 在指定位置输出字符串。 ​编辑 但如果直接使用,可能有以下报错: 三种解决方案: 将一个int类型的分数,输出到图形界面上 如果直接使用: 会把score输入进去根据A…

【Vue.js设计与实现】第二篇:响应系统-阅读笔记(持续更新)

从高层设计的角度去探讨框架需要关注的问题。 系列目录: 标题博客第一篇:框架设计概览【Vue.js设计与实现】第一篇:框架设计概览-阅读笔记第二篇:响应系统【Vue.js设计与实现】第二篇:响应系统-阅读笔记第三篇&#x…

洗地机哪个品牌质量好?盘点当下最值得买的4款洗地机型号推荐

随着生活节奏的加快,人们对于家庭清洁的需求也越来越迫切。而洗地机作为家庭清洁利器备受青睐,但洗地机也分为很多款式,每一个款式都具备不同的清洁效果,可以节省不少时间。接下来,就由笔者为大家详细介绍一下洗地机哪…

如何去除图片水印?三个简单实用方法

随着数字时代的来临,我们每天都会接触到大量的图片,然而,许多图片却因为水印而影响了美观。为了解决这个问题,我们需要图片去水印的方法。今天,我们就来为大家介绍几个简单实用的方法,可以轻松去除水印&…

备战蓝桥杯---搜索(优化1)

显然&#xff0c;我们可以用BFS解决&#xff0c;具体实现与八数码类似&#xff1a; 下面是代码&#xff1a; #include<bits/stdc.h> using namespace std; #define N 3000000 string a,b; int hh,dis[N],cnt; struct node{string u,v; }bian[7]; map<string,int>…

Flutter 和 Android原生(Activity、Fragment)相互跳转、传参

前言 本文主要讲解 Flutter 和 Android原生之间&#xff0c;页面相互跳转、传参&#xff0c; 但其中用到了两端相互通信的知识&#xff0c;非常建议先看完这篇 讲解通信的文章&#xff1a; Flutter 与 Android原生 相互通信&#xff1a;BasicMessageChannel、MethodChannel、…

MongoDB复制集实战及原理分析

文章目录 MongoDB复制集复制集架构三节点复制集模式PSS模式&#xff08;官方推荐模式&#xff09;PSA模式 典型三节点复制集环境搭建复制集注意事项环境准备配置复制集复制集状态查询使用mtools创建复制集安全认证复制集连接方式 复制集成员角色属性一&#xff1a;Priority 0属…

match-case与if/elif/else(python)

if/elif/else语句应对一般场景&#xff0c;match-case主打复杂条件分支语句。 (笔记模板由python脚本于2024年01月28日 18:27:37创建&#xff0c;本篇笔记适合有一定编程基础&#xff0c;对python基础已比较扎实的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1…

uniapp使用u-popup组件弹窗出现页面还可滑动

*1、问题所在&#xff1a; 弹窗遮罩层出现了页面依旧可以上下滑动 2、要求: 为了用户更好交互体验&#xff0c;弹窗出现后应禁止页面往下滑动 3、实现思路&#xff1a; 在弹窗盒子外层添加个阻止触摸冒泡事件&#xff0c;使用touchmove.stop.prevent 4、代码如下&#xff…

eosio.token 智能合约介绍

一、目的 eosio.token系统合约定义了允许用户为基于EOSIO的区块链创建、发行和管理代币的结构和操作&#xff0c;它演示了一种实现允许创建和管理代币的智能合约的方法。本文详细介绍了eosio.token系统合约并在本地测试链上实际发行了代币进行演示&#xff0c;适用于EOS智能合…

OJ刷题:《剑指offer》之单身狗1、2 !(巧用位操作符,超详细讲解!)

目录 1.单身狗1 1.1 题目描述 1.2排序寻找 1.3巧用位操作符 2.单身狗2 1.1 题目描述 1.2排序寻找 1.3巧用位操作符 不是每个人都能做自己想做的事&#xff0c;成为自己想成为的人。 克心守己&#xff0c;律己则安&#xff01; 创作不易&#xff0c;宝子们&#xff01;如…

homework day3

第三章 类与构造函数 一&#xff0e;选择题 1、下列不能作为类的成员的是&#xff08;B&#xff09; A. 自身类对象的指针 B. 自身类对象 C. 自身类对象的引用 D. 另一个类的对象 2、假定AA为一个类&#xff0c;a()为该类公有的函数成员&#xff0c;x为该类的一个对象&am…

如何在一台MacBook上构建大模型知识库?

▼最近直播超级多&#xff0c;预约保你有收获 今晚直播&#xff1a;《构建大模型知识库案例实战》 —1— 如何在一台 MacBook 上构建企业知识库&#xff1f; 最核心最重要的是我们手上的文档资料出于安全要求&#xff0c;不能随便上传到云服务&#xff0c;也就无法实际验证知识…