【知识总结】文本分类

文本分类问题Pipeline

在这里插入图片描述
基本上机器学习和深度学习对于文本分类的pipeline都是上图这个流程。区别:

  • 机器学习提取的是具体特征,如TF-IDF,BOW
  • 深度学习提取的是抽象特征,如词向量

传统的分类器在NLP竞赛中都不太好用了,所以基本现在都用深度学习。
最重要的两个步骤:
1.数据转化为信息,即文本表示工作,可以理解为词向量训练
2.信息转化为知识,即做好分类器,可以理解为模型设计

文本表示工作

1. 首先关注语义粒度和文本长度

  • 是否分词?以词语还是以字作为表示一个句子的输入特征?若效果相差不大,会保留,并为之后的模型融合增加差异性
  • 文本长度使用占比95%左右的长度为最大长度,超过最大长度截取,不足进行填充padding

2. 词向量选择

  • w2v和glove基本就是比赛都用的,要么寻找好的词向量,要么自己训练
  • trick:拼接w2v和glove作为新特征输入会有一定提升效果
  • 词向量维度的选择,需要多做测试去验证寻找最佳的。

3. 语言模型词向量(ELMo、BERT)

  • 效果比词向量强,w2v缺点是只包含模型第一层的先验知识,即无法解决一词多义的问题

问 题 : B O W 、 N − g r a m 、 词 嵌 入 、 语 言 模 型 词 向 量 的 关 系 ? \color{red}{问题:BOW、N-gram、词嵌入、语言模型词向量的关系?} BOWNgram
答: NLP基本问题是如何计算一段文本序列在某种语言下出现的概率? TF-IDF没有考虑到单词之间的顺序,使用词频来计算,后来有了N-Gram语言模型,使用了隐马尔可夫假设,NGram升级了一下,考虑了N个词构成的特征,然后为了考虑整个句子的词之间的关联解决维度灾难问题,出现了词嵌入,w2v不是算法,通常指的是它背后的CBoW和skip-gram模型,但是w2v解决不了一词多义问题,就出现了语言模型词向量BERT等。

模型设计工作

文本分类的重点是抓取关键词,关键词抓取收到文本长度影响,就像我们读书,内容越长越难把握重心,过于优化长文本又会导致短文本性能受影响,所以要在【关键词特征】【长文本】【短文本】之间取舍
在这里插入图片描述
短文本:CNN+MAXpooling比较好,Max-pooling会直接过滤掉模型认为不重要特征,Capsules比CNN好,LSTM/GRU+Capusules是个不错的模型
长文本:HAN, TEXTCNN前加一层LSTM

CNN-TEXT工作原理:
卷积窗口沿着长度为n的文本一个个滑动,类似于n-gram机制对文本切词,然后和文本中的每个词进行相似度计算,因为后面接了个Max-pooling,因此只会保留和卷积核最相近的词。这就是TextCNN抓取关键词的机制。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值