3. 自然语言处理NLP:具体用途(近义词类比词;情感分类;机器翻译)

news2025/1/24 22:41:08
一、求近义词和类比词

1. 近义词

方法一:在嵌入模型后,可以根据两个词向量的余弦相似度表示词与词之间在语义上的相似度。

方法二:KNN(K近邻)

2. 类比词

使用预训练词向量求词与词之间的类比关系。eg:man:woman; son:daughter

对于类比关系中的4个词,a:b :: c:d, 给定前三个词a、b、c,求第四个词d (vec(c) +vec(b) - vec(a) )

二、文本情感分类:使用循环神经网络

使用文本情感分类来分析作者的情绪

  1. 分类数据集,特到特征向量

”1“表示“正面”,“0”表示“负面”。

  1. 使用双向循环神经网络对特征进一步编码
  2. 将编码通过全连接层变为输出

三、文本情感分类:使用卷积层(textCNN)

可以将文本当成一维图像,从而可以用一维卷积神经网络来捕捉临近词之间的关联。

  1. 定义多个一维卷积核,并使用这些卷积核对输入分别做卷积计算,宽度不同的卷积核可能会捕捉到不同个数的相邻词的相关性。
  2. 对输出的所有通道分别做时序最大池化,再将这些通道的池化输出值连接为向量。
  3. 通过全连接层将连接后的向量变换为有关各类别的输出,这一步可以使用丢弃层应对过拟合。

相关模型:

1. 一维卷积层:从输入数组的最左方开始,按从左到右的顺序,依次在输入数组上滑动。当滑动到某一位置时,窗口中输入子数组与核数组按元素相乘并求和,得到输出数组中相应位置的元素。0×1+1×2=2

2. 多输入通道的一维互相关运算

2×(−1)+3×(−3)+1×3+2×4+0×1+1×2=2

单输入通道的二维互相关运算

3. 时序最大池化层

池化(pooling)的本质是采样,选择某种方式进行压缩降维,以加快运算。

最大池化:求每个通道所有时间步中最大的数值。

时序最大池化层的输入在各个通道上的时间步数可以不同,主要目的是抓取时序中最重要的特征,通常能使模型不受人为添加字符的影响。

四、机器翻译(编码器与解码器(seq2seq);搜索;注意力机制)

1. 编码器与解码器(transformer;seq2seq)

输入和输出都可以是不定长序列,这时需要用到编码器-解码器(encoder-decoder)

编码器:把一个不定长的输入序列变换成一个定长的背景变量c。

解码器:将中间变量输出成条件概率。(输入为上一步的输出,以及背景变量c,并将它们与上一时间步的隐藏状态St-1变换为当前时间步的隐藏状态St)

最后最大化输出序列的条件概率,对输出序列损失的均值使用最小化损失函数.

2.  搜索

使用编码器-解码器预测不定长的序列。

贪婪搜索:对于输出序列的每个时间步,从|y|个词中搜索出条件概率最大的词,核心思想是每次都选择局部最优解,但该算法并不能保证最后得出的结果是全局最优解。

穷举搜索:穷举所有的输出序列,输出条件概率最大的序列,但是计算开销很容易过大。

束搜索:通过灵活的束宽来衡量计算开销和搜索质量。

在每一个时间步,不再只保留当前分数最高的1个输出,而是保留num_beams个。当num_beams=1时集束搜索就退化成了贪心搜索。

下图是一个实际的例子,每个时间步有ABCDE共5种可能的输出,即,图中的num_beams=2,也就是说每个时间步都会保留到当前步为止条件概率最优的2个序列。

3. 注意力机制

用来自动学习和计算输入数据对输出数据的贡献大小。

解码器通过在各个时间步依赖的相同的背景变量来获取输入序列信息,当编码器为循环神经网络时,背景变量来自它最终时间步的隐藏状态。

      注意力机制在于,解码器在每个时间步对输入的不同信息(背景变量)分配不同的注意力。解码器在每一时间步调整这些权重,即注意力权重。

     关键的两点在于,如何计算背景变量c,以及如何用它来更新隐藏状态s。

引用:动手学机器学习 李沐

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

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

相关文章

同等学力申硕在职研究生,到底有没有含金量

🔎 同等学力申硕的含金量怎么样?值得报考吗? 所谓同等学力申硕的含金量,其实就是指硕士学位证书所能带来的价值。 同等学力申硕不属于学历教育,硕士学位证书不能提高学历,也就是说我们毕业之后&#xff0…

如何在 GNU Linux 上通过 Nvm 安装 Node 和 Npm?

Node.js 是一个流行的 JavaScript 运行时环境,用于开发服务器端和网络应用程序。它带有一个强大的软件包管理器 npm,可以方便地安装和管理 JavaScript 包和依赖项。在 GNU/Linux 系统上,使用 Nvm(Node Version Manager&#xff09…

项目部署——后端Springboot+前端VUE3

后端: 1.JDK环境配置: 服务器本身是没有装JDK的, 输入:java -version;会显示让你安装JDK, 输入:apt install openjdk-17-jre-headless 我们项目后端开发用的是JDK17,所以服务器也安…

ADManager Plus:微软的全面活动目录管理解决方案

摘要:ADManager Plus是微软推出的一款全面活动目录(Active Directory)管理解决方案。它提供了一系列强大的功能,帮助组织简化和自动化活动目录管理,提高安全性和效率。本文将介绍ADManager Plus的特点、优势以及在企业…

如何在华为OD机试中获得满分?Java实现【递增字符串】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述4. Java算法源码5. 测试6.解题思路1. 题目描述 定义字符串完全由“A’和…

【Linux】编译器gcc和g++与调试器gdb的使用

文章目录 一、Linux编译器-gcc/g1.程序运行的四个阶段1.1 预处理1.2 编译1.3 汇编1.4 链接 2.链接方式与函数库2.1 动态链接与静态链接2.2 动态库与静态库3.gcc/g的使用 二、Linux调试器--gdb1.debug与release2.gdb 的使用 一、Linux编译器-gcc/g 1.程序运行的四个阶段 我们知…

RK3588-EDGE Ethernet驱动(一)

一:概述 以太网从硬件层来讲大致可分为三部分:CPU,MAC,PHY。 上述三部分有以下几种组成方式,而非封装在一颗IC种。 CPU内部集成了MAC和PHY,难度较高CPU内部集成MAC,PHY采用独立芯片(主流方案)CPU不集成MAC和PHY,MAC和PHY采用独立芯片或者集成芯片(高端采用)其中常说的…

MetaHuman结合第三人称角色,增加走路跑步动画

一、准备第三人称角色资源 1.新建工程选择第三人称角色,将第三人称角色拷贝到MetaHumans目录下 2.复制一个数字人,父类指定为BPThirdPersonCharacter 3.将Body移动到Mesh下边 调整好姿势和位置 4.可以将头发的UseCards设置为true,可以减少性能消耗 5.编译报错修复

【 网络常见的 9 大命令,非常实用!】

网络常见的 9 大命令,非常实用! 1.ping 命令 PING (Packet Internet Groper), 因特网包探索器,用于测试网络连接量的程序 。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令&#xff…

随机网络构建

随机网络构建 文章目录 随机网络构建[toc]1 随机网络定义2 网络拓扑性质2.1 边数分布2.2 度分布 3 代码实现 1 随机网络定义 随机网络与规则网络相对应,最为经典的随机网络模型是Erds和Rnyi研究的ER随机图模型,ER随机图模型有两种定义方式: …

(2020,ADA)用有限的数据训练生成对抗网络

Training generative adversarial networks with limited data 公众号:EDPJ 目录 0. 摘要 1. 简介 2. GAN 中的过度拟合 2.1 随机鉴别器增强(stochastic discriminator augmentation) 2.2 设计不泄漏的增强 2.3 我们的增强流程 3. 自…

阿里云轻量服务器--Docker--RocketMq安装

前言:本文介绍使用docker 部署-RocketMq; 1 RocketMq 介绍: Apache RocketMQ是一款开源的分布式消息中间件,具有高吞吐量、高可用性、高伸缩性和灵活的可靠消息传输机制等特点。RocketMQ支持多种消息模式,包括异步传…

【App自动化测试】(十八)多设备管理平台——openSTF

目录 1. openSTF2. openSTF的安装部署2.1 MacOS2.2 Windows 3. STF操作3.1 基础操作——远程调试虚拟设备3.2 高阶操作——远程调试真机 1. openSTF OpenSTF:是一个手机设备管理平台,可以对手机进行远程管理、调试、远程手机桌面监控等操作。 特点&…

有关深度学习打标签DIY的五种方式

有关深度学习打标签DIY的五种方式:Labelme、LabelImg、EISeg、Make Sence和CVat等 五种制作Label的方式:1.CVAT(Open Data Annotation Platform)2.EISeg(Efficient Interactive Segmentation)自动标注3.Mak…

中国人民大学与加拿大女王金融硕士国际班——全方位培养金融人才,你心动了吗

中国人民大学与加拿大女王大学中外合作办学的金融硕士项目有国际班(使用英文授课,无工作经验要求)和高管班(使用中文授课,一般需在中国金融行业拥有至少7年以上的工作经验)两个班次,属于滚动式录…

机器学习模型——分类模型

文章目录 K近邻(KNN)KNN示例KNN距离计算KNN算法代码实现1. 引入依赖:2. 数据加载和预处理:3. 核心算法实现:4. 测试: 逻辑斯谛回归线性回归问题分类边界曲线——逻辑斯谛回归Sigmoid函数(压缩函…

多模块更新,助力模型训练及应用|ModelWhale 版本更新

绿暗红稀,蝉鸣草长。本次更新中,ModelWhale 带来了一系列的功能优化,期待为你提供更好的使用体验。 本次更新中,ModelWhale 主要进行了以下功能迭代: • 优化 模型与人工组合式数据标注(团队版✓ &#xf…

基于stm32F407的hal库,移植FreeRTOS的具体步骤和遇到的问题(看正点原子的视频)

1. 资料准备 因为板子是stm32F407的第二版的,所以开始下的资料是旧版本的,但是旧版本的FreeRTOS工程没有hal库的,都是标准库的,这里是下载stm32F407最新版的资料,进行移植。 资料可以在正点原子官网下载,…

格式化输出Printf总结说明

一,简介 在C语言运行调试过程中,需要使用printf进行打印log信息,本文主要介绍常用的printf打印格式信息,方便提高调试的效率。 二,Printf转换说明 printf函数的转换说明由字符%和跟随其后的最多5个不同的选项构成&a…

PHP快速实战18-PHP使用PHPMailer来发送邮件

文章目录 前言安裝与实现步骤1:下载PHPMailer步骤2:包含PHPMailer文件步骤3:设置SMTP服务器和端口号步骤4:设置发件人和收件人步骤5:设置邮件主题和内容步骤6:添加附件(可选)步骤7&a…