陌路茶色/

DSReg: Using Distant Supervision as a Regularizer

    这篇论文还没有被接收???,只是放在arxiv上,香侬科技发表的,本文解读的是第三版本。这篇论文的本质就是将和正样本(负样本)相似的负样本(正样本)重新标注在原来的模型上和原始任务一起训练来辅助原始任务。

key point:the nuance between positive examples and hard-negative examples can cause confusion for a model trained from scratch

Abstract

    这篇文章的目的是解决NLP的一个普遍问题:一些负样本和正样本非常相似,我们提出DSReg(distant supervision as a regularizer)方法去解决这个问题。我们转变原始的任务为多任务学习问题,在其中我们首次利用远距离剪短去提取hard-negative 样本。获取到的hard-negative样本将作为一个regularizer,我们联合优化原始目标和辅助任务目标,原始目标区分负样本(positive examples)和正样本(negative examples),辅助任务是区分soften positive examples(包含positive examples和hard-negative examples)和easy-negative examples。使用一个简单的策略,我们提高了一系列不同的NLP任务的表现,包括text classification, sequence labeling and reading comprehension。

Introduction

    分类任务中,见如下示例,我们想要识别描述酒店good service/staff的文本:
屏幕快照 2019-10-13 上午11.07.40.png
S1是一个positive example,因为它描述了一个好员工(good staff)的酒店,S2和S3是negative example,因为staff是unhelpful,但是,S2的词汇和语义和S1是比较相似的,一般的模型很容易误判(confused)。另外一个例子是,在阅读理解任务中,正确的答案是人类生成的,可能不能很好的匹配原始的文章。一个一般的策略是使用阈值先定位原始文本中最相似的序列作为正样本训练,那些语义相似但是低于阈值的序列被作为负样本,这将会导致在训练样本中引入大量的噪声(我理解:因为负样本被模型提取特征后和正样本差不多,模型无法判断),这个问题在NLP任务中是广泛存在的。我们将那些和正样本相似的负样本作为hard-negative examples,同理,将那些和正样本不相似的负样本作为easy-negative examples,hard-negative examples在模型训练中可能会造成一个大的问题,因为positive examples和hard-negative examples的细微差别可能会导致训练的模型混乱。更者,当negative examples数量远多于positive examples时,模型将会掩埋positive特征。

    解决这个问题,我们使用DSReg。我们首先使用远程监督获取hard-negative样本,这个过程可以剪短的使用单词重叠测量(e.g. ROUGE,BLEU,句子是否包含某些关键词),其次将单任务变成多任务(上abstract已述)。通过这种方法,共享在positive examples和hard-negative examples的特征可以被模型捕获出来,模型可以很容易的知道哪个特征能够最大程度的区分正样本。

    本论文主要工作如下:
  • 我们研究了nlp的一个基本的问题,negative examples中有一部分高相似于positive examples,我们分析了为什么这是一个问题以及如何处理这个问题
  • 我们提出了一个一般的策略通过利用distant supervision来获取hard-negative 训练样本,并将原始任务转为多任务学习问题,这个策略广泛适用于大部分的任务
  • 使用一个简单的策略,我们获取到了明确的提高在这些任务上:text-classification, sequence-labeling and reading comprehension

Models

Text Classification

    训练集$D={x_i,y_i}$,$x_i$由一个token序列组成$x_i=\{w_{i,1},w_{i,2},...,w_{i,n_i}\}$,每一个$x_i$对应一个二分类标签$y_i \epsilon \{0,1\}$,训练集被分为正样本集$D^+$和负样本集$D^-$,$\hat{y_i}$表示模型的预测值,训练目标可以由如下表示:
屏幕快照 2019-10-13 下午12.20.54.png
让$D_{hard-neg}$表示从负样本中使用远程监督提取到的hard-negative examples,介绍一个新的标签$z$,$z=1$表示取$D_{hard-neg} \cup D^+$集合中的样本,$z=0$表示取$D^- - D_{hard-neg}$集合中的样本,我们修正$L_1$使用增加的目标$L_2$:
屏幕快照 2019-10-13 下午12.26.50.png
$L_2$可以被认为是一个目标去捕获positive examples和hard-negative examples中共享的特征,公式(2)可以被扩展为另外一种相似的形式,去区分$D_{hard-neg} \cup D^-$集合和$D^+ - D_{hard-neg}$集合(即正样本中有很多和负样本相似的样本)

    凭经验,我们发现增加一个类别变为三分类目标$L_3$能够带来更好的表现,其中区分positive,hard-negative,easy-negative。用$l$来表示标签,$l=0$表示easy negative examples,$l=1$表示positive examples,$l=2$表示hard negative examples,最后的测试目标如下所示:
屏幕快照 2019-10-13 下午2.51.01.png
其中$λ_1+λ_2+λ_3=1$,被使用来控制每个损失的相对重要性,对于一个神经网络的分类模型,$p(z|x), p(y|x),p(l|x)$共享相同的模型,输入的文本$x$首先通过一个合适的上下文策略被映射到一个d维度的向量表示$h_x$,比如LSTM,CNN,transformers,然后$h_x$被喂进三个全连接层使用softmax激活函数去计算$ p(y|x), p(z|x) , p(l|x) $:屏幕快照 2019-10-13 下午2.57.09.png
其中 $W_y, W_z ∈ R^{2×d}, W_l ∈ R^{3×d}$
屏幕快照 2019-10-13 下午2.59.39.png
屏幕快照 2019-10-13 下午3.19.13.png
如上所示3个模型使用的Sentence Representations都是同一个网络,只是输出的时候,针对$y$标签($L_1$模型)和$z$标签($L_2$模型)只有2维度,$l$标签($L_3$模型)有3个维度。最终我们需要的模型(去预测的模型)是$y$标签对应的模型,而变换标签训练的模型只是为了修正Sentence Representations。

Sequence Labeling

    同理,对于序列标注问题,将除了需要标注的实体外的文本中找到和标注实体相似的文本作为hard-negative examples,然后按照上述方式分为三种标注方式来训练模型,而模型结构不变。
屏幕快照 2019-10-13 下午3.34.32.png
屏幕快照 2019-10-13 下午3.34.47.png
如上所示,对于$y$标注方式只有一类实体,使用BI方式标注,对于$z$标注方式,将和实体相似的非文本也标注为实体,对于$l$标注方式,将和实体相似的非文本作为另外一种实体标注。Hard-Negative Examples显示三个模型共享红色和蓝色部分,但是对于hard-negative examples样本不同的模型有不同的标注方式。

Experiments

这里就讨论一下Text Classification和Sequence Labeling的实验与结果,Reading Comprehension没有接触过,不讨论。

Text Classification

    分类任务在下面三个语料下进行,The Stanford Sentiment Treebank (SST) Dataset,The Hotel Review Dataset和The Financial Statement Dataset。其中SST的hard-negative examples为negative-examples中包含正向情绪的词;The Hotel Review Dataset中,我们过滤分数为3的评论,将分数为1和2的作为负样本,分数为4和5的作为正样本,hard-negative examples提取方式和SST一样;The Financial Statement Dataset(财务报表),包含97736个句子,每个句子中包含一些标签值,如下表所示:
屏幕快照 2019-10-13 下午4.11.42.png
这个数据集既可以作为分类也可以作为序列标注使用,作为分类任务,判断该句子中是否包含FSI信息,即:Sentences with annotated financial statement items and the corresponding values as positive examples, and the rest are negative examples.
负样本中挑选hard-negative examples:we treat texts in negative examples that contain more than one mention of financial statement items as hard-negative examples.
结果与说明如下:
屏幕快照 2019-10-13 下午4.15.51.png
屏幕快照 2019-10-13 下午4.15.34.png

Sequence Labeling

    序列标注任务只在The Financial Statement Dataset语料集上实验,标注示例如下所示:
屏幕快照 2019-10-13 下午4.18.29.png
hard-negative examples使用关键词匹配策略,结果如下图:
屏幕快照 2019-10-13 下午4.20.05.png

Thinking

  • 本文中手首先提出这样一个问题:如果负样本中有和正样本相似的词,而这些词是直接导致正样本为正样本的词,同时负样本中还包含一些其他词导致负样本为负样本,这样一个训练集(在最开始的Introduction中有示例)导致模型困惑,然后对于这个问题给出解决方案,但是本论文在于实验对比中没有表明其他论文针对这样的问题是如何解决的,只是在baseline($L_1$)的基础上加上自己的想法进行对比,这种问题在情感分析领域应该是一个经典的问题,难道没有解决方案???
  • 从实验结果中可以看到构造$L_2$这个标注集对总的模型贡献是最大的,但是在论文中只是点了一下说$L_2$模型这种方式标注可以让positive examples和hard-negative examples中共享的特征被模型捕获,我这里可不可以理解为$L_1+L_2$模型相对于$L_1$模型,唯一的区别在于positive examples和hard-negative examples中共享的特征的权重被加大了,这个结果最终导致了$L_1+L_2$模型结果提高???

留下一条评论

暂无评论