文本分类的一些记录

背景

过去工作中最常遇到的问题就是文本分类和实体抽取的任务。其中文本分类是自然语言处理中最基础的任务,指的是将文本打上特定的类别标签,以做区分和筛选。文本分类主要流程一般是:先预处理文本,再提取特征,最后通过特征进行分类,或者直接采用深度学习的模型对处理好的文本进行分类。在搜索、对话等很多场景中文本分类都有应用,并有具体的任务如情感分析、舆情分析、新闻分类、标签分类等。

常用模型

  • TEXTCNN
    TextCNN模型核心思想是,通过数个卷积运算(卷积核大小不同)和池化操作,提取文本局部特征,将这些特征经过全连接层以后,经过softmax函数最终完成分类任务。简单描述前向过程为:
    1. 词嵌入层,用词向量表示词
    2. 多个不同大小的一维卷积核在词维度获取上下文信息,此时编码维度大小为1,可接Relu层提供非线性
    3. 通过在词维度去最大池化,此时词维度也为1
    4. 将各卷积核处理后的表示合并,得到文本的特征
    5. 通过两层全连接得到类别概率分布
    在训练过程为了增强模型的泛化性,可以使用dropout随机遮蔽了部分参数。
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 优点:两层全连接的好处,先将特征映射到高维/低维空间,再从映射的空间到输出空间。
    • TextCNN不足:受限于卷积层的大小,无法提取到长距离文本的关联关系。
  • FASTTEXT(快速文本分类):
    FASTTEXT 是一种基于词袋模型的文本分类算法,由Facebook于2016年提出。
    FASTTEXT 将文本划分为单词(或字符)并使用平均池化(average pooling)来获取文本的嵌入表示。
    它使用线性分类器对文本嵌入进行分类,速度快且性能不错。
    FASTTEXT 在简单文本分类任务上表现出色,尤其适用于大规模文本分类。

  • TextRNN(循环神经网络文本分类):
    TextRNN 是一种基于循环神经网络(RNN)的文本分类模型,它可以捕捉文本序列中的上下文信息。
    TextRNN 将文本中的词汇序列依次传递给RNN单元,最终将RNN的输出用于分类。
    它适用于需要考虑文本序列中的顺序信息的任务,如情感分析和文本生成。

  • TextRCNN(循环卷积神经网络文本分类):
    TextRCNN 结合了卷积神经网络(CNN)和RNN的优点,用于文本分类任务。
    它首先使用CNN来提取文本中的局部特征,然后使用RNN来捕捉全局语境信息。
    TextRCNN可以更好地理解文本序列中的上下文信息,适用于情感分析和文本分类等任务。

  • DPCNN(深度金字塔卷积神经网络):
    DPCNN 是一种卷积神经网络架构,用于文本分类,由微软提出。
    它使用卷积层来提取不同级别的局部特征,然后通过池化层将这些特征组合成更高级的表示。
    DPCNN 结构深度较深,有助于捕捉文本中的层次信息,适用于长文本的分类任务。

模型评价

对于文本单标签多分类问题常有如下指标:

  • 准确度(Accuracy):
    准确度是模型正确分类的样本数量与总样本数量的比率。它表示模型在所有类别上的整体性能。
    公式:准确度 = (TP + TN) / (TP + TN + FP + FN)
    适用于类别平衡的问题,但当类别不平衡时,不是一个很好的性能指标。

  • 精确度(Precision):
    精确度是模型预测为正类别的样本中实际为正类别的比例。它衡量了模型的精确性。
    公式:精确度 = TP / (TP + FP)
    精确度适用于那些要求高精确性的问题,比如垃圾邮件检测,其中误报的代价较高。

  • 召回率(Recall):
    召回率是实际为正类别的样本中,模型成功预测为正类别的比例。它衡量了模型找到正类别的能力。
    公式:召回率 = TP / (TP + FN)
    召回率适用于那些要求找到尽可能多正类别的问题,比如医疗诊断中的疾病检测。

  • F1 分数(F1-Score):
    F1 分数是精确度和召回率的调和平均值。它提供了精确度和召回率的综合性能指标。
    公式:F1 分数 = 2 * (精确度 * 召回率) / (精确度 + 召回率)
    F1 分数适用于平衡精确性和召回率的问题,对于综合考虑分类器的性能时很有用。

Micro Average、Macro Average 和 Weighted Average 是用于计算多类别分类问题中精确度和召回率的不同方法。它们的区别在于如何处理多类别的度量和加权。

  • Micro Average(微平均):
    Micro Average 通过将所有类别的真阳性、假阳性和假阴性的总和来计算精确度和召回率。然后,它计算总体的精确度和召回率。
    这意味着 Micro Average 将所有类别视为一个大类别,所有的真阳性、假阳性和假阴性都汇总在一起,然后计算总体的精确度和召回率。
    Micro Average 对所有类别平等看待,不考虑类别的不平衡性。

  • Macro Average(宏平均):
    Macro Average 是通过分别对每个类别计算精确度和召回率,然后取平均值来计算总体精确度和召回率。
    这种方法平等地对待每个类别,不考虑类别的大小或不平衡性。
    Macro Average 适用于多类别平衡的情况,或者是希望了解每个类别的性能时。

  • Weighted Average(加权平均):
    Weighted Average 与 Macro Average 类似,但在计算总体精确度和召回率时,它考虑了每个类别的权重,这个权重通常是类别的样本数量。
    由于每个类别的权重不同,Weighted Average 更适合处理多类别不平衡的情况。
    Weighted Average 将不同类别的性能考虑在内,权重越大的类别对总体性能的影响越大。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PDF修改技巧之:如何简单方便的编辑PDF文件?

在当今精通技术的世界中,PDF 的使用已变得普遍,尤其是在商业和教育方面。如果您在审阅 PDF 文件时遇到语法或其他错误怎么办? 尽管 PDF 文件不像 Word 或在线文档那样容易编辑,但借助高级工具,您一定可以进行编辑。 …

鸿蒙 ArkUI - 常用组件和布局

目录 一、组件 1.按钮 2.单选框 3.切换按钮 4.进度条 5.文本 6.文本输入框 二、布局方式 1.线性布局 2.层叠布局 3.弹性布局 4.网格布局 一、组件 ArkUI有丰富的内置组件,包括文本、按钮、图片、进度条、输入框、单选框、多选框等。我们还可以将基础组件…

HCIA基础知识

IP地址、静态路由、动态路由、交换机 OSPF RIP DHCP VLAN ACL NAT OSI TCP/IP UDP TCP 三次握手,四次挥手,报头 什么是网络? 由网络连接设备通过传输介质将网络终端设备连接起来,进行资源共享、信息传递的平台。 OSI七…

【电子取证篇】蘇小沐的电子取证工具合集在线文档

【电子取证篇】蘇小沐的电子取证工具合集在线文档 弄成了在线表格,记得及时保存;工具永远只是辅助,但不要过多依赖自动化,有难度说明可以提升,既要不断学习也要不停思考,知行合一—【蘇小沐】 【腾讯文档…

202405读书笔记|《作家榜名著:宋词三百首(马未都亲笔推荐版)》——绿酒初尝人易醉,一枕小窗浓睡

《作家榜名著:宋词三百首(马未都亲笔推荐版)》画很美,词也是😘😘,既廖远又色彩明艳,丰富而丰盈,看的很欢乐的一本书。部分节选如下: 艳溢香融 天遥地远&…

智能搬运机器人作为一种新型的物流技术

随着物流行业的快速发展,货物转运的效率和准确性成为了企业竞争的关键因素之一。智能搬运机器人作为一种新型的物流技术,已经在许多企业中得到了广泛应用。本文将介绍富唯智能智能搬运机器人在物流行业的应用和优势。 在实际应用中,智能搬运机…

如何在Eclipse IDE中安装TestNG插件

目录 使用Eclipse Marketplace安装TestNG插件 通过输入URL安装TestNG 1.点击安装新软件 2.输入URL以安装TestNG 3.遵循正常的安装过程 4.重新启动Eclipse 在Eclipse中安装TestNG插件的视频 在这篇文章中,我们将介绍如何在Eclipse IDE中安装TestNG插件&#x…

基于算术电路的全同态加密方案介绍

基于算术电路的全同态加密方案介绍 摘 要: 云计算技术目前已经发展得相对成熟,应用也逐步得到普及,它所具有的强大的数据处理能力,能够帮助个体用户计算复杂的数据。但它带来便利的同时,也催生了一系列用户隐私数据保…

网络安全全栈培训笔记(53-WEB攻防-通用漏洞CRLF注入URL重定向资源处理拒绝服务)

第53天 WEB攻防-通用漏洞&CRLF注入&URL重定向&资源处理拒绝服务 知识点: 1、CRLF注入-原理&检测&利用 2、URL重定向-原理&检测&利用 3、Web拒绝服务-原理&检测&利用 #下节预告: 1、JSONP&CORS跨域 2、域名安全…

HCIP ISIS实验

拓扑图&IP划分如下图: 第一步,配置IP地址&环回地址 以R1为例,R2~R8同理 interface GigabitEthernet 0/0/0 ip address 18.1.1.1 24 interface GigabitEthernet 0/0/1 ip address 12.1.1.1 24 interface LoopBack 0 ip address 1.1.…

代码训练营Day.34 | 1005. K次取反后最大化的数组和、134. 加油站、135. 分发糖果

1005. K次取反后最大化的数组和 1. LeetCode链接 1005. K 次取反后最大化的数组和 - 力扣(LeetCode) 2. 题目描述 3. 解法 整体来说,就是把负数全部取反,然后如果有剩余反转次数都给绝对值最小的数。 我的解法:先…

浅谈专项测试之弱网络测试

一.弱网络测试背景 移动端产品的使用并非完全都是在流畅的wifi环境,大部分用户主要使用4G,3G,2G等网络,另外因为移动端产品使用的场景多变,如进公交,上地铁,坐电梯,使得弱网测试显得尤为重要。考…

HTML--JavaScript--引入方式

啊哈~~~基础三剑看到第三剑,JavaScript HTML用于控制网页结构 CSS用于控制网页的外观 JavaScript用于控制网页的行为 JavaScript引入方式 引入的三种方式: 外部JavaScript 内部JavaScript 元素事件JavaScript 引入外部JavaScript 一般情况下网页最好…

8个 Python 开发者必备的 PyCharm 插件

这8个顶级插件保证了更快、更轻松、更愉悦的开发过程。 在 PyCharm 插件列表中,我们发现了几个瑰宝插件,它们各自以独特的方式帮助开发者快速、简便、愉悦地开发。 今天我就给大家逐个介绍它们。 1. Key Promoter X 【下载链接】:https://…

OWASP漏洞原理启航(第一课)

OWASP Top 10 2021 介紹 漏洞原理启航介绍 OWASP 定义: AI介绍 OWASP (开放Web应用程序和安全项目) 是一个全球性的社区,致力于提供关于Web应用程序安全性的信息、教育和支持。OWASP是一个非盈利组织,由志愿者驱动,旨在提高Web应…

day-10 删除排序链表中的重复元素

思路 先统计每个值出现的次数,然后将出现次数为一的节点链接为一个链表即可 解题方法 while(t!null){ //统计每个值出现次数 arr[t.val100]1; tt.next; } while(t!null&&arr[t.val100]!1) tt.next;//确定返回的头结点 ttt; while(t!null&&t.next…

2024年全网最全春招时间线

2024年全网最全春招时间线 春招,许多同学可能会误以为这是春天才会进行。 你可能会想,期末刚考完试,先享受下寒假,再欢度春节,收些红包,甚至还能抽空去理个发型。等到春日明媚时,再参加春招活…

Linux常用命令大全(三)

系统权限 用户组 1. 创建组groupadd 组名 2. 删除组groupdel 组名 3. 查找系统中的组cat /etc/group | grep -n “组名”说明:系统每个组信息都会被存放在/etc/group的文件中1. 创建用户useradd -g 组名 用户名 2. 设置密码passwd 用户名 3. 查找系统账户说明&am…

C++学习笔记——类继承

目录 一、一个简单的基类 1.1封装性 1.2继承性 1.3虚函数 1.4多态性 二、基类 2.1一个简单的C基类的示例 2.2 Animal是一个基类。 三、继承 3.1概念 3.2is-a关系 3.3多态公有继承 3.4静态联编和动态联编 3.5访问控制 3.6ABC理念 一、一个简单的基类 C中的基类是一…

使用ChatGPT对进行论文改写与润色

一、内容改写 关键在于明确改写的具体要求。 例如:[论文内容] 可以指明需要提升该段落的流畅性和逻辑连贯性。 常用指令 细微调整文本 轻微编辑 重写以增强表述清晰度 简化句式 校正语法和拼写错误 提升文本的流畅性和条理性 优化词汇使用 调整文本风格 进行深度编辑…