【论文翻译】Marrying Up Regular Expressions with Neural Networks

题目:Marrying Up Regular Expressions with Neural Networks

论文链接:https://aclanthology.org/P18-1194.pdf

源码:——

会议:ACL

时间:2018.5

目录

前言

二、背景

2.1 排版(略)

2.2 问题定义

2.3 正则表达式的使用

三、方法 

3.1 Base Models

3.2 在输入级别上使用REs

3.3 在网络模块级别上使用REs

3.4 在输出级别上使用REs

四、评估方法

4.1 数据集

4.2 RE的准备

4.3 实验计划

超参数

评估指标

Competitors and Naming Conventions

五、实验结果

5.1 Full Few-Shot Learning

Intent Detection.

Slot Filling.

Summary.

5.2 Partial Few-Shot Learning

5.3 Full Dataset

5.4 Impact of the RE Complexity

六、Related Work

NN with Rules.

NNs and REs.

Few-Shot Learning.

Natural Language Understanding.

七、Conclusions


前言

许多自然语言处理(NLP)任务的成功都受到注释数据的数量和质量的限制,但往往缺乏这样的训练数据。在本文中,我们提出了这样一个问题:“我们可以将神经网络(NN)与正则表达式(RE)结合起来来改进NLP的监督学习吗?”。作为回答,我们开发了新的方法来利用神经网络中不同水平上的REs的丰富表达性,表明当有少量的训练例子可用时,这种组合显著地提高了学习效率。我们通过应用于意图识别( intent detection)和语义槽填充(slot filling)的口语理解来评估我们的方法。

一、介绍

正则表达式(REs)被广泛应用于各种自然语言处理(NLP)任务中,如模式匹配、句子分类、序列标记等(Chang and Manning, 2014)作为一种基于人工制作的规则的技术,它简洁、可解释、可调,并且不依赖于太多的训练数据来生成。因此,它通常在工业中使用,特别是当可用的培训例子有限时——如少样本学习(GC et al., 2015)。

虽然REs功能强大,但泛化能力较差,因为RE中所有同义词和变体都必须明确指定。因此,REs通常与数据驱动的方法相集成,如基于神经网络(NN)的技术:一组精心编写的REs用于高精度地处理某些情况,其余的留给数据驱动的方法。

我们相信REs的使用可以超越简单的模式匹配。除了作为一个要集成的单独分类器外,RE还对开发人员的问题域知识进行编码。例如,知识可以是一个RE的表面形式中的信息词(线索词clue words)。我们认为,这些信息可以利用数据驱动的方法来获得更好的预测结果,特别是在少样本学习中。

这项工作研究了使用REs来改进NNs——一个广泛应用到NLP任务的学习框架(Goldberg, 2017)。REs和神经网络的结合使我们能够利用REs的简洁性和有效性,以及神经网络的强泛化能力。这也为我们提供了向各种REs学习的机会,因为NNs善于容忍噪音(Xie et al., 2016)。

本文提出了在不同层次上REs与神经网络结合的新方法。在输入层,我们打算使用REs的评价结果作为神经网络的输入特征(3.2节)。在网络模块层,我们展示如何利用REs中编码的知识来指导神经网络的注意力机制(3.3节)。在输出层,我们以一种可学习的方式将RE的评估结果与神经网络输出相结合(3.4节)。

我们通过将其应用于两个口语理解(SLU)任务来评估我们的方法,即意图识别(intent detection)和语义槽填充(slot filling)——它们分别对应于两个基本的NLP任务:句子分类和序列标记。真实世界中可用的带注释数据的数量可能会有所不同。为了演示REs在这些场景中的有效性,我们探索了少样本学习设置和一个完整的训练数据。实验结果表明,该方法在可利用的注释数据中非常有效的,明显优于不使用RE的方法。

我们的贡献如下:(1)我们首次系统地研究了REs与NNs结合的方法。2)所提出的方法在少样本学习(the few-shot learning )和全注释设置(the full annotation settings)中都明显地提高了神经网络的性能。(3)我们提供了一套关于如何将REs与神经网络和RE注释相结合的指南。


二、背景

2.1 排版(略)

2.2 问题定义

我们的工作针对两个SLU任务:意图识别和语义槽填充。前者是一个句子分类任务:学习一个函数将一个n个单词的input:x = [x1, ..., xn],映射到相应的意图标签(intent label)。后者是一个序列标记任务:学习一个函数将一个n个单词的输入查询序列,x = [x1, ..., xn],,生成相应的标记序列,y=[y1,...,yn],其中,yi是对应单词xi的插槽标签(slot label)。

以Fig. 1 中的句子为例。一个成功的意图检测器(intent detector)会找出这个句子的意图,即flight,查询与航班相关信息。插槽填充子(slot fifiller)应该用BIO方法,通过标签Boston Miami来识别插槽fromloc.city toloc.city。

2.3 正则表达式的使用

在这项工作中,RE定义了从文本模式到多个REtags的映射,和target labels (即意图和插槽标签)相同或相似。一个搜索函数接受一个RE,把它应用到所有句子,并返回与该模式相匹配的任何文本。然后我们将 REtag(s) (与匹配的RE有关)分配给所有匹配到的句子(用于意图识别)或匹配到的短语(用于语义槽填充)。

具体来说,我们用于意图检测的 REtags 与意图标签是相同的。例如,在Fig. 1中,我们得到的“flight”的REtag与意图标签flight”相同。

对于语义槽填充,我们使用两个不同的REs集合。给定RE的组功能,我们可以将REtags分配给我们感兴趣的RE groups 即(圆括号内定义的表达式)。从REtags到插槽标签的转换取决于相应的REs的使用方式。(1)当REs用在网络模块时(3.3节),相应的REtags与目标插槽标签相同。例如,Fig. 1 中的 slot RE 即将把 fromloc.city 分配给第一个RE group toloc.city分配给第二个。此处提到的,_ _CITY是city names的列表,可以被RE字符串(如:/Boston|Miami|LA|.../.)替换。(2)如果在神经网络的输入输出层使用了 REs ,相关的 REtag 将不同于目标插槽标签。在这种情况下,Fig. 1 中的两个 RE groups 会被简单地标记为 city ,用于捕获三个相关的目标插槽标签(fromloc.city, toloc.city, stoploc.city.)的共性。我们可以使用目标插槽标签作为所有集合的REtags 。这里将 REtags 抽象为目标槽标签的简单版本的目的是为了证明:当评估结果不完全符合我们的学习目标时,REs 仍然有用。进一步地,如4.2节所示,使用简化的 REtags 也可以使任务中的 REs 开发得更好。

直观地说,复杂的REs可以导致更好的性能,但需要更多的努力来生成。一般来说,最影响RE复杂性的方面有两个方面:RE groups的数量和 RE groups 中的 or clauses(即:由分离运算符分隔的表达式)。拥有更多的RE组通常会使结果更加准确,但是对模式匹配的覆盖率较低;而大量的or clauses通常会提供更高的覆盖率,但准确度略低。

              


三、方法 

如Fig. 2所示,我们建议从三个不同的角度结合NNs和REs。

3.1 Base Models

我们使用 Bi-directional LSTM (BLSTM) 作为我们的基础神经网络模型,因为它在意图检测和插槽填充方面都是有效的(Liu and Lane, 2016)。

Intent Detection.
如  Fig. 2 所示,BLSTM将一个n个单词句子的单词嵌入[ x1 , ..., x n] 作为输入,并为每个 word 生成一个 vector h i 。然后,一个自注意层接受由BLSTM产生的向量来计算句子嵌入s:
这里  αi  是 word 的注意力;c是随机初始化的可训练向量,用于选择信息丰富的词进行分类;W

是一个权重矩阵。最后,将s 输入一个softmax分类器进行意图分类。

Slot Filling.
插槽填充的模型很简单——插槽标签预测由一个softmax分类器生成。BLSTM的输出  h 传入softmax分类器,然后生成了word 的插槽标签。值得注意的是,Fig. 2 中的注意力聚集仅采用3.3节提出的网络模块级的方法。

3.2 在输入级别上使用REs

 在输入层面,我们使用REs的评价结果作为特征,输入神经网络模型。

Intent Detection.
我们的意图检测的  REtag 与我们的目标意图标签相同。因为现实世界中的 REs 不太可能是完美的,一个句子可以匹配到多个RE。这可能导致一些 REtags 相互冲突。例如,句子“ list the Delta airlines flflights to Miami”可以匹配输出标签 airline RE:/list( the)? _ _AIRLINE/,还可以匹配到输出标签 flight的RE:/list( \w+) {0,3 }flights?/。
为了解决上述相互冲突的情况,我们对随机初始化的可训练标签嵌入进行平均,形成一个聚合的嵌入作为 NN输入。有两个使用聚合嵌入的方法。我们可以将聚合的嵌入附加到每个输入词的嵌入中,或者是softmax分类器的输入中(如 Fig. 2(a)的①所示 。为了确定哪种策略最有效,我们进行了一项试点研究。我们发现,第一种方法会导致标签嵌入被多次复制,因此,神经网络倾向于严重依赖 REtags ,并且所得到的性能类似于在少样本中单独使用REs所得到的性能。因此,我们采用了第二种方法。
Slot Filling.
因为 slot REs 得到的评价结果是字级标签,所以我们可以简单地将 REtags 嵌入并平均到每个单词的向量 f i中,并将其添加到相应的词嵌入 w i中(如 Fig. 2(b) 的①所示 )。 注意,我们也要将插槽 REtags 扩展到BIO格式,如:对于词 New York ,如果它最初的标签是 city,那么它的 REtags 就是 B-cityI-city

3.3 在网络模块级别上使用REs

在网络模块层面上,我们探索了使用RE表面形式中的线索词的方法来指导神经网络中的注意力模块。

Intent Detection.

例如Fig. 1,RE: /ˆflights? from/指向意图“flight”的意思是,flights from是决定意图flight的关键词。

因此,神经网络中的注意力模块应该利用这两个词得到正确的预测。为此,我们通过两个方面的改变来合并从REs中获得的信息,从而扩展基本的intent模型。

首先,因为每个意图都有它自己的线索词,所以,为所有的intent模型使用一个单一的句子嵌入,会让注意力不那么集中。因此,我们让每个意图标签k使用不同的注意力ak,然后它被用来生成句子嵌入sk 的意图:

其中ck是意图k(用于计算注意力ak的可训练向量,hi是单词 BLSTM输出,Wa是一个权矩重阵。

输入句子的表达意图k的概率pk计算如下:

其中wk, logit_k, bk分别是意图k的权重向量、对数几率和bias偏差。

其次,除了表示意图k的句子(positive REs),一个RE也可以表达“句子没有表达的意图k(negative REs)”。因此,我们使用了一套新的注意力(negative attentions),与positive attentions形成对比,利用式子2,3计算每个意图的另一组logit对数几率。

我们把通过positive attentions计算得到的logit定义为logit_pk,通过negative attentions计算得到的定义为logit_nk。最后求得的意图k的logit为:

为了使用REs来引导注意力,我们在最后的损失的基础上加上注意力损失:

其中,当没有一个相匹配的REs(指向意图k)将单词i标记为线索词时,tki被设置成0;否则设置为1/lk,其中lk是意图k的线索词的数量。我们使用式子5来计算positive REs的注意力损失loss_att_p,和negative REs的注意力损失loss_att_n。最终的损失计算为:

Slot Filling.
意图预测所使用的双向注意力机制(positive and negative attention)不适用于语料槽填充。因为对于语料槽填充,我们需要计算每个单词的注意力,这需要过大的计算量和内存资源。
因此,我们使用了双向注意力的简化版本——所有的槽标签使用相同的正反向注意力。为了预测单词  的槽标签,我们使用与式子1类似的式子7,从正向注意力中生成有关单词  的句子嵌入 s pi
其中 hi,h j分别是 BLSTM有关词   j 的输出。 W sp 是一个权重矩阵, α pij 是单词j对单词i的正关注价值。用 W sn替换 W sp,用式子7,再次计算得到反向注意力,并生成相应的句子嵌入 s ni
最后,对单词i的预测pi可以计算为:
其中 W p , W n , b p , b n分别是正负注意力的权重矩阵和偏差向量。我们把 BLSTM的输出hi添加到spi sni,因为单词i本身在识别其槽标签中也起着至关重要的作用。

3.4 在输出级别上使用REs

在输出级别,REs用于修正NN的输出。对于意图识别和语义槽填充,我们使用相同的方法(图2.③)。

如2.3节所述,输出层使用slot REs只得到了目标插槽标签的简化版本,我们可以进一步注释它们,得到相应的目标插槽标签。例如,输出city的RE可以进一步得到三个插槽标签:fromloc.city, toloc.city, stoploc.city.。

设置一个0—1的数zk,用来表示:是否至少有一个匹配的RE可以生成目标标签k。一个句子的标签k(或者一个特定的槽填充)的最终对数几率为:

其中logit’k是由原始NN生成的logit,wk是可训练权重,表示对REs的总体置信度,可以通过它得到目标标签k。这里我们不为每个RE分配一个可训练的权重,因为通常只有几个句子能匹配一个RE。

我们修改了logit而不是最终的概率,因为一个logit是一个无约束的真实值,它比概率更匹配wkzk的性质。在模型进行集成时,使用对数进行集成通常比使用最终概率更好。这也是我们在3.3节选择对logit进行操作的原因。


四、评估方法

我们的实验旨在回答三个问题:当注释实例的数量很少时,使用REs是否能提高学习质量?在使用完整的训练数据时,使用REs仍然有帮助吗?我们如何选择不同的组合方法?

4.1 数据集

我们使用ATIS数据集(Hemphilletal.,1990)来评估我们的方法。该数据集被广泛应用于SLU的研究中。它包括对航班、膳食等的查询等等。我们遵循Liu和Lane(2016)的设置,使用4978个查询进行训练,使用893个查询进行测试,其中有18个意图标签和127个插槽标签。在标记化阶段,我们还将像Miami’s这样的单词分成像Miami ’s这样的单词,以减少没有预先训练过的单词嵌入的单词的数量。这个策略对few—shot学习很有用。

为了回答问题一,我们还利用了full few-shot learning setting。具体来说,对于意图检测,我们为每个意图随机选择5、10、20个训练实例,用来形成少镜头训练集;对于槽填充,我们也使用了5、10、20个shots设置。然而,由于一个句子通常包含多个槽,频繁提及槽标签的次数可能不可避免地超过目标shot数。为了更好地接近目标shot数,我们按照标签频率的升序为每个槽标签选择句子。即如果k1>k2,k1-shot数据集将包含k2-shot数据集。所有设置都使用原始测试集。

现在大多数的少样本学习方法,训练时要么需要很多少样本种类,要么需要足够多数据的一些样本种类;因此,意图检测中,为了公平比较中的小样本学习方法,我们还尝试了partial few-shot learning setting。我们令三个最常见的意图拥有300个训练实例,其他意图不变。现实生活中也一样,我们通常会有几个使用频繁的类别,有很多类别的数据不足够。对于语义槽填充,由于频繁提及的槽标签数量已经超过目标shot数,因此原始少样本语义槽填充数据集可以直接用于少样本学习方法的训练。所以我们没有对完全和部分语义槽填充的少样本学习进行区分。

4.2 RE的准备

本文中,我们使用Perl中的RE句法。我们的REs由一个熟悉该领域的人编写,花了10多个小时,但一个领域专家会完成得更快。我们使用20—shot的训练数据来开发REs,但像city这样的词列表从这个训练集中获取。当REs可以在合理精度的范围内覆盖大多数20—shot训练数据时,我们认为REs是完整的。在此之后,整个实验过程中REs保持不变。

大多数情况下,编写REs的时间与RE组的数量成正比。写出54个意图REs大约需要1.5个小时,平均每个RE需要2.2组。为输入和输出级别方法编写插槽REs很简单,为此,平均编写包含1.7个组的60个REs大约需要1个小时。编写槽REs来引导注意力需要更多的努力,因为注释者需要仔细选择线索词和注释完整的槽标签。因此,大约需要5.5小时才能生成115个REs,平均为3.3组。REs的性能可以在Table 1的最后一行中找到。

在实践中,意图(或槽)k的正RE通常可以被视为其他意图(或槽)的负REs。因此,在我们的实验中,我们使用意图(或槽)k的正REs作为其他意图(或槽)的负REs。

4.3 实验计划

超参数

我们对BLSTM的超参数与Liu和Lane(2016)使用的超参数相似。我们使用的batch size为16,dropout probability为0.5,BLSTM cell size为100。attention loss(正向和负向都)是16。我们使用100dGloVe词向量在Wikipedia和Gigaword上预训练, Adam optimizer的学习率是0.001.

评估指标

我们报告了意图检测的准确性和macro-F1 Micro/macro-F1 是微宏观精度和查全率的调和平均值。Macro-precision/recall 由每个标签的平均精度/召回率来计算得到。micro-precision/recall是每个预测的平均值。

Competitors and Naming Conventions

我们将我们的方法与baselineBLSTM模型(3.1节)进行了比较。因为我们的注意力损失方法使用双向注意,因此为了对比,我们的实验也包括了没有注意力损失的原始双向注意力模型(+two)。此外,我们还评估了RE(REO)的输出,它直接使用REtags作为预测,以显示我们将在实验中使用的REs的质量。

至于我们结合REs与神经网络的方法,+feat是指使用REtag作为输入特征,+posi 和 +neg是指分别使用积极的和消极的注意损失,+both是指同时使用积极的和消极的注意力损失,+logit 意味着使用REtag来修改神经网络的输出。

由于REs也可以被格式化为first-order-logic (FOL) 规则,我们还将我们的方法与Hu 等人提出的teacher-student framework(+hu16)进行了比较,这是一个从FOL规则中提取知识到神经网络的一般框架。此外,由于我们考虑了少短学习,我们的实验数据还包括了Kaiser等人提出的记忆模块(+mem),它在各种少样本数据集中表现良好。最后,还有ATIS数据集上的最新模型(L&L16),它在单个网络中联合建模意图检测和语义槽填充。


五、实验结果

5.1 Full Few-Shot Learning

Intent Detection.

Table 1所示,除5-shot所有的方法都改善了baseline BLSTM。我们的network-module-level方法性能最好,因为我们的注意力模块直接接收来自REs中的线索词的信号,这些线索词包含比其他方法使用的REtag本身更有意义的信息。我们还观察到,由于负REs是来自于一些噪声的正REs,当可用数据量有限时,posi的表现优于neg。然而,neg在20-shot略好一些,可能是因为负REs的数量明显超过了正REs。此外,当有足够的数据时,two比BLSTM更好,证实了我们的双向注意架构的优势。

对于其他提出的方法,输出级方法(logit)通常比输入级方法(feat)效果更好,除了5-shot。我们认为这是由于RE相关参数的数量越少,梯度从损失到这些参数所需的距离越短——两者都使得logt更容易训练。然而,由于logit直接修改了输出,最终的预测对logit中训练不足的权值更敏感,导致5-shot的结果较差。

为了与现有的神经网络与规则相结合的方法进行比较,我们还实现了teacher—student network。该方法允许神经网络从teacher-student framework中由FOL规则产生的后验标签分布中学习,但需要大量的数据。因此,尽管hu16和logit都在输出级别上运行,但在这些few-shot中,logit仍然比hu16表现得更好,因为logit更容易训练。

我们还可以看到,从10-shot开始,two+both 明显优于纯REO。这表明,通过使用我们的注意力损失来连接神经网络的分布表示和REs的线索词,我们可以通过使用少量的注释数据来在神经网络体系结构中推广RE模式。

Slot Filling.

与意图检测不同,如Table1所示,我们的注意力损失不适用于槽填充。原因是目标词(我们试图预测槽标签的词)的槽标签主要是由单词本身的语义决定的,以及上下文中的0-3个短语来提供补充信息。然而,我们的注意机制只能帮助识别上下文中的线索词,这不如这个词本身重要,而且在一定程度上已经被BLSTM捕获了。因此,注意力损失和注意力相关参数是一种负担而不是益处。如图1所示,该模型识别波士顿为来自城市,主要是因为波士顿本身是一个城市,它的上下文词可能已经被BLSTM捕获,我们的注意机制没有多大帮助。通过检查在完整数据集上训练的+two的注意力值,我们发现注意力倾向于集中在目标词本身上,而不是标记具有信息性的上下文词。这一观察结果进一步强化了我们对注意力丧失的假设。

另一方面,由于REtags提供了额外的信息,如类型,关于句子中单词的信息,logit 和feat通常效果更好。然而,与意图检测不同的是,feat只略微超过logit。这是因为feat可以使用所有单词的REtags,通过神经网络生成更好的上下文表示,而logit只能在最终输出层之前使用目标词的REtag。因此,feat实际上从REs收集更多信息,比logit更好地利用它们。同样,hu16的表现仍然没有优于logit,这可能是由于在few—shot的场景中数据支持不足。我们还看到,即使是BLSTM在5-shot中也优于REO,这表明尽管很难编写高质量的RE模式,但使用REs来提高神经网络仍然是可行的。

Summary.

神经网络可以从组合的REs中利用的额外信息量显著影响结果的性能。因此,注意力损失方法最适合于意图检测,feat最适合于语义槽填充。我们还看到,随着有更多的训练数据,REs的改进会减少。这并不奇怪,因为嵌入在REs中的隐式知识很可能已经被一个足够大的注释数据集捕获了,并且在这种情况下,使用REs将带来更少的好处。

5.2 Partial Few-Shot Learning

为了更好地理解我们的方法和现有的few-shot学习方法之间的关系,我们还实现了记忆网络的方法,在各种few-shot数据集中取得了良好的结果。我们调整了他们的开源代码,并将他们的记忆模块(mem)添加到我们的BLSTM模型中。

由于内存模块需要在许多少镜头类或几个具有额外数据的类上进行训练,因此我们扩展了完整的少镜头数据集用于意图检测,因此前3个意图标签有300个句子(部分少镜头)。

Table 2,所示,mem比BLSTM工作得更好,我们的注意力损失可以与记忆模块(mem+posi)进一步结合,性能甚至更好。hu16也进行了实验,但比two+both更糟糕。值得注意的是,记忆模块要求输入的句子只有一个嵌入,因此我们只使用一组积极的注意力来进行组合。

至于插槽填充,因为我们已经有了在原始的少样本数据中使用频繁标记的额外数据(4.1节),我们直接使用它们来运行记忆模块。如Table 1的底部所示,mem还提高了基础BLSTM,当它与feat6结合时,还获得了进一步的提升。

5.3 Full Dataset

对于问题二,我们在整个数据集上评估了我们的方法。如Table 3所示,对于意图检测,虽然two+both 仍然可以工作,但feat和logit不再提供改进。由于REtag和带注释的数据都为输入的句子提供了意图标签,所以随着我们有更多的带注释的数据,来自RE的额外噪声标签的值变得有限。但是,由于在注释中没有关于注意力的指导,因此REs中的线索词仍然有用。此外,由于feat在输入级别连接了REtags,强大的神经网络使其比logit更有可能过拟合,因此feat与BLSTM相比表现更差。

至于语义槽填充,引入feat和logit仍然可以带来进一步的改进。这表明,即使我们有更多的注释数据,REtags中包含的单词类型信息仍然很难完全学习。此外,与少样本不同的是,two+both 在这个任务中都比BLSTM有更好的macro-F1分数,这表明当基础模型经过适当的训练后,更好的注意力仍然是有用的。

同样,hu16在这两个任务中都优于BLSTM,这表明尽管REtags 很嘈杂,但他们的teacher-student network仍然可以提取有用的信息。然而,hu16是一个结合FOL规则的通用框架,这在将知识从规则转移到神经网络方面比我们的方法更间接。因此,它结合REs后,在意图检测中仍低于注意力损失,在语义槽填充中也低于feat

此外,mem通常可以在这种情况下工作,并可以通过结合我们的融合方法得到进一步的改进。我们还可以看到,在意图检测方面,two+both 都明显优于最先进的方法(L&L16),后者联合建模了这两个任务。在语义槽填充中,mem+feat与L&L16具有比较性。

5.4 Impact of the RE Complexity

我们现在讨论RE复杂度如何影响组合的性能。我们选择通过修改组的数量来控制RE的复杂性。具体来说,我们减少了现有REs的组数,以降低RE的复杂性。为了模拟从头开始编写简单的REs的过程,我们尽力保留关键的RE组。对于意图检测,所有的REs都减少到最多2组。至于槽填充,我们还将REs减少到最多两组,对于一些简单的情况,我们进一步将它们简化为单词列表模式e.g., ( CITY)

Table 4所示,简单的REs已经对基础神经网络模型进行了明显的改进,这表明了我们的方法的有效性,并表明简单的REs是相当有成本效益的,因为这些简单的REs只包含1-2个RE组,因此非常容易产生。我们还可以看到,与使用简单的REs相比,使用复杂的REs通常会得到更好的结果。这说明当考虑使用REs来改进神经网络模型时,我们可以从简单的REs开始,并逐步增加RE的复杂度,以随着时间的推移提高性能。


六、Related Work

我们的工作建立在以下技术之上,但在质量上都有所不同

NN with Rules.

在初始化方面,Li等人(2017)使用重要的n-grag来初始化卷积滤波器。在输入方面,Wang等人(2017a)使用知识库规则为短篇文本查找相关概念,以增加输入。在输出方面,Hu等人(2016a;2016b)和Guo等人(2017)使用FOL规则对神经网络的输出概率进行校正,然后让神经网络在 teacher-student 框架中从校正分布中学习。另一方面,Xiao等人(2017)通过将从规则中得到的权重相乘来修改神经网络的解码分数。在损失函数方面,人们修改损失函数,以建模前提和结论之间的关系(demeetetal.,2016),同时适合人工注释和规则注释的标签(Alashkar et al., 2017).由于在初始化或损失函数中的融合通常需要任务的特殊属性,因此这些方法不适用于我们的问题。因此,我们的工作为利用神经网络在不同层次上的RE规则提供了新的方法。

NNs and REs.

至于神经网络和REs,之前的工作已经尝试使用RE来加快神经网络的解码阶段,从RE的自然语言规范中生成REs。相比之下,我们的工作旨在利用REs来提高神经网络的预测能力。

Few-Shot Learning.

先前的工作要么考虑度量学习框架中的少样本学习(Koch等人,2015;Vinyals等人,2016),要么将实例存储在内存中(Santoro等人,2016;Kaiser等人,2017),以匹配未来的类似实例。Wang等人(2017b)进一步利用了类名本身的语义意义,为少样本学习提供了额外的信息。与这些之前的研究不同,我们试图使用人编写的REs来提供额外的信息。

Natural Language Understanding.

循环神经网络被证明在意图检测(Ravuri和Stoicke,2015)和语义槽填充(Mesniletal.,2015)中都被证明是有效的。研究人员还找到了联合建模这两项任务的方法(Liu和Lane,2016; Zhang and Wang,2016)。然而,到目前为止,还没有工作结合REs和NNs来改善意图检测和槽填充。


七、Conclusions

在本文中,我们研究了结合神经网络和REs来解决典型的SLU任务的不同方法。我们的实验表明,这种组合明显地提高了在少样本学习和全数据集设置下的神经网络性能。我们表明,通过利用REs中编码的隐藏知识,可以显著提高学习性能。具体来说,我们观察到使用REs来指导注意模块最适合于意图检测,而使用REtags作为特征是一种有效的槽填充方法。我们提供了关于各种形式的REs如何被用来改进NNs的有趣的见解,这表明虽然简单的REs非常具有成本效益,但复杂的REs通常会产生更好的结果。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

琳琳最能吃了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值