NLP 文本分类任务核心梳理

解决思路

  • 分解为多个独立二分类任务
  • 将多标签分类转化为多分类问题
  • 更换 loss 直接由模型进行多标签分类

数据稀疏问题

标注更多数据,核心解决方案:

  • 自己构造训练样本
    数据增强,如使用 chatGPT 来构造数据
  • 更换模型
    减少数据需求
  • 增加规则弥补
  • 调整阀值,用召回率替换准确率
  • 重新定义类别(类别合并)

标签不均衡问题

  • 过采样
    复制指定类别样本,在采样中重复
  • 降采样
    减少多样本类别的采样,随机使用部分样本
  • 增加标注数据
  • 调整样本权重
    调整损失函数的权重
  • 非神经网络的方法
    • 贝叶斯
      • 全概率公式
      • 贝叶斯公式
        • 核心在于词频的统计
        • 需要做词的独立性假设,形成每个事件在某个事件下发生概率的相乘
          这种假设是没有保障的,需要加一平滑等策略,保证概率不为0,没有考虑语序,没有词义。
      • 适用于样本分布较均衡的语料
        • 简单高效
        • 训练结果有一定的可解释性
        • 训练数据可以分批处理
    • SVM 支持向量机
      • 找到一个决策边界
        • 即一条直线、平面或超平面
          • 实现数据的线性可分
        • 距离两个类别最近的样本距离最远
      • 是非线性不可分的
        • 可以通过使用特别的映射关系,将数据映射到高维解决
        • 通过核函数解决高维度计算耗时问题
      • 主要靠核函数寻找决策边界
      • 没有像贝叶斯很好的可解释性,没有神经网络的效果好
  • 神经网络方法
    • fastText
      • 结构简单
        1. embedding
        2. mean pooling
        3. fc -> class_num
      • 参数少,所以效果不会很好
        抛弃了语序信息
    • TextCNN
      对位相乘再相加,是有语序信息的,可以堆叠多层使用。
      • 分类
        • LSTM
        • GRU
    • Gated CNN
      • 过滤 AB 相乘后为 0 部分
      • 放缩 B 中在 0-1 的部分
    • Bert
      实现方式:
      1. 取[cls] token 对应的向量
      2. 将整句话的向量取 max/average pooling
      3. 将 bert 编码后的向量再输入 LSTM 或者 CNN
      4. 将bert 中间层的结果取出,加入运算
    • Bert + RNN 或 CNN
      由于Bert 权重不是随机的,RNN 或 CNN 权重随机,为防止Bert 权重失去意义,RNN 最多一层或双向,或 CNN 最多 2-3 层。
    • 拓展
      • 对比学习
      • 海量向量查找
        • 向量数据库
          Annoy
          在多个接近的分支上查找
        • KD 树
          实现空间分割,局部对比
          均方差
          中位数
    • 目的
      预设文文本所属的类别
相关推荐
蓝天星空6 分钟前
Python调用open ai接口
人工智能·python
睡觉狂魔er6 分钟前
自动驾驶控制与规划——Project 3: LQR车辆横向控制
人工智能·机器学习·自动驾驶
scan72429 分钟前
LILAC采样算法
人工智能·算法·机器学习
leaf_leaves_leaf32 分钟前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零137 分钟前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
爱喝热水的呀哈喽1 小时前
《机器学习》支持向量机
人工智能·决策树·机器学习
minstbe1 小时前
AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python
人工智能·python·支持向量机
月眠老师1 小时前
AI在生活各处的利与弊
人工智能
四口鲸鱼爱吃盐1 小时前
Pytorch | 从零构建MobileNet对CIFAR10进行分类
人工智能·pytorch·分类
苏言の狗1 小时前
Pytorch中关于Tensor的操作
人工智能·pytorch·python·深度学习·机器学习