首发于 自然语言处理

自然语言任务概述

自然语言任务概述








1自然语言处理定义 2

2自然语言处理流程 2

2.1词法分析 2

2.1.1分词 3

2.1.2命名实体识别 4

2.2句法分析 4

2.3语义分析 5

2.3.1语义角色标注 6

3自然语言应用技术 7

3.1机器翻译 7

3.2情感分析 8

3.3问答系统 9

3.4文本摘要 10

3.5机器阅读 10

总结 11









1自然语言处理定义

自然语言是指汉语、英语等人们日常使用的语言,是随着人类社会发展自然而然演变而来的,是人类社会约定俗成的,而非人造的语言,区别于人工语言,如程序设计的语言。自然语言是人类学习生活的重要工具。

自然语言处理的发展: 一般认为1950 年图灵提出著名的“图灵测试”是自然语言处理思想的开端。20 世纪 50 年代到 70 年代自然语言处理主要采用基于规则的方法。基于规则的方法不可能覆盖所有语句,且对开发者的要求极高。自然语言处理停留在理性主义思潮阶段。70 年代以后随着互联网的高速发展,语料库越来越丰富以及硬件更新完善,自然语言处理思潮由理性主义向经验主义过渡,基于统计的方法逐渐代替了基于规则的方法。从2008 年到现在,由于深度学习在图像识别、语音识别等领域不断取得突破,人们也逐渐开始引入深度学习来做自然语言处理研究,由最初的词向量到2013 年的word2vec,将深度学习与自然语言处理的结合推向了高峰,并且在机器翻译、问答系统、阅读理解等领域取得了一定成功。

自然语言处理(NLP) 是计算机科学,人工智能和语言学的交叉领域。目标是让计算机能够“理解”自然语言,代替人类执行语言翻译和问题回答等任务。

随着语音接口和聊天机器人的兴起,NLP正在成为信息时代最重要的技术之一,同时它也是人工智能的关键部分。充分理解和表达自然语言的含义是一个非常困难的目标。我们先看一下人类语言有什么特别之处:

  1. 人类语言是专门为传达说话人的意图而构建的系统。这不仅仅是一个环境信号,更是一个有意识的交流。
  2. 人类语言大多是离散符号的分类的信号系统,大概是因为离散信号可靠性更高。
  3. 一种语言的分类符号可以用几种方式编码为通信信号:声音,手势,写作,图像等。人类语言只是其中的一种。
  4. 人类语言是不明确的(与编程等语言不同)。 因此,在表达、学习和使用语言、情境、文字和视觉知识对人类语言方面存在高度复杂性。

自然语言处理包含理解、转化、生成等过程。利用计算机对自然语言的词、句、义等信息进行处理,即对字(如果是英文即为字符)、词、句、段落、篇章的输入、输出、识别、分析、理解、生成等的操作和加工。实现人机间的信息交流,是人工智能界、计算机科学和语言学界所共同关注的重要问题。所以自然语言处理也被誉为人工智能的掌上明珠。可以说,自然语言处理就是要计算机理解自然语言。

2自然语言处理流程

自然语言的理解和分析是一个层次化的过程,许多语言学家把这一过程分为三个层次,可以更好地体现语言本身的构成,三个层次分别是词法分析、句法分析、语义分析。

2.1词法分析

词是组成句子的基本单元。词法分析是要先将构成句子的字符串变成词串,然后再给句子中的每个词加上句法范畴标记(有时还需加上语义范畴标记)。词法分析包括分词、词性标注、命名实体识别和词义消歧等。

汉语是以汉字为单位的缺少严格意义形态变化的表意文字。汉字处理技术包括汉字编码、汉字输入和汉字输出,汉语的句子在进行处理之前首先要切分成一个个单词。 而对于像英语这样的屈折性语言,由于词形的变化,可能造成一个词根对应着多个不同的字符串形式,在词法分析时需对其前缀、后缀及词尾等进行适当的处理,还原词形。

词性标注是词法分析的主要任务,词性是词汇基本的语法属性,也称之为词类。词性标注就是在给定句子中判定每个词的语法范畴,确定其词性并加以标注的过程。标注的重点是解决兼类词和确定未登录词的词性问题。

命名实体识别的任务是识别句子中的人名、地名和机构名称等等命名实体。每一个命名实体都是由一个或多个词语构成的。

词义标注也是词法分析的主要任务之一,重点是解决如何确定多义词在具体语境中的义项问题。对于多义词来说,一个词可以表达一个以上的意义,但它在具体的语境当中,意思往往是确定的。标注过程中,通常是先确定语境,再明确词义。方法可仿照词性标注,有基于规则和基于统计的做法。

2.1.1分词

理解分词的作用,首先我们需要明白语素和词的概念,来理解中文和印欧语言的不同:

  1. 语素是最小的有意义的单位。
  2. 词是语言中最小的能够独立使用的单位。

语素和词的最大的区别:是否能够独立使用。举个例子,“production” 是一个词,有两个语素构成: “product” 和名词词缀“-tion”。其中,product也是一个词,可以独立使用;而-tion就只是个语素,无法独立使用。这套话语系统进入汉语系统,会出现问题,主要是汉语中没有完美对应于印欧语言学中的“word”的东西。英语中词是现成的,可以有效地区分开来,例如“production”,“reduce”。但是汉语中,类似于英语的“word”这样的形式并不是现成的,而“字”反而是现成的。“词”有时候可以是字,有时候又不是字,是字的组合。那么“字”是什么呢?汉字是一套书写符号,但这套符号有个比较特殊的地方,“字”不仅是一个音节单位,同时也可以是承载意义的单位,即语素。这是汉语比较有特色地方,即汉语的语素大都是由单音节(字)表示,即所谓的“一音一义”。而当这些单音节语素,能够独立应用的话,就是词。这个在汉语中非常明显,尤其是一些基本词汇中,如“大”、“小”、“手”、“花”、“走”等。而有些单音节语素,不能够独立使用,就不是词,只能够是语素。现代汉语中也有很多,例如:“第-;老-;- 们”等。

早期的中文分词对于理解句子含义有着重要的作用,分词结果往往是后续自然语言处理的基础,但是随着神经网络的兴起,端到端的语言模型逐渐流行起来,中文分词的作用越来越有限。

中文分词问题实际上是序列标注问题。序列标注问题指的是模型的输入是一个序列,包括文字、时间等,输出也是一个序列。针对输入序列的每一个单元,输出一个特定的标签。以中文分词任务进行举例,例如输入序列是一串文字:“我是中国人”,输出序列是一串标签:“BMES”,其中“BMES”组成了一种中文分词的标签体系,B表示这个字是词的开始Begin,M表示词的中间Middle,E表示词的结尾End,S表示单字成词。因此我们可以根据输出序列“BMES”进行解码,得到分词结果“我\是\中国人“。序列标注问题涵盖了自然语言处理中的很多任务,包括语音识别、中文分词、机器翻译、命名实体识别等,而常见的序列标注模型包括HMM,CRF,RNN等模型。

2.1.2命名实体识别

NER(Named Entity Recognition,命名实体识别)又称作专名识别,是自然语言处理中常见的一项任务,使用的范围非常广。命名实体通常指的是文本中具有特别意义或者指代性非常强的实体,通常包括人名、地名、机构名、时间、专有名词等。NER系统就是从非结构化的文本中抽取出上述实体,并且可以按照业务需求识别出更多类别的实体,比如产品名称、型号、价格等。因此实体这个概念可以很广,只要是业务需要的特殊文本片段都可以称为实体。命名实体识别是NLP里的一项很基础的任务,就是指从文本中识别出命名性指称项,为关系抽取等任务做铺垫。

NER问题的目标是从文本抽取出特定需求实体的文本片段。针对这个任务,通常使用基于规则的方法和基于模型的方法。

  1. 基于规则的方法

基于规则进行实体抽取是较容易想到的方式。针对有特殊上下文的实体,或实体本身有很多特征的文本,使用规则的方法简单且有效。比如,抽取文本中物品价格,如果文本中所有商品价格都是“数字+元”的形式,则可以通过正则表达式”\d*\.?\d+元”进行抽取。但是如果待抽取文本中价格的表达方式多种多样,例如“一千八百万”、“伍佰贰拾圆”、“2000万元”,这个时候就要修改规则来满足所有可能的情况。随着语料数量的增加,面对的情况也越来越复杂,规则之间也可能发生冲突,整个系统也可能变得不可维护。因此基于规则的方式比较适合半结构化或比较规范的文本中的进行抽取任务,结合业务需求能够达到一定的效果。总结一下基于规则的实体抽取方式,优点:简单,快速;缺点:适用性差,维护成本高后期甚至不能维护。

  1. 基于模型的方法

从模型的角度来看,命名实体识别问题实际上也是序列标注问题。利用大规模语料来学习出标注模型,从而对句子的各个位置进行标注。NER 任务中的常用模型包括生成式模型HMM、判别式模型CRF等。条件随机场(Conditional Random Field,CRF)是NER目前的主流模型。它的目标函数不仅考虑输入的状态特征函数,而且还包含了标签转移特征函数。在训练时可以使用SGD学习模型参数。在已知模型时,给定输入序列预测输出序列即求使目标函数最大化的最优序列,是一个动态规划问题,可以使用Viterbi算法解码来得到最优标签序列。CRF的优点在于其为一个位置进行标注的过程中可以利用丰富上下文特征信息。

近年来,随着硬件计算能力的发展以及词的分布式表示(word embedding)的提出,神经网络可以有效处理许多NLP任务。这类方法对于序列标注任务(如中文分词、POS、NER)的处理方式是类似的:将词从离散的one-hot表示映射到低维空间中成为稠密的embedding,随后将句子的embedding序列输入到RNN中,用神经网络自动提取特征,顶层使用CRF模型来预测每个词的标签,达到了目前序列标注任务的最好结果。

这种方法使得模型的训练成为一个端到端的过程,而非传统的pipeline,不依赖于特征工程,是一种数据驱动的方法,但缺点是网络种类繁多,对参数设置依赖大,模型可解释性差。

2.2句法分析

句法分析是自然语言处理(natural language processing, NLP)中的关键底层技术之一,其基本任务是确定句子的句法结构或者句子中词汇之间的依存关系。

句法分析分为句法结构分析(syntactic structure parsing)和依存关系分析(dependency parsing)。以获取整个句子的句法结构或者完全短语结构为目的的句法分析,被称为成分结构分析(constituent structure parsing)或者短语结构分析(phrase structure parsing);另外一种是以获取局部成分为目的的句法分析,被称为依存分析(dependency parsing)(如图1所示)。



图1 句法结构树与依存关系树

目前的句法分析已经从句法结构分析转向依存句法分析,一是因为通用数据集Treebank(Universal Dependencies treebanks)的发展,虽然该数据集的标注较为复杂,但是其标注结果可以用作多种任务(命名体识别或词性标注)且可作为不同任务的评估数据,因而得到越来越多的应用,二是句法结构分析的语法集是由固定的语法集组成,较为固定和呆板;三是依存句法分析树标注简单且parser准确率相对较高。

依存句法认为“谓语”中的动词是一个句子的中心,其他成分与动词直接或间接地产生联系。依存句法理论中,“依存”指词与词之间支配与被支配的关系,这种关系不是对等的,这种关系具有方向。确切的说,处于支配地位的成分被称为支配者(governor,regent,head),而处于被支配地位的成分被称为从属者(modifier,subordinate,dependency)。

依存语法本身没有规定要对依存关系进行分类,但为了丰富依存结构传达的句法信息,在实际应用中,一般会给依存树的边加上不同的标记。

依存语法存在一个共同的基本假设:句法结构本质上包含词和词之间的依存(修饰)关系。一个依存关系连接两个词,分别是核心词(head)和依存词(dependent)。依存关系可以细分为不同的类型,表示两个词之间的具体句法关系。依存分析方法主要包括:

基于规则的方法: 早期的基于依存语法的句法分析方法主要包括动态规划算法、基于约束满足的方法和确定性分析策略等。

基于统计的方法:统计自然语言处理领域也涌现出了一大批优秀的研究工作,包括生成式依存分析方法、判别式依存分析方法和确定性依存分析方法,这几类方法是数据驱动的统计依存分析中最为代表性的方法。

基于深度学习的方法:近年来,深度学习在句法分析课题上逐渐成为研究热点,主要研究工作集中在特征表示方面。传统方法的特征表示主要采用人工定义的原子特征和特征组合,而深度学习则把原子特征(词、词性、类别标签)进行向量化,再利用多层神经元网络提取特征。

2.3语义分析

语义分析是指运用各种机器学习方法,学习与理解一段文本所表示的语义内容。 语义分析是一个非常广的概念。其不仅仅是词法分析和句法分析这样语法水平上的分析,而是涉及到了单词、词组、句子、段落所包含的意义。其目的是从句子的语义结构表示言语的结构。语义分析的最终目的是理解句子表达的真实语义。目前用什么形式来表征语义业界一直没统一的结论。

语义角色标注是比较成熟的浅层语义分析技术。给定句子中的一个谓词,语义角色标注的任务就是从句子中标注出这个谓词的施事、受事、时间、地点等参数。语义角色标注一般都在句法分析的基础上完成,句法结构对于语义角色标注的性能至关重要。

2.3.1语义角色标注

语义角色标注是实现浅层语义分析的一种方式。在一个句子中,谓词是对主语的陈述或说明,指出“做什么”、“是什么”或“怎么样,代表了一个事件的核心,跟谓词搭配的名词称为论元。语义角色是指论元在动词所指事件中担任的角色。主要有:施事者(Agent)、受事者(Patient)、客体(Theme)、经验者(Experiencer)、受益者(Beneficiary)、工具(Instrument)、处所(Location)、目标(Goal)和来源(Source)等。

以下面的句子为例,“遇到” 是谓词(Predicate,通常简写为“Pred”),“小明”是施事者(Agent),“小红”是受事者(Patient),“昨天” 是事件发生的时间(Time),“公园”是事情发生的地点(Location)。


[小明]Agent[昨天]Time[晚上]Time在[公园]Location[遇到]Predicate了[小红]Patient。


语义角色标注(Semantic Role Labeling,SRL)以句子的谓词为中心,不对句子所包含的语义信息进行深入分析,只分析句子中各成分与谓词之间的关系,即句子的谓词(Predicate)- 论元(Argument)结构,并用语义角色来描述这些结构关系,是许多自然语言理解任务(如信息抽取,篇章分析,深度问答等)的一个重要中间步骤。在研究中一般都假定谓词是给定的,所要做的就是找出给定谓词的各个论元和它们的语义角色。 传统的SRL系统大多建立在句法分析基础之上,通常包括5个流程: 1. 构建一棵句法分析树,例如,图2是对上面例子进行依存句法分析得到的一棵句法树。 2. 从句法树上识别出给定谓词的候选论元。 3. 候选论元剪除;一个句子中的候选论元可能很多,候选论元剪除就是从大量的候选项中剪除那些最不可能成为论元的候选项。 4. 论元识别:这个过程是从上一步剪除之后的候选中判断哪些是真正的论元,通常当做一个二分类问题来解决。 5. 对第4步的结果,通过多分类得到论元的语义角色标签。可以看到,句法分析是基础,并且后续步骤常常会构造的一些人工特征,这些特征往往也来自句法分析。



图2. 依存句法树

然而,完全句法分析需要确定句子所包含的全部句法信息,并确定句子各成分之间的关系,是一个非常困难的任务,目前技术下的句法分析准确率并不高,句法分析的细微错误都会导致SRL的错误。为了降低问题的复杂度,同时获得一定的句法结构信息,“浅层句法分析”的思想应运而生。浅层句法分析也称为部分句法分析(partial parsing)或语块划分(chunking)。和完全句法分析得到一颗完整的句法树不同,浅层句法分析只需要识别句子中某些结构相对简单的独立成分,例如:动词短语,这些被识别出来的结构称为语块。为了回避 “无法获得准确率较高的句法树” 所带来的困难,一些研究也提出了基于语块(chunk)的SRL方法。

基于语块的SRL方法将SRL作为一个序列标注问题来解决。序列标注任务一般都会采用BIO表示方式来定义序列标注的标签集, B代表语块的开始,I代表语块的中间,O代表语块结束。通过B、I、O 三种标记将不同的语块赋予不同的标签,例如:对于一个角色为A的论元,将它所包含的第一个语块赋予标签B-A,将它所包含的其它语块赋予标签I-A,不属于任何论元的语块赋予标签O。

3自然语言应用技术

3.1机器翻译

机器翻译是语言理解的经典测试。它由语言分析和语言生成两部分组成。大型机器翻译系统具有巨大的商业用途,有一些值得注意的例子:

  1. 谷歌翻译每天翻译1000亿字;
  2. Facebook使用机器翻译自动翻译帖子和评论中的文字,以打破语言障碍,让世界各地的人们相互交流;
  3. 阿里巴巴使用机器翻译技术来实现跨境贸易,连接世界各地的买家和卖家;
  4. 微软为Android、iOS和Amazon Fire上的最终用户和开发人员提供基于人工智能的翻译,无论他们是否可以访问互联网。

在传统的机器翻译系统中,我们必须使用平行语料库:一组文本,每个文本都被翻译成一种或多种不同于原文的其他语言。例如,给定源语言f(例如法语)和目标语言e(例如英语),我们需要建立多个统计模型,包括使用贝叶斯规则的概率公式,训练的翻译模型p(f | e)平行语料库和语言模型p(e)在纯英文语料库上训练。这种方法需要大量的特征工程,整体而言它是一个非常复杂的系统(这种方法被称为统计机器翻译(SMT))。

2014 年,Sutskever et al. 和 Cho et al. 开发了一种名叫序列到序列(seq2seq)学习的方法,可以将 RNN 既用于编码器也用于解码器,并且引入了长短时记忆(LSTM,是一种 RNN)神经网络,宣告了神经机器翻译(NMT)的诞生。在门机制(gate mechanism)的帮助下(允许在 LSTM 中删除和更新明确的记忆),梯度爆炸/消失问题得到了控制,从而让模型可以更好地获取句子中的长距依存。同时将 NMT 的主要难题变成了固定长度向量(fixed-length vector)问题:如图3所示,不管源句的长度几何,神经网络都将其压缩成一个固定长度的向量,这会在解码过程中带来更大的复杂性和不确定性,尤其是当源句很长时。



图3 序列到序列的神经翻译模型

2014 年 Yoshua Bengio 的团队为 NMT 引入了注意力(attention)机制之后,固定长度向量问题也开始得到解决,如图4所示。注意力机制最早是由 DeepMind 为图像分类提出的 ,这让神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector)。然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。自那以后,NMT 的表现得到了显著提升,注意力编码器-解码器网络已经成为了 NMT 领域当前最佳的模型。



图4 注意力编码器-解码器神经翻译机

3.2情感分析

情感分析任务是指利用计算机实现对文本数据的观点、情感、态度、情绪等的分析挖掘。

人际交往不仅仅是文字和其明确的含义,而且它还是微妙且复杂的。即使在完全基于文本的对话中,你也可以根据单词选择和标点符号判断客户是否感到愤怒。你可以通过阅读产品在购物平台的评论,来了解评论者是否喜欢或不喜欢它,即使他们从未直接说过。为了使计算机真正理解人类每天的交流方式,他们需要理解的不仅仅是客观意义上的词语定义、而且他们需要了解我们的情绪。情感分析是通过较小元素的语义组成来解释较大文本单元(实体、描述性术语、事实、论据、故事)含义的过程。

传统情感分析的方法是将句子视为一个词袋,并查阅“积极”和“消极”单词的策划列表,以确定该句子的情绪。需要手工设计特征来捕捉情绪,是非常耗时和不可扩展的。

用于情感分析的现代深度学习方法可用于形态学、语法和逻辑语义,其中最有效的是递归神经网络。顾名思义,递归神经网络开发的主要假设是:递归是描述语言的自然方式。递归在消歧方面很有用,有助于某些任务引用特定的短语,并且对于使用语法树结构的任务非常有效。

根据分析对象的粒度,情感分析可分为三个 level:

  1. Document level:对文章做总体的情感分类。如果是多分类,例如 1-5 星,可以考虑用回归实现。比较传统的方法是基于词袋模型,使用定长的数值化特征向量来表征每篇文档,值可以是词频或者 TF-IDF。词袋模型的缺点是文本中单词顺序和上下文所蕴含的信息被完全丢弃,n-gram 可以略微减少其影响,但是增加了数据稀疏和高维等问题。另外,词袋模型无法表示语义,由此引入词嵌入和神经网络。神经网络可用于提取文本特征表示,再把这些特征表示用在非神经网络的分类器中,以获得一个结合二者优点的分类器。鉴于文章常有较长的依赖关系,注意力机制在文章级别的情感分类中经常被使用。
  2. Sentence level:一般先分类为有情感和无情感的,然后再对有情感的句子进行分类。由于句子相较文章来说要短得多,信息量更小,因此一些语义和句法的信息会对 Sentence level 的情感分析有帮助。早期研究中,使用包括解析树、情感词典、词性标注等来提供这些信息。但现在,CNN 和 RNN 使得不再需要用解析树从句子中提取特征,取而代之的是将语义、句法信息编码在内的词嵌入作为输入。同时 CNN 和 RNN 也能学习词与词之间的关系信息。
  3. Aspect level:提取人们对实体和实体的各个方面特征所表达的意见。它包含了方面抽取、情感抽取和情感分类。在 Aspect level 的情感分析中,我们不只关注情感本身,还关注它所联系的目标对象(target)。一个对象通常是一个实体或者实体的某一方面,它们有时也被称为 aspect。例如,在 “the screen is very clear but the battery life is too short.” 这一句话中,如果 target aspect 是 “screen”,那么情感是正面的;但如果 target aspect 是 “battery life”,那么情感是负面的。Aspect level 的情感分析难度较大,因为需要捕捉目标对象和上下文(context)的语义联系。

3.3问答系统

1950年,英国数学家A.M.Turing在其论文《Computing Machinery and Intelligence》中提到测试机器是否具有智能的问题:“机器能思考吗?”,并提出了判定机器能否思考的方法——图灵测试。问答(QA)系统的想法是直接从文档、对话、在线搜索和其他地方提取信息,以满足用户的信息需求。QA系统不是让用户阅读整个文档,而是更喜欢简短而简洁的答案。如今,QA系统可以非常容易地与其他NLP系统结合使用,并且一些QA系统甚至超越了对文本文档的搜索,并且可以从图片集合中提取信息。

问答系统通常分为任务型机器人、闲聊机器人和解决型机器人(客服机器人),三者的设计分别针对不同的应用场景。a):任务型机器人主要用于完成用户的某些特定任务,比如:买机票、话费充值或者天气咨询。b):闲聊机器人主要用于深入的和用户进行无目的交流;c):解决型机器人(客服机器人)用于解决用户的问题,比如:商品购买咨询、商品退货咨询等。

不同类型的问答系统对于数据处理的方法存在不同。例如,相对于面向FAQ的问答系统的问句检索直接得到候选答案,面向开放领域的问答系统首先需要根据问题分析的结果进行相关文档、文本片段信息的检索,然后进行候选答案的抽取。虽然不同类型的问答系统对于系统模块的功能分工和具体实现存在差异,但依据数据流在问答系统中的处理流程,一般问答系统的处理框架中都包括问句理解、信息检索和答案生成三个功能组成部分。对应问答系统的处理流程, 问答系统研究包含三个基本问题:如何去分析问题; 如何根据问题的分析结果去缩小答案可能存在的范围; 如何从可能存在答案的信息块中抽取答案。

3.4文本摘要

人类很难手动汇总大型文本文档。文本摘要是NLP为源文档创建简短、准确和流畅的摘要问题。随着推送通知和文章摘要获得越来越多的注意力,为长文本生成智能且准确摘要的任务每天都在增长。

文本摘要有两种基本方法:提取和抽象。前者从原始文本中提取单词和单词短语以创建摘要。后者是学习内部语言表示以生成更像人类的摘要,解释原始文本的意图。

提取摘要的方法是通过选择子集来工作。首先通过计算整个文本文档的单词频率来自动汇总文本。然后,存储和排序N个最常用的单词。然后根据它包含的高频词数对每个句子进行评分,更高频率的词,价值更大。最后,根据它们在原始文本中的位置来获取排序前n个句子,通过从实际文章中提取短语或句子以形成摘要。LexRank和TextRank是使用较多的摘要提取方法,它们都是Google PageRank算法的变体。

LexRank是一种无监督的基于图形的算法,它使用IDF修改的余弦作为两个句子之间的相似性度量。该相似度用作两个句子之间的图形边缘的权重。LexRank还采用了智能后处理步骤,确保为摘要选择的顶级句子彼此不太相似。

TextRank是一种类似于LexRank的算法,具有一些增强功能,例如使用词形化而不是词干,结合词性标注和命名实体,从文章中提取关键短语,以及根据这些短语提取摘要句子。除了文章摘要外,TextRank还能从文章中提取出有意义的关键短语。

抽象概括的模型属于深度学习。使用深度学习的文本摘要已经取得了一定的突破。神经机器翻译中广泛使用的encoder-decoder框架和attention mechanism(注意力机制)也适用于文本摘要抽取,通过数据驱动方式,端到端地训练出自动摘要模型。encoder-decoder做自动摘要与神经机器翻译有很大的相似性,但这两个任务其实有显著的不同:例如翻译是要尽可能不损失信息,而摘要是只保留最关键信息;翻译输出序列长度正比于输入序列长度,而摘要的输出序列长度要短于输入序列长度。

3.5机器阅读

最近机器阅读理解突然开始热络了起来:百度自然语言处理团队研发的V-Net模型以46.15的Rouge-L得分登上微软的MS MARCO(Microsoft MAchine Reading COmprehension)机器阅读理解测试排行榜首,加上此前斯坦福大学的SQuAD竞赛中,阿里、哈工大讯飞联合实验室等团队先后超越了人类平均水平。所谓的机器阅读理解,基本概念跟上学时做的阅读理解题很相似,同样都是给出一段材料和问题,让“考生”给出正确答案。所不同的仅仅是机器阅读理解的主角变成了AI模型而已。

机器阅读理解领域的比赛方式,同斯坦福大学著名的AI竞赛ImageNet一样,都是由一个官方给定的数据集+一场跑分竞赛组成。各大科技巨头和世界名校的AI研究团队是主要的参赛选手。阅读理解领域的两大顶级赛事:MS MARCO和SQuAD的记录先后由中国团队打破。

相比较于传统的自然语言处理任务,机器阅读理解任务涉及到词法、句法、语法、语义和语用等多方面的信息,需要综合运用文本的表示、分析、理解、推理等自然语言处理与理解技术。形式化地说,解决阅读理解问题可以表示为寻求P(A|Q,D)最优解的过程,其中A表示候选答案,Q表示问题本身,D表示给定的文档或者上下文信息。

要让机器能够完成阅读理解任务,我们必须解决3个重要的问题:

  1. 表示问题:我们该如何将自然语言转化为计算机可读的表示形式,并且能够从这种表示中得到完成阅读理解任务所需的信息。
  2. 检索问题:由于阅读理解的上下文较为宽泛,因此如何从大规模的上下文信息中检索出与问题以及答案相关的部分是一个重要的问题。检索结果的质量将直接决定了阅读理解任务回答的质量。
  3. 答案生成问题:如何根据问题以及检索得到的相关上下文,选择或生成所需要的答案。

当前主要解决该问题的方案,多是把阅读理解问题当成一个匹配问题或者打分问题。对于给定的(D,Q,A)三元组,有如下三种解决思路:

  1. 将每个(Q,A)对通过某些启发式规则合并成一个hypothesis,然后计算hypothesis与D的匹配情况
  2. 综合考虑D与Q,然后计算与(D,Q)对最匹配的A
  3. 计算A在D下的具体表示,然后与Q做匹配

在当下的任务中,每个问题的候选答案的个数总是有限的。因此总的来说,该问题被转化为一个为(D,Q,A)三元组打分的排序问题。

总结

早期自然语言处理方法多是理性的,参照了语言学家对于自然语言的归纳总结。词法分析,句法分析和语义分析作为后续自然语言处理技术的基础,不是孤立的,也没有严格的技术限制,词法分析可以作为句法分析的基础,句法分析反过来可以增强词法分析的性能。随着深度学习技术和词嵌入方法的普及,自然语言处理早期的一些概念和处理方法也逐渐改变,通过深度神经网络学习到的上下文信息,已经逐渐取代了词法、句法等传统自然语言处理流程,端到端的神经网络模型变得越来越流行。但词法和句法分析符合人类认识自然语言的习惯,具有可解释性,而深度学习处理的流程往往是不可预知的,对于我们来说类似于一个黑箱,如何将传统的自然语言分析方法融入到深度学习中,增强系统的可解释性,是一个急需解决的问题。

两个鬼故事起外国名字offer是什么铁丝网规格姓耿的女起名生猪宝宝起名易用字绝色丽奴刘姓起名双胞胎女孩起名傲雪好吗韩式料理店起英文名网站有哪个鼠年女孩起名大全免费末世兑换高手饭店包相起名自由战争cctv6电影频道属老鼠的 起名叶南弦沈蔓歌叶南弦全文免费阅读克尔凯郭尔想起个网名叫什么好呢给19岁的我自己起营业执照名子大全大宋宫词剧情介绍渔歌子古诗叫魂1768年中国妖术大恐慌2018年高起专专升本报名正在进行中起名免费取名网站大全公司起名软件下载的万万没想到第一季罗芙洛中小学生书店起名少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化