深度学习:推动NLP领域发展的新引擎

文 / 雷欣,李理

从2015年ACL会议的论文可以看出,目前NLP最流行的方法还是机器学习尤其是深度学习,所以本文会从深度神经网络的角度分析目前NLP研究的热点和未来的发展方向。

我们主要关注Word Embedding、RNN/LSTM/CNN等主流的深度神经网络在NLP中的应用,这已经是目前主流的研究方向。此外,已经在机器学习或其它领域比较热门的方法,比如Multi-Model、Reasoning、Attention and Memory等,很有可能是未来NLP研究的热点,我们将着重关注。

Word Embedding

在Word2vec被Mikolov提出之后,由于它能把一个词表示成一个向量(可以理解为类似隐语义的东西),这样最小的语义单位就不是词而是词向量的每一维了。比如我们训练一个模型用来做文本分类,如果训练数据里都是用“计算机”,但测试数据里可能用的是“电脑”,用词作为最基本单位(比如Bag of Words),我们学出来的模型会做出错误的判断。但是如果我们用一个很大的未标注的语料库来训练一个Word2vec,我们就能知道“计算机”和“电脑”语义是相似的,因此它们的词向量也会是类似的,比如100维的词向量某一维和计算机相关,那么“计算机”和“电脑”的词向量在这一维度都会比较大,用它作为基本单位训练模型后,我们的模型就能利用这一维特征正确地实现分类。当然如果数据量足够大,可以把模型的参数和词向量一起训练,这样得到的是更优化的词向量和模型。

但是Word2vec忽略了一些有用的信息,比如词之间的关系(句法关系)、词的顺序、以及没有利用已有的外部资源。针对这些问题,有很多改进的工作。

引入词的关系

最常见的思路就是用Dependency Parser,把抽取出来的Relation作为词的Context。

改进Bag of Words

有人认为词(Word)的粒度也太大,可以到Character级别的,或者Morpheme级别的。

外部资源和知识库

Word2vec只使用了词的上下文的共现,没有使用外部的资源如词典知识库等,因此也有不少工作对此进行改进。

RNN/LSTM/CNN

RNN相关的模型如LSTM基本上算是解决结构化问题的标准方法了,相比于普通的FeedForward Network,RNN是有“记忆”能力的。

普通的神经网络只会在学习的时候“记忆”,也就是通过反向传播算法学习出参数,然后就不会有新的“记忆”了。训练好了之后,不管什么时候来一个相同的输入,都会给出一个相同的输出。对于像Image Classification这样的问题来说没有什么问题,但是像Speech Recognition或者很多NLP的Task,数据都是有时序或结构的。比如语音输入是一个时序的信号,前后帧的数据是相关的;而NLP的很多问题也都是序列或者层次的结构。

RNN拥有“记忆”能力,如图1所示,前一个输出是会影响后面的判断的。比如前一个词是He,那么后面出现is的概率比出现“are”的概率高得多。最简单的RNN直接把前一个时间点的输出作为当前输入的一部分,但是会有Gradient Vanishing的问题,从而导致在实际的模型中不能处理Long Distance的Dependency。目前比较流行的改进如LSTM和GRU等模型通过Gate的开关,来判断是否需要遗忘/记忆之前的状态,以及当前状态是否需要输出到下个时间点。比如语言模型,如果看到句子“I was born in China, …. I can speak fluent Chinese. ”,如果有足够的数据,LSTM就能学到类似这样东西:看到“I was born in”,就记住后面的单词“China”,当遇到“speak”时,就能知道后面很可能说“Chinese”。而遇到“Chinese”之后,其实就可以“忘掉”“China”了。

图片描述
图1 RNN拥有“记忆”能力

CNN(LeNet)最早是Yann Lecun提出用来解决图像识别的问题的一种深度神经网络。通过卷积来发现位置无关(Translational Invariance)的Feature,而且这些Feature的参数是相同的,从而与全连接的神经网络相比大大减少了参数的数量,如图2所示。

图片描述
图2 CNN深度神经网络

最近CNN相关的改进模型也被用于NLP领域。今年的ACL上有很多RNN/LSTM/CN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值