专栏介绍:本栏目为 “2021秋季中国科学院大学胡玥老师的自然语言处理” 课程记录,不仅仅是课程笔记噢~ 如果感兴趣的话,就和我一起入门NLP吧🥰
文本分类任务概述
文本分类是NLP中的常见的重要任务之一,应用广泛,在很多领域发挥着重要作用,例如垃圾邮件过滤、舆情分析以及新闻分类等。
问题定义:
- f : X → Y
- 输入:X 句子/篇章
- 输出:X 所属类别 Y ,Y ∈{类别集合}
神经网络分类方法:
- ★ 基于词袋的文本分类
- ★ 基于卷积神经网络文本分类(TextCNN/DPCNN/Char-CNN/VDCNN)
- ★ 基于循环神经网络文本分类(TextRNN/TextRCNN)
- ★ 基于attention机制文本分类
- ★ 基于预训练模型的文本分类
- ★ 基于图卷积神经网络文本分类
- 也可以根据问题需要将上述方法结合形成混合模型
🍑序列结构🍑文本分类方法
框架:
关键问题:如何生成高质量的文本表示? 有以下几种解决办法:
-
神经词袋模型(Bag of words)
简单对文本序列中每个词嵌入进行平均/加总,作为整个序列的表示。这种方法的缺点是丢失了词序信息。对于长文本,神经词袋模型比较有效。但是对于短文本,神经词袋模型很难捕获语义组合信息 -
卷积神经网络模型(Convolutional Neural Network)
通过多个卷积层和子采样层,抽取序列的 n-gram特征信息,最终将得到特征信息合并成一个固定长度的向量作为整个序列表示。 -
循环神经网络(Recurrent Neural Network)
将文本序列看作时间序列,不断更新,最后得到整个序列的表示。这种表示中包含的是序列的顺序信息。 -
循环+卷积神经网络模型
RNN擅长处理序列结构,能够考虑到句子的上下文信息。CNN属于无偏模型,能够通过最大池化获得最重要的特征。结合二者的优势生成上下文窗口信息的卷积网络。 -
注意力神经网络(Attention Network)
通过注意力机制对序列进行编码,最后得序列的表示,这种表示包含的是词与词之间的关联关系。 -
基于预训练模型(Bert)
通过预训练模型形成句表示,然后将该句表示作为分类的输入
🍑图结构🍑 文本分类方法
根据任务对原文本加入附加信息并构建原文本与附加信息的关系图(将附加的结构信息融入文本),然后利用图卷积的方法提取文本有效的特征表示。
图卷积文本分类步骤:
- Graph 构建
图卷积算法对原文本按照附加信息的不同构建不同的图结构。附加信息可以是词的近义信息,共现信息,先验知识信息等 - 文本Graph节点特征表示
在图卷积中结点可以根据任务需要采用不同的结点表示方法。如,一般词向量, ELMO 词嵌入, Bi-LSTM 词向量嵌入,词袋词频 等方法 - 图卷积算法
构建好输入图和图上结点表示后,可以根据不同的任务构建不同的图卷积算法。如,一般图卷积,加入注意力机制的图卷积等。
框架:
关键问题仍然是:如何生成高质量的文本表示
例子:对文本进行图卷积分类
- 第一步:Graph 构建
- 第二步:文本Graph节点特征表示
- 第三步:图卷积算法
文本分类评价指标
二分类评价指标
- TP——将正类预测为正类数;
- FN——将正类预测为负类数;
- FP——将负类预测为正类数;
- TN——将负类预测为负类数;
◆ 准确率(Accuracy)
- 对于给定的测试集,分类器正确分类的样本数/总样本数
- 𝐀𝐜𝐜 = (𝐓𝐏 + 𝐓𝐍)/(𝐓𝐏 + 𝐅𝐍 + 𝐅𝐏 + 𝐓𝐍)
◆ 精确率(Precision)
- 预测正确的正例数据占预测为正例数据的比例
- 𝐏 = 𝐓𝐏/(𝐓𝐏 + 𝐅𝐏)
◆ 召回率(Recall)
- 预测正确的正例数据占实际为正例数据的比例
- 𝐑 = 𝐓𝐏/(𝐓𝐏 + 𝐅𝐍)
◆ 精确度和召回率的调和均值(F-Score)
- 𝜷 取值反映了精确率和召回率在性能评估中的相对重要性。
- 通常情况下,取值为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)。
度量分类器对大类判别的有效性选择微平均,度量分类器对小类判别的有效性选择宏平均