网站大量收购独家精品文档,联系QQ:2885784924

108-RNN在自然语言处理中有哪些应用场景?【萌萌家】.pdf

108-RNN在自然语言处理中有哪些应用场景?【萌萌家】.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

108|RNN在自然语言处理中有哪些应用场景?

2018-05-09洪亮劼来自北京

《AI技术内参》

周一我们进一步展开了RNN这个基本框架,讨论了几个流行的RNN模型实现,从最简单的

RNN模型到为什么需要“门机制”,再到流行的LSTM和GRU框架的核心思想。

今天,我们就来看一看RNN究竟在自然语言处理的哪些任务和场景中有所应用。

简单分类场景

我们首先来聊一种简单的分类场景。在这种场景下,RNN输入一个序列的文字,然后根据所

有这些文字,做一个决策,或者叫作输出一个符号。这类应用是文本挖掘和分析中最基本的一

个场景。

在绝大多数的“简单分类”任务中,传统的文字表达,例如“词包”(BagofWord)或者

“N元语法”(Ngram),经常都能有不错的表现。也就是说,在很多这类任务中,文字的

顺序其实并不是很重要,或者说词序并没有携带更多的语义信息。

然而,实践者们发现,在一些场景中,如果利用RNN来对文字序列进行建模,会获得额外的

效果提升。比如有一类任务叫作“句子级别的情感分类”(Sentence-LevelSentiment

Classification),这类任务常常出现在分析商品的评论文本(Review)这个场景。这时候,

我们需要对每一个句子输出至少两种感情色彩的判断,褒义或者贬义,正面或者负面。比如,

我们在分析电影评价的时候,就希望知道用户在某一个句子中是否表达了对电影“喜爱”或者

“不喜爱”的情绪。

面对这样句子级别的情感分析,一种比较通行的利用RNN建模的方式是:把每一个单词作为

一个输入单元,然后把一个句子当作一个序列输入到一个RNN中去,RNN来维持一个隐含

的状态。

对于这类应用,不是每一个隐含状态都有一个输出,而是在句子结束的时候,利用最后的隐含

状态来产生输出。对于这类任务而言,输出的状态就是一个二元判断,那么我们需要利用最后

的隐含状态来实现这个目的。一般来说,在深度模型的架构中,这个步骤是利用最后的隐含状

态,然后经过多层感知网络,最后进行一个二元或者多元的分类。这其实是一个标准的分类问

题的构建。

在有的应用中,研究者们发现可以利用两个RNN建立起来的链条,从而能够更进一步地提升

最后的分类效果。在我们刚才描述的建模步骤里,RNN把一个句子从头到尾按照正常顺序进

行了输入并归纳。另外一种建模方式是利用RNN去建模句子的逆序,也就是把整个句子倒过

来,学习到一个逆序的隐含状态。接下来,我们把顺序的最后隐含状态和逆序的最后隐含状态

串联起来,成为最终放入分类器需要学习的特性。这种架构有时候被称作“双向模型”。

当我们从句子这个层级到文档这个层级时,比如希望对文档进行情感分类,仅仅利用我们刚才

讲的RNN的结构就会显得有点“捉襟见肘”了。一个重要的阻碍就是RNN很难针对特别长

的序列直接建模。这个时候,就需要我们把整个文档拆分成比较小的单元,然后针对小的单元

利用RNN进行建模,再把这些小单元的RNN结果当作新的输入串联起来。

在实际拆分的时候,我们可以把文章分成一个一个的句子,然后每个句子可以用刚才我们在句

子层级的建模方式进行建模;在句子的层级下,还可能再把句子拆分成比如短语这样的单元。

这种把一个比较大的文档进行拆分,并且通过RNN对不同级别的数据进行建模的形式就叫作

“层次式”(Hierarchical)RNN建模。

特性提取器

在更多的场景中,RNN其实已经扮演了文本信息特性提取器的角色,特别是在很多监督学习

任务中,隐含状态常常被用来当作特性处理。尤其要说明的是,如果你的任务对文字的顺序有

一定要求,RNN往往就能成为这方面任务的利器,我们这里举几个例子。

首先可以想到的一个任务就是,在自然语言处理中很常见的“词类标注”(Part-Of-Speech

Tagging),或者简称POS标注。简单来说,POS标注就是针对某一个输入句子,把句子里

的词性进行分析和标注,让大家知道哪些是动词,哪些是名词,哪些是形容词等等。我们可以

很容易地想到,在这样的标注任务中,一个词到底是名词还是动词,在很多的语言场景中,是

需要对整个句子的语境进行分析的,也就是说,整个句子的顺序和词序是有意义的。

针对POS标注这类任务,一种已经尝试过的架构,就是利用我们刚才介绍过的双向RNN来

对句子进行建模。双向RNN的好处是,我们可以构建的隐含信息是包含上下文的,这样就更

加有助于我们来分析每个词的词性。

和句子分类的任务类似的是,利用双向RNN对句子进行扫描之后,我们依然需要建

您可能关注的文档

文档评论(0)

133****9720 + 关注
实名认证
内容提供者

物业管理师证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年04月23日上传了物业管理师证

1亿VIP精品文档

相关文档