zl程序教程

您现在的位置是:首页 >  其它

当前栏目

文本分类思维导引

分类 文本 思维
2023-09-11 14:17:14 时间
文本分类
机器学习方法(2012前) 特征+分类器
 
正则
 
词典
 
词典:同义词扩展
 
 
数据结构:布隆过滤器
 
 
语义反转:程度词,否定词,问句
 
特征工程
 
统计表征: TFIDF,BOW,TextRank等
 
 
语义表征:LDA,LSI(统计+降维)词向量(后话)
 
分类器
 
LR,SVM,GBDT
 
深度学习方法(2013-2017年) 词向量+端到端
词向量
word2vec
 
两种建模方法:CBOW和SG
 
 
两种解决大规模词表训练的trick:负采样和层级softmax
 
GloVe
 
1.词共现矩阵分解; 2.与word2vec的等价性证明:neural-word-embedding-as-implicit-matrix-factorization(nips 2014)
 
Fasttext
 
考虑了OOV的解决: 1 找到每个词的N-grams,_compute_ngrams函数 2 然后与n-grams词库进行匹配 3 匹配到的n-gram向量平均即为最后的输出值
 
fasttext
 
最简单的文本分类模型,均值池化+softmax,考虑了OOV,简单任务效果还行非常快
 
CNN
 
TextCNN为代表的模型,在语序无关任务上表现很好,如脏话识别
 
 
演进了一些列CNN:DPCNN,VDCNN,在词向量没有进步的情况下,实测中效果都很一般
 
 
WWW2017出现了Graph-CNN的,使用词共现图采样子图,相当于改变了语序和语句采样,目测只适合主题分类,没有本质的变化
 
RNN/LSTM
 
RNN的演进:RNN-LSTM-GRU
 
 
池化方法的演进:attention
 
capsule
 
暂且不表
 
深度学习方法(2017年后) 预训练语言模型
ElMo
 
NAACL 2018 bestpaper预训练语言模型的开山之作
 
 
使用维度很大的两层bi-LSTM(4096 hidden)进行大规模语料的语言模型预训练:慢还效果相对不好
 
GPT
 
使用transformer替换LSTM
 
Bert
 
改进1.wordpiece:有效解决了oov
 
 
改进2.双向,体现在MLM预训练任务上,不是简单的顺序语言模型
 
 
MLM可以从任何方向去预测这些挡上的词,而不仅仅是单向的。但是这样做会带来两个缺点:1)预训练用[MASK]提出挡住的词后,在微调阶段是没有[MASK]这个词的,所以会出现不匹配;2)预测15%的词而不是预测整个句子,使得预训练的收敛更慢。但是对于第二点,作者们觉得虽然是慢了,但是效果提升比较明显可以弥补。
 
XLNET
 
长文档优化:相对位置编码以及分段RNN机制
 
 
扩大数据集:16G-> 19G和78G
 
Robert
 
修改了BERT原有的训练策略:动态MASK,删除NSP,BPE的粒度变细
 
 
引入了更大的新数据集16GB->160GB
 
albert
 
压缩bert参数,使用了矩阵分解和共享参数两个trick
 
 
实际上并不减少inference的计算图深度,不能省时间
 
GPT-2
 
在GPT基础上变大:增加数据集,网络参数,增大词汇表和上下文长度
 
 
似乎想证明:只要够大,我就可以超越Bert
 
GPT-3
 
1750亿参数VS Bert3亿参数,数据集500GB VS bert 16GB
 
 
似乎想证明:只要学习了地球上所有的文本,我就可以通过图灵测试
 
 
...
 
难点
 
输入层面:短文本->长文本和超长文本
 
 
标签层面:复杂语义识别:如阴阳怪气
 
 
时间演化:川普VS 川普,开车VS开车
 
 
上下文:美食论坛苹果小米黑莓 VS手机论坛苹果小米黑莓
 
演进路径
 
明线:统计-机器学习-深度学习-更深的深度学习
 
 
暗线1:简单表达-语义表达-上下文语义表达
 
 
暗线2:特征输入粒度 从词到BPE
 
 
暗线3:预训练权重从输入层扩展到网络结构
 
 
暗线4:自回归派和自编码派的爱恨情仇
 
 
暗线5:短文档到长文档
 
算法选型
定义任务难度的三个维度
数据量
 
one/zero shot VS 海量
 
非线性
 
阴阳怪气 VS 垃圾邮件
 
 
反义疑问句 VS 体育财经分类
 
类间距离
 
细粒度的情感分类 VS 正负情感
 
 
典型难度排序:主题分类-情感分类-意图识别-细粒度情感识别-复杂语义识别(如阴阳怪气)
 
推荐算法选型
 
Fasttext(垃圾邮件/主题分类)
 
 
TextCNN(主题分类/领域识别)
 
 
LSTM(情感分类/意图识别)
 
 
Bert(细粒度情感/阴阳怪气/小样本识别)
 
结合业务的思考
 
1. NLP最最基本的任务,其技术和方法成熟,数据(X和Y)更重要
 
 
2. 方法之间的绝对差距不大,尤其对于简单任务,可能就是0.95和0.93的区别
 
3. 精度很容易在当前监督数据(X,Y)下摸到天花板,思考一些别的方向
 
新意图发现
 
 
类别空间设计
 
 
长尾优化
 
类比基础算法能力的迭代
 
识别/检测/分隔
 
 
NER