毕业论文
您现在的位置: 语言识别 >> 语言识别资源 >> 正文 >> 正文

深度学习在自然语言匹配处理中的应用探讨

来源:语言识别 时间:2022/8/15

近年来,深度学习在计算机视觉、语音识别叫等领域取得了突破性的进展,其成功主要得益于其强大的特征表示(知识表示)学习能力。自然语言处理正成为深度学习研究的下一个应用热点,其任务的复杂性和挑战性可能是前所未有的。“深度学习是否可以大幅度提升自然语言处理的精度?是否可以在自然语言处理方面取得同样的成功?”成为大家普遍关心的问题,有许多学者正在全力从事相关研究。

目前自然语言处理面临的挑战主要源于语言的如下特点:(1)语言的多义性和同义性。同一个单词或句子可以表达不同的语义,而同一个语义可以有不同的单词或句子来表达。比如,“欢乐”、“快乐”、“欢喜”和“高兴”等词有着相近的语义,在一定场合可以互相替换,但在用法上又有明显不同。(2)语言的组合性。单词和短语可以组合成句子,表达更复杂的语义。这种组合原则上是遵循语法规范,但也有例外。比如,“打酱油”,尽管“打”和“酱油”分别是语法中的谓语和宾语,即动宾结构,但在网络语言中则代表一个词。(3)语言的灵活性和可扩展性。原则上,自然语言必须遵循语法规范,但是语言又可以突破语法限制,产生新的表示和新的用法。

深度学习比传统的统计学习方法具有更强大的知识表示学习能力。这为自然语言处理的突破带来了新的可能。事实上,深度学习目前已被应用于自然语言处理中几乎所有的任务,如词性标注、语法分析、情感分析、信息检索、自动问答、机器翻译和关系分类等,并取得了一系列鼓舞人心的成果。深度学习用于自然语言处理的优势主要体现在:(1)深度学习将单词表示为语义空间中的向量,可以更准确地描述单词与单词之间的语义相似性;(2)神经网络模型可以比较自然地描述语言中的层次结构、序列结构和组合操作。相关的工具包括卷积深度模型和递归神经网络等;(3)利用神经网络的复杂结构、大规模训练数据以及高性能计算,深度学习可以学习到复杂的自然语言的知识表示,既可以描述规范的一般的语言规律,又可以刻画例外的、特殊的语言现象,从而大幅提高语言处理的精度。

自然语言处理领域的许多任务都可以归结为语言的匹配问题。比如,信息检索可以抽象为查询项与文档的匹配;自动问答可归结为问题与答案的匹配:改述问题则可以归结为两个同义词句的匹配。尽管不同任务对匹配算法的要求不同,但是为自然语言寻找合适的表示方式是所有匹配任务的关键。考虑到深度学习技术强大的特征表示学习能力,近年来不少科研人员纷纷把深度学习用于完成复杂的语言匹配任务。我们习惯称这些结合深度学习的语言匹配技术为“深度匹配学习”。本文主要聚焦于深度学习在自然语言匹配问题中的应用。

在自然语言匹配处理中有六种深度匹配学习模型,分别是动态池化和可伸展递归自动编码方法、深度语义结构模型、卷积深度语义结构模型、主题深度匹配模型、树深度匹配模型和卷积网络深度匹配模型。从匹配任务和待匹配对象的结构出发,这些模型分为任务需要主题(topic)意义上的匹配和任务需要精细结构上的匹配;从匹配对象的基本描述出发,可分为词包(bag-of-words)的模型和句子语序结构的模型。

1.动态池化和可伸展递归自动编码方法

美国斯坦福大学索赫尔(Socher)等人叫提出了一种基于深度学习的同义词句判定(paraphrasedetection)方法。该模型本质上是一种有递归特性的神经网络模型。其训练主要集中在组合操作的参数学习上。这种方法称为可伸展递归自动编码(UnfoldingRecursiveAuto-Encoder,URAE)。该算法首先对参与匹配的句子进行句法分析,根据所构建的句法树把句子中各个片断(词、短语以及句子)变换为向量表示。由于这些向量表示处在同一个语义空间中,算法可以直接计算两个句子的所有片断之间的匹配关系(相似度),从而得到两个句子之间的匹配相似度矩阵。该矩阵反映了两个句子的匹配关系,其中的每个元素表示两个句子的一个片断对在语义空间里的欧氏距离。考虑到不同句子片断长度不一致,任意两个句子所产生的匹配相似度矩阵的大小不一,因此算法需要进行归一化处理。

为了解决此问题,索赫尔等人提出动态池化(dynamicpooling)技术。动态池化将可变维度的相似度矩阵转换成一个固定维度的相似度矩阵,以归一化后的相似度矩阵作为输入,使基于深度学习的同义词句判定算法通过一个简单的神经网络模型计算出两个句子的最终匹配值。该算法模型的新颖之处在于从词、短语和句子三个层次来表示句子,使得句子表示更加丰富,可以描述更加抽象的内容。该模型在同义词句判定上取得了很好的效果。但是由于此模型依赖于一个给定的句法树,因此其鲁棒性略有不足;而且,其层次性表示方法带来了模型匹配方面的困难。

2.深度语义结构模型

微软的研究团队对信息检索中的语义匹配进行了研究,其模型主要是将查询项和文档进行匹配,用于相关度判断。该模型包括基于词包的深度语义结构模型(DeepSemanticStruturedModels,DSSM)和基于单词序列的卷积深度语义结构模(ConvolutionalDeepSemanticStructuredModels,C-DSSM)。这两个模型的训练都是基于搜索点击数据。点击数据实际上表示了用户对查询项和文档之间相关度的一种判断。在下面即将介绍的几个模型中,深度语义结构模型是一个相对比较简单的模型,这一方面出于文档搜索中对速度的考虑,另一方面由于基于相关度(relevance)匹配的搜索是相对比较简单的。

DSSM用一个深层神经网络将查询和文档映射为同一个语义空间里的向量,并用二者的内积来表示它们的相关度。考虑到查询和文档的词汇表都比较大,有人采取词哈希(wordhashing)技术,把单词分解成关于字母的N-元组,然后利用所有N元组的哈希值来表示单词。例如“good”这个单词可以分解为(#go,goo,ood,od#)四个3-元组,然后利用其哈希值来表示“good。因为英文中N-元组的数量比单词少得多,利用词哈希技术可以把词汇表的规模从50万降到3万。深层神经网络的作用就是将这个3万维稀疏向量映射为语义空间中的一个维稠密向量,然后在这个语义空间里进行匹配计算。由于这个模型拥有大量的参数,有人利用大量的搜索日志数据来进行参数训练。其基本想法是调整参数,使得相关的查询与文档在映射后成为相似的向量。与一些传统模型(如BM25)相比,DSSM的搜索效果有显著提升。但是,DSSM并没有利用查询与文档中单词的顺序关系,这会在一定程度上降低模型的性能。

转载请注明:http://www.0431gb208.com/sjslczl/1243.html