文本分类--NLP-AI(八)

news2024/9/21 20:30:42

文本分类任务

  • 任务简介
    • 1.字符数值化
      • 方式1
      • 方式2
    • 2.池化(pooling)
    • 3.全连接层
    • 4.归一化函数(Sigmoid)
    • 5.总结
  • 从任务抽象新的技术点
    • Embedding层
    • 池化层

任务简介

任务介绍: 字符串分类,根据一句话的含妈量,区分为两类,一类为正向,一类为负向

举例:

  1. 我的妈呀?
  2. 你妈妈的妈妈叫什么?

根据含有两个3妈以上,即含妈量超标,判定为负向。即1正,2负

目标: 所以我们需要建模,即建立一个f(x),将我们的含妈量语句输入后,输出1为正,输出0即为负。

1.字符数值化

释义: 我们知道,模型是进行数学运算,输入的内容一定要是数字,不能是直接的字符,所以我们先要把每个字转为字符。

方式1

问: 直观方式,我 -> 1, 你 -> 2, 他 -> 3 …. 妈 -> 26… 是否合理?
答: 问就是不合理。如果把汉字字符简单的映射为一个个的数字,那么这些数字就会存在一些明细的规律,比如:1+2 =3;那是不是意味着,我+你就等于他;这样很容易让模型找规律时,会被影响到。

方式2

方案: 将每一个字符转化为同维度的向量
例如:

我 - > [0.32618175 0.20962898 0.43550067 0.07120884 0.58215387]
你 - > [0.21841921 0.97431001 0.43676452 0.77925024 0.7307891 ]

他 -> [0.72847746 0.72803551 0.43888069 0.09266955 0.65148562]

详细释义:

1.我们将每个字符随机生成一个向量,这样就避免了字符之间存在简单的加减乘除关系
2.我们将生成的向量也加入到模型的训练中,这就要求生成的维度必须相同,这样就可以使得语义相同的字:我、吾;其向量值会相近

输入:我的妈呀 --> 4x5的矩阵
这里我们输入模型的就不是简单的一个字符的数字,而是一串字符所代表的向量:

[[0.32618175 0.20962898 0.43550067 0.07120884 0.58215387]
[0.21841921 0.97431001 0.43676452 0.77925024 0.7307891 ]
[0.95035602 0.45280039 0.06675379 0.72238734 0.02466642]
[0.86751814 0.97157839 0.0127658 0.98910503 0.92606296]]

矩阵形状 = 文本长度 x 向量长度

2.池化(pooling)

问题点: 我们最后要求模型输出的是一个数字,这个数字接近1或者0来判断,语句的含妈量;但是我们看到了上面的输入,一段话输入,这个矩阵的行数我们不好控制,并且我们如何将维度降低呢?

解决方案: 所以我们首先将输入进行降维,也就是池化操作,通过池化操作将矩阵处理为向量

示例:
在这里插入图片描述
操作释义:

1.我们将输入的语句转为矩阵后,我们这些向量相加,得到求和后的向量
2.我们将求和的向量的每列的数,根据相加向量的个数求平均,得到一个1*向量长度的矩阵,也就是向量。
上述过程就完成了降维,可以理解为对一句话的含义的压缩。

3.全连接层

目的: 很简单,根据第二部分,我们将矩阵转为向量,那么我们需要将向量转为数字输出,即通过我们线性层(全连接层)来处理。

方案:

1.这里我们采用最简单的线性层公式:y = wx +b
2.这里我们w的矩阵形状和前面的向量有关系,即1
向量长度,b要能够和运算的结果相加,那么形状肯定也是1*向量长度。

举例:
注意:这里的x在实际中,potroch为将其转置,下图可以看到:
在这里插入图片描述

4.归一化函数(Sigmoid)

目的: 归一化函数也是激活函数,这里选择Sigmoid的目的,很简单,即将输出的值映射到[0,1]范围之间,我们想要的输出就是,靠近1就是正向,靠近0就是负向,它可以搬到

举例:
x = 3 归一化后值: σ(x) = 0.9526

函数图像:
在这里插入图片描述

5.总结

1.字符转成向量,向量构成输入的矩阵
2.输入矩阵进行池化,得到向量
3.经过全连接层y=w*x +b 得到实数
4.实数经过归一化sigmoid得到(0,1)之间的数
其中可以进行训练的为红色部分

从任务抽象新的技术点

Embedding层

释义: 上述分类任务中,将字符转化为向量的过程,我们叫Embedding。
举例: 这一层的作用很简单,就像你喊老外给你干活,用中文,他不懂;必须的先翻译成英文告诉他;embedding就相当于翻译给计算机听。

注意:

1.embedding层一把只有深度学习任务中才有,是深度学习的一个特征
2.Embedding矩阵是可训练的参数,一般会在模型构建时随机初始化,可以使用预训练的词向量来做初始化,此时也可以选择不训练Embedding层中的参数
比如:在当前火热的大语言模型中,embedding层与模型层就是配套使用的,因为embedding加入到模型的训练中,蕴含了一定的规律在里面。
3.多个语种和符号可以放到一个词表中,也就是一个embedding层可以涵盖多种字符。

池化层

释义: 上述的分类任务中,将一句话的形成的张量,转化为一个向量的过程,就是我们说的池化。池化的目的是,降维,缩小模型,并且提取特征。

下面我们用视图领域的图像池化来做示例讲解
在这里插入图片描述
过程:

上述左侧4x4的数字,是将一张图片Embedding为数字得到的
1.我们做一个2*2的正方形,将每一个正方形内最大的数字,提取为特征数字
2.全部提取完成后,即得到一个新的2x2的矩阵

好处:

  1. 可以降低后续的网络层输入维度
    2.减小了模型的大小,也就是参数量,因为输入的参数矩阵变小了,和其相乘的后续矩阵的维度也就变小了
    3.提高了模型的计算速度,因为参数变少了
    4.提高了特征的鲁棒性,防止过拟合,因为我们选取最大值,那么其他的参数只要在最大值一下,对我们整体的计算影响都会比较小;如果是平均值,同样如此

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

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

相关文章

air-conditioning

air-conditioning 空调机安装 实地测量: 测量宽度 测量高度 测试厚度 其他位置测量 根据实际绘图: 改进图,哈哈,让自己满意也让别人满意 1)需要考虑安装位置,减少高空放置,放置高空掉落 2&#…

YOLOv5和LPRNet的车牌识别系统

车牌识别系统 YOLOv5和LPRNet的车牌识别系统结合了深度学习技术的先进车牌识别解决方案。该系统整合了YOLOv5目标检测框架和LPRNet文本识别模型 1. YOLOv5目标检测框架 YOLO是一种先进的目标检测算法,以其实时性能和高精度闻名。YOLOv5是在前几代基础上进行优化的…

Mac应用程序清理卸载工具:App Cleaner Uninstaller for Mac 中文版

App Cleaner Pro是一款Mac上非常好用的软件卸载工具,支持应用卸载、Widget卸载、浏览器插件卸载,支持拖拽卸载和列表卸载,能够非常干净的卸载应用,节省你的磁盘空间。App Cleaner Uninstaller Pro是一款深度清理和卸载的工具&…

Postman下载及使用说明

Postman使用说明 Postman是什么? ​ Postman是一款接口对接工具【接口测试工具】 接口(前端接口)是什么? ​ 前端发送的请求普遍被称为接口 ​ 通常有网页的uri参数格式json/key-value请求方式post/get响应请求的格式json 接…

uboot默认配置过程

uboot默认配置,对于6ull来说,在uboot源码目录下执行:make mx6ull_14x14_evk_defconfig 1、make mx6ull_14x14_evk_defconfig mx6ull_14x14_evk_defconfig文件是在uboot源码configs/目录下面 执行过程分析 HOSTCC:编译一些.c文件 HOSTLD:制作出scripts/kconfig/conf这个…

[数仓]十二、离线数仓(Atlas元数据管理)

第1章 Atlas入门 1.1 Atlas概述 Apache Atlas为组织提供开放式元数据管理和治理功能,用以构建其数据资产目录,对这些资产进行分类和管理,并为数据分析师和数据治理团队,提供围绕这些数据资产的协作功能。 Atlas的具体功能如下: 元数据分类 支持对元数据进行分类管理,例…

【GD32】从零开始学GD32单片机 | WDGT看门狗定时器+独立看门狗和窗口看门狗例程(GD32F470ZGT6)

1. 简介 看门狗从本质上来说也是一个定时器,它是用来监测硬件或软件的故障的;它的工作原理大概就是开启后内部定时器会按照设置的频率更新,在程序运行过程中我们需不断地重装载看门狗,以使它不溢出;如果硬件或软件发生…

2024-07-13 Unity AI状态机2 —— 项目介绍

文章目录 1 项目介绍2 模块介绍2.1 BaseState2.2 ...State2.2.1 PatrolState2.2.2 ChaseState / AttackState / BackState 2.3 StateMachine2.4 Monster 3 其他功能4 类图 项目借鉴 B 站唐老狮 2023年直播内容。 点击前往唐老狮 B 站主页。 1 项目介绍 ​ 本项目使用 Unity 2…

C++基础(一)

目录 1.不同版本的hello word! 2.namespace和::域作用限定符以及using 2.1 namespace 2.2:: 2.3using用于展开域 3.C输入和输出 4.缺省参数 5.重载 6.引用 6.1引用介绍 6.2 引用的特性 注意: 6.4 c…

基于CSS两种菜单创建方式

作者:私语茶馆 1.前言 HTML多种场景下需要菜单的实现,这里提供两种方式: (1)基于CSS的POPUP式菜单 特征:按需显示POPUP菜单,但布局是浮动的。 (2)覆盖式弹出菜单。 …

独家揭秘!五大内网穿透神器,访问你的私有服务

本文精心筛选了五款炙手可热的内网穿透工具,它们各怀绝技,无论您是企业用户、独立开发者,还是技术探索者,这篇文章都物有所值,废话不多说,主角们即将上场。 目录 1. 巴比达 - 安全至上的企业护航者 2. 花…

二次改写内容,ai智能写作软件最便捷

对于自媒体创作者,二次改写是获取内容的一个不错的方法,通过二次改写不仅能提高自媒体内容创作的效率问题,而且还解决了创作中因灵感缺失产不出内容的问题,但是二次改写内容也是需要讲究方法的,如果没有好的方法&#…

68种语言说爱你网页源码

浪漫至死不渝&#xff0c;68种语言说爱你网页源码&#xff0c;本地和上传服务器都可以用&#xff0c;无加密。 网页源码&#xff1a;68种语言说爱你单页.zip 下面是HTML代码CSS代码超过七百多行打包成文件了。 <!DOCTYPE html> <html lang"en"><h…

计算机体系结构和指令系统2

1.存储系统的层次结构 有的教材把安装在电脑内部的磁盘成为“辅存”&#xff0c;把U盘、光盘等成为外存&#xff0c;也有的教材把磁盘、U盘、光盘等统称为“辅存”或外存。 主存——辅存&#xff1a;实现虚拟存储系统&#xff0c;解决了主存容量不够&#xff0c;辅存速度不够的…

【密码学】实现消息认证或数字签名的几种方式

消息认证的目的是验证消息的完整性和确认消息的来源。数字签名的目的是不仅验证消息的完整性和来源&#xff0c;还提供了不可否认性。此外&#xff0c;数字签名还可以验证消息的创建时间&#xff0c;防止重放攻击。那么具体有哪些实现的方式呢&#xff1f; 一、仅提供消息认证…

2024年7月13日全国青少年信息素养大赛Python复赛小学高年级组真题

第一题 题目描述 握情况。他决定让每个人输入一个正整数 N (0≤N≤1000)&#xff0c;然后计算并输出(5*N)的值。请用 在一个神秘的王国里&#xff0c;国王希望通过一个简单的测试来评估他的子民对基 础数学运算的掌 Python 编写程序&#xff0c;程序执行后要求用户输入一个正…

【山东大学】web数据管理——复习笔记

写在前面 若有图片加载失败&#xff0c;请科学上网 。本文为对软件学院连老师的PPT课件总结所得的复习笔记&#xff0c;仅供参考。不保证对考点的全覆盖&#xff0c;以PPT为主。对往年考过的题相关知识点前面都标注了“考过”&#xff0c;并高亮&#xff0c;供参考。写的比较匆…

代码随想录第51天|单调栈

42. 接雨水 参考 思路1: 暴力解法 找每个柱子的左右高度超时 O(N^2) 思路2: 双指针优化 class Solution { public:int trap(vector<int>& height) {vector<int> lheight(height.size(), 0);vector<int> rheight(height.size(), 0);lheight[0] hei…

【超音速 专利 CN117576413A】基于全连接网络分类模型的AI涂布抓边处理方法及系统

申请号CN202311568976.4公开号&#xff08;公开&#xff09;CN117576413A申请日2023.11.22申请人&#xff08;公开&#xff09;超音速人工智能科技股份有限公司发明人&#xff08;公开&#xff09;张俊峰&#xff08;总&#xff09;; 杨培文&#xff08;总&#xff09;; 沈俊羽…

Python酷库之旅-第三方库Pandas(021)

目录 一、用法精讲 52、pandas.from_dummies函数 52-1、语法 52-2、参数 52-3、功能 52-4、返回值 52-5、说明 52-6、用法 52-6-1、数据准备 52-6-2、代码示例 52-6-3、结果输出 53、pandas.factorize函数 53-1、语法 53-2、参数 53-3、功能 53-4、返回值 53-…