提交 c6bf0c69 编写于 作者: M MaoXianxin

NLP随笔

上级 14a41f22
20 世纪50 年代中期到80 年代初期的感知器,20世纪80 年代初期至21世纪初期的专家系统,以及最近十年的深度学习技术,分别是三次热潮的代表性产物
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803142347.png)
Gartner2018技术成熟度曲线,Gartner每年发布的技术趋势曲线,聚焦未来5到10年间,可能产生巨大竞争力的新兴技术
人工智能技术远未达到媒体所宣传的神通广大,无所不能。从图1中的技术发展现状也可一窥端倪。AlphaGo可以战胜最好的人类棋手,但却不可能为你端一杯水。著名机器人学者Hans Moravec早前说过:机器人觉得容易的,对于人类来讲将是非常难的;反之亦然。
人可以轻松做到听说读写,但对于复杂计算很吃力;而机器人很难轻松做到用手抓取物体、以及走上坡路,但可以轻而易举地算出空间火箭的运行轨道。人类可以通过日积月累的学习,轻松完成各种动作,但对于机器人来讲完成这些简单的动作难如登天。专家们称此理论为“莫拉维克悖论”(Moravec's Paradox)。机器学习专家、著名的计算机科学和统计学家 Michael I. Jordan近日在《哈佛数据科学评论》上发表文章,也认为现在被称为AI的许多领域,实际上是机器学习,而真正的 AI 革命尚未到来。
业界一致认为,AI的三要素是算法,算力和数据
从计算,到感知,再到认知,是大多数人都认同的人工智能技术发展路径。那么认知智能的发展现状如何?
首先,让我们看一下什么是认知智能。复旦大学肖仰华教授曾经提到,所谓让机器具备认知智能是指让机器能够像人一样思考,而这种思考能力具体体现在机器能够理解数据、理解语言进而理解现实世界的能力,体现在机器能够解释数据、解释过程进而解释现象的能力,体现在推理、规划等等一系列人类所独有的认知能力上
对于看、听、说、动作而言,感知智能已经可以达到非常好的效果。而对于推理、情感、联想等能力,还需要更强的认知能力的体现
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803142746.png)
虚拟生命基本能力范畴
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803142852.png)
虚拟生命发展阶段
虚拟生命1.0,可以看做是聊天机器人的升级版本。本阶段最重要的特点是单点技术的整合,并能作为整体和人类进行交互。从功能上来看,仍然是被动交互为主,但可以结合对用户的认知,进行用户画像和主动推荐。
我们目前正在处于虚拟生命的1.0阶段。在这个阶段,多轮对话、开放域对话、上下文理解、个性化问答、一致性和安全回复等仍然是亟待解决的技术难题。同时,虚拟生命也需要找到可落地的场景,做好特定领域的技术突破。
虚拟生命2.0,是目前正在努力前行的方向,在这个阶段,多模态技术整合已完全成熟,虚拟生命形态更为多样性,具备基于海量数据的联合推理及联想,对自我和用户都有了全面的认知,并可快速进行人格定制。实现这个阶段可能需要3-5年。
虚拟生命3.0, 初步达到强人工智能,具备超越人类的综合感知能力,并拥有全面的推理、联想和认知,具备自我意识,并能达到人类水平的自然交互。随着技术的进步,我们期待在未来十年至三十年实现虚拟生命的3.0。
语言是主要以发声为基础来传递信息的符号系统,是人类重要的交际工具和存在方式之一。作用于人与人的关系时,是表达相互反应的中介;作用于人和客观世界的关系时,是认识事物的工具;作用于文化时,是文化信息的载体(来源:维基百科)。语言与逻辑相关,而人类的思维逻辑最为完善
自底向上,自然语言处理需要通过对字、词、短语、句子、段落、篇章的分析,使得计算机能够理解文本的意义
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803111614.png)
比如和机器人对话的过程中,对于音乐话题的理解,就需要用到命名实体识别、实体链接等技术。举一个简单的例子,“我真的非常喜欢杰伦的双截棍”,就需要判断杰伦是一个人名,链接到知识库中“周杰伦”这样一个歌手实体,并且“双截棍”是一个歌名而不是一种器械。同时,还可以进行情感判断,是一个正面的“喜欢”的情感。
传统的自然语言处理技术,还是以统计学和机器学习为主,同时需要用到大量的规则。近十年来,深度学习技术的兴起,也带来了自然语言处理技术的突破。这一切还需要从语言的表示开始说起。
众所周知,计算机擅长处理符号,因此,自然语言需要被转化为一个机器友好的形式,使得计算机能够快速处理。一个很典型的表示方法是词汇的独热(one-hot)表示,也就是相当于每个词在词汇表里都有一个特定的位置。比如说有一个10000个词的词汇表,而“国王”是词汇表里的第500个词,那么“国王”就可以表示为一个一维向量,只有第500个位置是1,其他9999个位置都是0。但这种表示方法的问题很多,对语义相近但组成不同的词或句子如“国王”和“女王”,利用独热表示的向量内积,无法准确的判断两者之间的相似度。
2013年,Tomas Mikolov等人在谷歌开发了一个基于神经网络的词嵌入(word embedding)学习方法Word2Vec,不但大大缩短了词汇的表示向量的长度,而且能够更好的体现语义信息。通过这种嵌入方法可以很好的解决“国王”-“男人”=“女王”-“女人”这类问题。感兴趣的读者可以参考互联网上大量的关于词嵌入的资料。
计算机能够快速处理自然语言之后,传统的机器学习方法也进一步被深度学习所颠覆。相关算法在近年来的迭代速度非常快。以语言模型(Language Model)预训练方法为例,代表性方法有Transformer,ELMo,Open AI GPT,BERT,GPT2以及最新的XLNet。其中,Transformer于2017年6月被提出。ELMo的发表时间是2018年2月,刷新了当时所有的SOTA(State Of The Art)结果。
不到4个月,Open AI在6月,基于Transformer发布了GPT方法,刷新了9个SOTA结果。又过了4个月,横空出世的BERT又刷新了11个SOTA结果。2019年2月,Open AI发布的GPT2,包含15亿参数,刷新了11项任务的SOTA结果。而2019年6月,CMU 与谷歌大脑提出了全新 XLNet,在 20 个任务上超过了 BERT 的表现,并在 18 个任务上取得了当前最佳效果。
除了算法和算力的进步,还有一个重要的原因在于,以前的自然语言处理研究,更多的是监督学习,需要大量的标注数据,成本高且质量难以控制,而以BERT为代表的深度学习方法,直接在无标注的文本上做出预训练模型。在人类历史上,无监督数据是海量的,也就代表着这些模型的提升空间还有很大。2019年7月11日,Google AI发表论文,就利用了惊人的250亿平行句对的训练样本。其应用效果我们也拭目以待。
尝试用技术模拟人类的真实对话,在开放领域就是个伪命题。因为在人类的对话过程中,一句话中所表达出的信息,不只是文字本身,还包括世界观、情绪、环境、上下文、语音、表情、对话者之间的关系等。
比如说“今天天气不错”,在早晨拥挤的电梯中和同事说,在秋游的过程中和驴友说,走在大街上的男女朋友之间说,在倾盆大雨中对同伴说,很可能代表完全不同的意思。在人类对话中需要考虑到的因素包括:说话者和听者的静态世界观、动态情绪、两者的关系,以及上下文和所处环境等
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803143451.png)
而且,以上这些都不是独立因素,整合起来,才能真正反映一句话或者一个词所蕴含的意思。这就是人类语言的奇妙之处。同时,人类在交互过程中,并不是等对方说完一句话才进行信息处理,而是随着说出的每一个字,不断的进行脑补,在对方说完之前就很可能了解到其所有的信息。再进一步,人类有很强的纠错功能,在进行多轮交互的时候,能够根据对方的反馈,修正自己的理解,达到双方的信息同步。
在上一节中,我们也提到,自然语言处理技术很难解决推理问题。而推理是认知智能的重要组成部分。比如说对于问题“姚明的老婆的女儿的国籍是什么?”,一个可行的解决方案,就是通过大规模百科知识图谱来进行推理查询。
知识图谱被认为是从感知智能通往认知智能的重要基石。一个很简单的原因就是,没有知识的机器人不可能实现认知智能。图灵奖获得者,知识工程创始人Edward Feigenbaum曾经提到:“Knowledge is the power in AI system”。张钹院士也提到,“没有知识的AI不是真正的AI”。
拿上一节提到的GPT-2算法来看,即使其文章续写能力让人赞叹,也只是再次证明了足够大的神经网络配合足够多的训练数据,就能够产生强大的记忆能力。但逻辑和推理能力,仍然是无法从记忆能力中自然而然的出现的。学界和企业界都寄希望于知识图谱解决知识互连和推理的问题。那么什么是知识图谱?简单来说,就是把知识用图的形式组织起来。可能这样说还不够明白,我们举例子分别说下什么是知识,什么是图谱。
所谓知识,是信息的抽象,举一个简单的例子来说,226.1厘米,229厘米,都是客观存在的孤立的数据。此时,数据不具有任何的意义,仅表达一个事实存在。而“姚明臂展226.1厘米”, “姚明身高229厘米”,是事实型的陈述,属于信息的范畴。对于知识而言,是在更高层面上的一种抽象和归纳,把姚明的身高、臂展,及姚明的其他属性整合起来,就得到了对于姚明的一个认知,也可以进一步了解姚明的身高是比普通人更高的。
维基百科给出的关于知识的定义是:知识是人类在实践中认识客观世界(包括人类自身)的成果,它包括事实、信息的描述或在教育和实践中获得的技能。知识是人类从各个途径中获得得经过提升总结与凝练的系统的认识。
图谱的英文是graph,直译过来就是“图”的意思。在图论(数学的一个研究分支)中,图(graph)表示一些事物(objects)与另一些事物之间相互连接的结构。一张图通常由一些结点(vertices或nodes)和连接这些结点的边(edge)组成。Sylvester在1878年首次提出了“图”这一名词[7]。如果我们把姚明相关的“知识”用“图谱”构建起来
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803143643.png)
知识图谱是实现通用人工智能(Artificial General Intelligence)的重要基石。从感知到认知的跨越过程中,构建大规模高质量知识图谱是一个重要环节,当人工智能可以通过更结构化的表示理解人类知识,并进行互联,才有可能让机器真正实现推理、联想等认知功能。而构建知识图谱是一个系统工程
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803143711.png)
自顶向下的策略为专家驱动,根据应用场景和领域,利用经验知识人工为知识图谱定义数据模式,在定义本体的过程中,首先从最顶层的概念开始,然后逐步进行细化,形成结构良好的分类学层次结构;在定义好数据模式后,再将实体逐个对应到概念中。
自底向上的策略为数据驱动,从数据源开始,针对不同类型的数据,对其包含的实体和知识进行归纳组织,形成底层的概念,然后逐步往上抽象,形成上层的概念,并对应到具体的应用场景中。
知识图谱可以辅助各种智能场景下的应用。谷歌在2012年最早提出“Knowledge Graph”的概念,并将知识图谱用到搜索中,使得“搜索能直接通往答案”。知识图谱还能辅助智能问答、决策推理等应用场景。
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803143836.png)
最后,构建知识图谱的成本仍然较高。Heiko Paulheim在其文章《How much is a Triple? Estimating the Cost of Knowledge Graph Creation》中,给出了几个典型的知识图谱的构建成本。其中,上世纪80年代开始的也是最早的知识图谱项目CYC,平均构建一条陈述句和断言的成本是5.71美元,而随着自然语言处理和机器学习技术的进步,DBpedia构建每一条的成本降低到了1.85美分。即便如此,在真正工程化落地的时候,牵扯到多源数据的清洗整合,一个知识图谱项目的成本还是居高不下。
自然语言处理与知识图谱结合可以实现一定程度的推理,而知识图谱和深度学习结合可以实现一定程度的可解释性,自然语言处理和深度学习结合,诞生了BERT等强大的语言模型
本篇介绍深度学习在自然语言处理(NLP)中的应用,从词向量开始,到最新最强大的BERT等预训练模型,梗概性的介绍了深度学习近20年在NLP中的一些重大的进展
在深度学习之前,用于解决NLP问题的机器学习方法一般都基于浅层模型(如SVM和logistic 回归),这些模型都在非常高维和稀疏的特征(one-hot encoding)上进行训练和学习,出现了维度爆炸等问题难以解决。并且基于传统机器学习的NLP系统严重依赖手动制作的特征,它们极其耗时,且通常并不完备。
而近年来,基于稠密向量表征的神经网络在多种NLP任务上得到了不错结果。这一趋势取决了词嵌入和深度学习方法的成功;并且深度学习使多级自动特征表征学习成为可能。因此,本文从词的分布式表征开始介绍深度学习在NLP中的应用
**分布式词表征(词向量)的实现**
通常来讲,在2003年的《A Neural Probabilistic Language Model》中Bengio等人提出了神经语言模型(NNLM),而它的副产品,词向量,可以实现词的分布式表征。该文通常被认为是深度学习在自然语言处理中应用的开始。提出伊始,由于届时计算机计算能力的限制,该网络并不能较好的得到训练。因此,这一篇成果,在当时并没有得到相当的关注
2008年Collobert和Weston展示了第一个能有效利用预训练词嵌入的研究工作,他们提出的神经网络架构,构成了当前很多方法的基础。这一项研究工作还率先将词嵌入作为 NLP 任务的高效工具。
不过词嵌入真正走向NLP主流还是Mikolov 等人在 2013 年做出的研究《Distributed Representations of Words and Phrases and their Compositionality》。
Mikolov 等研究者在这篇论文中提出了连续词袋模型CBOW和 Skip-Gram 模型,通过引入负采样等可行性的措施,这两种方法都能学习高质量的词向量
分布式的词表征的一大好处是实现了语义的合成性,即两个词向量相加得到的结果是语义相加的词,例如[man]+[royal]=[king]
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803194923.png)
这种语义合成性的理论依据最近已经由Gittens et al. 在2017年给出,他们表示只有保证某些特定的假设才能满足语义合成性,例如词需要在嵌入空间中处于均匀分布。
GloVe是另外一个很有名的获得词向量的方法,在有些情况下,CBOW和Skip-Gram采用的交叉熵损失函数有劣势。因此GloVe采用了平方损失。同时,它基本上是一种基于词统计的模型,它令词向量拟合预先基于整个数据集计算得到的全局统计信息,从而学习高效的词表征
**NLP中特征提取方法的进化**
随着词分布式表征的问题得到了有效的解决,人们开始思考如何提取词序列中高级的语义信息,然后才能将这些提取到的语义信息,应用到下游的NLP任务中,例如情感分析、问答系统、机器翻译以及自动摘要等。
最早用来对自然语言词序列进行特征提取的,其实是卷积神经网络(CNN)。这主要归因于卷积神经网络在图像领域取得的骄人成绩。
使用 CNN 进行句子建模可以追溯到Collobert和Weston在2008年的研究,他们使用多任务学习为不同的NLP任务输出多个预测,如词性标注、语块分割、命名实体标签和语义相似词等。其中查找表可以将每一个词转换为一个用户自定义维度的向量。因此通过查找表,n个词的输入序列 {s_1,s_2,... s_n } 能转换为一系列词向量 {w_s1, w_s2,... w_sn}。
在Collobert 2011年的研究中,他扩展了以前的研究,并提出了一种基于CNN的通用框架来解决大量NLP任务,这两个工作都令NLP研究者尝试在各种任务中普及 CNN架构。CNN具有从输入句子抽取n-gram特征的能力,因此它能为下游任务提供具有句子层面信息的隐藏语义表征。
因为语言序列常常具有长程性,需要记忆很早时候的输入信息,CNN并不具备这种能力。这个时候,循环神经网络(RNN)网络被提出
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803195007.png)
RNN的思路是处理序列信息。“循环”表示RNN模型对序列中的每一个实例都执行同样的任务,并且权重共享,从而使输出依赖于之前的计算和结果。
通常,RNN通过将token挨个输入到循环单元中,来生成表示序列的固定大小向量。一定程度上,RNN对之前的计算有“记忆”,并在当前的处理中使用对之前的记忆。该模板天然适合很多NLP 任务,如语言建模、机器翻译、语音识别、图像字幕生成。因此近年来,RNN在NLP任务中逐渐流行。
但是RNN容易出现梯度消失和爆炸的问题,因而其改进版本LSTM和GRU被提出来了
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803195029.png)
LSTM比简单RNN多了“遗忘门”,其独特机制帮助该网络克服了梯度消失和梯度爆炸问题。与原版RNN不同,LSTM允许误差通过无限数量的时间步进行反向传播。它包含三个门:输入门、遗忘门和输出门,并通过结合这三个门来计算隐藏状态。另一个门控RNN变体是GRU,复杂度更小,其在大部分任务中的实验性能与LSTM类似。GRU包括两个门:重置门和更新门,并像没有记忆单元的 LSTM那样处理信息流。因此,GRU不加控制地暴露出所有的隐藏内容。由于GRU的复杂度较低,它比LSTM更加高效。
在llya Sutskever等人2014年的研究《Sequence to Sequence Learning with Neural Networks》中,作者提出了一种通用深度LSTM编码器-解码器框架,可以实现序列之间的映射。使用一个LSTM将源序列编码为定长向量,源序列可以是机器翻译任务中的源语言、问答任务中的问题或对话系统中的待回复信息。然后将该向量作为另一个 LSTM解码器的初始状态。在推断过程中,解码器逐个生成token,同时使用最后生成的token更新隐藏状态。
传统编码器-解码器框架的一个潜在问题是:有时编码器会强制编码可能与目前任务不完全相关的信息。这个问题在输入过长或信息量过大时也会出现,选择性编码是不可能的。因此,能够根据编码器编码内容动态解码内容的注意力机制(Attention)得到提出。
《Neural Machine Translation by Jointly Learning to Align and Translate》首次将注意力机制应用到机器翻译任务,尤其改进了在长序列上的性能。该论文中,关注输入隐藏状态序列的注意力信号由解码器最后的隐藏状态的多层感知机决定。通过在每个解码步中可视化输入序列的注意力信号,可以获得源语言和目标语言之间的清晰对齐。
但是RNN及其优化变种,因为都要按时序输入,都存在编码效率低下的问题。Transformer这种基于self-attention机制的强大特征提取器应运而生。《Attention Is All You Need》提出了Transformer,它完全去除了编码步中的循环和卷积,仅依赖注意力机制来捕捉输入和输出之间的全局关系。因此,整个架构更加并行化,在翻译、解析等任务上训练得到积极结果所需的时间也更少。
**NLP中的预训练模型**
训练得到的词向量表征的词语之间的信息其实有限。词向量一个难以解决的问题就是多义词的问题,例如“bank”在英文中有“河岸”和“银行”两种完全不同意思,但是在词向量中确实相同的向量来表征,这显然不合理。
2017年,为了解决这个问题,ELMO模型在“Deep contextualized word representation”被提出。
ELMO的本质思想是:用事先训练好的语言模型学好一个单词的Word Embedding,此时多义词无法区分,不过这没关系。在实际使用Word Embedding的时候,单词特定的上下文就可以知道,这个时候模型可以根据上下文单词的语义去调整单词的Word Embedding表示,这样经过调整后的Word Embedding更能表达在这个上下文中的具体含义,自然也就能克服多义词的问题。
从ELMO开始,这种先预训练,在实际应用时再fine-Tune的模式就开始流行起来了。我们再看ELMO,通过双向语言模型,能够学到较丰富的语义信息。但其用的是LSTM作为特征抽取器,在特征抽取能力上较弱
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803195109.png)
2018年,Generative Pre-Training(GPT)采用单向语言模型,用Transformer作为特征抽取器,取得了非常不错的效果,但由于主创人员营销能力欠佳,并没有像下面这一个主角一样,在NLP领域掀起滔天巨浪。
2018年10月,谷歌推出BERT(Bidirectional Encoder Representation from Transformers)模型,刷新了几乎所有NLP任务的榜单,一时风头无两。仔细看BERT的实现,其与GPT的主要差别在于,BERT用的“双向语言模型”,它通过MASK掉预料中的部分词再重建的过程来学习预料中词语序列中的语义表示信息,同样采用Transformer作为特征抽取器。BERT的出现,因其效果太好,几乎让其他所有的NLP工作都黯然失色。
2019年2月openAI用更大的模型,规模更大质量更好的数据推出了GPT2.0,其语言生成能力令人惊叹。
目前来看,出彩的工作都是基于BERT和GPT的改进工作。在2019年6月,XLNet: Generalized Autoregressive Pretraining for Language Understanding诞生,其基于BERT和GPT等两类预训练模型来进行改进,分别吸取了两类模型的长处,获得的很好的效果。
需要注意的是,所有的预训练模型都是无监督的,这意味着,模型的数据来源是廉价而且数量巨大的。因为XLNET在训练时一直是under-fitting的,因此即使是通过增加数据量,都还能提升NLP预训练模型的效果。这无疑是振奋人心的
\ No newline at end of file
当 AI 在某一个单点任务上的表现接近或者超越人类的时候,就会给行业带来巨大的商机。在视觉分类、检索、匹配、目标检测等各项任务上,随着相关算法越来越准确,业界也开始在大量商业场景中尝试这些技术
深度学习在计算机视觉、语音识别等感知智能技术上率先取得成功并不是偶然。深度学习秉承连接主义学派的范式,相较传统统计机器学习技术的最大进化在于其利用了高于统计方法数个数量级的参数和极其复杂的函数组合,通过引入各种非线性和多层级感知能力,构成了远强于统计机器学习模型的拟合能力。ResNet-152 的参数量已经达到六千万的级别,GPT-2.0 的参数量达到了惊人的 15 亿。而其他上亿甚至数亿级别的网络更是数不胜数。如此复杂的模型对数据的拟合能力达到了前所未有的水平,但是同时也极大提高了过拟合的风险。这对数据提出了极高的要求。训练数据的数量、维度、采样均衡度、单条数据本身的稠密度(非0、不稀疏的程度),都需要达到极高的水平,才能将过拟合现象降低到可控范围。
视觉信息(图像、视频)恰好是这样一类自然连续信号:一张图片通常就有数百万甚至上千万像素,而且每个像素上通常都有颜色,数据量大、数据的表示稠密、冗余度也高。往往在丢失大量直接视觉信号的情况下,人还能迅速理解图片的语义信息,就是因为自然连续信号,如图像中的场景和物体往往具有视觉、结构和语义上的共性。一个 30MB 的位图图片能被压缩到 2MB 而让人眼基本无法感知区别;一个 30MB 的 wave 音频文件被压缩到 3MB 的 MP3 还能基本保持主要旋律和听感,都是因为这类自然连续信号中存在大量不易被人的感官所感知的冗余。
视觉信息这种的丰富和冗余度,让深度神经网络得以从监督信号中一层层提炼、一层层感知,最终学会部分判断逻辑。深度神经网络在感知智能阶段中在视觉任务和语音任务上的成功,离不开视觉、语音信号自身的这种数据特点
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803152422.png)
今天,属于感知智能的视觉和语音应用已经全面开花,但属于认知智能的自然语言处理却发展滞后。这种发展状态与自然语言处理技术中的数据特征也有密不可分的关系。
相对于图片、语音给出的直接信号,文字是一种高阶抽象离散信号。较之图片中的一个像素,文本中一个单元信息密度更大、冗余度更低,往往组成句子的每一个单词、加上单词出现的顺序,才能正确表达出完整的意思。如何利用单个文本元素(字/词)的意思,以及如何利用语句中的顺序信息,是近年来自然语言处理和文本分析技术的主要探索脉络
![](https://maoxianxin1996.oss-accelerate.aliyuncs.com/codechina1/20210803152442.png)
2013 年,词的分布式向量表示(Distributed Representation)出现之前,如何在计算机中高效表示单个字/词是难以逾越的第一个坎。在只能用One-hot向量来表示字/词的年代,两个近义词的表示之间的关系却完全独立,语义相似度无法计算;上表示一个字/词所需的上万维向量中只有一个维度为1,其他维度都为0,稀疏度极高。面对这类信号,深度神经网络这类复杂的模型所擅长的化繁为简的抽象、提炼、总结能力便束手无策,因为输入信号已经极简到了连最基础的自我表示都难以做到。
而分布式词向量将语言的特征表示向前推进了一大步。分布式词向量提出了一个合理的假设:两个词的相似度,可以由他们在多个句子中各自的上下文的相似度去度量,而上下文相似的两个词会在向量空间中由两个接近的向量来表示。这种做法部分赋予了词向量“语义”,因此我们不必再让机器去查百科全书告诉我们“苹果”的近义词是“梨子”,而是直接从大量的互联网语料中去学习,原来“苹果”的近义词也可以是“三星”、“华为”。因为人们常常会说“我购买了一个苹果手机”,也常说“我购买了一个三星手机”,模型会敏锐的学习到“苹果”和“三星”在大量语料中出现时其上下文高度相似,因而认为两个词相似。分布式词向量让无语义、极稀疏的 One-hot 向量寿终正寝,而为大家提供了嵌入语义信息、稠密的特征表示,这才使得深度神经网络在自然语言处理和文本分析上的应用真正变得可能。
捕捉语句中在独立的词集合基础之上、词序列构成的句子结构信息也是自然语言处理和文本分析中的一个主要方向。传统条件随机场(CRF)考虑了前后相邻元素和当前元素之间的依赖;长短时记忆网络模型(LSTM)以一种衰减形式考虑了当前元素之前的元素序列;seq2seq 通过注意力和编解码的机制使得解码时的当前元素不光能用上已经解码完毕的元素序列,还能用上编码前的序列的完整信息;近期各类基于 Transformer 结构,如 ELMo 、BERT、GPT-2.0、XLNet,则利用两阶段(基于自编码的预训练加基于任务的调优)模式,能够以自监督的方式更好地利用大规模的无标注语料训练不同句子结构中词语之间的关系,并且突破传统线性序列结构中存在的难以建立长距离、双向依赖关系的问题,学习到质量更高的中间语言模型,再通过调优就能在文本生成、阅读理解、文本分类、信息检索、序列标注等多个任务上取得当前最为领先的准确率。
为自然语言任务加入“常识”,也是另一个新兴重要探索方向,这个方向则与知识图谱技术紧密结合
就像 BERT、GPT-2.0、XLNet 在两阶段范式上的殊途同归,我们也认为基础语言模型在不同任务上可以存在一些不变性,但在不同场景中一定要做特殊语料与任务下的调优与适配
但认知智能在金融、公安、媒体等场景中的变化部分给 AI 厂商带来的挑战非常明显。一个算法往往在不同场景下要利用不同的标注语料去形成不同的模型,一个媒体场景的 10 类新闻分类模型,无法给另一个媒体的 12 类分类体系使用
\ No newline at end of file
nlp技术包括基础技术和应用技术
70 年代以后随着互联网的高速发展,语料库越来越丰富以及硬件更新完善,自然语言处理思潮由理性主义向经验主义过渡,基于统计的方法逐渐代替了基于规则的方法。
从 2008 年到现在,由于深度学习在图像识别、语音识别等领域不断取得突破,人们也逐渐开始引入深度学习来做自然语言处理研究,由最初的词向量到 2013 年 word2vec,将深度学习与自然语言处理的结合推向了高潮,并且在机器翻译、问答系统、阅读理解等领域取得了一定成功。再到最近的emlo、bert等,也许正在揭开下一个篇章。
可以说,自然语言处理就是要计算机理解自然语言,自然语言处理机制涉及两个流程,包括自然语言理解和自然语言生成。自然语言理解是指计算机能够理解自然语言文本的意义,自然语言生成则是指能以自然语言文本来表达给定的意图
自然语言的理解和分析是一个层次化的过程,许多语言学家把这一过程分为五个层次,可以更好地体现语言本身的构成,五个层次分别是语音分析、词法分析、句法分析、语义分析和语用分析。
语音分析是要根据音位规则,从语音流中区分出一个个独立的音素,再根据音位形态规则找出音节及其对应的词素或词。
词法分析是找出词汇的各个词素,从中获得语言学的信息。
句法分析是对句子和短语的结构进行分析,目的是要找出词、短语等的相互关系以及各自在句中的作用。
语义分析是指运用各种机器学习方法,学习与理解一段文本所表示的语义内容。 语义分析是一个非常广的概念。
语用分析是研究语言所存在的外界环境对语言使用者所产生的影响
词法分析(lexical analysis)
词法分析包括汉语分词(word segmentation 或 tokenization)和词性标注(part-of-speech tag)等。
汉语分词:处理汉语(英文自带分词)首要工作就是要将输入的字串切分为单独的词语,这一步骤称为分词。
词性标注:词性标注的目的是为每一个词赋予一个类别,这个类别称为词性标记。比如,名词(noun)、动词(verb)等
另一方面是自然语言处理的应用技术,这些任务往往会依赖基础技术,包括文本聚类(Text Clustering)、文本分类(Text Classification)、文本摘要(Text abstract)、情感分析(sentiment analysis)、自动问答(Question Answering,QA)、机器翻译(machine translation, MT)、信息抽取(Information Extraction)、信息推荐(Information Recommendation)、信息检索(Information Retrieval,IR)等。
文本分类:文本分类任务是根据给定文档的内容或主题,自动分配预先定义的类别标签。包括单标签分类和多标签文本分类,。
文本聚类:任务则是根据文档之间的内容或主题相似度,将文档集合划分成若干个子集,每个子集内部的文档相似度较高,而子集之间的相似度较低。
文本摘要:文本摘要任务是指通过对原文本进行压缩、提炼,为用户提供简明扼要的文字描述。
情感分析:情感分析任务是指利用计算机实现对文本数据的观点、情感、态度、情绪等的分析挖掘。
自动问答:自动问答是指利用计算机自动回答用户所提出的问题以满足用户知识需求的任务。
机器翻译:机器翻译是指利用计算机实现从一种自然语言到另外一种自然语言的自动翻译。被翻译的语言称为源语言(source language), 翻译到的语言称作目标语言(target language)。
信息抽取:信息抽取是指从非结构化/半结构化文本(如网页、新闻、论文文献、微博等)中提取指定类型的信息(如实体、属性、关系、事件、商品记录等),并通过信息归并、冗余消除和冲突消解等手段将非结构化文本转换为结构化信息的一项综合技术。
信息推荐:信息推荐据用户的习惯、 偏好或兴趣, 从不断到来的大规模信息中识别满足用户兴趣的信息的过程。
信息检索:信息检索是指将信息按一定的方式加以组织,并通过信息查找满足用户的信息需求的过程和技术。
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册