Stanford CS224N - word2vec

news2025/1/16 8:42:33

最近在听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.coloradmin.cn/o/1111485.html

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

相关文章

【系统与工具】系统环境——VMware安装系统

文章目录 0.1 安装VMware0.2 下载ubuntu镜像0.3 创建系统实例0.4 安装ubuntu0.5 实例配置项0.5.1 安装VMware tools0.5.2 修改静态IP0.5.3 ssh连接 0.6 克隆0.6.1 克隆实例生成MAC地址 0.6.2 修改静态ip0.6.3 修改主机密码名称 参考:https://blog.csdn.net/m0_51913…

MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%?

MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%? 前言 上篇文章MySQL字段的时间类型该如何选择?千万数据下性能提升10%~30%🚀我们讨论过时间类型的选择 本篇文章来讨论MySQL中字符类型的选择并来深入实践char与varchar类型…

DVWA-JavaScript Attacks

JavaScript Attacks JavaScript Attack即JS攻击&#xff0c;攻击者可以利用JavaScript实施攻击。 Low 等级 核心源码&#xff0c;用的是dom语法这是在前端使用的和后端无关&#xff0c;然后获取属性为phrase的值然后来个rot13和MD5双重加密在复制给token属性。 <script&…

成集云 | 成销云移动商城集成用友NC | 解决方案

方案产品介绍 成销云移动商城系统&#xff0c;支持商品管理、会员管理、营销活动、订单管理等多种模块功能&#xff0c;帮助企业解决时间、库存和服务方面的难题&#xff0c;助力企业实现数字化产业升级。 用友NC是用友NC产品的全新系列&#xff0c;是面向集团企业的世界级高…

09-Vue基础之实现注册页面

个人名片&#xff1a; &#x1f60a;作者简介&#xff1a;一名大二在校生 &#x1f921; 个人主页&#xff1a;坠入暮云间x &#x1f43c;座右铭&#xff1a;懒惰受到的惩罚不仅仅是自己的失败&#xff0c;还有别人的成功。 &#x1f385;**学习目标: 坚持每一次的学习打卡 文章…

企业IT资产设备折旧残值如何计算

环境&#xff1a; 企业/公司 IT资产 问题描述&#xff1a; 企业IT设备折旧残值如何计算&#xff1f; 解决方案&#xff1a; 1.按三年折旧 净值原值-月折旧额折旧月份 &#xff0c; 月折旧额原值(1-3%)/36 折旧月份ROUND(E2*(1-3%)/36,2) 2.净值E2-F2*G2

实测文心一言4.0,真的比GPT-4毫不逊色吗?

10月17日&#xff0c;李彦宏在百度世界2023上表示。当天&#xff0c;李彦宏以《手把手教你做AI原生应用》为主题发表演讲&#xff0c;发布文心大模型4.0版本。 今天&#xff0c;咱们就开门见山啊。这一回要测一测&#xff0c;昨天才发布的文心一言大模型 4.0。 之所以要测它&…

腾讯待办宣布关停,哪款待办事项提醒APP好?

如果你之前一直使用微信中的“腾讯待办”小程序来记录待办事项并设置定时提醒&#xff0c;那么你就会发现腾讯待办在2023年10月16日通过其官方微信公众号、小程序发布了业务关停公告&#xff0c;将于2023年12月20日全面停止运营并下架&#xff0c;并且有导出数据的提示。 腾讯…

Systemverilog断言介绍(四)

3.3 SEQUENCES, PROPERTIES, AND CONCURRENT ASSERTIONS 3.3.1 SEQUENCE SYNTAX AND EXAMPLES 一个序列是在一段时间内发生的一组值的规范。构建序列所使用的基本操作是延迟规范器&#xff0c;形式为##n&#xff08;表示特定数量的时钟&#xff09;或##[a:b]&#xff08;表示…

【AIGC核心技术剖析】用于高效 3D 内容创建生成(从单视图图像生成高质量的纹理网格)

3D 内容创建的最新进展主要利用通过分数蒸馏抽样 &#xff08;SDS&#xff09; 生成的基于优化的 3D 生成。尽管已经显示出有希望的结果&#xff0c;但这些方法通常存在每个样本优化缓慢的问题&#xff0c;限制了它们的实际应用。在本文中&#xff0c;我们提出了DreamGaussian&…

【AIGC核心技术剖析】改进视频修复的传播和变压器(动态滤除环境中的物体)

基于流的传播和时空变压器是视频修复&#xff08;VI&#xff09;中的两种主流机制。尽管这些组件有效&#xff0c;但它们仍然受到一些影响其性能的限制。以前基于传播的方法在图像域或特征域中单独执行。与学习隔离的全局图像传播可能会由于光流不准确而导致空间错位。此外&…

JS加密/解密那些必须知道的事儿

一直以来&#xff0c;字符串的编码问题对于新手程序员来说&#xff0c;或者平常不太涉猎这方面的程序员来说&#xff0c;是犹如灵异学一样的存在。经常会遇到莫名其妙的编码问题&#xff0c;导致的各种的无法理解的错误。 ​ 今天&#xff0c;本问就来介绍一下作者所知晓的一切…

京东API商品详情页,商品列表数据,商品评论数据采集

作为国内最大的电商平台之一&#xff0c;京东数据采集具有多个维度。 有人需要采集商品信息&#xff0c;包括品类、品牌、产品名、价格、销量等字段&#xff0c;以了解商品销售状况、热门商品属性&#xff0c;进行市场扩大和重要决策&#xff1b; 京东数据采集的方法 既然京…

面试 4

1、作用域 w3scholl中定义&#xff1a;作用域指的是您有权访问的变量集合。 作用域是指在程序中定义变量的区域&#xff0c;该位置决定了变量的生命周期。通俗理解&#xff0c;作用域就是变量与函数的可访问范围&#xff0c;即作用域控制着变量和函数的可见性和生命周期。 在…

【C++】特殊类的设计(只在堆、栈创建对象,单例对象)

&#x1f30f;博客主页&#xff1a; 主页 &#x1f516;系列专栏&#xff1a; C ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ &#x1f60d;期待与大家一起进步&#xff01; 文章目录 一、请设计一个类&#xff0c;只能在堆上创建对象二、 请设计一个类&#xff0c;只能…

Golang interface 多态/类型断言

基本介绍 变量(实例)具有多种形态。面向对象的第三大特征&#xff0c;在Go语言&#xff0c;多态特征是通过接口实现的&#xff08;接口能够体现多态的特征&#xff09;。可以按照统一的接口来调用不同的实现。这时接口变量就呈现不同的形态。 在前面的Usb接口案例&#xff0c;u…

【01】LVGL-CodeBlock模拟器安装 | LVGL工程下载 | PC端模拟LVGL步骤

LVGL模拟器 1.LVGL模拟器介绍2.Windows环境搭建CodeBlock及获取LVGL工程3.PC端模拟LVGL4.总结 1.LVGL模拟器介绍 LVGL模拟器&#xff1a;使用PC端软件模拟LVGL运行&#xff0c;而不需要任何嵌入式硬件。优点&#xff1a;便于学习、跨平台协同开发 2.Windows环境搭建CodeBlock及…

【每日一题】—— B. Arrays Sum (Grakn Forces 2020)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;每日一题 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日反刍 &#x1f7e1; C跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓称…

GO 语言的方法??

GO 中的方法是什么&#xff1f; 前面我们有分享到 GO 语言的函数&#xff0c;他是一等公民&#xff0c;那么 GO 语言中的方法和函数有什么区别呢&#xff1f; GO 语言中的方法实际上和函数是类似的&#xff0c;只不过在函数的基础上多了一个参数&#xff0c;这个参数在 GO 语…

深度学习(12)之模型训练[训练集、验证集、过拟合、欠拟合]

模型训练[训练集、验证集、过拟合、欠拟合] 在不断补充训练数据集的过程中&#xff0c;发现纯粹增加数据集并不会使得模型效果单向地变好&#xff0c;如果是多目标检测模型的话&#xff0c;常会出现精度变低的现象本文想总结在模型训练时的一些注意事项&#xff0c;比如训练集…