NLP学习笔记十一-word2vec模型

news2024/11/15 14:09:42

NLP学习笔记十一-word2vec模型

再介绍word2vec模型之前,我们需要先介绍一些背景知识。

我们只知道,NLP这一领域在ward2vec出现之前肯定也是有很大程度发展的,那么想要用将自然语言用计算机进行处理,进行计算,我们必须对自然语言进行数字转换,那在一些词向量编码没有出现之前,我们一般使用one-hot技术对文本进行编码,一般使对文本进行分词,或者分字符,然后进行编码,这样就可以将自然语言信息数字化,计算机就可以识别和处理,但是呢,很快人们就发现one-hot编码技术是有着很大缺陷的,比如如果我们的编码类别达到几万,几十万,那么每个编码元素的向量长度就会使几万,甚至几十万,这会很大程度上增加内存的开销和计算的开销,而且one-hot编码技术如果对词语进行编码不能体现词语之间的内在联系。

所以,人们开始寻找另一中自然语言编码方式,力求不仅可以使得编码向量长度不那么长,而且还可以体现编码元素至今的内在联系。

下面我们再介绍一个知识点:自然语言中的分布广泛性,分布广泛性这一概念提出可谓是使得自然语言领域发生了翻天覆地变化,基于这一理念,出现了很多的词语编码模型,word2vec模型也是由此而出,分布广泛性这一原理就是说,一个词语,具有其自身的固定内在含义,那么由于它本身的内在含义,所以它在句子中的用法也会是有所限制,他的分布是由规律的,每个词语只会分布在有限的语境中,且分布是有规律的。
比如如下,banking,它的分布,每个词语,上下文不会是任意的,因为其自身含义的影响,上下文也是有规律的。
在这里插入图片描述

在介绍word2vec-skip-gram模型
skip-gram模型其实是一个概率模型,skip-gram模型给定它一个文本数据集,在给他一个窗口参数m,会得到每个文本中单词的词向量。

我们来看一下,skip-gram模型的的计算示意图:
在这里插入图片描述
skip-gram模型基本用上面这张图就可以描述出来,上面这图是什么意思呢?

skip-gram模型输入的一个词语序列如下: [ w t − m , w t − m − 1 , . . . . , w t , . . . . w t + m − 1 , w t + m ] [w_{t-m},w_{t-m-1},....,w_{t},....w_{t+m-1},w_{t+m}] [wtm,wtm1,....,wt,....wt+m1,wt+m]
首先,我们知道,skip-gram模型的输入是什么呢,是一个词语序列,比如那么每个词语肯定不能直接做计算机的,需要先进性数字编码,我们还得用到one-hoe编码:

在这里插入图片描述
如上图啊,我标黄的就是我们的one-hot编码的部分:
就是对我们输入的一个文本序列进行one-hot编码: [ w t − m , w t − m − 1 , . . . . , w t , . . . . w t + m − 1 , w t + m ] [w_{t-m},w_{t-m-1},....,w_{t},....w_{t+m-1},w_{t+m}] [wtm,wtm1,....,wt,....wt+m1,wt+m]
编码完之后, w t w_{t} wt作为输入,乘以一个词向量表示矩阵,就是, w t w_{t} wt是一个01向量嘛,然后将它乘以一个矩阵,其实会把这个矩阵的某一行列出来,这一列其实也就是我们最后提取出的词向量表示,然后呢,我们把这个词向量在乘以2m 个mxn 的矩阵在进行softmax转化,是不是分别得到了2m个 1xn的向量。
注意:n就是输入数据集词语的类别个数。
那其实这2m个 1xn的向量 对应的就是他的上下文预测序列,向量中最大值对应的索引,该索引对应的单词即为预测的背景词汇。
注意:上面的2m 个mxn 矩阵都是同一个矩阵,所以这里也是博主很疑惑的一点,想了很久也没想通,每个位置的背景词汇按理不应该一样啊,但是,他用的确实同一个矩阵,所以skip-gram模型是有一个很大的问题的,他其实在论文中标识除了上下文位置的区分度,也就是上下文词汇是有位置去别的,但是这个模型在真正处理的时候,把上下文的词汇忽略了位置因素,相当于看成了一个集合,所以2m 个mxn 矩阵都是同一个矩阵。这才是正解,但是我看了很多资料很多人都只是浅浅的理解了一下这个模型。

注意:skip-gram模型其实并没有将上下文词汇位置的因素考虑进模型中。

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

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

相关文章

JQuery全部详细笔记-下

JQuery全部详细笔记-下 jQuery 的 DOM 操作 查找节点, 修改属性 查找属性节点: 查找到所需要的元素之后, 可以调用 jQuery 对象的 attr() 方法来获取它的各种属性值 应用实例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UT…

RK3288 Android8.1添加lvds以及gt9触摸屏(二)

现在先说gt9触摸屏如何配置 首先拿到硬件厂商提供的cfg以及gt9xx文件夹 驱动源码路径&#xff1a;kernel/drivers/input/touchscreen/gtxx 注&#xff1a;可以自己定义最后把gt9xx.h以及gt9xx.c文件放在哪&#xff0c;放在哪就在makefile里指定对应位置 1.touchscreen文件夹…

耗时108天,阿里P8总结了 1000 道 Java 工程师面试题

半年前还在迷茫该学什么&#xff0c;怎样才能走出现在的困境&#xff0c;半年后已经成功上岸阿里&#xff0c;感谢在这期间帮助我的每一个人。 面试中总结了 1000 道经典的 Java 面试题&#xff0c;里面包含面试要回答的知识重点&#xff0c;并且我根据知识类型进行了分类&…

写一个自定义View你都需要注意什么

本文主要是记录一下继承子View&#xff0c;所需要实现的方法&#xff0c;以及对自己的知识做一下梳理和记录&#xff0c;其中不少内容觉得自己应该是会的&#xff0c;但是实际写起来&#xff0c;还是遇到不少阻碍 构造方法 首先构造先了解一下构造方法&#xff0c;一般来说&a…

和悦未来社区:助力共同富裕,三思打造智慧社区新样板

“共同富裕是社会主义的本质要求&#xff0c;是中国式现代化的重要特征&#xff0c;是人民群众的共同期盼。” 2021年5月20日&#xff0c;《中共中央 国务院关于支持浙江高质量发展建设共同富裕示范区的意见》正式发布。 浙江省作为共同富裕先行示范省份&#xff0c;行而不辍…

SpringCloud microservice-student-consumer-80服务消费者项目建立(四)

新建一个服务器提供者module子模块&#xff0c;类似前面建的common公共模块&#xff0c;名称是 microservice-student-consumer-1001 pom.xml修改&#xff1a; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSc…

01 UML概述

UML概述 (1) 规约系统的制品–UML适用于对所有重要的分析、设 计和实现决策进行详细描述 (2) 构造系统的制品–UML描述的模型可与各种编程语言直接相关联 UML应用范围 (1)可用于对象方法和构件方法&#xff1b; (2)可用于 ●所有应用领域(例如&#xff0c;航空航天、财政、通…

重生之我测阿里云U1实例(通用算力型实例)

官方福利&#xff01;&#xff01;&#xff01;&#xff01;大厂羊毛你确定不薅&#xff1f;&#xff1f;&#xff1f; 参与ECSU实例评测&#xff0c;申请免费体验机会&#xff1a;https://developer.aliyun.com/mission/review/ecsu 参与ECSU实例评测&#xff0c;申请免费体验…

CVPR 2023 | 基于金字塔模型的异常检测方法

来源&#xff1a;投稿 作者&#xff1a;橡皮 编辑&#xff1a;学姐 论文链接&#xff1a;https://arxiv.org/pdf/2211.11317 0.背景&#xff1a; 工业异常检测旨在发现产品的异常区域&#xff0c;在工业质量检测中发挥着重要作用。在工业场景中&#xff0c;很容易获得大量的正…

阿里云RAM凭据插件应用纪实

官方传送 官方文档传送门 官方源码传送门 记录日期 2023-06-13 背景简介 项目中主要使用了OSS&#xff0c;本文记录在OSS SDK中的使用方法 引入依赖 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactI…

一波未平一波又起!加密市场静候利率决议!美联储将会如何演绎?

过去一周&#xff0c;加密市场主要根据SECvs币安&Coinbase的诉讼案件做出反应&#xff0c;但本周市场行情或将以宏观事件为主导&#xff0c;市场短期内仍看不到明确的方向。 因通胀意外反弹&#xff0c;曾暂停加息的澳大利亚央行、加拿大央行近期宣布继续加息&#xff0c;让…

企业软文投稿流程是怎样的,投稿有什么要求?

随着互联网的快速发展&#xff0c;传统的线下推广已经不再是企业宣传的唯一选择。越来越多的企业开始关注线上平台&#xff0c;尤其是软文投稿。那么&#xff0c;企业软文投稿流程是怎样的&#xff1f;投稿有什么要求呢&#xff1f;本文伯乐网络传媒将为大家详细介绍。 1.确定投…

GORM---高级查询

文章目录 构建Demo数据模型定义数据表 高级查询子查询选择字段排序数量偏移总数Group & Having连接 Pluck扫描 构建Demo数据 模型定义 type Users struct {Id uint64 gorm:"primary_key;NOT NULL"EmailId uint64 gorm:"foreignKey:email_id;referenc…

python + pytest 接口自动化 —— 参数关联

什么是参数关联&#xff1f; 参数关联&#xff0c;也叫接口关联&#xff0c;即接口之间存在参数的联系或依赖。在完成某一功能业务时&#xff0c;有时需要按顺序请求多个接口&#xff0c;此时在某些接口之间可能会存在关联关系。 比如&#xff1a;B接口的某个或某些请求参数是…

高级数据结构-线段树

线段树 线段树树基于分治思想的二叉树&#xff0c;用来维护区间信息(区间和、区间最大值、区间最小值等等)。可以在 O ( l o g n ) O(logn) O(logn)的时间内完成区间信息的查询和修改。 线段树中每个叶子结点存储元素本身&#xff0c;非叶子结点存储区间内元素的统计值 节点数组…

C#多线程Task常见问题(二)

1 多线程临时变量 2 线程安全和锁lock 3 线程安全策略总结 线程安全和锁lock 线程安全问题&#xff1a;一段程序逻辑在单线程中执行和多线程中执行&#xff0c;结果一致说明线程是安全的&#xff1b;如果结果不同说明线程不安全。 同样先看一个例子&#xff1a;分别用主线程…

唯品会宕机惨案,损失超亿元!故障来时如何迅速应对?

01 事件回顾 对于IT工程师来说&#xff0c;宕机并非新鲜话题&#xff0c;经历过一次服务器宕机&#xff0c;职业生涯才“完整”。但如果事故超过 12 小时&#xff0c;或许会直接造成职业生涯“宕机”。 3月29日发生的突发事件&#xff0c;#唯品会App崩了 冲上热搜&#xff0…

最全整理,完整一套WEB/APP/接口测试测试流程,全面覆盖...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 web测试流程 需求…

Java --- springboot3整合redis

目录​​​​​​​ 一、整合redis 1.1、导入pom依赖 1.2、修改springboot配置文件 1.3、代码测试 二、测试访问redis五大常用数据类型 三、自动配置原理 四、定制化 4.1、解决redis存储序列化乱码问题 4.2、redis客户端使用jedis 一、整合redis 1.1、导入pom依赖 …

【考试】2023年5月软件设计师考试感受

前言❤️ 由于考试地点距离住的地方很远&#xff0c;一个南面一个北面&#xff0c;所以BZ选择了提前一天去到考试地点附近&#xff0c;住在考点附近。吃了晚饭后。到住的地方大概9点多&#xff0c;洗漱完&#xff0c;10点左右开始考前过知识点&#xff0c;复习到凌晨3点左右。…