博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
石昊悦: 无监督句法分析模型里面的监督信号
阅读量:2242 次
发布时间:2019-05-09

本文共 3342 字,大约阅读时间需要 11 分钟。

⬆⬆⬆              点击蓝字

关注我们

AI TIME欢迎每一位AI爱好者的加入!

我们分析了最近的无监督句法分析模型,发现来自验证集的监督信号在模型表现上起到很大作用;另一方面,在极少量样本上训练的有监督句法分析模型往往效果很不错。

因此我们推荐未来的无监督句法分析和其他无监督学习工作清晰区分以下两种比较方案:1.完全无监督模型:不管是训练、验证还是模型选择,都采用完全无监督的方案,如使用语言模型困惑度作为标准;2.少量有标记样本作为验证集:在这种方案下,应该尽可能少地使用有标记样本,并且比较在同样样本上进行有监督训练的基线模型。

石昊悦:本科毕业于北京大学智能科学与技术系,丰田工业大学芝加哥分校(Toyota Technological Institute at Chicago)三年级博士生,导师为Karen Livescu和Kevin Gimpel,主要关注无监督学习、长程监督学习以及句法结构,致力于借助计算手段更好地理解语言。第一作者文章曾获ACL 2019最佳论文提名。

一、 小样本在无监督句法分析中的表现

近期的一些基于神经网络的无监督句法分析表现出了比传统无监督句法分析模型更好的性能,然而这些工作有许多使用了WSJ验证集(包含1700个带有成分句法树的句子),相较之下,没有使用任何标记数据的情况下的模型表现就差了很多。

在这项工作中,我们用很少的有标记样本来训练有监督句法分析模型,为有监督调参的无监督成分句法分析设置了强大的基准。我们训练了一个带有很少标记样本的监督句法分析模型Benepar,发现:

(i) 即使只用15个的样本进行调优,这样的无监督句法分析结果要远远好于纯无监督解析器;

(ii) 有监督调参的无监督句法分析的性能优于带有少于15个标记样本的小样本句法分析,但是一旦有55个以上样本,小样本句法分析便很快占据优势;

(iii) 当小样本句法分析与简单的数据增强方法和自训练(self-training)结合在一起时,只需15个样本,小样本句法分析就比无监督句法分析性能更好。

此外,我们还提供了用于无监督句法分析的两个技巧。首先,词汇量非常重要,因此我们可能希望将其调整为超参数或将其固定,以在以后的工作中对不同模型进行公平的对比;其次,我们发现在获得无监督句法分析模型后进行自训练几乎总能提高句法分析性能;因此,自训练或许可以作为一个无监督句法分析的标准后置处理步骤。

二、两种Protocol的设计

我们使用了两种Protocol进行无监督的解析。第一个是完全无监督句法分析,其中模型没有使用训练集中的解析树,仅使用句子。我们需要为超参数调整和模型选择开发完全无监督的标准,例如语言模型的Perplexity。

至于Protocol II,我们可能会使用一些带有标签的样本进行模型开发。我们将具有相同的数据可用性的小样本句法分析作为强大的基准。在这项工作中,我们主要研究对象是Protocol II。

我们研究了四个最新的神经网络无监督解析模型:PRPN,ON-LSTM,Compound PCFG和DIORA,并使用Benepar作为有监督小样本分析的基础模型。在整个实验过程中,就数据可用性而言,没有经过训练的语言模型可以用于公平的比较。

三、带标签例句的影响

我们首先比较两种Protocol。在上图中,每个模型均使用了相同的数据集,评价标准为F1判别。其中绿色柱状图表示完全的无监督句法分析的F1评分,是ProtocolⅠ模式下的结果。蓝色柱状图表示使用了带有标签的1700个句子的解析树调优的无监督句法分析模型的F1评分。可以看到,大多数模型的确受益于具有标签样本的调优。

将1,700个带有标签的句子用于模型开发是否有意义?上图是叠加了有监督调优的无监督句法分析模型与具有相同数据可用性的有监督句法分析模型之间的比较。可以看到,有监督句法分析模型Benepar优于所有无监督句法分析模型,这表明无监督句法分析模型掺杂过多的样本并不可取。

我们应该为Protocol II使用多少个带标签的样本?首先,我们发现,对于无监督句法分析方法,与完整的WSJ验证集进行参数调整的数量相比,参数调整少得多的带标签样本可以实现非常相似的性能。

但是,当使用超过55个带标签的样本时,Benepar的性能将在无监督的情况下以显著的优势表现出来。这表明我们应该使用少于55个这样的带标签的样本进行无监督的解析。

简单的数据扩充方法和self-training可以进一步提高小样本句法分析的性能。对于数据增强,无论生成的句子是否符合语法,我们都通过子树替换生成新的句子。

对于self-training,我们迭代训练一个单独的Benepar模型以符合当前模型的预测。我们可以看到仅仅只要15个样本,具有数据增强和self-training功能的Benepar的性能已经超过了所有无监督句法分析方法。

进一步的使用少于15个带标签的样本进行无监督的分析。可以看到,self-training有助于改善小样本句法分析,那么为什么不尝试在无监督的分析模型上进行self-training呢?在这组实验中,我们引入了self-training,以对无监督句法分析结果进行后置处理,在此我们训练Benepar使其适合无监督句法分析模型的输出。可以看到,self-training在每个阶段都可以在所有模型中获得竞争性或更好的性能,并且如果迭代地将self-training应用于5个步骤,我们可以获得进一步的结论。这表明self-training可能可以用作无监督句法分析以寻求性能改进的标准后处理步骤。

最后,我们注意到,Compound-PCFG的结果比Kim等报道的结果差得多。通过对比原始文件,发现他们和我们的方法之间唯一的决定性区别是词汇量,他们在WSJ语料库中保留了上万个最常用的单词类型,而我们保留了所有单词类型。通过改变词汇量,保持最频繁的单词类型,我们观察到所有模型都发生了显着变化,但是趋势却相当不一致。一些模型能够效果提升显著的一个可能原因是,10K词汇表之外的大多数单词类型都是形容词或名词,并且模型可能会从这种隐性偏见中受益。根据这些结果,在未来的无监督解析工作中,我们可能希望将词汇量设计为超参数,或者将其固定以在模型之间进行公平比较。

四、结论

尽管许多最先进的无监督句法分析模型都在开发集中的所有标记样本上进行了调优,但我们已经证明,对于相同的数据,使用简单数据增强和self-training的小样本句法分析可以毫无例外的大大超过所有这些模型。

我们建议未来研究的一个可能性是专注于完全无监督的标准,如语言模型的复杂性和模型在不同随机种子之间的稳定性。

另一种选择是在开发集中尽可能少地使用带标签的样本,并与在使用的样本上训练的小样本句法分析进行比较,以作为强大的基线。此外,我们发现self-training对于无监督句法分析是一个有用的后处理步骤。

我们的工作并不一定意味着无监督的解析器会产生糟糕的解析,它们可能会写出与树库的惯例相冲突的好解析。如果是这样的话,那么在下游任务中对解析器的外部求值,例如机器翻译,可以更好地展示无监督方法的潜力。

论文链接:

https://www.aminer.cn/pub/5f7d8f3491e011346ad27d90?conf=emnlp2020

整理:闫昊

排版:岳白雪

审稿:石昊悦

AI TIME欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你,请将简历等信息发至yun.he@aminer.cn!

微信联系:AITIME_HY

AI TIME是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。

更多资讯请扫码关注

(直播回放:https://b23.tv/r3sya6)

(点击“阅读原文”下载本次报告ppt)

转载地址:http://jrgbb.baihongyu.com/

你可能感兴趣的文章
十个值得一试的开源深度学习框架
查看>>
【LEETCODE】240-Search a 2D Matrix II
查看>>
【LEETCODE】53-Maximum Subarray
查看>>
【LEETCODE】215-Kth Largest Element in an Array
查看>>
【LEETCODE】312-Burst Balloons
查看>>
【LEETCODE】232-Implement Queue using Stacks
查看>>
【LEETCODE】225-Implement Stack using Queues
查看>>
【LEETCODE】155-Min Stack
查看>>
【LEETCODE】20-Valid Parentheses
查看>>
【LEETCODE】290-Word Pattern
查看>>
【LEETCODE】36-Valid Sudoku
查看>>
【LEETCODE】205-Isomorphic Strings
查看>>
【LEETCODE】204-Count Primes
查看>>
【LEETCODE】228-Summary Ranges
查看>>
【LEETCODE】27-Remove Element
查看>>
【LEETCODE】66-Plus One
查看>>
【LEETCODE】26-Remove Duplicates from Sorted Array
查看>>
【LEETCODE】118-Pascal's Triangle
查看>>
【LEETCODE】119-Pascal's Triangle II
查看>>
word2vec 模型思想和代码实现
查看>>