论文部分内容阅读
句法分析任务是句子理解的重要中间过程之一.其中,概率估计一直是句法分析领域的一个核心问题.然而,无论是神经网络方法还是深度学习时代以前的方法,采用基于全局概率模型的句法分析工作都非常少,主要的原因在于树形条件随机场(TreeCRF)推断的高复杂度.在本文中,我们提出将TreeCRF应用到依存句法和成分句法这两个主要的句法分析任务.为了解决TreeCRF的低效问题,关键的想法是批次化树结构的推断算法,并且用基于自动求导的反向传播代替Outside算法.目前句法模型被不断简化,采用局部损失目标是当前句法分析方法的一个趋势,我们则进一步在一阶TreeCRF的基础上采用了高阶拓展.高阶TreeCRF进一步增加了算法复杂度,为此,我们还提出利用基于平均场变分推断的近似推断算法代替精确推断的TreeCRF方法,从而增加了解析效率.具体而言,本文的研究内容主要包含三个方面:(1)基于TreeCRF的高阶依存句法分析方法本文提出将TreeCRF方法应用到神经依存句法分析器当中,并进一步提出了一个二阶TreeCRF的扩展.导致TreeCRF低效的主要瓶颈在于Inside-Outside算法,尤其是Outside算法的计算.为了解决这个问题,一方面,我们提出对Inside算法进行批次化,从而利用GPU的并行计算能力来加速,将算法复杂度从O(n3)降低到了 O(n2).另一方面,我们还提出将复杂的Outside算法用高效的反向传播代替,显著提升了效率,使得一阶和二阶模型的速度分别达到了 500和400句每秒.我们在13个语言的27个数据集上进行了详细实验,结果表明了 TreeCRF和高阶建模的有效性.(2)基于TreeCRF的高阶成分句法分析方法本文提出将高阶TreeCRF应用到成分句法分析中.为了解决效率问题,我们应用了和依存模型中一致的批次化技术和反向传播来加速.此外,我们提出一个简单的两阶段解析方法,和前人的一阶段解析相比结果相当,但是更加高效.我们还参考了依存句法的模型架构和参数设置,提出用双仿射打分机制替换传统打分方法,发现在双向LSTM编码器中引入的诸如Dropout的策略改进可以极大提升解析的性能.在中英文三个基准数据集上的实验结果表明,我们提出的模型结果显著超越了现有方法,并且一阶和二阶模型的速度分别达到了 1,092和598句每秒.我们的模型在使用BERT之后达到了现有最好的结果.(3)基于变分推断的高效句法分析方法为了解决精确推断的TreeCRF方法高复杂度的问题,本文提出在依存句法和成分句法分析中引入基于平均场变分推断的近似方法.相比于高阶TreeCRF方法,变分推断将算法在GPU上的复杂度从O(n2)降低到了 O(n),大大提升了模型效率.在中英文共五个数据集上的实验结果表明,我们的二阶变分推断方法在性能上显著超越了一阶模型,达到了和二阶TreeCRF模型可比较的水平,与此同时在依存句法和成分句法上的解析速度分别达到了 1,126句每秒和905句每秒,大大超越了精确推断的二阶TreeCRF.此外,使用BERT之后,我们的变分推断方法的结果达到或接近了现有的最佳结果.综上,我们在依存和成分句法这两种句法分析任务上提出应用TreeCRF以及一个二阶TreeCRF拓展,显著提升了句法分析器的性能.我们采用批次化以及反向传播等加速技术,解决了 TreeCRF的效率问题.本文同样还探究了变分法等近似方法对解析效率的影响.我们发现变分法在保持高阶模型的性能的同时,大大加快了解析速度.