论文部分内容阅读
近年来,在自然语言处理领域中,相比于分词、词性标注、命名实体识别等浅层自然语言理解任务,句法分析等深层自然语言理解任务越来越受到关注。句法分析就是分析一个给定句子的内部句法结构,并把其转化成一棵句法树。利用句法分析,可以使计算机更深层的理解句子的组织结构、词和词之间的关系,在机器翻译、摘要生成、智能问答等领域都有着广泛的应用。所以句法分析性能的提升,对自然语言理解及其众多应用都有着极大的帮助。 随着深度学习的兴起,基于深度学习的方法在许多任务上都取得了很好的效果,相比传统方法,深度学习的方法在特征抽取、特征表示、序列生成都有天然的优势。本文探讨了利用深度学习的方法,如何更好的解决句法分析这三个问题:如何表达更丰富的树特征,如何使神经网络能够更好的容错,如何利用更深的网络对句子进行建模。具体方法如下: 1.在基于移进规约神经网络句法分析中抽取更加丰富的树结构特征。在基于移进规约的句法分析方法中,往往抽取特征模板的方法要考虑栈与队列的各种词信息,词性信息和树的标签信息及其组合,由于组合特征及句法树等离散特征不仅抽取复杂需要人工定义,而且有很强的稀疏性,限制了句法分析的性能。但是在使用神经网络方法在句法分析应用时,可以把词、词性、树标签等特征转化为向量,这些连续的向量可以很好的解决稀疏性问题,并且神经网络的建模方法也可以很好的避免传统方法中的组合特征的人工定义,各个特征的组合模式已经蕴含在了神经网络的结构之中,因此使用神经网络的方法对栈和队列的大量一元特征的抽取成为了可能。本文还讨论对栈中的句法树片段抽取结构特征建模的方法来提高句法分析的效果,这种方法不仅对单一词和单一标签建模,也对句法树的结构特征进行了建模,从而可以提高句法分析的性能。 2.提高神经网络句法分析的容错性。在使用序列到序列学习时,往往会出现错误传播的问题,即前一个词汇输出错误导致后面的序列也出现了错误,尤其在长句子上的生成表现更加明显。其原因是在序列到序列的学习过程中,使用循环神经网络的方法,其每次输出的结果都依赖于前面输出。在训练过程中,每次的输入是标准的标注词汇,并不是上一步模型的自输出结果。在测试时,由于没有标准答案词汇,只能把自己的模型上一步的输出作为输入,但这种情况却没有在训练中出现过,在神经网络句法分析的训练和测试阶段存在着不一致的情况。本部分以提高句法分析的容错性为目标,提出了带有容错门的神经单元(Fault TolerantUnit,FTU),相比于传统的循环神经网络单元,该单元可以在训练时接受自己的上一步输出,并且可以通过门控机制,自适应调节上一步输出与标准答案的比例,从而使得序列到序列句法分析系统具有更好的容错性和性能。 3.对序列进行更深层次的建模。在使用序列到序列学习时,使用深层神经网络可以对序列进行更好的建模,拥有更好的性能,但是深层神经网络尤其是循环神经网络在训练时,由于使用了大量的非线性函数,在使用错误回传梯度下降训练算法时,底部的参数不容易训练,效果会出现回退现象。针对这个问题,本文在长短时记忆单元(Long Short Term Memory,LSTM)的基础上,设计了一个新的循环神经网络单元-自适应长短时记忆单元(Adaptive Long Short Term Memory,ALSTM)。该单元是LSTM神经网络单元在深度神经网络上的推广,该单元有线性和非线性两个核心,并且通过门控机制来自适应的调节这两个核心的比例,若全部由非线性核心输出则退化为LSTM,若全部由线性核心输出,则变为前馈线性神经网络,该网络对深层神经网络具有很好的适应性,并在句法分析任务上有更好的表现。