基于规则嵌入的论文比对系统——创新实训记录1

6.9-6.10 阅读并翻译部分参考文献:
Training Classifiers with Natural Language Explanations

参考文献部分翻译

阅读了Training Classifiers with Natural Language Explanations(用自然语言解释训练分类器),并对于实验之前的部分进行了翻译。参照中文资料:https://baijiahao.baidu.com/s?id=1626537790439444249&wfr=spider&for=pc

摘要

训练准确的分类器需要非常多的标签,但是每一个标签只提供了非常有限的信息(在二分类中只提供了一位信息)。在这项工作中,我们提出了一个用于训练分类器的框架BabbleLabble,在该框架中标注者对每一个标签决定都给出一个自然语言解释。语义分析器把这些解释转换成编程的标记函数,这些函数可以针对任意数量的无标记数据产生有噪声的标记,然后用于训练分类器。在三个关系抽取的任务中,我们发现当用户提供解释来训练分类器得到相同的F1得分比只提供标签来训练要快5到100倍。而且,考虑到标记函数内在的瑕疵,我们发现一个简单的基于规则的语义解析器就足够了。

1 引言

获得带标记数据集的标准方法是让人类标注者查看每一个样本,评估他们的相关性然后给出标签(如:二分类问题中的正例和负例)。然而,对于每个样本标签只提供了一位信息。这就引入了一个问题:既然标注者已经付出了努力去阅读和理解样本,如何从每个样本中获得更多的信息呢?
先前的工作依赖于找到输入中相关的部分,如:标记特征、突出强调文本中有基本原理或含义的短语、标记图片中的相关区域。但是一些特定类型的信息并不能被简单地规约为标注输入的一部分,比如缺少某个单词、出现至少两个单词。在这项工作中,我们挖掘自然语言的力量并且让标注者通过自然语言解释来给分类器提供监督。
具体来讲,我们提出了一个框架,在该框架中标注者给每一个需要标注的样本提供一个自然语言解释(查看图1)。这些解释会被解析为表示标记函数的逻辑形式,它可以启发式地将样本映射为标签。接着,我们在许多没有标记的样本上执行标记函数,产生大量弱监督的训练集,该训练集随后被用于训练分类器。
图1
图1:在BabbleLabble框架中,用户给每一个标记决定提供一个自然语言解释。这些解释被解析成能把无标签数据转换成大量带标签数据的标记函数,标记函数产生的大量带标签数据被用于训练分类器。
将自然语言转换成逻辑形式的语义解析是一个被广泛研究且具有挑战性的问题。我们的研究发现之一是在我们的设定中,即使是一个简单的基于规则的语义解析器也足够完成任务。原因有三:首先,我们发现大部分不正确的标记函数可以在语义方面(如:它是否和相关联的样本一致)或者实际使用上(如:它是否避免了将同一个标签分配给整个训练集)被自动过滤掉。第二,在逻辑形式空间中靠近黄金LF的LF通常同样精确(有时甚至更精确)。第三,结合弱监督源的技术的建立可以容忍一些噪声。其意义在于,我们可以在不同的任务中使用相同的语义解析器而不需要针对特定任务的训练。我们将会展示如何使用在抽取配偶实体中应用的语义解析器去解决现实世界中的生物医学应用。
我们的研究和Srivastava et al. (2017)的非常相似,他同样使用自然语言解释来训练分类器,但是有两个重要的不同点。第一,他们联合地训练针对特定任务的语义解析器和分类器,然而我们使用的是一个简单的基于规则的解析器。在第四部分,我们发现在我们的弱监督框架中,基于规则的语义分析器和完美的/最好的解析器产生了几乎相同的下游性能。第二,他们使用关于解释的逻辑形式来产生特征,并且直接把特征送给分类器;而我们把逻辑形式当做函数来产生更多的训练数据集。在第四部分,我们展示了使用函数会比特征产生9.5的F1分数的提升(相对提高26%),并且F1分数会随着可用无标签数据数量的增长而提高。
我们在两个已有的来自文献资料的数据集(从新闻文章中抽取配偶和从生物医学摘要中抽取致病化学物)上和一个与OccamzRazor的生物医学合作者在真实世界的使用实例(从文本中提取与帕金森病相关的激酶蛋白反应)上证实了我们方法的有效性。我们基于经验地发现当用户们提供自然语言解释而不仅仅是人工标记时,他们能够训练出具有非常高F1分数的分类器,最高可达两个数量级。我们的代码和数据可以在https:// github.com/HazyResearch/babble中找到。

2 BabbleLabble 框架

BabbleLabble 框架把自然语言解释和无标签的数据转换成带有噪声标签的训练集(如图2)。框架有三个核心组成成分:语义解析器、滤波器组、标签聚合器。语义解析器把自然语言解释转换成表示标记函数(LFs)的逻辑形式的集合。滤波器组在没有正确标签的情况下尽可能多的去除不正确的LFs。剩下的LFs被应用于无标签的样本来产生一个标签矩阵。标签矩阵被传递给标签聚合器,它可以为每一个样本把那些冲突或者重叠的标签结合成一个标签。产生的带标签的样本随后被用于训练任意一个判别模型。
在这里插入图片描述
图2:自然语言解释被解析成候选标记函数(LFs)。许多不正确的LFs会被滤波器组自动地过滤掉。剩下的LFs为无标签数据集提供启发式的标记,针对每个样本这些标记被聚合成一个有噪声的标签,从而为分类器产生一个大量的、噪声标记的训练集。
在这里插入图片描述

2.1 解释

为了产生输入的解释,用户查看无标签数据集D的一个子集S(|S|《|D|),对于子集S中的每一个输入xi∈S,用户提供一个标签yi和一个自然语言解释ei。其中,ei是一个解释为什么该样本会接收该标签的句子。解释ei通常指向样本的特定方面(如:图2中,特定字符串’his wife’的位置)。

2.2 语义解析器

语义解析器的输入是自然语言解释ei,返回的是LFs(逻辑形式或标记函数)的集合{f1,…,fk},在二分类问题中,LF的形式是fi: 0代表弃权。我们强调语义解析器的目标不是产生一个单一的正确的解析器,而是包含许多潜在有用的LFs.
我们选择一个简单的不需要任何训练即可使用的基于规则的语义解析器。形式化的来说,解析器使用一组α→β这样形式的规则,其中α可以被β(如图3中的样本规则)中的tokens替代。为了确定候选LFs,对于解释的每个部分我们基于语法规则定义的替换规则递归地构造一组合理的解析。最后,解析器返回所有合理的、与整个解释相一致的解析(即我们例子中的LFs)。
当寻找匹配规则时,我们同样允许忽略掉给定范围中任意数量的tokens。这提升了解析器处理未知输入的能力,如未知单词或者输入错误。因为可以被解析的部分输入仍然可以产生一个合理的解析。例如,图三中,单词‘person’被忽略了。
我们语法规则(总结在表1中)中包括的所有谓词都被提供给标注者,并且每一个谓词还有对应的少量的使用案例(附录A)。重要的是,所有规则都是域独立(与域无关)的(如,我们测试的三个关系抽取任务使用的是相同的语法规则),这使得语义解析器易于转移到新的领域。另外,尽管论文关注于关系抽取的任务,理论上,BabbleLabble框架可以通过添加必要的初始值扩大语法规则而被应用于其他任务或者设置(如:为行和列添加基元以便能够解释对齐器)。为了指导语法规则的构建,我们从Amazon Mechanical Turk的工人中收集了500个配偶领域的解释并且给最常用的谓词增加支持。这些工作都是在第四部分所描述的实验之前完成的。语法规则总计包括200个规则模板。
在这里插入图片描述
表1:BabbleLabble的基于规则的语法解析器所支持的谓词

2.3 滤波器组

滤波器组的输入是语法解析器产生的候选LFs集合。滤波器组的目的是在不需要额外标记的情况下尽可能多地丢弃错误的LFs。它包括两种类型的过滤器:语法的和实际应用的。
回想一下,每一个解释ei都是在特定标记样本(xi,yi)的上下文语境中收集的。基于语法的过滤器检查LFs是否和对应的样本相一致。形式化的来说,任何f(xi) ≠yi的LF f都会被丢弃。例如,图2中的第一个解释,单词‘right’可以既可以被解释为‘直接地’(紧挨的在前)也可以被简单地解释为‘在右边’。后一种解释产生的函数与对应的样本不一致(因为‘his wife’是在person2的左边),所以可以放心地将它移除。
基于实际应用的过滤器移除常数的、冗余的或者相互关联的LF。例如,在图2中,LF_2as是常数的,因为它把每个样本都标记为正例(因为每个样本在一个句子中都包括两个人),LF_3b是冗余的,因为即使它和LF_3a有不同的句法结构树,它标注训练集的结果和LF_3a是一样的,没有提供新的信息。
最后,在通过所有其他滤波器的相同解释的所有LF中,我们只保留最特定的(最低覆盖率)LFs。这防止多个相关的LFs从单个示例中占据主导地位。
正如我们在部分4所展示的,在三个任务中,滤波器组可以移除86%的错误解析器,剩下的不正确的LFs在最终任务的准确率上与相应的正确的解析器只差2.5%(没太读懂这句话,感觉翻译的不太对…)。

2.4 标签聚合器

标签聚合器结合多个(可能潜在冲突的)来自LFs建议的标签并且对于每个样本把这些标签组合成一个单一的概率型标签。具体来说,如果有m个LFs通过了滤波器组并被应用于n个样本,标签聚合器执行一个函数f: 在这里插入图片描述
一个朴素的解决方法是简单地使用大多数的投票,但是这没有考虑到LFs在准确率和覆盖率上可能变化很大的事实。相反,我们使用数据编程((Ratner et al., 2016),它能将真正标签与标记函数的输出标签之间的关系建模成一个因子图。更具体的来说,考虑真正的标签 (潜在的)
在这里插入图片描述
和标签矩阵 (观测到的)
在这里插入图片描述
,其中,
在这里插入图片描述
我们定义两种类型的因子来表示标签的倾向性和准确性:
在这里插入图片描述

定义给定一个数据点xi的向量为 定义模型:
在这里插入图片描述

其中,
在这里插入图片描述
是权重向量,Zw是归一化常量。为了在不知道真正标签Y的情况下学习模型,我们最小化给定观测标签 在这里插入图片描述的负log边缘似然:
在这里插入图片描述

使用SGD和Gibbs采样进行推理,然后使用边缘 作为概率训练标签。
直觉上,我们根据LFs与其他LFs重叠或冲突的方式来推断LFS的准确性。因为越是含有噪声的LFs越有可能与其他LFs产生冲突,他们在w中对应的准确率权重越小,从而降低了他们对于聚合标签的影响。

2.5 判别模型

标签聚合器输出的含有噪声的训练集被用于训练任意一个判别模型。在任务上训练判别模型而不是直接将标签聚合器作为分类器的优点是标签聚合器只考虑了LFs中包含的信息。而判别模型可以融合那些没有被用户找到但是具有信息的特征。因此,即使是所有LFs都齐全的样本仍可以被正确分类。在我们评估的三个任务中,使用判别模型比直接使用标签聚合器的平均高4.3个F1点。
对于这篇论文中提到的结果,我们的判别模式是一个简单的逻辑回归分类器,具有定义在依赖路径上的一般特征。这些特征包括引理的一元、二元、三元文法、依存标签,以及在兄弟、父结点中发现的词性标签。我们发现,平均而言,这比biLSTM的性能更好,特别是对于训练集大小较小的传统监督的基线;它还提供了易于解释的特征用于分析。

总结

只是对论文进行了简单的翻译,后续将看看论文中提供的源码,加深对BabbleLabble框架的理解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值