【一起入门NLP】中科院自然语言处理第10课-NLP基础任务①:文本分类问题

专栏介绍:本栏目为 “2021秋季中国科学院大学胡玥老师的自然语言处理” 课程记录,不仅仅是课程笔记噢~ 如果感兴趣的话,就和我一起入门NLP吧

目录

  • 文本分类任务概述
  • 序列结构文本分类方法
  • 图结构 文本分类方法
  • 文本分类评价指标
    • 二分类评价指标
      • ◆ 准确率(Accuracy)
      • ◆ 精确率(Precision)
      • ◆ 召回率(Recall)
      • ◆ 精确度和召回率的调和均值(F-Score)
    • 多分类评价指标(假设有n个类别)
      • ◆准确率(Accuracy)
      • ◆ 宏平均(Marco Averaged)
      • ◆ 微平均(Mirco Averaged)
  • 常用数据集
    • Sentiment Analysis
    • News/Topic Classification

文本分类任务概述

文本分类是NLP中的常见的重要任务之一,应用广泛,在很多领域发挥着重要作用,例如垃圾邮件过滤、舆情分析以及新闻分类等。

问题定义:

  • f : X → Y
  • 输入:X 句子/篇章
  • 输出:X 所属类别 Y ,Y ∈{类别集合}

神经网络分类方法:

  • ★ 基于词袋的文本分类
  • ★ 基于卷积神经网络文本分类(TextCNN/DPCNN/Char-CNN/VDCNN)
  • ★ 基于循环神经网络文本分类(TextRNN/TextRCNN)
  • ★ 基于attention机制文本分类
  • ★ 基于预训练模型的文本分类
  • ★ 基于图卷积神经网络文本分类
  • 也可以根据问题需要将上述方法结合形成混合模型

序列结构文本分类方法

框架:
【一起入门NLP】中科院自然语言处理第10课-NLP基础任务①:文本分类问题_第1张图片
关键问题:如何生成高质量的文本表示? 有以下几种解决办法:

  1. 神经词袋模型(Bag of words)
    简单对文本序列中每个词嵌入进行平均/加总,作为整个序列的表示。这种方法的缺点是丢失了词序信息。对于长文本,神经词袋模型比较有效。但是对于短文本,神经词袋模型很难捕获语义组合信息

  2. 卷积神经网络模型(Convolutional Neural Network)
    通过多个卷积层和子采样层,抽取序列的 n-gram特征信息,最终将得到特征信息合并成一个固定长度的向量作为整个序列表示。

  3. 循环神经网络(Recurrent Neural Network)
    将文本序列看作时间序列,不断更新,最后得到整个序列的表示。这种表示中包含的是序列的顺序信息。

  4. 循环+卷积神经网络模型
    RNN擅长处理序列结构,能够考虑到句子的上下文信息。CNN属于无偏模型,能够通过最大池化获得最重要的特征。结合二者的优势生成上下文窗口信息的卷积网络。

  5. 注意力神经网络(Attention Network)
    通过注意力机制对序列进行编码,最后得序列的表示,这种表示包含的是词与词之间的关联关系。

  6. 基于预训练模型(Bert)
    通过预训练模型形成句表示,然后将该句表示作为分类的输入

图结构 文本分类方法

根据任务对原文本加入附加信息并构建原文本与附加信息的关系图(将附加的结构信息融入文本),然后利用图卷积的方法提取文本有效的特征表示。

图卷积文本分类步骤:

  1. Graph 构建
    图卷积算法对原文本按照附加信息的不同构建不同的图结构。附加信息可以是词的近义信息,共现信息,先验知识信息等
  2. 文本Graph节点特征表示
    在图卷积中结点可以根据任务需要采用不同的结点表示方法。如,一般词向量, ELMO 词嵌入, Bi-LSTM 词向量嵌入,词袋词频 等方法
  3. 图卷积算法
    构建好输入图和图上结点表示后,可以根据不同的任务构建不同的图卷积算法。如,一般图卷积,加入注意力机制的图卷积等。

框架:
【一起入门NLP】中科院自然语言处理第10课-NLP基础任务①:文本分类问题_第2张图片
关键问题仍然是:如何生成高质量的文本表示

例子:对文本进行图卷积分类

  • 第一步:Graph 构建【一起入门NLP】中科院自然语言处理第10课-NLP基础任务①:文本分类问题_第3张图片
  • 第二步:文本Graph节点特征表示
    【一起入门NLP】中科院自然语言处理第10课-NLP基础任务①:文本分类问题_第4张图片
  • 第三步:图卷积算法【一起入门NLP】中科院自然语言处理第10课-NLP基础任务①:文本分类问题_第5张图片

文本分类评价指标

二分类评价指标

  • TP——将正类预测为正类数;
  • FN——将正类预测为负类数;
  • FP——将负类预测为正类数;
  • TN——将负类预测为负类数;

◆ 准确率(Accuracy)

  • 对于给定的测试集,分类器正确分类的样本数/总样本数
  • = ( + )/( + + + )

◆ 精确率(Precision)

  • 预测正确的正例数据占预测为正例数据的比例
  • = /( + )

◆ 召回率(Recall)

  • 预测正确的正例数据占实际为正例数据的比例
  • = /( + )

◆ 精确度和召回率的调和均值(F-Score)

【一起入门NLP】中科院自然语言处理第10课-NLP基础任务①:文本分类问题_第6张图片

  • 取值反映了精确率和召回率在性能评估中的相对重要性
  • 通常情况下,取值为1(✨F1),F1又称平衡F分数,表明精确率和召回率一样重要。
  • = /( + + )
  • 也可根据评估的重要性选取合适的:
    当=2,表明评估时,召回率的重要性比精确率高;
    当=0.5,表明评估时,精确率的重要性比召回率高;

多分类评价指标(假设有n个类别)

◆准确率(Accuracy)

对于给定的测试集,n个类预测正确的样本总数/总样本数

◆ 宏平均(Marco Averaged)

对所有类别的每一个统计指标值的算数平均值,分别称为宏精确率(MacroPrecision) ,宏召回率(Macro-Recall),宏F值(Macro-F Score)

◆ 微平均(Mirco Averaged)

对每个样本进行P、R的统计,计算微精确率(Micro-Precision) ,微召回率(Micro-Recall),微F值(Micro-F Score)。

度量分类器对大类判别的有效性选择微平均,度量分类器对小类判别的有效性选择宏平均

常用数据集

Sentiment Analysis

【一起入门NLP】中科院自然语言处理第10课-NLP基础任务①:文本分类问题_第7张图片

News/Topic Classification

【一起入门NLP】中科院自然语言处理第10课-NLP基础任务①:文本分类问题_第8张图片

你可能感兴趣的:(#,自然语言处理,自然语言处理,分类)