博舍

自然语言处理入门(何晗):第一章 自然语言处理难点是哪四大类

自然语言处理入门(何晗):第一章

第一章新手上路

**自然语言处理(NLP)**是一门融合了计算机科学、人工智能以及语言学的交叉学科,

这门学科研究的是如何通过机器学习等技术,让计算机学会处理人类语言,乃至实现终极目标——理解人类语言或人工智能

1.1自然语言与编程语言1.1.1词汇量

自然语言中的词汇比编程语言中的关键词丰富,我们还可以随时创造各种类型的新词

自然语言中的词汇比编程语言中的关键词丰富。

1.1.2结构化

自然语言是非结构化的,而编程语言是结构化的

自然语言是非结构化的,而编程语言是结构化的。所谓结构化,指的是信息具有明确的结构关系,比如编程语言中的类与成员、数据库中的表与字段,都可以通过明确的机制来读写。

苹果的创始人是乔布斯,它的logo是苹果1.1.3歧义性自然语言含有大量歧义,这些歧义根据语境的不同而表现为特定的义项。比如汉语中的多义词,只有在特定的上下文中才能确定其含义,甚至存在故意利用无法确定的歧义营造幽默效果的用法。除了上文“苹果”的两种意思之外,“意思”这个词也有多种意义。

​但在编程语言中,则不存在歧义性#。如果程序员无意中写了有歧义的代码,比如两个函数的签名一样,则会触发编译错误

1.1.4容错性

自然语言错误随处可见,而编程语言错误会导致编译不通过

1.1.5易变性

自然语言变化相对迅速嘈杂一些,而编程语言的变化要缓慢得多

1.1.6简略性

自然语言往往简洁、干练,而编程语言就要明确定义

由于说话速度和听话速度、书写速度和阅读速度的限制,人类语言往往简洁、干练。我们经常省略大量背景知识或常识,比如我们会对朋友说“老地方见”,而不必指出“老地方”在哪里。

1.2自然语言处理的层次

1.2.1语音、图像和文本

自然语言处理系统的输入源一共有3个,即语音(语音识别)、图像(光学字符识别)与文本。

语音经过语音识别,图像经过光学字符识别,转换成文本。

1.2.2中文分词、词性标注和命名实体识别

这6个任务都是围绕词语进行的分析,所以统称词法分析

中文分词:词法分析的主要任务是将文本分隔为有意义的词语词法标注:确定每个词语的类别和浅层的歧义消除命名实体识别:识别出一些较长的专有名词

对中文而言,词法分析常常是后续高级任务的基础

1.2.3信息抽取

高频词、关键词、公司名称、专业术语等等。

词法分析之后,文本已经呈现出部分结构化的趋势,根据分析出来的每个单词和附有自己词性及其他标签的数据,抽取出一部分有用的信息,关键词、专业术语等,也可以根据统计学信息抽取出更大颗粒度的文本。

1.2.4文本分类与文本聚类

将文本拆分为一系列词语之后,我们还可以在文章级别做一系列分析

有时我们想知道一段话是褒义还是贬义的,判断一封邮件是否是垃圾邮件,想把许多文档分门别类地整理一下,此时的NLP的任务称作文本分类

另一些时候,我们只想把相似的文本归档到一起,或者排除重复的文档,而不关心具体类别,此时进行的任务称作文本聚类

1.2.5句法分析

词法分析只能得到零散的词汇信息,计算机不知道词语之间的关系。在一些问答系统中,需要得到句子的主谓宾结构。

1.2.6语义分析与篇章分析

相较于句法分析,语义分析侧重语义而非语法。

它包括词义消歧(确定一个词在语境中的含义,而不是简单的词性)、语义角色标注(标注句子中的谓语与其他成分的关系)乃至语义分析(分析句子中词语之间的语义关系)。

1.2.7其他高级任务

除了上述“工具类”的任务外,还有许多综合性的任务,与终端应用级产品联系更紧密。比如:

自动问答,根据知识库或文本中的信息直接回答一个问题,比如微软的Cortana和苹果的Siri自动摘要,为一篇长文档生成简短的摘要;机器翻译,将一句话从一种语言翻译到另一种语言。

注意,一般认为信息检索(IR)是区别于自然语言处理的独立学科。虽然两者具有密切的联系,但IR的目标是查询信息,而NLP的目标是理解语言。此外,IR检索的未必是语言,还可以是以图搜图、听曲搜曲、商品搜索乃至任何信息的搜索。现实中还存在大量不需要理解语言即可完成检索任务的场景,比如SQL中的LIKE

1.3自然语言处理的流派

1.3.1基于规则的专家系统(难扩展)

​规则,指的是由专家手工制定的确定性流程。专家系统要求设计者对所处理的问题具备深入的理解,并且尽量以人力全面考虑所有可能的情况。它最大的弱点是难以拓展。当规则数量增加或者多个专家维护同一个系统时,就容易出现冲突。

1.3.2基于统计的学习方法

人们使用统计方法让计算机自动学习语言。所谓“统计”,指的是在语料库上进行的统计。所谓“语料库”,指的是人工标注的结构化文本。

统计学习方法其实是机器学习的别称,而机器学习则是当代实现人工智能的主要途径。

1.3.3历史

1.3.4规则与统计

1.3.5传统方法与深度学习

1.4机器学习1.4.1什么是机器学习

人工智能领域的先驱在1959年给出的机器学习定义是:不直接编程却能赋予计算机提高能力的方法。

机器学习指的是计算机通过某项任务的经验数据提高了在该项任务上的能力

简而言之,机器学习是让机器学会算法的算法。

机器学习算法则可以称作“元算法”,它指导机器自动学习出另一个算法,这个算法被用来解决实际问题。为了避免混淆,人们通常称被学习的算法为模型

1.4.2模型

1.4.3特征

特征指的是事物的特点转化的数值,比如牛的特征是34条腿、0双翅膀,而鸟的特征是2条腿、1双翅膀。

特征指的是事物的特点转化的数值。如何挑选特征,如何设计特征模板,这称作特征工程。特征越多,参数就越多;参数越多,模型就越复杂。1.4.4数据集

1.4.5监督学习

1.4.6无监督学习

如果我们只给机器做题,却不告诉它参考答案,机器仍然可以学到知识吗?

可以,此时的学习称作无监督学习,而不含标准答案的习题集被称作无标注的数据集。

无监督学习一般用于聚类和降维,两者都不需要标注数据。

j降维指的是将样本点从高维空间变换到低维空间的过程。

1.4.7其他类型的机器学习算法

​如果我们训练多个模型,然后对同一个实例执行预测,会得到多个结果。如果这些结果数一致,则可以将该实例和结果放到一起作为新的训练样本,用来扩充训练集。这样的算法被称为半监督学习。由于半监督学习可以综合利用标注数据和丰富的未标注数据,所以正在成为热门的研究课题。

现实世界中的事物之间往往有很长的因果链:我们要正确地执行一系列彼此关联的决策,才能得到最终的成果。这类问题往往需要一边预测,一边根据环境的反馈规划下次决策。这类算法被称为强化学习习。强化学习在一些涉及人机交互的问题上成果斐然,比如自动驾驶、电子竞技和问答系统。

半监督学习:如果我们训练多个模型,然后对同一个实例执行预测,会得到多个结果。如果这些结果多数一致,则可以将该实例和结果放到一起作为新的训练样本,用力啊扩充训练集。这样的算法被称为半监督学习。强化学习:现实世界中的事物之间往往有很长的因果链:我们要正确地执行一系列彼此关联的决策,才能得到最终的成果。这类问题往往需要一边预测,一边根据环境的反馈规划下次决策。这类算法被称为强化学习。1.5语料库

语料库作为自然语言处理领域中的数据集,是我们教机器理解语言不可或缺的习题集。在这一节中,我们来了解一下中文处理中的常见语料库,以及语料库建设的话题

1.5.1中文分词语料库

中文分词语料库指的是,由人工正确切分后的句子集合。

以著名的1998年《人民日报》语料库为例:

先有通货膨胀干扰,后有通货紧缩叫板。

1.5.2词性标注语料库

它指的是切分并为每个词语指定一个词性的语料

依然以《人民日报》语料库为例:

迈向/v充满/v希望/n的/u新/a世纪/n--/w一九九八年/t新年/t讲话/n

1.5.3命名实体识别语料库

这种语料库人工标注了文本内部制作者关心的实体名词以及实体类别。比如《人民日报》语料库中-共含有人名、地名和机构名3种命名实体:

萨哈夫/nr说/v,/w伊拉克/ns将/d同/p[联合国/nt销毁/v伊拉克/ns大规模/b杀伤性/n武器/n特别/a委员会/n]/nt继续/v保持/v合作/v。/w

这个句子中的加粗词语分别是人名、地名和机构名。中括号括起来的是复合词,我们可以观察到:有时候机构名和地名复合起来会构成更长的机构名,这种构词法上的嵌套现象增加了命名实体识别的难度。

1.5.4句法分析语料库

汉语中常用的句法分析语料库有CTB(ChineseTreebank,中文树库),其中一个句子可视化后如下图所示:

中文单词上面的英文标签标示词性,而箭头表示有语法联系的两个单词,具体是何种联系由箭头上的标签标示。

1.5.5文本分类语料库

它指的是人工标注了所属分类的文章构成的语料库。

1.5.6语料库建设

语料库建设指的是构建一份语料库的过程,分为规范制定、人员培训与人工标注这3个阶段。

针对不同类型的任务,人们开发出许多标注软件,其中比较成熟的一款是brat,它支持词性标注、命名实体识别和句法分析等任务。

1.6开源工具

目前开源界贡献了许多优秀的NLP工具,它们为我们提供了多种选择,比如教学常用的NLTK(NaturalLanguageToolkit)、斯坦福大学开发的CoreNLP,以及国内哈工大开发的LTP(LanguageTechnologyPlatform)、我开发的HanLP(HanLanguageProcessing)。

1.6.1主流NLP工具比较

选择一个工具包,我们需要考虑的问题有:功能、精度、运行效率、内存效率、可拓展性、商业授权和社区活跃程度。

1.6.2Python接口

​得益于Python简洁的设计,使用这门动态语言调用HanLP会省下不少时间。无论用户是否常用Python,都推荐一试。​HanLP的Python接口由pyhanlp包提供,其安装只需一句命令:

pipinstallpyhanlp1.7总结

​本章给出了人工智能、机器学习与自然语言处理的宏观缩略图与发展时间线。机器学习是人工智能的子集,而自然语言处理则是人工智能与语言学、计算机科学的交集。这个交集虽然小,它的难度却很大。为了实现理解自然语言这个宏伟目标,人们尝试了规则系统,并最终发展到基于大规模语料库的统计学习系统。

​在接下来的章节中,就让我们按照这种由易到难的发展规律去解决第一个NLP问题一中文分词。我们将先从规则系统人手,介绍一些快而不准的算法,然后逐步进化到更加准确的统计模型。

1.8GitHub项目

HanLP何晗–《自然语言处理入门》笔记:

https://github.com/NLP-LOVE/Introduction-NLP

自然语言处理的研究现状及发展趋势

AI中国网https://www.cnaiplus.com

自然语言处理(NaturalLanguageProcessing,简称NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义,也能以自然语言文本来表达给定的意图、思想等;前者称为自然语言理解,后者称为自然语言生成。近年来,NLP非常火,吸引着人们对它进行研究,并越来越多地应用于各个行业。正如国际知名学者周海中先生曾经所言:“自然语言处理是极有吸引力的研究领域,它具有重大的理论意义和实用价值。”

NLP融计算机科学、语言学、自动化、数学等为一体,是一门综合性的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。NLP并不是一般地研究自然语言,而是研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统;因而它是计算机科学的一部分。可以说,NLP是计算机科学、语言学、自动化、数学以及人工智能、知识工程等交叉学科关注计算机和自然语言之间的相互作用的领域。近年来,人工智能技术高速发展,已被应用到各个领域,机械、电子、经济甚至哲学,都有所涉及;人们对它的需求也从计算智能、感知智能到了以NLP为代表的认知智能的层面。没有成功的NLP,就不会有真正的认知智能。因此,NLP被视为人工智能极具吸引力的研究领域以及人工智能必须优先解决的核心问题之一,也被喻为人工智能技术上的“皇冠”。

由于人工智能包括感知智能(比如图像识别、语言识别和手势识别等)和认知智能(主要是语言理解知识和推理),而语言在认知智能起到最核心的作用。如果能把语言问题解决了,人工智能最难的部分也就基本解决了。美国微软公司创始人比尔▪盖茨先生曾经表示,“语言理解是人工智能领域皇冠上的明珠。”前微软公司全球执行副总裁沈向洋先生也在公开演讲时说:“懂语言者得天下……下一个十年,人工智能的突破在自然语言的理解……人工智能对人类影响最为深刻的就是自然语言方面。”由于理解自然语言需要关于外在世界的广泛知识以及运用操作这些知识的能力,所以NLP也被视为解决人工智能完备(AI-complete)的核心问题之一。可以说,NLP目前是人工智能领域的关键核心技术,对它的研究也是充满魅力和挑战的。

NLP涉及的领域较多,主要包括机器翻译、语义理解和对话系统等。它目前面临四大挑战:一是在词法、句法、语义、语用和语音等不同层面存在不确定性;二是新的词汇、术语、语义和语法导致未知语言现象的不可预测性;三是数据资源的不充分使其难以覆盖复杂的语言现象;四是语义知识的模糊性和错综复杂的关联性难以用简单的数学模型描述,语义计算需要参数庞大的非线性计算。例如在对话系统中,深度学习目前已成为对话系统的一项基本技术;神经网络被应用于传统任务导向型对话系统的不同组成部分。近年来,端到端的框架不仅在非面向任务的聊天对话系统中流行,在面向任务的对话系统中也逐步流行起来,但是仍远非完美。又如在语义识别方面,需要对句法进行剖析,因此剖析在对话系统、信息抽娶语法检查中都起着非常重要的作用。

大约20世纪90年代开始,NLP领域发生了巨大的变化,各类分析模型的提出和面向真实语料大规模语义知识库的构建都为其发展提供了坚实的基矗这种巨变有两个明显的特征:(1)对系统的输入,要求研制的NLP系统能处理大规模的真实文本,而不是如以前的研究性系统那样,只能处理很少的词条和典型句子。只有这样,研制的系统才有真正的实用价值。(2)对系统的输出,鉴于真实地理解自然语言是十分困难的,对系统并不要求能对自然语言文本进行深层的理解,但要能从中抽取有用的信息。同时,由于强调了“大规模”和“真实文本”,所以下面两方面的基础性工作也得到了重视和加强:(1)大规模真实语料库的研制。大规模的经过不同深度加工的真实文本的语料库,是研究自然语言统计性质的基础;如果没有这样的语料库,统计方法只能是无源之水。(2)大规模、信息丰富的词典的编制工作。因此规模为几万,十几万,甚至几十万词,含有丰富的信息(如包含词的搭配信息)的计算机可用词典对NLP的重要性是很明显的。

目前存在的问题主要有两个方面:一方面,迄今为止的语法都限于分析一个孤立的句子,上下文关系和谈话环境对本句的约束和影响还缺乏系统的研究,因此分析歧义、词语省略、代词所指、同一句话在不同场合或由不同的人说出来所具有的不同含义等问题,尚无明确规律可循,需要加强语义学和语用学的研究才能逐步解决。另一方面,人理解一个句子不是单凭语法,还运用了大量的有关知识,包括生活知识和专门知识,这些知识无法全部贮存在计算机里。因此一个书面理解系统只能建立在有限的词汇、句型和特定的主题范围内;计算机的贮存量和运转速度大大提高之后,才有可能适当扩大范围。要实现人机间自然语言通信,必须解决NLP文本和对话的各个层次上广泛存在的各种各样的歧义性或多义性,如果解决了这一问题,那么人机间的有效通信。

如果说NLP是人工智能的皇冠,那么语义表示和理解技术就是皇冠上的明珠。目前人工智能领域的发展态势,在语义这一块已经到了重兵集结的程度。句法分析技术的进步,使得我们有希望从结构和算法方向逼近更加精准的语义解析;应用领域数据转化为知识的实践方兴未艾,知识图谱的技术栈里算力充足工具齐全,使得我们有希望从表示的方向为语义架桥铺路添砖加瓦。语义结构表示框架中,现有的知识图谱可以完美描述实体、关系、属性(状态)及其值这三类要素;但是剩下的还有事件、时间、空间、因果条件、逻辑模态等,我们必须对现有的知识图谱结构进行改造,才能适应这些语义要素的表示。

由于语言工程、认知科学等主要局限于实验室,目前来看数据处理可能是NLP应用场景最多的一个发展方向。实际上,自从进入大数据时代,各大平台就没有停止过对用户数据的深度挖掘。要想提取出有用的信息,仅提取关键词、统计词频等是远远不够的,必须对用户数据(尤其是发言、评论等)进行语义上的理解。另外,利用离线大数据统计分析的方法进行NLP任务的研究是目前非常有潜力的一种研究范式,尤其是谷歌、推特、百度等科技企业在这类应用上的成功经验,引领了目前大数据研究的浪潮。

NLP是为各类企业及开发者提供的用于文本分析及挖掘的核心工具,已经广泛应用在电商、金融、物流、医疗、文化娱乐等行业客户的多项业务中。它可帮助用户搭建内容搜索、内容推荐、舆情识别及分析、文本结构化、对话机器人等智能产品,也能够通过合作,定制个性化的解决方案。由于理解自然语言,需要关于外在世界的广泛知识以及运用操作这些知识的能力,所以NLP也被视为解决强人工智能的核心问题之一,其未来一般也因此密切结合人工智能技术发展,尤其是设计一个模仿人脑的神经网络。

训练NLP文本解析人工智能系统需要采集大量多源头数据集,对科学家来说是一项持续的挑战:需要使用最新的深度学习模型,模仿人类大脑中神经元的行为,在数百万甚至数十亿的注释示例中进行训练来持续改进。当下一种流行的NLP解决方案是预训练,它改进了对未标记文本进行训练的通用语言模型,以执行特定任务;它的思想就是,该模型的参数不再是随机初始化,而是先有一个任务进行训练得到一套模型参数,然后用这套参数对模型进行初始化,再进行训练,以获得更好的预测性见解。

我们目前已进入一个以互联网为主要标志的海量信息时代,而这些海量信息大部分是以自然语言表示的。一方面,有关的海量信息可为计算机学习自然语言提供更多的“素材”;另一方面,这也为NLP提供更加宽广的应用舞台。例如,作为NLP的重要应用,搜索引擎逐渐成为人们获取信息的重要工具,出现了以谷歌、百度等为代表的搜索引擎巨头;机器翻译也从实验室走入寻常百姓家;基于NLP的中文输入法(如搜狗、微软、谷歌等输入法)成为计算机用户的必备工具;带有语音识别的计算机和手机也正大行其道,协助用户更有效地生活、工作和学习。

现在,NLP领域已经有了大量的人工标注知识,而深度学习可以通过有监督学习得到相关的语义知识,这种知识和人类总结的知识应该存在某种对应关系,尤其是在一些浅层语义方面。因为人工标注,本质上已经给深度学习提供了学习的目标;只是深度学习可以不眠不休地学习,这种逐步靠拢学习目标的过程,可能远比人类总结过程来得更快、更好。这一点,从谷歌公司旗下DeepMind研究团队开发的围棋软件AlphaGo短时间内连胜两位人类围棋高手的事实,似乎能够得到验证。

深度学习在NLP中的应用非常广泛,可以说横扫NLP的各个应用,从底层的分词、语言模型、句法分析、词性标注、语音识别等到高层的语义理解、语用阐释、对话管理、知识问答等方面都几乎都有深度学习的模型,并且取得了不错的效果。有关研究已从传统的机器学习算法转变成更有表现力的深度学习模型,如卷积神经网络和回归神经网络。不过,目前的深度学习技术还不具备理解和使用自然语言所必需的概念抽象和逻辑推理能力,这方面还有待今后进一步的研究。

有关NLP文本分析的研究目前主要集中于文本表示模型的选择和特征词选择算法的选取上。由于NLP文本是非结构化的数据,要想从大量的文本中挖掘有用的信息就必须首先将文本转化为可处理的结构化形式。人们通常采用向量空间模型来描述文本向量,但是如果直接用分词算法和词频统计方法得到的特征项来表示文本向量中的各个维,那么这个向量的维度将是非常的大。因此,必须对文本向量做进一步净化处理,在保证原文含义的基础上,找出对文本特征类别最具代表性的文本特征。为了解决这个问题,最有效的办法就是通过特征选择来降维。

长文本的智能解析是颇具挑战性的任务,如何从纷繁多变、信息量庞杂的冗长文本中获取关键信息,一直是文本领域难题;这一难题有待解决。另外,训练NLP文本解析人工智能系统需要采集大量多源头数据集,对科学家来说是一项持续的挑战:需要使用最新的深度学习模型,模仿人类大脑中神经元的行为,在数百万甚至数十亿的注释示例中进行训练来持续改进。当下一种流行的NLP解决方案是预训练,它改进了对未标记文本进行训练的通用语言模型,以执行特定任务。

互联网搜索引擎已经有一段时间让人们使用会话语言和术语来在线搜索事物。现在,谷歌公司的云端硬盘用户已经可以使用这一功能。用户可以搜索存储在谷歌云端硬盘中的文件和内容,就像使用谷歌搜索提供的对云端硬盘内置NLP的新支持一样。该功能使用户可以使用通常用词组表达的查询以及在实际对话中将要使用的查询来更轻松地找到所需的内容。谷歌公司在在线和移动搜索、移动应用程序以及GoogleTranslate等服务中广泛使用NLP;该公司在这一领域的研究是为提高机器阅读和理解人类语言能力所做的更广泛努力的一部分。随着谷歌调整其算法,NLP应该会随着时间的推移变得更好。

近年来,NLP处于快速发展阶段。各种词表、语义语法词典、语料库等数据资源的日益丰富,词语切分、词性标注、句法分析等技术的快速进步,各种新理论、新方法、新模型的出现推动了NLP研究的繁荣。互联网技术的普及与世界经济社会一体化的潮流对NLP技术的迫切需求,为NLP研究发展提供了强大的市场动力。NLP研究成果在服务应用的同时,而且还促进新兴学科,如生物信息学等的发展。另外,对于NLP的认识正促使计算机的体系结构发生着变化,NLP能力的提升将是下一代计算机追求的重要目标。

英国剑桥量子计算公司(CQC)最近宣布,他们利用自然语言的“固有量子”结构,开辟了一个全新的可能应用领域。其通过将语法句子翻译成量子线路,然后在量子计算机上实现生成的程序,并实际执行问答。这是第一次在量子计算机上执行NLP。通过使用CQC的一流的、平台无关的可重定目标编译器t|ket??,这些程序在IBM量子计算机上成功执行并得到结果,整个突破朝着实现“意义感知”和“语法知悉”的NLP方向迈出了有意义的一大步--这是计算机时代早期以来计算机科学家及计算语言学家追寻的梦想。

美国哈佛大学医学院的研究人员借助NLP技术日前开发出一种工具,可以评估新冠肺炎(COVID-19)患者的病例、社交媒体和健康卫生数据。他们率先努力通过使用机器学习技术查看来自各种来源的数据和信息(包括患者记录、社交媒体和公共卫生数据)来寻找新冠肺炎病毒的解决方案。借助NLP工具,他们还可以搜索有关新冠肺炎病毒的在线信息,并了解爆发的当前位置。另外,研究人员还利用NLP技术对新冠肺炎、药物和疫苗等密集展开研究,同时包括临床诊断与治疗以及流行病学研究等。

一个完整的NLP系统通常包含语音识别、语义识别、语音合成三部分;其中,中国的一些科技企业在语音识别和语音合成已处世界领先地位。语音识别是指让计算机“听到”人的语音,目前已经比较成熟,尤其汉语的语音识别领先英语;如百度、搜狗、科大讯飞,识别率均已达到97%左右。语音合成是指计算机将“回复”给人的语句,通过合成音频的形式,利用扬声器外放;目前,科大讯飞的语音合成技术代表了世界领先水平。

中国阿里达摩院的NLP研究团队最近提出优化模型StructBERT,能让机器更好地掌握人类语法,加深对自然语言的理解。使用该模型好比给机器内置一个“语法识别器”,使机器在面对语序错乱或不符合语法习惯的词句时,仍能准确理解并给出正确的表达和回应,大大提高机器对词语、句子以及语言整体的理解力。这一技术已广泛使用于阿里旗下阿里小蜜、蚂蚁金服、优酷等业务。阿里达摩院的语言模型和阅读理解技术也被用于行业赋能,推进人工智能技术在医疗、电力、金融等行业的落地。据悉,StructBERT模型最近被评为全球性能最强的NLP系统。

根据市场分析机构MordorIntelligence的一份报告,2019年全球NLP市场价值为109亿美元,预计到2025年将达到348亿美元,复合年增长率为21.5%。该报告指出,在过去的几年中,深度学习架构和算法在市场格局中取得了令人瞩目的进步,而语音分析解决方案正在主导着这一市场,因为传统的基于文本的分析已不足以处理复杂的业务问题。

总之,随着互联网的普及和海量信息的涌现,作为人工智能领域的研究热点和关键核心技术,NLP正在人们的生活、工作、学习中扮演着越来越重要的角色,并将在科技进步与社会发展的过程中发挥越来越重要的作用。

文/林峰(作者单位:美国波士顿大学工学院)

AI中国网https://www.cnaiplus.com

本文网址:

四、自然语言处理的主要挑战

二十、Eclat算法介绍

777---:代码其实不是eclat算法,两个以上的货物都要用两个货物交集运算得来,而不是在代码中用combinations暴力组合,大量数据就跑不动了

四、自然语言处理的主要挑战

普通网友:这学期也在自学人工智能,看了您的博文感觉很不错,可以加您VX交流吗感谢博主

二十八、电力窃漏电案例模型构建

m0_58512240:作者你的数据还有吗

八、朴素贝叶斯中文分类实战

_错错错:好文,欢迎大佬回访指导呀,一起学习

二十三、聚类算法

向彪-blockchain:大佬,看了你的文章,内心的仰慕之情油然而生,赶紧给大佬点个赞!

自然语言处理的技术难点与挑战

#e#三、当前国内外在自然语言处理领域的研究热点和难点自然语言处理的难点单词的边界界定

在口语中,词与词之间通常是连贯的,而界定字词边界通常使用的办法是取用能让给定的上下文最为通顺且在文法上无误的一种最佳组合。在书写上,汉语也没有词与词之间的边界。

词义的消歧

许多字词不单只有一个意思,因而我们必须选出使句意最为通顺的解释。

句法的模糊性

自然语言的文法通常是模棱两可的,针对一个句子通常可能会剖析(Parse)出多棵剖析树(ParseTree),而我们必须要仰赖语意及前后文的资讯才能在其中选择一棵最为适合的剖析树。

有瑕疵的或不规范的输入

例如语音处理时遇到外国口音或地方口音,或者在文本的处理中处理拼写,语法或者光学字符识别(OCR)的错误。

语言行为与计划

句子常常并不只是字面上的意思;例如,“你能把盐递过来吗”,一个好的回答应当是把盐递过去;在大多数上下文环境中,“能”将是糟糕的回答,虽说回答“不”或者“太远了我拿不到”也是可以接受的。再者,如果一门课程去年没开设,对于提问“这门课程去年有多少学生没通过?”回答“去年没开这门课”要比回答“没人没通过”好。

关于如何解决语境的问题:

同时,由于强调了“大规模”,强调了“真实文本”,下面两方面的基础性工作也得到了重视和加强。

(1)大规模真实语料库的研制。大规模的经过不同深度加工的真实文本的语料库,是研究自然语言统计性质的基础。没有它们,统计方法只能是无源之水。

(2)大规模、信息丰富的词典的编制工作。规模为几万,十几万,甚至几十万词,含有丰富的信息(如包含词的搭配信息)的计算机可用词典对自然语言处理的重要性是很明显的。

 

自然语言处理技术发展瓶颈

目前自然语言处理技术的两大瓶颈就是大规模语料数据的建设,以及语义分析的进一步完善。

主流的自然语言处理技术是以统计机器学习为基础的,这就需要大规模的语料库。在很多任务中,这些语料库是需要人工构建的,这是非常费力的工作。因此,数据共享是一个可以促进研究发展的必不可少的因素。可以说,自然语言处理的快速发展离不开一些开源的语料库,比如WordNet、PennTreebank等。第二,任何语料库无论大小类型,都难以囊括某个领域的全部案例;而且,语料库的标注体系往往难以把握,类别划分过粗,则无法全面、细致地描述语言,类别划分过细,则标注信息过于庞大、降低标注效率,统计数据的稀疏问题严重,训练出来的模型健壮性差。第三,因为人工标注的语料库毕竟是费时费力的工作,因此还需要从模型和算法方面去研究如何利用大量的无人工标注或部分标注的数据,也就是半监督学习,但这方面的研究还不是特别成熟。

自然语言处理技术的另一大瓶颈就是如何精确地表现自然语言的语义,比如在人机交互过程中,首先就要理解用户的意图,而这里“用户的意图”就是语义。目前业界常用的方法有两种:基于知识或语义学规则的语义分析方法和基于统计学的语义分析方法。尽管两类方法都能在一定程度上进行自然语言语义的推导以及信息之间关联的判别,但是基于知识与语义学规则的方法无法覆盖全部语言现象、推理过程复杂,无法处理不确定性事件,规则间的相容性和适用层次范围存在缺陷和限制,知识和语义规则的建立是瓶颈问题;而基于统计学的方法则过多地依赖于大规模语料库的支持,性能依赖语料库的优劣,易受数据稀疏和数据噪声的干扰,正如之前提到,大规模语料库的建立和语料质量的保证仍是瓶颈问题。

可喜的是,如火如荼的云计算为复杂模型计算以及大规模语料库的收集与建立提供了基础设施上的支撑。例如,借助MicrosoftAzure,用户可以在几分钟内完成NLPonAzure站点的部署,并立即开始对NLP开源工具的使用,或者以RESTAPI的形式调用开源工具的语言分析功能,而无需关注基础结构,只需专注于应用程序的业务逻辑。PaaS(平台即服务)的特性隐藏了基础设施的细节,让用户无须关心操作系统、运行环境、安全补丁、错误恢复等问题,这使得用户进行NLP语料库建设以及应用程序使用的门槛大大降低。

自然语言处理五年技术革新,快速梳理 NLP 发展脉络

来源:机器之心

机器之心发布

机器之心编辑部

机器之心《2020-2021全球AI技术趋势发展报告》节选:顶会趋势(NeurIPS)分析。

2021年伊始,机器之心发布《2020-2021全球AI技术趋势发展报告》,基于顶会、论文及专利等公共数据、机器之心专业领域数据仓库,通过数据挖掘定位七大趋势性AI技术领域。

此外,该报告还邀请了近100位专家学者通过问卷调查,形成对这七大技术领域近年发展情况、成熟度与未来趋势的综合总结,并基于2015-2020年间的开源论文与专利语料,结合机器之心自有的新闻舆论以及模型最佳表现(SOTA)等相关数据库进行了探索性数据分析,并形成了用以帮助技术趋势判定的量化指标SyncedIndicator(SI)。

为了方便从业者把握AI技术趋势,机器之心将持续刊载该该报告的节选内容,以下篇幅选自《2020-2021全球AI技术趋势发展报告》第三章「人类语言技术」。

「3-1 」人类语言技术

3-1-1  近年领域事件

根据机器之心整理的人工智能领域事件库数据,近5年(2015~2020)来人类语言技术领域的主要有以下大事件值得关注:

神经机器翻译、注意力机制与Transformer

自然语言处理的技术突破似乎总是从机器翻译领域开始的,作为NLP领域最早的研究领域之一,机器翻译是较能体现语言理解的一项重要技术任务,也是自深度学习兴起后技术突破最多最频繁的技术任务。机器翻译的核心技术涵盖了自然语言理解和生成两大基本问题,其技术路径的演变基本可以代表整个自然语言处理技术领域的主要技术方法演变:从最初的基于语法规则的机器翻译(RBMT),统计学兴起之后逐渐开始形成气候的统计机器翻译(SMT),以及近10年来基于神经网络的机器翻译(NMT),机器翻译领域通常是新技术首先得到测试验证的领域。2015年以来,正是神经机器翻译快速发展的时代,而其中贡献较为突出的当属搜索引擎行业的龙头企业谷歌,从2016年谷歌神经机器翻译(GNMT)的发布开始,将初期主要在CV领域活跃的Attention机制运用到了机器翻译领域,2017年又抛开深度学习领域一直被广泛使用的核心RNN网络、提出了单纯基于自注意力机制的Transformer模型架构,在模型泛化能力上看到了很大的可能性。2018年紧接着提出并开源了基于双向Transformer的大规模预训练语言模型BERT,刷新了当时多项不同类型的NLP下游任务的最佳表现,使人们看到了这类模型的巨大潜力,也自此掀起了NLP领域的大规模预训练语言模型研究与开发的热潮。

大规模预训练语言模型

2018~2019年里,尤其是2019年,大规模预训练语言模型似乎成为了NLP领域技术指标突破逃不开的技术方法。在ELMo之前,深度学习在自然语言处理的主要应用方向在于从词到句子级别的分布式表征,word2vec是此类方法的典型代表。虽然一时间预训练的词向量在诸多自然语言处理任务上取得了不错的进展,但词向量本身都是上下文无关的,也即同一个词的向量表示在不同语境中总是相同的,这就意味着词向量无法解决语言技术里很大的一个障碍,一词多义问题。因此研究人员们开始在具体的下游任务中基于词向量的序列来做编码,这种seq2seq端到端的思想迅速取代了word2vec的热潮,而谷歌在这个基础上研发出的自注意力机制模型transformer可算是这个思想的集大成者。也正是同一时间,来自华盛顿大学的研究者开发出了ELMo模型,通过语言模型来获得一个上下文相关的预训练表示,并通过定制成功地用在了多个不同的下游任务上取得领先的表现效果。而仅仅针对文本进行丰富的encoding尚不足以覆盖所有NLP下游任务,尤其是QA、阅读理解等包含问询关系等多种复杂模式的情况下,下游任务的网络会需要做更多不同的结构调整,同一个模型在多个不同任务、甚至同一任务不同数据集上的表现差别仍然有待提高,这也就促使了BERT的诞生。BERT类模型使用大规模语料数据采取更深程度的预训练,从而形成一个更为通用的模型基底。这比覆盖上下文语境含义的词向量更进一步,而涉及到下游任务时也仅需要定制一个非常轻量级的输出层而不需要对模型骨架做重大调整。

实用效率工具和数据集

当一个技术发展成熟到一定程度之后,我们会看到技术在研究层面的数据增加开始放缓,但在工程和应用层面的相关数据开始增加。而回顾过去五年的NLP领域事件,我们发现除了重要的具体模型算法之外,数据集和实用的开源工具成为该领域里不可忽视的组成部分。除了机器翻译领域Google开源的GNMT,OpenNMT也开源了其自研的神经机器翻译工具包,并且提供了Pytorch和TensorFlow两个不同框架的支持。

数据集Benchmark方面,问答数据集SQuAD经历了1.0、2.0两个代际,自然语言理解综合benchmarkGLUE也经历了一次到SuperGLUE的升级,中文领域也衍生出了类似的评价体系CLUE。随着预训练语言模型的火热与广泛应用,可以预见的是相关的数据集与评估指标还会有新的升级与换代。

Facebook开发并开源了实用文本分类库fastText,OpenAI在三代GPT版本更迭后,于今年的GPT-3发布后不久便开始提供对应的API服务。综合工具方面,微软联合创始人保罗艾伦建立的AllenInstituteforAI于今年正式推出了其自然语言处理工具包AllenNLP,提供完整的自然语言处理流程框架和相应工具。成立于2016年的Huggingface借助Transformer模型的东风,提供多种基于transformer架构模型的调用框架(包括BERT、GPT-2、Transformer-XL、RoBERTa、DistilBERT、BART,以及GoogleT5等近40种不同模型),同时兼容TensorFlow与pytorch。知名语音技术工具包Kaldi也于2017和2018年先后增加了TensorFlow和PyTorch的整合支持。

总体而言,NLP领域每年都有新突破,语音领域在2015~2017年发展迅猛,达到接近人类水平,而后归于稳定、小修小改重点解决局部问题。

*完整的人类语言技术相关影响力事件表请参看报告附录。

3-1-22019~2020年热门技术

根据2019-2020年度技术热词分析结果,该领域的整体热度在本篇报告覆盖的领域里面排第二,仅次于计算机视觉,领域内的技术热词以主流的自然语言处理下游技术任务为主(如机器翻译、问答系统、信息抽取、文本分类等),同时包括一些近年来讨论热度比较高的算法模型框架(如BERT、word2vec、Transformer等),语音识别、语音合成两个语音相关的技术词也同样榜上有名。

具体来说,神经机器翻译、语音识别以及BERT在论文、新闻的热词发现中均名列前茅,除此之外,新闻资讯中的技术热词多是大众讨论度比较高的技术词或偏口语化的技术词,如自然语言处理本身、聊天机器人、以及注意力机制,而论文中则会有比较多相对具体的基础技术任务如文本分类、命名体识别、语义解析等以及相对书面正式的技术词如自然语言理解、问答系统、机器阅读理解。报告、survey中呈现出的高频讨论技术词则多是归纳性质较强的技术任务或方法,如问答系统、序列到序列(seq2seq)、端到端(end2end)模型等。

以下为本领域在各项热门技术词挖掘中综合排名前100的技术词:

技术名词新闻挖掘论⽂挖掘报告/Survey⾃然语⾔处理✓⾃然语⾔理解✓⾃然语⾔推理✓机器翻译✓神经机器翻译✓✓问答系统✓✓对话系统✓聊天机器⼈✓机器阅读理解✓⽂本⾃动摘要⽂本分类✓情感分析✓语⾳识别✓✓语⾳合成⽂本⽣成✓命名体识别✓语义解析✓语法解析词性标注✓语⾔模型✓预训练模型✓ELMOGPTBERT✓✓Transformer✓注意⼒机制✓seq2seq✓word2vec✓词嵌⼊✓表3-1-2-1人类语言技术2019~2020年热门技术词

*为了分析的完整和可对比性,我们额外补充了语音合成、语法解析、文本自动摘要,以及ELMO、GPT等技术词

结合各AI技术分析报告文章、论文survey,社交网络观点、以及专家问卷结果,该人类语言技术章节分析主要从机器翻译、问答系统、阅读理解、文本分类、语音识别、语音合成等热门NLP和语音方面的技术任务,以及相关的热门技术方法如语言模型、序列到序列,词嵌入,BERT等分不同角度切入,从学界问卷、论文专利、以及新闻舆情多数据角度综合分析其本身以及相关技术近五年来的重要事件以及发展趋势,分析细节详情参见报告。

报告全文获取方式

方式二:成为机器之心PRO-VIP会员

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇