【小笔记】fasttext文本分类问题分析

【学而不思则罔,思维不学则怠】
2023.9.28
在这里插入图片描述
关于fasttext的原理及实战文章很多,我也尝试在自己的任务中进行使用,是一个典型的短文本分类任务,对知识图谱抽取的实体进行校验,判断实体类别是否正确,我构建了27000个样本,3种类别(A,B,C),经过调参,最好的F1只有0.61,感觉这就是它的天花板了,在网上看到很多人在自己的场景中都能达到0.8、0.9之类的,我就在想,为什么我这个提不上去。
可能的原因有一下几个:

1.数据量不够?

比如知乎有个人做7分类的数据量也差不多,但他的性能很不错。
在这里插入图片描述
相比较而言,我这边每类样本接近1W,我个人感觉对于这个轻量级模型是够了。

2.类别不均衡导致?

我这边三中类别的数据比例分别是1:1:0.7,应该还好,不算很极端的类别不均衡。

Q:fasttext对类别不均衡敏不敏感?
敏感

3.数据中有噪声?

数据中是有噪声,会有那种错误分类的样本存在,但应该不是很多。

4.F1被平均?

我用过测试发现,算法在我应用场景中,基本上能把错误分类的A给识别出来并进行准确分类,但是会把正确的B给错误分类成A,而且比例比较高。
说明B很容易被分类为A,B这个类别的P应该不高,算法对三种类别的分类性能不一致,0.61是被平均的结果(待验证)

5.文本太长了,N-gram无法准确捕捉语义信息?

网上的一种主流声音是fasttext适合短文本分类,究其原因是fast对于语序特征不能很好的提取,虽然它考虑用n-grams来捕捉一些语序特征(即图中的N-gram特征),但N通常不会太大,如2-3,这样小的一个窗口,是很难捕捉长距离的语义信息的。(多说一点,transformer和bert添加了专门的位置编码来记录语序信息)
在这里插入图片描述
如下面的句子:

  • 这电影不是很好看,但我还是很喜欢它
  • 这电影是很好看,但我还是不喜欢它
  • 我不喜欢这电影,但它还是很好看
    其中第1、3句整体极性是positive,但第2句整体极性就是negative。

分析上述例子:

  • 在词向量特征层面,三个句子非常接近,很难区分
  • 在N-gram特征层面,比如N=3,会发现第2句和第3句也很难区分。
    因此,fasttext只是通过简单的取向量的平均来作为s句向量进行分类,很难学出词序对句子语义的影响。
    换句话说,fasttext不适合这类对语序特征敏感的场景。

我的场景中有一些比较接近但类别不同的短文本,如“方向盘”为A,“打方向”、“打方向盘”为C,这类文本很可能会导致分类混淆。(待验证)

6.文本太短了,N-Gram特征无法准确用于分类?

我数据中有很多文本的长度比较短,甚至只有一两个字,:“异响”,“亮”,“不亮”,针对这类文本,fast的N-gram有效吗?
(待验证)

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

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

相关文章

解决Spring Boot 2.7.16 在服务器显示启动成功无法访问问题:从本地到服务器的部署坑

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

定义豪车新理念 远航汽车亮相2023中国(天津)国际汽车展览会

近年来,随着汽车行业竞争持续加剧,老品牌面临积极转型,新势力则经验不足、实力欠佳,到底是难抵市场的风云变幻。在此背景下,有着“老品牌 新势力”双重基因的远航汽车可谓底气十足。作为大运集团携手博世、华为、阿里斑…

陪诊系统|陪诊软件医疗陪护的创新之路

陪诊服务系统源码功能及解决方案,在一对一专属服务,就医经验丰富的专业陪诊师的陪伴下,就医体验得以优化,就医全程无须自行探究和寻找,就医过程更加省心,同时减轻了家属时间精力的负担。陪诊服务系统提供的…

城市智慧公厕:引领科技创新的新时代

城市智慧公厕已经成为当下社会治理模式的升级范式,催生了无限的科技创新。如智慧公厕源头厂家广州中期科技有限公司,所推出的智慧公厕整体解决方案,除基本的厕位监测与引导、环境监测与调节、安全防范与管理、保洁考勤管理、多媒体交互、综合…

【Verilog 教程】6.2Verilog任务

关键词:任务 任务与函数的区别 和函数一样,任务(task)可以用来描述共同的代码段,并在模块内任意位置被调用,让代码更加的直观易读。函数一般用于组合逻辑的各种转换和计算,而任务更像一个过程&a…

高防服务器给企业带来的优势有哪些?

高防服务器主要指的是能够提供给网络安全提供高防护的服务器,通过流量清洗、负载均衡等手段来抵御DDoS攻击、CC攻击这一类流量攻击,为企业提供了强大的数据保障,互联网时代数据安全是放在第一位的,数据泄漏的话不论对于企业还是对…

google的日志glog安装及使用

1.glog glog是google出的一个轻量级的c日志库 2.下载及编译 下载或克隆库,我选择的是V0.6.0版本: github.com/goolge/glog/releases/tag/v0.6.0 我用cmake编译(参考:github.com/google/glog#cmake) 按照说明步骤进…

Python入门自学进阶-Web框架——42、Web框架了解-bottle、flask

WEB框架的三大组件:路由系统、控制器(含模板渲染)、数据库操作 微型框架:依赖第三方写的socket,WSGI, 本身功能少 安装: pip install bottle pip install flask 安装flask,同时安…

力扣每日一题(+日常水题|树型dp)

740. 删除并获得点数 - 力扣(LeetCode) 简单分析一下: 每一个数字其实只有2个状态选 or 不 可得预处理每一个数初始状态(不选为0,选为所有x的个数 * x)累加即可 for(auto &x : nums)dp[x][1] x;每选一个树 i 删去 i 1 和 i - 1 故我们可以将 i…

【笔记】离线Ubuntu20.04+mysql 5.7.36 + xtrabackup定时增量备份脚本

一、环境 ● Ubuntu版本查看 lsb_release -a● mysql 版本查看 mysql --version我的是ubuntu 20.04,mysql是5.7.36,所以要用 install_percona-xtrabackup-24 二、原理 备份 通过ubuntu自带的定时器运行增量备份脚本备份文件可以存储在映射后的其他…

26593-2011 无损检测仪器 工业用X射线CT装置性能测试方法

声明 本文是学习GB-T 26593-2011 无损检测仪器 工业用X射线CT装置性能测试方法. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了工业用X 射线CT 装置(以下简称CT 装置)性能测试的术语、定义、缩略语以及空间 分辨力、密度分辨率…

#硬件电路设计VL817-Q7(B0)芯片拓展USB3.0一转四调试心得

供电电路 基于XL4005的电源供电电路 SS34肖特基二极管 ZMM5V1稳压二极管 SMAJ15A TVS (注意这个封装搞错5V会短接) Vout0.8*[1(R2R3)/R1] D14 SR05静电防护器件 一路稳压两路TVS 共模电感 : 型号: SDCW2012-2-900TF 品牌&#…

Mac 苹果系统使用nvm use 切换node版本号

windows在使用 nvm 管理并切换 node 时,通过 nvm use 切换node版本会全局切换。也就是node版本号切换后只要不手动更改就会一直保持当前版本号不变。 但博主最近换了苹果系统后,发现苹果系统不能全局更改node版本。我在 vscode中使用nvm use x.x.x之后&…

Midjourney 生成油画技巧

基本 prompt oil painting, a cute corgi dog surrounded with colorful flowers技法 Pointillism 点描绘法 笔刷比较细,图像更精细 oil painting, a cute corgi dog surrounded with colorful flowers, pontillismImpasto 厚涂绘法 笔刷比较粗,图像…

Prometheus-监控Mysql进阶用法(1)(安装配置)

阿丹: 在开发和生产环境中有可能会出现慢mysql等问题,那么这里就需要我们优秀的程序员来进行监控和解决,那么如何借助云原生的监控系统来完成这个操作呢? 环境描述: 使用一台空白的阿里云服务器2核4G。 服务器基本安装…

Python:使用PySimpleGUI中sg.Input控件获取数据plot导致yticks错乱

sg.Input获取y轴数据代码 sg.Text(First Read:, font("Times New Roman", 9)),sg.Input(key-first_read-, size(25, 1), default_text0,0,0, justificationcenter, font("Times New Roman", 9), expand_xTrue), sg.Text(Second Read:, font("Times Ne…

PHP8中的构造方法和析构方法-PHP8知识详解

今日分享的内容是php8中的构造方法和析构方法,我们把构造方法和析构方法这两个方法分开来讲: 1、构造方法 构造方法存在于每个声明的类中,主要作用是执行一些初始化任务。如果类中没有直接声明构造方法,那么类会默认地生成一个没…

人工智能 与 搜索引擎的较量

随着科技的不断进步,人工智能(AI)已经渗透到了我们生活的方方面面,搜索引擎也不例外。AI与传统搜索引擎之间的较量成为了科技界和互联网用户关注的热点话题。 人工智能 与 搜索引擎的较量 A - 搜索引擎B - 人工智能AI 的优势理解力…

「C++之STL」关于在模拟实现STL容器中的深浅拷贝问题

文章目录 前言杨辉三角深浅拷贝问题模拟实现的vector对题目杨辉三角引发的程序崩溃原因解决办法 前言 在学习STL容器中,不仅需要学会容器的使用,同时也需要了解容器的大体框架以及各个函数的模拟实现才能更好的去了解这个容器; 杨辉三角 在LeetCode中有一道这样的题目,给定一…

jvm垃圾收集算法

简介 由于《分代收集理论》和不同垃圾收集算法,Java堆应该被划分为不同区域,一般至少会把Java堆划分为新生代(Young Generation)和老年代(Old Generation)两个区域。 垃圾收集器可以只回收其中某一个或者…