NLP基础任务-分类和匹配

文章目录

  • 文本分类
    • 文本分类任务概述
    • 序列结构文本分类方法
    • 图结构文本分类方法
    • 分类指标
  • 文本匹配
    • 概述
    • 匹配方法

文本分类

文本分类任务概述

分类方法:

  • 概率统计时代:特征工程+算法
  • 深度学习时代:自动获取特征(表示学习)端到端分类

神经网络分类方法:

  • 基于词袋的文本分类
  • 基于卷积神经网络文本分类(TextCNN/DPCNN/Char-CNN/VDCNN)
  • 基于循环神经网络文本分类(TextRNN/TextRNN)
  • 基于attention机制文本分类
  • 基于预训练模型的文本分类
  • 基于图卷积神经网络文本分类
  • 也可以混合模型

序列结构文本分类方法

NLP基础任务-分类和匹配_第1张图片
神经词袋模型(bag of words)

简单对文本序列中的每个词嵌入进行平均/加权,作为整个序列的表示。

  • 缺点:丢失词序信息
  • 对长文本比较有效,短文本很难捕获语义组合信息
    NLP基础任务-分类和匹配_第2张图片

FastText

NLP基础任务-分类和匹配_第3张图片

卷积神经网络模型

通过多个卷积层和子采样层,抽取序列的n-gram特征信息,最终将得到特征信息合并成一个固定长度的向量作为整个序列表示

TextCNN

两套词向量构造出的句子矩阵作为两个通道

  • CNN-rand:所有的词向量都随机初始化(模型训练时做参数进行训练)
  • CNN-static:即用word2vec预训练好的向量(模型训练过程中不更新)

两个通道分别采用不同的卷积核进行卷积构建n-gram特征;然后将Pooling后的特征进行连接作为句表示;将生成的句表示做全连接分类
在训练时,只更新CNN-rand一组词向量,保持另外一组不变

循环神经网络

将文本序列看作时间序列,不断更新,最后得到整个序列的表示,这种表示中只包含的是序列的顺序信息

BiLSTM

词向量,通过word2vec算法在通用语料上预训练
分别从两个方向上,通过LSTM分别编码当前词的上文信息下文信息
然后通过求和操作,得到融合上下文的词表示
然后将pooling之后的向量作为句子表示,用作全连接分类

基于RNN的句表示
NLP基础任务-分类和匹配_第4张图片
循环+卷积神经网络模型

RNN能考虑句子的上下文信息
CNN属于无偏模型,能够通过最大池化获得最重要的特征

Recurrent Convolutional Neural Networks

注意力机制神经网络

通过注意力机制对序列进行编码,最后得序列的表示,这种表示包含的是词与词之间的关联关系

LSTM/CNN-GRU(篇章级-混合模型)

篇章中所有句子的词向量矩阵作为输入
CNN/LSTM形成句子级向量表示
由句向量用双向RNN形成每句的带有上下句子信息的句子表示
由句向量形成篇章级向量表示
用篇章级向量做份分类

HAN ( 篇章级- Attention 模型 )

从句子级和文档级两个层次引入Attention机制,可识别分类决策的重要单词和句子

** 基于预训练模型(Bert)**

通过预训练模型形成句表示,然后将该句表示作为分类的输入

图结构文本分类方法

图卷积神经网络文本分类
1、Graph 构建
对原文本按照附加信息的不同构建不同的图结构。附加信息可以是词的近义信息,共现信息,先验知识信息等
NLP基础任务-分类和匹配_第5张图片

2、文本Graph节点特征表示
在图卷积中结点可以根据任务需要采用不同的结点表示方法。如,一般词向量, ELMO 词嵌入, Bi-LSTM 词向量嵌入,词袋词频 等方法

3、图卷积算法
构建好输入图和图上结点表示后,可以根据不同的任务构建不同的图卷积算法。如,一般图卷积,加入注意力机制的图卷积等

方法 一:将所有异质结点特征接连,形成同质特征结点,然后采用普通图卷积方法

NLP基础任务-分类和匹配_第6张图片

方法 二:采用双重注意力机制(类型级 + 结点级)的异质图卷积方法

类型级注意力
NLP基础任务-分类和匹配_第7张图片
结点级注意力
NLP基础任务-分类和匹配_第8张图片NLP基础任务-分类和匹配_第9张图片
双重注意力机制异质图卷积分类模型HGAT
NLP基础任务-分类和匹配_第10张图片

分类指标

  • 二分类
    NLP基础任务-分类和匹配_第11张图片

NLP基础任务-分类和匹配_第12张图片

  • 多分类

NLP基础任务-分类和匹配_第13张图片
NLP基础任务-分类和匹配_第14张图片

文本匹配

概述

1、复述识别
判断两段文本是不是表达了同样的语义,建模成分类问题,二分类

2、文本蕴含识别
蕴含关系、矛盾关系、中立关系,多分类

3、问答
根据问题找答案,分类
根据问题从若干候选中找出正确答案,排位问题

4、对话
分类或排位问题

5、信息检索
计算相似度和排序–>排位问题

匹配方法

规则方法:不同任务需要专门构建特征规则
统计方法:特征工程+算法
深度学习方法:

  • 基于单语义文档表达的深度学习模型(基于表示-孪生网络)(二范式)
  • 基于多语义文档表达的深度学习模型(基于交互-交互聚合)(二范式)
  • 基于预训练语言模型BERT的模型(三范式)
  • 孪生

ARC-I(基于CNN)
输入:句子A、B
运算关系:
1、padding句子A、B到定长
2、分别做多轮的卷积+池化运算
3、拼接两个向量
4、输入给多层感知机
输出:句子A和B的匹配度
特点:在于将两个句子encode成句向量之后再用多层感知机进行分类,没有体现出句子之间的交互操作


CDNN(基于CNN)
输入:句子d和q
运算关系:
1、分别做卷积+池化运算,得到句向量
2、计算相似度 X s i m = X q T M X d X_{sim}=X_{q}^{T}MX_{d} Xsim=XqTMXd
3、计算单词重叠数等其他特征
4、拼接句向量、相似度和其他特征
5、输入给多层感知机
输出:句子d和q的匹配度
特点:引入相似矩阵


InferSent(基于RNN)
输入:句子A和B
运算关系:
1、将A、B分别通过BiLSTM-Max表示成句向量
2、将2个句向量交互运算输入给多层感知机
输出:句子A和B的匹配度


  • 交互聚合

ESIM(基于RNN和Attention)
NLP基础任务-分类和匹配_第15张图片


ABCNN(基于CNN和Attention)

NLP基础任务-分类和匹配_第16张图片


利用BERT

NLP基础任务-分类和匹配_第17张图片

你可能感兴趣的:(1024程序员节,自然语言处理)