自然语言处理中的深度学习技术发展史

新知榜官方账号

2023-09-25 02:18:44

自然语言处理中的深度学习技术发展史

自然语言处理(NLP)是指机器理解并解释人类写作与说话方式的能力。近年来,深度学习技术在自然语言处理方面的研究和应用也取得了显著的成果。

在深度学习时代来临前,在2006年Hinton提出深度信念网络(DBN)之前,神经网络是一种极其复杂且难以训练的功能网络,所以只能作为一种数学理论来进行研究。在神经网络成为一种强大的机器学习工具之前,经典的数据挖掘算法在自然语言处理方面有着许多相当成功的应用。我们可以使用一些很简单且容易理解的模型来解决常见问题,比如垃圾邮件过滤、词性标注等。但并不是所有问题都能用这些经典模型来解决。简单的模型不能准确地捕捉到语言中的细微之处,比如讽刺、成语或语境。基于总体摘要的算法(如词袋模型)在提取文本数据的序列性质时效果不佳,而N元模型(n-grams)在模拟广义情境时严重受到了“维度灾难(curseofdimensionality)”问题的影响,隐马尔可夫(HMM)模型受马尔可夫性质所限,也难以克服上述问题。这些方法在更复杂的NLP问题中也有应用,但是并没有取得很好的效果。

第一个技术突破:Word2Vec

神经网络能提供语义丰富的单词表征,给NLP领域带来了根本性突破。在此之前,最常用的表征方法为one-hot编码,即每个单词会被转换成一个独特的二元向量,且只有一个非零项。这种方法严重地受到了稀疏性的影响,不能用来表示任何带有特定含义的词语。我们可以尝试关注几个周围单词,移除中间单词,并通过在神经网络输入一个中间单词后,预测周围单词,这就是skip-gram模型;或是基于周围单词,进行预测中间单词,即连续词袋模型(CBOW)。当然,这种模型没什么用处,但是事实证明,它可在保留了单词语义结构的前提下,用来生成一个强大且有效的向量表示。

进一步改进

尽管Word2Vec模型的效果超过了许多经典算法,但是仍需要一种能捕获文本长短期顺序依赖关系的解决方法。对于这个问题,第一种解决方法为经典的循环神经网络(RecurrentNeuralNetworks),它利用数据的时间性质,使用存储在隐含状态中的先前单词信息,有序地将每个单词传输到训练网络中。事实证明,这种网络能很好地处理局部依赖关系,但是由于“梯度消失”问题,很难训练出理想效果。为了解决这个问题,Schmidhuber等人提出了一种新型网络拓扑结构,即长短期记忆模型(LongShortTermMemory)。它通过在网络中引入一种叫做记忆单元的特殊结构来解决该问题。这种复杂机制能有效获取单元间更长期的依赖关系,且不会显著增加参数量。现有的很多常用结构也是LSTM模型的变体,例如mLSTM模型或GRU模型。这得益于提出了基于自适应简化的记忆单元更新机制,显着减少了所需的参数量。

在计算机视觉领域中,卷积神经网络已经取得了很好的应用,迟早会延伸到自然语言处理研究中。目前,作为一种常用的网络单元,一维卷积已成功应用到多种序列模型问题的处理中,包括语义分割、快速机器翻译和某些序列转换网络中。由于更容易进行并行计算,与循环神经网络相比,一维卷积在训练速度上已提高了一个数量级。

了解常见的NLP问题

有许多任务,涉及到计算机与人类语言之间的交互,这可能对人类来说是一件简单的小事,但是给计算机带来了很大的麻烦。这主要是由语言中细微差异引起的,如讽刺、成语等。按照复杂程度,下面列出了当前还处于探索阶段的多个NLP领域:

  • 情绪分析(SentimentAnalysis)
  • 自动文本摘要(TextSummarization)
  • 自动问答(QuestionAnswering)
  • 机器翻译(MachineTranslation)
  • 图片问答(VisualQuestionAnswering)

总结

我们可以发现,深度学习在自然语言处理中也取得了很好的效果。但是由于计算和应用等问题,我们仍需要进一步了解深度神经网络,一旦可以掌控深度学习,这将永远改变游戏规则。

本页网址:https://www.xinzhibang.net/article_detail-13530.html

寻求报道,请 点击这里 微信扫码咨询

关键词

自然语言处理 深度学习 Word2Vec

分享至微信: 微信扫码阅读

相关工具

相关文章