其他分享
首页 > 其他分享> > 在NLP中深度学习模型何时需要树形结构?

在NLP中深度学习模型何时需要树形结构?

作者:互联网

 

前段时间阅读了Jiwei Li等人[1]在EMNLP2015上发表的论文《When Are Tree Structures Necessary for Deep Learning of Representations?》,该文主要对比了基于树形结构的递归神经网络(Recursive neural network)和基于序列结构的循环神经网络(Recurrent neural network),在4类NLP任务上进行实验,来讨论深度学习模型何时需要树形结构。下面我将通过分享这篇论文以及查看的一些相关资料来讨论一下我们何时需要树形结构知识。

1 句法分析树

根据不同的标注树库,句法分析树主要有两种形式:1) 短语结构树(Constituent Tree) 和2) 依存结构树(Dependency Tree)。下面举个简单的例子,"My dog likes eating sausage." 使用Stanford parsing tool进行句法分析可以得到如下结果:

我们将其可视化后,短语结构树和依存树分别为:

论文[1]中指的树形结构即为NLP中句法分析后得到的句法树结构。

2 对比模型

在论文中,主要分了两大组模型进行对比实验,具体的是:

每组就是三个模型,树模型,单向序列模型和双向序列模型,具体的模型大家可以查阅文献,下面我只给出标准模型的结构图。

Standard Recursive/Tree Models

 

Standard Recurrent/Sequence Models

Bidirectional Recurrent Models

 

3 实验数据

该文在NLP领域中4种类型5个任务进行了实验,具体的实验数据大家可以从论文中查阅,这里我主要分析一下每个任务的特点,以及最后实验的结果:

结论

通过上面的实验,作者总结出下面的结论。

需要树形结构:

  1. 需要长距离的语义依存信息的任务(例如上面的语义关系分类任务)Semantic relation extraction

  2. 输入为长序列,即复杂任务,且在片段有足够的标注信息的任务(例如句子级别的Stanford情感树库分类任务),此外,实验中作者还将这个任务先通过标点符号进行了切分,每个子片段使用一个双向的序列模型,然后总的再使用一个单向的序列模型得到的结果比树形结构的效果更好一些。

不需要树形结构:

  1. 长序列并且没有足够的片段标注任务(例如上面的二元情感分类,Q-A Matching任务)

  2. 简单任务(例如短语级别的情感分类和Discourse分析任务),每个输入片段都很短,句法分析可能没有改变输入的顺序。

此外,哈工大的车万翔在哈工大的微信公众号也发表了《自然语言处理中的深度学习模型是否依赖于树结构?》[3],其中提到了"即使面对的是复杂问题,只要我们能够获得足够的训练数据"也可以无需树形结构。

通过这篇论文和车老师的博文以及一些相关资料,句法树形结构是否需要值得我们关注,我们应该根据自己做的任务以及句法分析的优缺点进行判断,我自己总结如下:

句法分析能够带给我们什么?

句法分析的缺点

标签:NLP,models,模型,何时,句法分析,任务,树形,结构
来源: https://blog.51cto.com/u_14540820/2759345