Stanford CS224N - word2vec

最近在听Stanford放出来的Stanford CS224N NLP with Deep Learning这门课,弥补一下之前nlp这块基础知识的一些不清楚的地方,顺便巩固一下基础知识😁

关于word2vec:

1.为什么要把单词表示成向量

一开始人们造了一个类似于词典表的东西-wordnet:
在这里插入图片描述
但是这里面存在一些问题,大概有这么几个:

  • 例如,“proficient”被列为“good”的同义词,但这只在某些情境下是正确的。
  • WordNet在某些同义词组中列出了冒犯性的同义词,而没有涵盖单词的内涵或适用性。
  • WordNet缺少对单词新含义的收录,例如"wicked"、“badass”、“nifty”、“wizard”、“genius”、“ninja”、"bombest"等。
  • 难以保持最新
  • 存在主观性的问题
  • 需要耗费大量人力来创建和调整
  • 不能用于准确计算单词相似度
    在这里插入图片描述
    再后来就有了one-hot编码:
    在这里插入图片描述
    但是嘞,用了一段时间以后人们发现这里还是存在一些问题,这里教授举了这样一个例子:

在网络搜索中的例子中,如果用户搜索“西雅图汽车旅馆”,我们希望匹配包含“西雅图酒店”的文档。
但是: 汽车旅馆 = [0 0 0 0 0 0 0 0 0 0 1 0 0 0 0]
酒店 = [0 0 0 0 0 0 0 1 0 0 0 0 0 0 0] 这两个向量是正交的。
对于独热向量来说,没有自然的相似度概念

提出的解决方案:学习将相似度编码在向量中。
更具体的说,从 context words 中去学习某个单词的意思,这也是word2vec思想的重要部分
所以归纳起来,把单词表示成我们想要的这种向量的好处可以概括为以下三个方面:

  • 数值表示:计算机只能处理数值数据,而文本是一种非结构化的数据形式。把单词转化为向量,可以将文本转化为数值表示,使得计算机可以对其进行处理和分析。这样,我们可以利用数值计算的优势,如向量运算、相似度计算等。
    在这里插入图片描述

  • 特征表示:将单词转化为向量可以捕捉到单词之间的语义和语法关系。向量空间中的距离和角度可以表示单词之间的相似性和关联性。这样的向量表示可以作为特征输入到各种NLP任务中。通过将单词转化为向量,我们可以将文本转化为可计算的特征,从而进行更高级的文本分析和处理。如图,将单词转化为高维向量以后语义相近的单词挨得比较近。
    如图

  • 维度降低:传统的文本表示方法,如独热编码,会将每个单词表示为一个高维稀疏向量,其中大部分元素为0。这种表示方法会导致高维度的特征空间,浪费存储空间和计算资源。通过将单词转化为低维稠密向量,可以实现维度的降低,减少存储和计算的开销,同时保留了单词之间的语义信息。

2.何为word2vec

课上给的定义:Word2vec (Mikolov et al. 2013) is a framework for learning word vectors

按照我的理解,Word2Vec是一种用于将单词表示为连续向量的算法,他的目标是通过学习单词之间的语义和语法关系,将单词嵌入到一个连续的向量空间中
在这里插入图片描述

3.具体实现步骤

  • 构建训练样本:
    Word2Vec模型的训练样本由目标单词和其上下文单词组成。在Skip-gram模型中,每个目标单词会与其周围的上下文单词配对;在CBOW模型中,每个上下文单词会与其对应的目标单词配对。这样可以为每个配对样本创建一对输入和输出。上课给出的例子是从头到尾滑动计算第 t + j t+j t+j个词和第 t t t个词(中心词)同时出现的概率,图示里把 i n t o into into当作中心词, t = 2 t=2 t=2,然后计算其他context word和中心词一起出现的概率
    在这里插入图片描述

  • 训练模型:
    使用构建的训练样本和神经网络架构,开始训练Word2Vec模型。训练过程中,模型的目标是通过最大化或最小化特定的目标函数来优化模型的参数。课堂上举的例子是负对数似然函数。通过迭代优化过程,模型逐渐学习到单词的向量表示,以捕捉单词之间的语义和语法关系。

表示出目标函数:
在这里插入图片描述
然后训练
在这里插入图片描述

  • 学习到的向量表示:
    一旦模型训练完成,每个单词都会被表示为一个固定长度的向量。这些向量在向量空间中的距离和角度反映了单词之间的相似性和关联性。这些向量可以用于各种NLP任务,如计算单词相似度、文本分类、命名实体识别等。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Squeeze-and-Attention Networks for Semantic Segmentation

0.摘要 最近,将注意力机制整合到分割网络中可以通过更重视提供更多信息的特征来提高它们的表征能力。然而,这些注意力机制忽视了语义分割的一个隐含子任务,并受到卷积核的网格结构的限制。在本文中,我们提出了一种新颖的squeeze-a…

Linux不间断会话服务

9.2.3远程传输命令 家里有2台电脑,一台是ubuntu虚拟机,另一台是rhel8虚拟机器,两台虚拟机都是通过桥接的方式(桥接方式就是虚拟机直接和路由器连接)上网。然后现在用ubuntu来使用sshd服务登录rhel8系统。 用ip addr命…

Arcgis聚合工具——实现简单的升尺度

找到Aggregate工具 按如下设置进行操作 注意:如有需要对应的低分辨率影像,必须点开右下角环境Environments选项,进行栅格的捕捉选项设置,以防止升尺度后的影像与需对应的低分辨率影像的栅格单元存在偏移。 点击OK,即可…

算法--排序算法效率比较

《算法设计与分析》课程实验报告 ( 实验一) 实验名称:排序算法效率比较 实验地点: 所使用的开发工具及环境: PC机,DEV 一、实验目的: 比较至少 4 种排序(从小到大排&#xff09…

大数据Flink(九十七):EXPLAIN、USE和SHOW 子句

文章目录 EXPLAIN、USE和SHOW 子句 一、EXPLAIN 子句 二、USE 子句

Ruby和面向对象技术

Ruby和许多极为流行的编程语言都是面向对象的。多数的面向对象编程语言,每个对象都是一个样例或者既定类的实例以及独立对象的行为。 一、创建一个通用对象 创建一个通用对象 obj Object.new定义通用对象的行为 def obj.talk puts "I am an object"p…

VMware——VMware17安装WindowServer2012R2环境(图解版)

目录 一、WindowServer2012R2镜像百度云下载二、安装 一、WindowServer2012R2镜像百度云下载 下载链接:https://pan.baidu.com/s/1TWnSRJTk0ruGNn4YinzIgA 提取码:e7u0 二、安装 打开虚拟机,点击【创建新的虚拟机】,如下图&…

直接插入排序

排序——先写单个——再衍生到整体 单个插入排序——在插入前数组里面的数是有序的,然后来了一个数据,就要用这个数组从后往前和这个数比较, 整体的话就是,end从0开始,循环n-1次 void TnsertSort(int* a,int n) {in…

SpringCloud: sentinel链路限流

一、配置文件要增加 spring.cloud.sentinel.webContextUnify: false二、在要限流的业务方法上使用SentinelResource注解 package cn.edu.tju.service;import com.alibaba.csp.sentinel.annotation.SentinelResource; import com.alibaba.csp.sentinel.slots.block.BlockExcept…

【Python】文件操作

一、文件的编码 思考:计算机只能识别:0和1,那么我们丰富的文本文件是如何被计算机识别,并存储在硬盘中呢? 答案:使用编码技术( 密码本)将内容翻译成0和1存入 编码技术即:翻译的规则,记录了如何将内容翻译成二进制,以及如何将二…

nginx平滑升级添加echo模块、localtion配置、rewrite配置

nginx平滑升级添加echo模块、location配置、rewrite配置 文章目录 nginx平滑升级添加echo模块、location配置、rewrite配置1.环境说明:2.nginx平滑升级原理:3.平滑升级nginx,并添加echo模块3.1.查看当前nginx版本以及老版本编译参数信息3.2.下…

【MyBatis】MyBatis日志信息配置

目录 什么是MyBatis相关的日志? 标准日志信息配置: 配置logback日志信息: 什么是MyBatis相关的日志? 首先什么叫做与MyBatis相关的日志呢?就是我们在执行sql语句的时候,如果没有MyBatis相关的日志&…

TX Text Control.NET 32.0 For WPF

TX Text Control 支持VISUAL STUDIO 2022、.NET 5 和 .NET 6 支持 .NET WPF 应用程序的文档处理 将文档编辑、创建和 PDF 生成添加到您的 WPF 应用程序中。 视窗用户界面 功能齐全的文档编辑器 TX Text Control 是一款完全可编程的丰富编辑控件,它在专为 Visual Stu…

基于java的校园论坛系统,ssm+jsp,Mysql数据库,前台用户+后台管理,完美运行,有一万多字论文

目录 演示视频 基本介绍 论文目录 功能架构 系统截图 演示视频 基本介绍 基于java的校园论坛系统,Mysql数据库,系统整体采用ssmjsp设计,前台用户后台管理,完美运行,有一万多字论文。 用户功能: 1.系统…

DVWA-impossible代码审计

文章目录 DVWA靶场—impossible代码审计1.暴力破解(Brute Force)1.1 代码审计1.2 总结 2.命令注入(Command Injection)2.1 代码审计2.2 总结 3.跨站请求伪造(CSRF)3.1 代码审计3.2 总结 4.文件包含漏洞&…

二叉搜索树的详解及Map和Set的介绍

目录 1.二叉搜索树 1.1二叉搜索树的介绍 1.2.二叉搜索树的实现 1.2.1二叉搜索树的创建 1.2.2查找关键字 1.2.3插入 1.2.4删除 1.3二叉搜索树的性能分析 2.Map Map官方文档 2.1Map 的常用方法说明 2.2关于Map.Entry的说明,> 2.3注意事项 2.4reeMap和HashMap的区别 …

E054-web安全应用-Brute force暴力破解进阶

课程名称: E054-web安全应用-Brute force暴力破解进阶 课程分类: web安全应用 实验等级: 中级 任务场景: 【任务场景】 小王接到磐石公司的邀请,对该公司旗下的网站进行安全检测,经过一番检查发现该网站可能存在弱口令漏洞…

MySql 数据库基础概念,基本简单操作及数据类型介绍

文章目录 数据库基础为什么需要数据库?创建数据库mysql架构SQL语句分类编码集修改数据库属性数据库备份 表的基本操作存在时更新,不存在时插入 数据类型日期类型enum和set 数据库基础 以特定的格式保存文件,叫做数据库,这是狭义上…

【交互式分割】——数据可视化

ritm, 交互式分割 数据可视化 数据包括一张图片 正样本点 负样本点 二分类的mask标签 如何模拟多次点击的迭代过程?

【计算机网络笔记】计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 系列文章目录时延带宽积丢包率吞吐量/率&am…