查漏补缺之(一)—— fasttext与TextCNN
最近查看自己的博客,发现自己居然没有 fasttext与TextCNN的相关博客,正可谓左青龙右白虎王朝马汉在中间,没有这两位怎么能行呢?午休之前安排!
但需要提前说明的是,本篇博客不深入探究Fasttext与TextCNN的细节,只是基于既有知识点进行拓展解释,以期触类旁通。
fastText
fastText的核心思想是:将整篇文档的词及n-gram向量叠加平均得到文档向量,然后使用文档向量做softmax多分类得到其所属的类别label。
整个过程类似于CBOW,以下是两者的一些区别和联系:
fastText | CBOW | |
---|---|---|
作用 | 主要用于分类,也可用于词向量训练 | 主要用于训练词向量 |
输入 | 表征单个文档的多个单词及字符级n-gram特征,被embedding过 | 目标单词的上下文,被onehot编码过 |
过程 | 将一个句子所有词做平均,提取的是句子的特征,利用全部的n-gram去预测指定类别label | 将window_size的上下文词的向量做平均,提取的是上下文词特征,然后根据周围词预测中心词 |
输出 | 目标词汇的概率分布 | 文档对应类别的概率分布 |
其他 | 有监督学习;使用层次softmax计算文档属于某个类别的概率。 | 无监督学习;使用层次softmax计算中心词出现的概率。 |
字符级n-gram特征的引入以及层次Softmax是fastText中两个重要的技巧,其中字符级的n-gram特征还可以在一定程度上解决OOV的问题。fastText适用与分类类别非常大而且数据集足够多的情况,当分类类别比较小或者数据集比较少的话,很容易过拟合。
想要了解更多可以参见fastText官网进行实践:
fastText官网
TextCNN
基于我们之前对CNN的理解,再来理解TextCNN就很容易了,如果CNN忘了可以回顾:
CNN学习笔记——CNN是怎么做到图像识别的?
TextCNN是CNN在文本处理上的应用,可更好地捕捉局部相关性,一张图进行说明:
或者想了解更多可以看原论文:
Convolutional Neural Networks for Sentence Classification
常用选型技巧
- Fasttext(垃圾邮件/主题分类) 特别简单的任务,要求速度
- TextCNN(主题分类/领域识别) 比较简单的任务,类别可能比较多,要求速度
查漏补缺之(一)—— fasttext与TextCNN相关推荐
- 算法岗面经整理!查漏补缺
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:阿毛冲冲冲,来源:NewBeeNLP(牛客网) 写在前面 三月面试 ...
- 前端面试查漏补缺--(一) 防抖和节流
前言 本系列最开始是为了自己面试准备的.后来发现整理越来越多,差不多有十二万字符,最后决定还是分享出来给大家. 为了分享整理出来,花费了自己大量的时间,起码是只自己用的三倍时间.如果喜欢的话,欢迎收藏 ...
- 计算机三级网络技术查漏补缺
计算机三级网络技术查漏补缺 DHCP(Dynamic Host Configuration Protocol) DMZ(demilitarized zone) 可信计算机评估准则 VLAN 集线器工作 ...
- 2019/5/12 查漏补缺
目录 2019/5/12 查漏补缺 数据类型分为两大类:基本类型和引用类型: java中类的继承关系 关于接口 重载和重写 静态变量 java中的关键字和保留字 数据库操作 实现数据库收回部分权限的操 ...
- Android系统开发和性能优化——查漏补缺【建议收藏】
做了这么久性能相关的工作,也接触了不少模块,说实话要做好性能这一块,真心不容易.为什么这么说? 是因为需要接触的知识实在是太多了, Android 是一个整体,牵一发而动全身,不是说只懂一个模块就可以 ...
- 无效字符 java_Java知识查漏补缺
Java基础知识查漏补缺 单元测试中,Mock对象的存在破坏了面向对象中的封装 mock对象:也成为伪对象,在测试中的利用mock对象来代替真实对象,方便测试的进行. java的封装性:指的是将对象的 ...
- Mysql查漏补缺笔记
目录 查漏补缺笔记2019/05/19 文件格式后缀 丢失修改,脏读,不可重复读 超键,候选键,主键 构S(Stmcture)/完整性I(Integrity)/数据操纵M(Malippulation) ...
- Java基础查漏补缺(2)
Java基础查漏补缺(2) apache和spring都提供了BeanUtils的深度拷贝工具包 +=具有隐形的强制转换 object类的equals()方法容易抛出空指针异常 String a=nu ...
- 【JavaScript】查漏补缺 —对象转换成字符串JSON.stringify()
[JavaScript]查漏补缺 -对象转换成字符串JSON.stringify() 将字符串转换为对象类型
- 【JavaScript】查漏补缺 —数组中reduce()方法
[JavaScript]查漏补缺 -数组中reduce()方法
最新文章
- Halcon与QT的联合编程(1)
- JAVA 线上故障排查套路,从 CPU、磁盘、内存、网络到GC 一条龙!
- hdu1043 经典的八数码问题 逆向bfs打表 + 逆序数
- .Net Core下通过Proxy 模式 使用 WCF
- Spring文件上传
- 不敢相信!美国预测10年后的世界!
- SVG矢量绘图 path路径详解(基本画法)
- 最全银行IT核心系统:研究框架(165页)
- μC/OS-III---I笔记9---任务等待多个内核对象和任务内建信号量与消息队列
- 第八届蓝桥杯第二题等差素数列
- Spark序列化入门
- BZOJ2768: [JLOI2010]冠军调查
- 免费虚拟化OVM-V1.6发布,新增虚拟机裸设备映射
- 制造业MES系统数字化转型
- ndk编译 toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe
- Easymock十分钟入门
- Keil编译——warning:implicit declaration of function “XXXX“ is invalid in C99
- nginx简单代理和域名配置
- MyData 白皮书:一种以人为本的个人数据管理北欧模式 | ArcBlock 博客
- 软件项目管理案例教程(第三版 韩万江,姜立新)其它课后题答案持续更新,欢迎收藏+关注