自然语言处理-词向量模型-Word2Vec

目录

一、前言

二、词向量

三、词向量的实际意义

四、模型的整体框架

五、构建输入数据

六、不同模型的对比

七、负采样方案

八、总结 


一、前言

        计算机只认识数值数字,那么怎么认识自然语言呢???答案就是将自然语言转换转换成数值,就词向量。

        先来考虑一个问题,如何能将文本向量化呢???看起来比较抽象,可以先从人的角度来观察。

        如何来描述一个人呢???只用身高或者体重,还是,综合其各项指标呢??

        例如:Kevin Durant 身高211cm, 体重90kg,这能完全描述他吗???当然不能,还有NBA超巨,全明星,死神,等等描述。

二、词向量

        词向量(Word Embedding)是自然语言处理(NLP)中的一种技术,它可以将词汇表中的单词或短语映射到实数向量空间。以下是关于词向量的详细介绍:

  • 词向量的核心在于将每个单词表示为高维空间中的一个点,这些点不仅代表了单词的语义信息,还可以通过计算向量之间的距离来分析词语之间的关联性和相似性。
  • 词向量的生成方法包括神经网络、单词共生矩阵降维、概率模型等,这些方法使词向量能够捕捉到语言数据中的分布属性,从而量化语言项之间的语义相似性。
  • 词向量已被广泛应用于各种NLP任务中,如语法分析、情感分析、命名实体识别、同义词寻找、词性标注、语义角色标注、句法分析和短语识别。

词向量的一个重要优势是它们能够捕获单词之间的细微差别和语义关系,例如,“king”和“queen”之间的向量差异可以反映出性别差异。尽管词向量技术已经相当成熟,但它们仍面临一些限制,比如可能将单词的多个含义混合在一个单一的向量中,这限制了对具有多重含义单词的精确表达。未来的研究可能会集中在如何改进词向量技术,以更准确地表示单词的含义和用法。

        例如:Kevin Durant生成的词向量

0.023230.33452-0.978651.35533-9.234432.23344...3.99457

        那么这个向量在我们人看来,不能理解为什么是这样,但是计算机可以认出来,这个就是Kevin Durant,包括他所有的描述。而且这个向量的维度50~300维(google得出的)。

        只要有了向量就可以用不同的方法来计算相似度。

        通常用欧氏距离,余弦距离等等。

                cosine\_ similarity([-0.4,0.8],[-0.3,0.2])=0.87\;yes

                cosine\_ similarity([-0.4,0.8],[-0.5,-0.4])=-0.20\;no

        如果我们用一个二维的向量空间来表达词向量,可以吗???

        

        虽然可以表达,但是表达的信息太少了。 

        通常,数据维度越高,能够提供的信息越多,从而计算的结果的可靠性就更值得信赖。

        那么词向量真真的有实际意义吗?或者说能表达出词的意思吗?

三、词向量的实际意义

        我们先看这样的图

   

        其实King和Queen他们又有实际意义,而且两个词都相似,所以在词向量表达中,有相同的部分。 

        光看数字我们难以观察到,把数字转换成热度图。

        假如,我们已经训练好了一个词的向量

   

四、模型的整体框架

        在词向量模型中输入和输出分别是什么???

         

        让模型学到一个词用什么样的向量表达最为合适。

        如果用神经网络来训练模型,就是让神经网络学到前后文的一个逻辑关系。

                 

        我们可以看到,输入单词进入模型,然后模型训练,前向传播得到损失值,反向传播,更新参数,更新embeddings表。

        这里 embeddings表 指的是语料库的一个大表,它装有所有的词。而且是用词向量来表达。在开始的时候对于这个表进行一个类似于神经网络权重参数的初始化操作。而且与神经网络不同的是不仅仅要更新权重参数,还要跟新此表,达到让模型学到一个词用什么样的向量表达最为合适的目的。

        查找输入的词,得到词向量,在经过向量矩阵计算得到一个结果值,类似于做一个分类任务,看那个词的概率最大。这样达到预测到下一个词是什么,让神经网络学到前后文的一个逻辑关系的目的

五、构建输入数据

        数据从哪里来?

        everywhere,只要符合自然语言的上下文逻辑即可。

        如何构建训练数据

         

        可以自己构建数据集,在一篇文章中,采用滑动窗口策略。

         这样其实来看,输入数据集是很好构建的。

六、不同模型的对比

         1. CBOW模型

              

        如图,采用滑动窗口策略,Jay was hit by a 框起来,那么输入就是Jay was by a 输出就是 hit。 

  2. Skipgram模型

        同样的,采用滑动窗口策略, Jay was hit by a 框起来,那么输入就是 hit  输出就是  Jay was by a。

        

七、负采样方案

        问题:一个语料库很大,5W,10W,100W,那么在做得分计算,损失计算,概率计算,SoftMax归一化的时候,计算量可想而知的大。那么如何去处理这样的一个问题呢???

        初始方案:输入两个单词看看他们是不是前后文对应的输入和输出,也就相当于一个二分类任务了。

        出发点很好,但此时训练集构建出来的标签按照二分类标准来说就全是1了,无法进行较好的训练。

 改进方法:

        负采样方案

        

        意思就是在构造数据集时,加入一些不对应上下文的词,并且标签设置为0。上图以Skipgram模型为例,一般加入5个负采样的样本。

八、总结 

        1. 初始化磁向量矩阵

        

        input word和output word都是输入数据,且input word在Embedding里找,output word在Context里找。

        2. 通过神经网络反向传播来计算更新,不光更新权重矩阵W,也要更新输入数据。

 

        3. 得到最有可能的值。 

         

         

       

        

      

         

        

        

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

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

相关文章

GFS分布式 文件系统

一、GFS的概念 文件存储分为nfs、lvm、raid 对象存储分为GFS、CEPH、fastDFS(分布式文件存储)NAS OSS S3 switch OSS 属于阿里云 通过URL 链接 S3属于亚马逊通过URL链接 1.1 GFS简介 开源的分布式文件系统,由存储服务器、客户端…

《系统架构设计师教程(第2版)》第8章-系统质量属性与架构评估-03-ATAM方法架构评估实践(下)

文章目录 3. 测试阶段3.1 头脑风暴和优先场景(第7步)3.1.1 理论部分3.1.2 示例 3.2 分析架构方法(第8步)3.2.1 调查架构方法1)安全性2)性能 3.2.2 创建分析问题3.2.3 分析问题的答案胡佛架构银行体系结构 3…

git查看单独某一个文件的历史修改记录

git查看单独某一个文件的历史修改记录 git log -p 文件具体路径 注意,Windows下默认文件路径分隔符是 \,在git bash 里面需要改成 /。 git基于change代码修改与提交_git change-CSDN博客文章浏览阅读361次。git cherry-pick:复制多个提交comm…

使用Nodejs + express连接数据库mongodb

文章目录 先创建一个js文档安装 MongoDB 驱动程序:引入 MongoDB 模块:设置数据库连接:新建一个表试试执行数据库操作:关闭数据库连接: 前面需要准备的内容可看前面的文章: Express框架搭建项目 node.js 简单…

麻雀优化算法(Sparrow Search Algorithm)

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) 算法背景 麻雀算法(Sparrow Search Algorithm, SSA)是一种受自然界麻雀群体行为启发的优化算法。想象一下,一…

(表征学习论文阅读)A Simple Framework for Contrastive Learning of Visual Representations

Chen T, Kornblith S, Norouzi M, et al. A simple framework for contrastive learning of visual representations[C]//International conference on machine learning. PMLR, 2020: 1597-1607. 1. 前言 本文作者为了了解对比学习是如何学习到有效的表征,对本文所…

3. Django 初探路由

3. 初探路由 一个完整的路由包含: 路由地址, 视图函数(或者视图类), 可选变量和路由命名. 本章讲述Django的路由编写规则与使用方法, 内容分为: 路由定义规则, 命名空间与路由命名, 路由的使用方式.3.1 路由定义规则 路由称为URL (Uniform Resource Locator, 统一资源定位符)…

蓝桥杯简单模板

目录 最大公约数 两个数的最大公约数 多个数的最大公约数 最小公倍数 两个数的最小公倍数 多个数的最小公倍数 素数 ​编辑 位数分离 正写 ​编辑 反写 闰年 最大公约数 两个数的最大公约数 之前看见的是辗转相除法,例如现在让算一个49,21…

该主机与 Cloudera Manager Server 失去联系的时间过长。 该主机未与 Host Monitor 建立联系

该主机与 Cloudera Manager Server 失去联系的时间过长。 该主机未与 Host Monitor 建立联系 这个去集群主机cm界面上看会出现这个错误 排查思路: 一般比较常见的原因可能是出问题的主机和集群主节点的时间对应不上了。还有就是cm agent服务出现问题了 去该主机的…

React - 你使用过高阶组件吗

难度级别:初级及以上 提问概率:55% 高阶组件并不能单纯的说它是一个函数,或是一个组件,在React中,函数也可以做为一种组件。而高阶组件就是将一个组件做为入参,被传入一个函数或者组件中,经过一定的加工处理,最终再返回一个组件的组合…

不使用 Docker 构建 Triton 服务器并在 Google Colab 平台上部署 HuggingFace 模型

Build Triton server without docker and deploy HuggingFace models on Google Colab platform EnvironmentBuilding Triton serverDeploying HuggingFace models客户端推荐阅读参考 Environment 根据Triton 环境对应表 ,Colab 环境缺少 tensorrt-8.6.1&#xff0…

IP地址到底有什么用

IP地址在计算机网络中的作用至关重要,它不仅是设备在网络中的唯一标识,更是实现网络通信、网络管理和安全的关键要素。下面,我们将从多个方面详细阐述IP地址的作用。 首先,IP地址作为设备的唯一标识,为网络通信提供了…

再探Java为面试赋能(二)Java基础知识(二)反射机制、Lambda表达式、多态

文章目录 前言1.4 反射机制1.4.1 Class对象的获取1.4.2 Class类的方法1.4.3 通过反射机制修改只读类的属性 1.5 Lambda表达式1.5.1 函数式接口1.5.2 Lambda表达式的使用 1.6 多态1.6.1 多态的概念1.6.2 多态的实现条件1.6.3 重载(Overload)和重写&#x…

用Python+OpenCV截取视频中所有含有字幕的画面

1、需求背景 有的视频文件的字幕已经压制到了视频的图像中,不能单独提取出字幕文件。网上的 “提取视频字幕” 网站多为提取视频中的字幕文件,而非识别视频图像中的字幕。少数通过OCR技术识别画面中字幕的工具需要在线运行、运行速度较慢,或…

力扣2- 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 …

前端layui自定义图标的简单使用

iconfont-阿里巴巴矢量图标库 2. 3. 4.追加新图标 5.文件复制追加新图标

TCP/IP协议、HTTP协议和FTP协议等网络协议简介

文章目录 一、常见的网络协议二、TCP/IP协议1、TCP/IP协议模型被划分为四个层次2、TCP/IP五层模型3、TCP/IP七层模型 三、FTP网络协议四、Http网络协议1、Http网络协议简介2、Http网络协议的内容3、HTTP请求协议包组成4、HTTP响应协议包组成 一、常见的网络协议 常见的网络协议…

DIY可视化UniApp表格组件

表格组件在移动端的用处非常广泛,特别是在那些需要展示结构化数据、进行比较分析或提供详细信息的场景中。数据展示与整理:表格是展示结构化数据的理想方式,特别是在需要展示多列和多行数据时。通过表格,用户可以轻松浏览和理解数…

vue 中使 date/time/datetime 类型的 input 支持 placeholder 方法

一般在开发时,设置了 date/time/datetime 等类型的 input 属性 placeholder 提示文本时, 发现实际展示中却并不生效,如图: 处理后效果如图: 处理逻辑 判断表单项未设置值时,则设置其伪类样式,文…

2024-04-08 NO.6 Quest3 自定义交互事件

文章目录 1 交互事件——更改 Cube 颜色2 交互事件——创建 Cube2.1 非代码方式2.2 代码方式 ​ 在开始操作前,我们导入上次操作的场景,相关介绍在 《2024-04-08 NO.5 Quest3 手势追踪进行 UI 交互-CSDN博客》 文章中。 1 交互事件——更改 Cube 颜色 …