TensorFlow之文本分类算法-2

news2024/11/25 0:23:32

1 前言

2 收集数据

3 探索数据

4 选择模型

5 准备数据

数据被输入模型之前,需要将数据转换成模型能理解的格式,该过程被称之为数据标准化。

首先,已收集到的数据样本可能是以指定的顺序存储,而在实际分析中,期望文本与标签的关系是不能受到与数据样本的顺序相关的信息的影响。例如,如果数据集合是根据类别排序的,然后,数据集合被分割成训练数据集合与验证数据集合两个部分,则这些数据集合并不能表示出原始数据的整体分布。

保证模型不受数据顺序影响的一个简单的最佳实践是,在处理数据之前对数据集合执行乱序的处理(比较随机的顺序),一般情况下,在对数据执行乱序处理之后,将原始数据集合的80%划分为训练数据集合,将原始数据集合的20%划分为验证数据集合,在数据集合分割完成之后,需要保证使用相同的数据标准化的处理方法转换原始数据集合。

其次,机器学习算法输入的数据类型是数字类型。也就是,需要将前面所述的文本数据集合转换成数字化的向量集合,这是一个数据标准化的处理过程,其包括以下两个步骤:

步骤1:分词

将文本分割成单词或者更小的子文本单元,有利于更好地生成文本与标签的关系,该方法可以确定数据集合的词汇。

步骤2:向量化

定义一个好的数字度量单位对文本执行特征化处理。

以下内容将描述如何使用以上方法的两个处理步骤执行n-gram向量与序列向量的处理,同时,也将描述如何使用特征选择以及标准化的技术优化向量的表示。

N-gram向量集

n-gram向量集是指如何使用n-gram模型执行分词以及向量化,其中也包括如何使用特征选择以及标准化的技术优化n-gram模型的表示。

在一个n-gram的向量集合中,文本被表示成一个包括唯一性元素的n-grams集合:n个相邻分词的分组(一般是单词分组),例如,对于句子【The mouse ran up the clock】,当n等于1,则1-gram分词的集合是['the', 'mouse', 'ran', 'up', 'clock'],当n等于2,则2-gram分词的集合是['the mouse', 'mouse ran', 'ran up', 'up the', 'the clock'],当n等于其他数值,也是按照这种分词方法实现n-gram分词的集合。

分词

理论上,将文本分割成混合的组成,例如,包括1-gram与2-gram的混合模型,具有更好的准确度以及消耗更小的计算时间。

向量化

分词的步骤执行完成之后,向量化需要把分词所得的1-gram以及2-gram集合中的元素转换成数字向量集合,该数字化的向量集合能够被机器学习的模型识别与处理。如下所示,两个文本句子的分词与索引列表:

如上所示,其中Texts表示输入的两个文本句子,Index表示赋予每个分词元素的索引,这些数据样本集合中的元素在索引上是乱序的,并不能表示出原始数据文本的顺序。

使用以上的索引列表(12个索引元素,索引位置从0到11,索引位0表示clock,索引位1表示down,依次类推),分别使用三种编码方式实现文本的向量化,One-hot encoding、Count encoding与Tf-idf encoding。

One-hot encoding

该方式是以索引列表为基础,根据以上索引列表的索引顺序的每个元素,确定文本中是否出现,0表示不出现,1表示出现,如下所示:

如上所示,数字化向量集合中共12个元素,刚好对应以上索引列表的12个元素,分别识别索引元素是否在文本中出现,例如,第一位1表示clock索引元素出现(索引位是从0开始识别),第二位0表示索引元素down不出现,第三位1表示索引元素mouse出现,依次类推,从而,得出数字化的向量列表。

Count encoding

该方式是以索引列表为基础,根据以上索引列表的顺序的每个元素,确定文本中出现的次数,0表示不出现,大于0表示出现的次数,如下所示:

如上所示,第七位2表示索引元素the在文本中共出现两次,其他元素与One-hot encoding中统计的信息保持一致。

Tf-idf encoding

由以上的分析可知,One-hot encoding、Count encoding两种方法并没有处理常用的词语,例如,a或者the,这类词语在一个文本中通常出现的频率都很高,但是又没有实质性的作用,这些问题使用Tf-idf encoding编码方式可以解决,其输出的格式如下所示:

处理文本向量的表示的编码方式很多,但是以上这三种编码方式是最常用的。很明显,Tf-idf encoding比其他两种方式One-hot encoding、Count encoding的准确度更高(大概平均高出0.25-15%),因此,推荐使用Tf-idf encoding作为n-grams的向量化方式,但是该方式需要消耗更多的内存资源,因为其使用浮点数作为向量表示,在大数据集合的处理场景中,需要消耗更多的计算时间(大概是其他方式的2倍)。

特征选择

对所有的文本执行分词完成之后产生分词集合,并不是所有分词集合中的分词或者特征在特征预测中都发挥作用,因此,需要删除某些无用的分词或者特征(例如,一些出现几率很小的分词),从中抽取有用的分词或者特征,该过程被称之为特征选择,也就是,需要运用有效的方法测量这些分词或者特征的重要性(对特征预测的贡献度),并从中选取一些最有用的分词或者特征用于分析。

满足用于特征选择的算法或者函数很多,这些函数输入特征以及特征对应的标签、输出特征的重要性对应的分数。其中,函数f_classif 与函数chi2是常用的函数,实验证明这两个函数的执行效果相当。

如上所示,使用的是英文文本,使用不同的数据集合以及不同的数据量对算法准确度执行评估、执行准确度的对比分析,其中,top-20k特征数据量的准确度处于稳定的水平,大于20k特征数据量的评估,则算法的运行性能会下降。

标准化

标准化是将所有的特征或者样本转换成小而且类似的值,该处理过程在机器学习算法中被称之为梯度下降(使用收敛函数),在本例中,该处理过程可以简化为以下三个步骤:

  • 使用n-gram对文本分词

  • 使用tf-idf编码执行向量化

  • 从分词集合中只选择top 20k的特征,删除出现次数小于2的分词,使用f_classif函数评估特征的重要性对应的分数

以上的步骤对应代码逻辑如下所示:

由以上的分析可知,n-gram向量集在实现向量化的过程中与文本的顺序无关,与n-gram向量化的表示相关联的算法包括逻辑回归、多层感知、梯度推进机、支持向量机。

(未完待续)

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

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

相关文章

邮件助手、监控邮件上报电脑截图、网课监控助手

起因:看到别的网友写的一个程序,监控在家上网课的状态,防止孩子玩游戏。没界面无法配置更多参数。自己写了一个。功能基本齐全了。 收件地址:接收邮件的邮箱 抄送地址:可以多个邮箱,用|分开即可。 标题、内容、版权位置可以自定义内容。 设置发送频率(默认10分钟),…

深入浅出日志体系(logback最佳实践)

最近和大家说了不少“大问题”(中庸之道啥的),今天想和大家聊一个“小问题”——如何写日志。 在很多人的认知里面,日志的确是可有可无的小问题,因为有没有日志都不影响业务功能的运行。正因为如此,日志问…

内存取证系列6

文章目录文档说明挑战说明解题过程查看系统镜像查看系统进程查看使用命令查看命令输出查看历史命令记录搜索压缩包 获取虚拟地址并导出本地扫描ie历史记录扫描firefox历史记录(默认不支持)导出浏览器数据分析浏览器数据解压压缩包 得到flag2继续分析浏览器数据修复图片 获得fla…

Oracle AutoVue 21.0.x最新支持程序文件格式及版本

目录 前言 Engineering & Construction / Energy / Utilities Industrial Manufacturing / Automotive / Aerospace & Defense Electronics & High Tech Desktop / Office Graphics Others 前言 AutoVue官是一个多用途、多功能的图…

linux系统中cpu性能优化

cpu性能: uptime命令中的系统平均负载: 平均负载时指的单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和CPU使用率并没有直接关系. 可运行状态的进程: 是指正在使用Cpu或者正在等待Cpu的进程,也就是我们ps命令看到的处于Runing状态的进程.…

物联网安全年报事件回顾

执行摘要 随着物联网的不断发展,物联网安全也被越来越多的人所关注。我们于 2016 年发布《物联网安全 白皮书》,进行物联网安全的科普介绍;于 2017 年发布《2017 物联网安全年报》,关注物联网资产 在互联网上的暴露情况、物联网设…

【CNN】GoogLeNet——大胆创新网络结构

前言 2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了图片分类大赛第一名、VGG紧随其后,这两类模型结构的共同特点是网络深度更深了。VGG继承了LeNet以及AlexNet的一些框架结构,而GoogLeNet则做了更…

uniapp集成Android原生sdk

最近公司有个项目,需要调用客户提供的sdk扫描rfid,项目又是用uni开发的,客户提供的sdk只有Java版本,我发现uni是提供集成原生sdk的,所以研究了一下怎么使用,并记录下来过程。 准备 SDK 文件 下载 首先下…

VUE搭建后台管理界面

后台管理一、前言二、依赖配置三、koa框架四、数据库五、路由六、前端界面6.1 登录界面6.2 注册界面6.3 展示界面七、阿里云部署7.1 前端项目7.2 后端node7.3 mysql安装7.4 测试八、总结一、前言 本篇文章从头到尾过一遍vue3搭建项目的过程,实现一个用户登录、注册…

Linux上使用telnet连接本机IP地址端口

场景 Linux开启了iptables!!! 开启本机TCP80端口服务。Linux本机IP地址是192.168.204.129。本机telnet连接本机的TCP80端口。 目的 telnet 192.168.204.129 80,能够连接通。 输入规则 1)需要配置一个让本机TCP80端…

日置IM3570阻抗分析仪产品介绍分享

日置IM3570阻抗分析仪 日本日置IM3570阻抗分析仪1台仪器实现不同测量条件下的高速检查,1台仪器实现LCR测量、DCR测量、扫描测量等的连续测量和高速检查,日本日置IM3570阻抗分析仪LCR模式下*快1.5ms(1kHz),0.5ms(100kHz&#xff0…

基于keras构建lstm模型自动生成音乐系统

目录 LSTM 机器学习生成音乐 1 数据集介绍 1 将 mid 转成 note 数组 4 将 note 数组转成 mid 文件 5 获取数据集并将其保存 6 将 note 进行编号 7 构建数据集 8 截取数据 8 进行 one-hot 编码 10 构建模型 11 训练 13 生成音乐 13 加载数据 16 加载模型 16 构建 id 与 note 的映…

我服了!SpringBoot升级后这服务我一个星期都没跑起来!(下)

14. DiscoveryEnabledServer Not Found 主要问题还是 eureka 中没有了 ribbon 相关的依赖。 Caused by: java.lang.NoClassDefFoundError: com/netflix/niws/loadbalancer/DiscoveryEnabledServerat java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]at java.lan…

论文笔记(二十二):GRiD: GPU-Accelerated Rigid Body Dynamics with Analytical Gradients

GRiD: GPU-Accelerated Rigid Body Dynamics with Analytical Gradients文章概括摘要1. 介绍2. 相关工作3. 背景A. *计算硬件:CPU vs. GPU*B. 刚体动力学4. GRiD库A. 设计B. 当前特征C. 代码优化方法5. 性能基准A. 方法B. 多重计算延时C. 单一计算延时扩展6. 结论和…

母线电容及其计算方法

母线电容及其计算方法 1.母线电容是什么? 2.母线电容有什么作用? 3.母线电容的参数。 4.母线电容参数计算。 1.母线电容是什么? 工程定义: (1)在电机控制器中,电池包的直流电作为输入电源&am…

关于 SAP ABAP SYSTEM_SHM_OPEN_CHANGE_LOCK 运行时错误的问题

有朋友在技术讨论群里提问: 遇到 SYSTEM_SHM_OPEN_CHANGE_LOCK 的运行时错误:Open change lock on transactional area in COMMIT: 上图显示,错误在 SAP ABAP 标准程序 SAPMHTTP 里抛出,这说明是 ABAP 服务器进行 HTTP 请求处理或…

SpringBoot SpringBoot 开发实用篇 5 整合第三方技术 5.23 SpringBoot 整合 RabbitMQ(direct 模式)

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇5 整合第三方技术5.23 SpringBoot 整合 RabbitMQ(direct 模式)5.23.1…

web前端期末大作业——基于html+css+javascript+jquery+bootstrap响应式户外旅游网站

👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容…

分析高数值孔径物镜的聚焦

摘要 高数值孔径物镜广泛用于光学光刻、显微镜等。因此,在聚焦模拟中考虑光的矢量性质是非常重要的。 VirtualLab非常容易支持这种镜头的光线和光场追迹分析。 通过光场追迹,可以清楚地展示不对称焦斑,这源于矢量效应。 照相机探测器和电磁场…

解决台式机麦克风不可用问题,只有音频输出,无音频输入

解决台式机麦克风不可用问题 戴尔灵越3880 最近因为需要开线上会议,发现戴尔台式机音频只有输出没有输入,也就是只能听见声音,无法输入声音。 先后尝试了各种驱动安装更新之类的调试,无果。 之后通过戴尔支持解决~ 这里多说一…