论文部分内容阅读
如何让计算机理解并处理人类语言是人工智能领域的长盛不衰的研究课题。使用自然语言与具有人工智能的计算机交互常被称为自然语言处理(NLP)。自然语言处理在我们日常生活中应用十分广泛。序列标注是自然语言处理领域中历史最悠久的研究课题之一,包括词性标注(Part of speech tagging)和CCG超标注(Combinatory Categorial Grammar supertagging,组合范畴语法超标注)。CCG超标注是许多自然语言处理任务的前序步骤,例如组块(chunking)和句法解析(parsing)。CCG超标注可定义为:给定一个由词构成的序列,要求给序列中的每个词赋予一个CCG超标签。CCG超标注的最大挑战在于超标签的总数巨大,以及每个词可赋予的超标签数目众多,这使得许多应用非常复杂。前人提出过许多方法来应对这一问题,这些方法通常基于不同的统计机器学习方法。同时这些方法通常使用大量人工设计的表示和输入特征来取得较好的实验效果。但是,如何自动地提取输入的表示特征也是研究的重点。深度学习可以看成是机器学习和表示学习的结合,可以自动学习有用的特征和输入表示。因此我们将尝试使用深度学习技术处理CCG超标注任务。在本文中,我们专注于CCG超标注这一任务,提出了一些技术,可以让赋予每个输入词的词法类别数目减少。我们的目标是开发一个简单而准确的模型来解决CCG超标注的挑战,同时利用深度神经网络学习必要的间接表示以避免复杂的人工特征选择。我们认为现有的CCG超标注有三个主要问题。第一个问题是长序列建模问题,即循环神经网络(RNNs)只能记忆较少的步骤,难以建模较长的序列。由于深度学习模型能从输入的依存中受益,而统计机器学习算法能够从输出的依存中受益;因此第二个问题是对于CCG超标注这一结构预测任务,如何同时从输入和输出依存中学习,这是非常必要的。最后,第三个问题是未登录词(OOV)的问题,即未登录词和罕见词会降低模型的准确率。因此,本文的主要目标是使用深度学习技术解决上述CCG超标注任务中的问题,并有效降低所预测的超标签的个数。此外,要避免使用词法特征以及其他手工构建的特征。特别地,以下问题是本文着重考虑的:1)如何记忆序列信息是许多序列标注问题的关键任务,CCG超标注亦是如此。我们提出了一个基于门限循环单元(GRU)网络的新方法。为了同时保存从左到右和从右到左的信息,我们应用了双向门限循环单元。此外,我们采用了深度结构来学习输入间的复杂交互。所提的方法的试验结果提升了CCG语法的超标注和多标注的性能。2)我们为CCG超标注提出了一个新的方法,叫做“后向-双向长短时记忆网络(Backward-BLSTM)”。长短时记忆网络(LSTM)作为一个比门限循环单元更有效的模型,它能更好地记忆信息以及预测最可能的超标签。我们提出的结构对于CCG语法的超标注和多标注都是有效的。试验结果表明所我们提出的方法能有效地建模长序列,同时能达到领先的性能。3)前人为CCG超标注这一任务提出了许多模型。然而这些模型要么是使用基于手工构建特征的机器学习方法,要么虽然是基于深度学习的模型但是却忽略了临近输出标签之间的依存关系,而这一关系对于预测当前标签十分重要。因此,如何利用临近的输出标签来预测当前位置的标签是关键。在这项工作中,我们同时利用了条件随机场(CRF)和双向长短时记忆网络。这个模型首先使用双向长短时记忆网络学习句子表示,同时获取过去和未来的输入并长距离地记忆这些数据。然后,模型使用条件随机场来处理句子级别的标签信息并输出预测。这个模型能够同时从输入和输出中受益,性能优于当前最好的方法。试验结果表明所提方法在CCG超标注和多标注上超越了现有的方法。4)尽管许多工作已经利用深度学习模型来解决CCG超标注的问题,仍然没有一项研究来深入解决未登录词的问题。考虑到这一点,我们提出了一种简洁而有效的方法来探索不同的输入表示。为表示词间的形态信息,首先使用预训练的词向量来提取词之间的相似度。然后我们使用字符级别的输入表示,建立了字符与向量间的检索表。然后把字符级别和词级别的表示拼接到一起,送入双向长短时记忆网络来产生输出。试验结果表明我们的方法在领域内和领域外的数据集上都要优于仅使用基于词的输入表示的模型。对于CCG超标注这一问题,我们进行了深入研究,并指出了现有公开技术的局限。基于这一分析,我们有条理地提出并实现了解决问题的新方法,并在若干数据集上验证了方法的有效性。试验结果证明了所有提出技术的有效性。