当前位置: 首页 > 科技观察

自然语言处理神经网络模型初探

时间:2023-03-18 02:22:26 科技观察

深度学习(DeepLearning)技术对自然语言处理(NLP,NaturalLanguageProcessing)领域影响巨大。但是作为初学者,您从哪里开始学习呢?深度学习和自然语言处理都是比较宽泛的领域,但是每个领域的侧重点是什么?在自然语言处理领域,哪个方面受深度学习的影响最大?通过阅读本文,您将对自然语言处理中的深度学习有一个初步的了解。看完这篇文章,你可以知道:自然语言处理领域影响最深远的神经网络结构。看看深度学习可以成功解决的自然语言处理任务。密集词表示的重要性以及可用于学习它们的方法。现在,让我们开始这次学习之旅。自然语言处理神经网络模型入门图片由faungg提供,保留部分权利。Overview本文将沿用相关论文的结构,分为12个部分,分别是:关于论文(Introduction)神经网络架构FeatureRepresentationFeedforwardNeuralNetworkWordEmbeddingTrainingNeuralNetworkCascadingandMulti-taskLearningStructuredOutputPredictionConvolutionalLayer的循环神经网络树建模的具体架构我想向您介绍本文的主要部分和风格,以及对该主题的高级介绍。如果您想更深入,我强烈建议您阅读全文或最近出版的一些书籍。一、论文简介论文题目为:《自然语言处理神经网络模型入门》(IntroductiontoNeuralNetworkModelsforNaturalLanguageProcessing)。这篇论文在ArXiv上免费提供,最后一次提交是在2015年。与其说是一篇论文,不如说它更像是一份技术报告或教程,它还为学生和读者全面介绍了自然语言处理(NLP)中的深度学习方法。研究人员。本教程从自然语言处理研究的角度对神经网络模型进行相关研究,力求使自然语言领域的研究人员能够跟上神经网络技术的发展速度。这篇介绍性论文的作者是NLP领域的研究员YoavGoldberg,他之前是GoogleResearch的研究科学家。虽然Yoav最近引起了一些争议,但我不会因此而反对他。这是一份技术报告,总共约62页,其中约13页是参考列表。这篇文章非常适合初学者,原因有二:它对读者的要求不高,只要你对该主题有一定的兴趣并且对机器学习和/或自然语言处理有一点了解就可以了。它涵盖了广泛的深度学习方法和自然语言问题。在本教程中,我试图为NLP从业者(以及新手)提供基本的背景知识、术语、工具和方法,使他们能够理解神经网络模型背后的原理并将其应用到自己的工作中。...本文面向有兴趣采用现有有用技术并以实用和创造性的方式将其应用于他们最喜欢的NLP问题的读者。通常,关键的深度学习方法通??过语言或自然语言处理术语或命名法重新表述,这提供了一个有用的桥梁(在深度学习和自然语言处理之间)。最后但同样重要的是,这篇2015年的入门教程于2017年作为“自然语言处理的神经网络方法”发布。如果您喜欢这个介绍性教程并想深入了解,我强烈建议您继续阅读Yoav的书。2.神经网络架构本小节简要介绍了各种类型的神经网络架构,并在后面的章节中对它们进行了一些交叉引用。完全连接的前馈神经网络是非线性学习器,在大多数情况下,可以在任何使用线性学习器的地方被替换。这些小节涵盖了四种神经网络架构,并重点介绍了各种应用和引用示例:全连接前馈神经网络,例如多层感知器网络(MultilayerPerceptronNetworks)。具有卷积层和池化层的网络,例如卷积神经网络。循环神经网络,例如长短期记忆(LSTM,LongShortTermMemory)网络。递归神经网络。如果您只对其中一种特定网络类型的应用感兴趣并想直接阅读相关文献,本节提供了一些很好的资源。3.特征表示本节重点介绍如何从稀疏表示过渡到密集表示,然后将其应用于深度学习模型训练。当将输入的稀疏线性模型转换为基于神经网络的模型时,最大的变化可能是每个特征不再表示为唯一的维度(所谓的单一表示[One-hotRepresentation]),而是它们表示为稠密向量(DenseVector)。本节介绍NLP分类系统的一般结构,可概括如下:提取一组核心语言特征。对于每个向量,检索相应的向量。组合成特征向量。将组合的向量输入非线性分类器。这个公式的关键是使用密集特征向量而不是稀疏特征向量,使用核心特征而不是特征组合。请注意,在神经网络设置中的特征提取阶段,只处理核心特征的提取。这与传统的基于线性模型的NLP系统大相径庭,在传统的基于线性模型的NLP系统中,特征设计者不仅必须手动指定感兴趣的核心特征,还必须手动指定它们之间的交互。4.前馈神经网络本节是前馈人工神经网络的速成课程。具有两个隐藏层的前馈神经网络,来自“自然语言处理神经网络模型入门”。网络通过大脑启发的隐喻和数学符号来表示。常见的神经网络主题包括以下内容:表征能力(例如通用逼近)。常见的非线性关系(如传递函数)。输出转换(例如softmax)。词嵌入(例如内置学习密集表示)。损失函数(例如铰链损失和对数损失)。5.词嵌入在自然语言处理中,词嵌入表示(WordEmbeddingRepresentations)是神经网络方法的关键部分。本节对此主题进行了扩展并列出了一些关键方法。神经网络方法的一个主要组成部分是嵌入的使用——将每个特征表示为低维空间中的向量。在本节中,涵盖了有关词嵌入的几个主题:随机初始化(例如,从均匀随机向量序列开始)。特定监督任务的预训练(例如,迁移学习)。无监督任务的预训练(例如word2vec和GloVe等统计方法)。训练目标(例如,目标对结果向量的影响)。上下文选择(例如,每个词都受到附近词的影响)。神经词嵌入起源于语言建模领域,其中训练有素的网络用于根据先前单词的序列预测下一个单词。6.训练神经网络这一较长的章节是为那些刚接触神经网络的人而写的,它着重于训练神经网络所涉及的具体步骤。神经网络的训练是通过使用基于梯度的方法最小化训练集上的损失函数来完成的。本节重点介绍随机梯度下降(以及类似的方法,例如小批量)和训练过程中的一些重要主题,例如正则化。有趣的是,本节还提供了神经网络的计算图视角,介绍了Theano和TensorFlow等符号数值计算库,这些库是目前实现深度学习模型的基础。建好图后,可以直接进行正向计算(计算计算结果)或反向计算(计算梯度)7.级联和多任务学习在上一节的基础上,本节总结了级联NLP模型和多语言任务学习模型的作用。级联模型(Modelcascading):利用神经网络模型计算图的定义,使用中间表示(编码)来开发更复杂的模型。例如,我们可能有一个前馈网络,它根据一个词的相邻词和/或组成它的字符来预测词的词性。多任务学习:有许多相互关联的自然语言预测任务,它们互不影响,但它们各自的信息可以跨任务共享。预测块边界、命名实体边界和句子中的下一个词的信息都依赖于一些共享的底层句法语义表示。这两个高级概念都是在神经网络的上下文中描述的,它允许模型或信息在训练(错误反向传播)和预测期间连接起来。8.结构化输出预测本节重点介绍使用深度学习方法进行结构化预测的自然语言任务,例如序列、树和图。典型的例子是序列标记(例如词性标记)、序列分割(分块、NER[命名实体识别])和句法分析。本节涵盖贪心思想和基于搜索的结构化预测,重点是后者。常用的自然语言结构化预测方法是一种基于搜索的方法。9.卷积层本节提供了卷积神经网络(CNN,ConvolutionalNeuralNetworks)的速成课程,并说明了该网络对自然语言领域的影响。值得注意的是,CNN已被证明对分类NLP任务非常有效,例如情感分析(Sentimentanalysis),例如学习在文本中寻找特定的子序列或结构来做出预测。卷积神经网络旨在识别大型结构中的指示性局部预测因子,并将它们组合起来以产生结构的固定大小向量表示,为预测任务捕获这些最具信息量的局部方面(Localaspects)。10.循环神经网络与上一节一样,本节重点介绍NLP中使用的特定网络及其作用和应用。在NLP中,循环神经网络(RNN,RecurrentNeuralNetworks)被用于序列建模。循环神经网络(RNN)允许将任意大小的结构化输入表示为固定大小的向量,同时还关注输入的结构化属性。鉴于RNN的流行,尤其是NLP中的长短期记忆(LSTM),本章内容较大,介绍了循环神经网络的各种主题和模型,包括:RNN的抽象概念,例如网络图中的循环连接)。RNN训练(例如时间反向传播)。多层(堆叠)RNN(例如深度学习的“深度”部分)。BI-RNN(例如正向和反向序列作为输入)。用于表示的RNN堆栈。我们会在RNN模型结构或结构元素上花费一定的时间,特别是:Acceptor:输入完整的序列后,计算输出的损失。编码器:最终向量用作输入序列的编码器。换能器:为输入序列中的每个观察结果创建一个输出。编码器-解码器:输入序列在解码为输出序列之前被编码为固定长度的向量。11.循环神经网络的具体架构本章在上节内容的基础上介绍具体的RNN算法。具体包括以下几点:简单循环神经网络(SRNN)。长短期记忆(LSTM)。门控循环单元(GRU,GatedRecurrentUnit)。12.树建模最后一节关注一个更复杂的网络,我们称之为用于学习树建模的递归神经网络。一棵树,可以是句法树,也可以是语篇树,甚至可以是句子各部分表达的情感树。我们要基于特定的树节点或者基于根节点来预测值,或者给整棵树或者树的一部分赋予一个质量值。由于RNN保留输入序列的状态,因此RNN保留树中节点的状态。递归神经网络的示例,摘自“自然语言处理神经网络模型入门”。进一步阅读如果您要深入挖掘,本部分提供了有关该主题的更多资源。APrimeronNeuralNetworkModelsforNaturalLanguageProcessing,publishedin2015.NeuralNetworkMethodsforNaturalLanguageProcessing,published2017.YoavGoldbergonMedium,YoavGoldberg的个人主页,以自然语言处理中深度学习的一些介绍性知识总结了这篇文章.具体来说,您学习了:对自然语言处理领域影响最大的神经网络架构。广泛了解可以通过深度学习算法成功解决的自然语言处理任务。密集表示的重要性和相应的学习方法。原文链接:https://machinelearningmastery.com/primer-neural-network-models-natural-language-processing/作者:JasonBrownlee【本文为专栏作者“云家社区”原创稿件,转载请联系原作者转载授权】点此查看作者更多好文