阅读笔记:Multi-Task Label Embedding for Text Classification

阅读笔记:Multi-Task Label Embedding for Text Classification

    • 1.简介
      • 几种分类问题
      • 深度学习在文本分类类任务中的应用
    • 2.文本分类现状
    • 3.MTLE
      • 问题描述
        • 单任务学习(single-task learning)
        • 多任务学习(multi-task learning)
      • 总思路
      • 无监督模型
      • 有监督模型
      • 半监督模型

1.简介

几种分类问题

  1. 多标签分类
    一个样本可以属于多个类别(或标签),不同类之间是有关联的。
  2. 多任务分类
    多任务学习是一种联合学习,多个任务并行学习,结果相互影响。
  3. 多类分类(普通分类任务)
    一个样本属于且只属于多个类中的一个,一个样本只能属于一个类,不同类之间是互斥的。
    如果只有两类,那就是二元分类。

深度学习在文本分类类任务中的应用

以往的文本分类任务中,标签信息是作为无实际意义、独立存在的one-hot编码形式存在。这种做法会造成部分潜在语义信息丢失。

本文将文本分类任务中的标签信息转换成含有语义信息的向量,将文本分类任务转换城向量匹配任务,并且建立了有监督、无监督和半监督三种模型。解决了以往模型无法迁移、无法扩展缩放和部分信息缺失这些问题。

2.文本分类现状

Deep Learning (Bengio, Courville, and Vincent 2013)的大火,越来越多的基于神经网络的模型能够在特征的驱动下 表示含有语义信息 固定长度的向量,并且获得了很好的鲁棒性,同时也对自然语言处理的子任务提供了很好的方法。

但是由于需要训练大量的参数,基于神经网络的模型往往严重依赖与大量的标注语料。但是建立大规模、高质量的语料库既耗费时间、又耗费人力。

多任务学习(multi-task learning)可以解决这一问题。它通过联合训练多组相关任务并且利用这些任务之间的相互联系来增加语料库大小,提取这些任务之间的共同特征,提高分类表现。

受 (Caruana 1997)启发,越来越多的人开始关注基于神经网络的multi-task learning任务重, (Collobert and Weston 2008;
Liu et al. 2015b; Liu, Qiu, and Huang 2016a; Liu, Qiu, and Huang 2016b; Zhang et al. 2017).

这些模型通常包含:

  1. 一个 pre-trained lookup layer——将单词序列映射成稠密、低维、含有语义信息的实值向量,这就是我们所说的**word embedding **(Mikolov et al. 2013b);
  2. 使用一些lower layers 来抓取共同特征;
  3. 这些共同特征被进一步馈送到后续任务特定层。

然而这些已有模型存在以下问题:

  1. 缺少标签信息 标签信息也含有部分语义信息,但是以往的工作直接把标签转换成没有实际含义、独立于文本信息存在的one-hot编码 [1,0]和[0,1],这就造成了部分信息缺失。
  2. 模型无法扩展和缩放 这些模型是针对特定任务精心设计的,当有新的分类任务引入的时候,模型的结构需要重新修改,整个网络也需要重新训练。
  3. 模型无法迁移 迁移学习——类似于“触类旁通”、“举一反三”,对人类来说,如果已经有了相关的经验,当来了一个新的任务的时候,可以不需要任何多余的学习过程。但是对以往的模型来说,整个模型是固定的,面对新的任务,还需要重新设计结构、重新训练参数。

3.MTLE

总思路:将文本和标签都转化成语义向量,从而将文本分类任务转换城向量匹配任务(依据任务之间的相关性和语义相似度)!

问题描述

单任务学习(single-task learning)

有监督的文本分类任务
输入: 单词序列
输出: 类别标签
过程:

  1. 生成词向量:使用pre-trained lookup layer 将单词序列 x = x 1 , x 2 , … … , x T x={x_1,x_2,……,x_T} x=x1,x2,xT 转换成词向量 x = x 1 , x 2 , … … , x T \bm{x}=\bm{x}_1,\bm{x}_2,……,\bm{x}_T x=x1,x2,xT
  2. 训练一个文本分类模型 f ( x 1 , x 2 , … … , x T ) = y f(\bm{x}_1,\bm{x}_2,……,\bm{x}_T)=\bm{y} f(x1,x2,xT)=y ,为词向量生成 预测分布 y \bm{y} y ——训练的过程目标是 实际分布 y y y 和预测分布 y \bm{y} y 的交叉熵最小!
  3. 得到分类器 f f f ,用它预测

多任务学习(multi-task learning)

K K K有监督的文本分类任务 T 1 , T 2 , … … , T K T_1,T_2,……,T_K T1,T2,TK
过程跟单任务学习类似:

  1. 生成词向量:使用pre-trained lookup layer 将单词序列转换成词向量
  2. 训练一个文本分类模型 F F F ,为词向量生成 预测分布 F ( x 1 ( k ) , x 2 ( k ) , … … , x T ( k ) ) = y ( k ) , y ( k ) , … … , y ( K ) F( x ^{(k)}_1,x ^{(k)}_2,……,x ^{(k)}_T)={\bm{y }^{(k)},\bm{y } ^{(k)},……,\bm{y } ^{(K)}} F(x1(k),x2(k),xT(k))=y(k),y(k),y(K)——训练目标:使得 所有任务 加权交叉熵最小。
  3. 得到分类器 F F F ,用它预测
    阅读笔记:Multi-Task Label Embedding for Text Classification_第1张图片

总思路

阅读笔记:Multi-Task Label Embedding for Text Classification_第2张图片

  1. 在Input Encoder
    1.1.任务 T k T_k Tk 中的输入序列: x ( k ) = { x 1 ( k ) , x 2 ( k ) , . . . , x T ( k ) } x^{(k)}=\{ x ^{(k)}_1 ,x ^{(k)}_2, ..., x ^{(k)}_T\} x(k)={x1(k),x2(k),...,xT(k)} ;
    1.2. x ( k ) x^{(k)} x(k) 通过 L o o k u p   L a y e r ( L u I ) Lookup~Layer (Lu_I) Lookup Layer(LuI) 被转换成词向量表示形式 x ( k ) = { x 1 ( k ) , x 2 ( k ) , . . . , x T ( k ) } \bm{x}^{(k)}=\{ \bm{x} ^{(k)}_1 ,\bm{x} ^{(k)}_2, ..., \bm{x} ^{(k)}_T\} x(k)={x1(k),x2(k),...,xT(k)}
    1.3.然后使用 L e a r n i n g   L a y e r ( L e I ) Learning~Layer (Le_I) Learning Layer(LeI)对词向量递归的理解,并且生成一个固定长度的向量 X ( k ) \bm{X} ^{(k)} X(k),即被看做是原始输入序列的总体向量表示。
  2. 在Label Encoder
    2.1.每个任务 T k T_k Tk对应 C k C_k Ck个标签,即 y 1 ( k ) , y 2 ( k ) , . . . , x C k ( k ) y ^{(k)}_1 ,y ^{(k)}_2, ..., x ^{(k)}_{C_k} y1(k),y2(k),...,xCk(k) ,其中标签 y j ( k ) ( 1 < = j < = C k ) y ^{(k)}_j (1<=j<=C_k) yj(k)(1<=j<=Ck) 也是一个单词序列,比如“very positive”、“ neutral”、“positive”……
    2.2. y j ( k ) y ^{(k)}_j yj(k) 通过 L o o k u p   L a y e r ( L u L ) Lookup~Layer (Lu_L) Lookup Layer(LuL)被映射成固定长度的向量 y j ( k ) \bm{y} ^{(k)}_j yj(k)
    2.3.然后 y j ( k ) \bm{y} ^{(k)}_j yj(k) 经过 L e a r n i n g   L a y e r ( L e L ) Learning~Layer (Le_L) Learning Layer(LeL)进一步生成一个固定长度的向量 Y j ( k ) \bm{Y} ^{(k)}_j Yj(k) ,即被看做是原始输入序列的总体向量表示。
  3. Matcher模块分别从Input Encoder和Label Encoder中获取 X ( k ) \bm{X} ^{(k)} X(k) Y j ( k ) \bm{Y} ^{(k)}_j Yj(k) ,然后进行向量匹配,为每个文本选择最合适的类别标签。

无监督模型

针对任务任务 T k T_k Tk有输入序列和分类标签,但是序列和标签之间没有标注和对应关系。

有监督模型

阅读笔记:Multi-Task Label Embedding for Text Classification_第3张图片

半监督模型

你可能感兴趣的:(阅读笔记:Multi-Task Label Embedding for Text Classification)