自然语言处理(NLP)

自然语言处理(NaturalLanguageProcessing,NLP)是指让计算机接受用户自然语言形式的输入,并在内部通过人类所定义的算法进行加工、计算等系列操作,以模拟人类对自然语言的理解,并返回用户所期望的结果。自然语言处理的目的在于用计算机代替人工来处理大规模的自然语言信息。在很大程度上与计算语言学(ComputationalLinguistics,CL)重合,是计算机科学与语言学的交叉学科,也是人工智能的重要方向。自然语言处理的研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。让计算机能够确切理解人类的语言,并自然地与人进行交互是NLP的最终目标。

自然语言处理的挑战通常涉及语音识别、自然语言理解和自然语言生成。

自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。

机器翻译研究在过去五十多年的曲折发展经历中,无论是它给人们带来的希望还是失望我们都必须客观地看到,机器翻译作为一个科学问题在被学术界不断深入研究的同时,企业家们已经从市场上获得了相应的利润。在机器翻译研究中实现人机共生(man-machinesymbiosis)和人机互助,比追求完全自动的高质量的翻译(FullAutomaticHighQualityTranslation,FAHQT)更现实、更切合实际[Hutchins,1995]。

将原文档的主要内容或某方面的信息自动提取出来,并形成原文档的摘要或缩写。

通过计算机系统对人提出的问题的理解,利用自动推理等手段,在有关知识资源中自动求解答案并做出相应的回答。问答技术有时与语音技术和多模态输入/输出技术,以及人机交互技术等相结合,构成人机对话系统(man-computerdialoguesystem)。

通过计算机系统自动识别和过滤那些满足特定条件的文档信息。

从指定文档中或者海量文本中抽取出用户感兴趣的信息。

实体关系抽取(entityrelationextraction)。

社会网络(socialnetwork)

文档分类也叫文本自动分类(Textcategorization/classification)或信息分类(Informationcategorization/classification),其目的就是利用计算机系统对大量的文档按照一定的分类标准(例如,根据主题或内容划分等)实现自动归类。

应用:图书管理、情报获取、网络内容监控等。

1950-1970年,模拟人类学习语言的习惯,以语法规则为主流。除了参照乔姆斯基文法规则定义的上下文无关文法规则外,NLP领域几乎毫无建树。

一些在20世纪60年代开发的显著成功的自然语言处理系统是SHRDLU,一种在具有有限词汇的受限“blocksworld”中工作的自然语言系统,和ELIZA,一种由约瑟夫·维森鲍姆在1964年至1966年间编写的对罗格利亚精神治疗师的模拟。ELIZA几乎没有使用任何关于人类思想或情感的信息,有时提供一种令人吃惊的类似人类的互动。当“病人”超出非常小的知识库时,伊莱扎可能会给出一个通用的回答,例如,用“为什么你说你的头疼”来回答“我的头疼”。

70年代开始统计学派盛行,NLP转向统计方法,此时的核心是以具有马尔科夫性质的模型(包括语言模型,隐马尔可夫模型等)。

在20世纪70年代,许多程序员开始写“概念性的”本体”,它将真实世界的信息结构化成计算机可理解的数据。例子有MARGIE(Schank,1975)、SAM(Cullingford,1978)、PAM(Wilensky,1978)、航空小英雄(Meehan,1976)、QUALM(Lehnert,1977)、Politics(Carbonell,1979)和PlotUnits(Lehnert,1981)。在此期间,许多聊天机器人包括挡开,Racter,和含糊不清。

许多显著的早期成功发生在机器翻译领域,特别是由于在IBM研究院的工作,在那里相继开发了更复杂的统计模型。这些系统能够利用现有的多语种文本语料库,这些语料库是加拿大议会和欧洲联盟由于法律要求将所有政府程序翻译成相应政府系统的所有正式语文而制作的。然而,大多数其他系统依赖于专门为这些系统实现的任务开发的语料库,这是(并且经常继续是)这些系统成功的主要限制。因此,大量的研究已经投入到从有限的数据中更有效地学习的方法中。

2001年,神经语言模型,将神经网络和语言模型相结合,应该是历史上第一次用神经网络得到词嵌入矩阵,是后来所有神经网络词嵌入技术的实践基础。也证明了神经网络建模语言模型的可能性。

2001年,条件随机场CRF,从提出开始就一直是序列标注问题的利器,即便是深度学习的现在也常加在神经网络的上面,用以修正输出序列。

2003年,LDA模型提出,概率图模型大放异彩,NLP从此进入“主题”时代。Topic模型变种极多,参数模型LDA,非参数模型HDP,有监督的LabelLDA,PLDA等。

2008年,分布式假设理论提出,为词嵌入技术的理论基础。(分布式假设的思想并非直到08年才有)

2013年,word2vec提出,是NLP的里程碑式技术。

2013年,CNNs/RNNs/RecursiveNN,随着算力的发展,神经网络可以越做越深,之前受限的神经网络不再停留在理论阶段。在图像领域证明过实力后,TextCNN问世;同时,RNNs也开始崛起。在如今的NLP技术上,一般都能看见CNN/LSTM的影子。本世纪算力的提升,使神经网络的计算不再受限。有了深度神经网络,加上嵌入技术,人们发现虽然神经网络是个黑盒子,但能省去好多设计特征的精力。至此,NLP深度学习时代开启。

2014年,seq2seq的提出,在机器翻译领域,神经网络碾压基于统计的SMT模型。

2015年,attention的提出,可以说是NLP另一里程碑式的存在。带attention的seq2seq,碾压上一年的原始seq2seq。记得好像17年年初看过一张图,调侃当时学术界都是attention的现象,也证明了attention神一般的效果。

2017年末,Transformer的提出。似乎是为了应对Facebook纯用CNN来做seq2seq的“挑衅”,google就纯用attention,并发表著名的《AttentionisAllYouNeed》。初看时以为其工程意义大于学术意义,直到BERT的提出才知道自己还是tooyoung。

2018年末,BERT的提出,横扫11项NLP任务,奠定了预训练模型方法的地位,NLP又一里程碑诞生。光就SQuAD2.0上前6名都用了BERT技术就知道BERT的可怕。

在自然语言处理中,以句子为处理单位时一般假设句子独立于它前面的其它语句,句子的概率分布近似地符合二项式分布。

熵(entropy)

1970年代末期冯志伟教授首先开展了对汉字信息熵的研究,经过几年的文本收集和手工统计,在当时艰苦的条件下测定了汉字的信息熵为9.65比特(bit)。1980年代末期,刘源等测定了汉字的信息熵为9.71比特,而汉语词的熵为11.46比特。汉语词汇平均长度约为2.5个汉字。

困惑度(perplexity)

在设计语言模型时,我们通常用困惑度来代替交叉熵衡量语言模型的好坏。语言模型设计的任务就是寻找困惑度最小的模型,使其最接近真实的语言。

互信息(mutualinformation)

互信息I(X;Y)是在知道了Y的值以后X的不确定性的减少量,即Y的值透露了多少关于X的信息量。互信息值越大,表示两个汉字之间的结合越紧密,越可能成词。反之,断开的可能性越大。互信息是计算两个汉字连续出现在一个词中的概率,而两个汉字在实际应用中出现的概率情况共有三种:

(1)两个汉字连续出现,并且在一个词中;

(2)两个汉字连续出现,但分属于两个不同的词;

(3)非连续出现。

有些汉字在实际应用中出现虽然比较频繁,但是连续在一起出现的情况比较少,一旦连在一起出现,就很可能是一个词。这种情况下计算出来的互信息会比较小,而实际上两者的结合度应该是比较高的。而双字耦合度恰恰计算的是两个连续汉字出现在一个词中的概率,并不考虑两个汉字非连续出现的情况。

噪声信道模型(noisychannelmodel)

在信号传输的过程中都要进行双重性处理:一方面要通过压缩消除所有的冗余,另一方面又要通过增加一定的可控冗余以保障输入信号经过噪声信道后可以很好地恢复原状。信息编码时要尽量占用少量的空间,但又必须保持足够的冗余以便能够检测和校验错误。接收到的信号需要被解码使其尽量恢复到原始的输入信号。噪声信道模型的目标就是优化噪声信道中信号传输的吞吐量和准确率,其基本假设是一个信道的输出以一定的概率依赖于输入。

给定一个或多个说话人的声音片段,确定语音的文本表示。这与文本到语音相反,并且是通俗地称为“人工智能完备性”的极其困难的问题之一(见上文)。在自然语音中,连续单词之间几乎没有停顿,因此语音分割是语音识别的必要子任务(见下文)。还要注意,在大多数口语中,代表连续字母的声音在称为协同发音的过程中相互混合,因此将模拟信号转换成离散字符可能是一个非常困难的过程。此外,考虑到同一语言中的单词是由不同口音的人说的,语音识别软件必须能够识别各种各样的输入,就其文本等价物而言,它们彼此相同。

给定一个人或多人说话的声音片段,将其分成单词。语音识别的一个子任务,通常与它一起分组。

OpenNLP是一个基于Java机器学习工具包,用于处理自然语言文本。支持大多数常用的NLP任务,例如:标识化、句子切分、部分词性标注、名称抽取、组块、解析等。

FudanNLP主要是为中文自然语言处理而开发的工具包,也包含为实现这些任务的机器学习算法和数据集。本工具包及其包含数据集使用LGPL3.0许可证。开发语言为Java。

功能:

1.文本分类新闻聚类

3.结构化学习在线学习层次分类聚类精确推理

语言技术平台(LanguageTechnologyPlatform,LTP)是哈工大社会计算与信息检索研究中心历时十年开发的一整套中文语言处理系统。LTP制定了基于XML的语言处理结果表示,并在此基础上提供了一整套自底向上的丰富而且高效的中文语言处理模块(包括词法、句法、语义等6项中文处理核心技术),以及基于动态链接库(DynamicLinkLibrary,DLL)的应用程序接口,可视化工具,并且能够以网络服务(WebService)的形式进行使用。

由于自然语言作为人类社会信息的载体,使得NLP不只是计算机科学的专属。在其他领域,同样存在着海量的文本,NLP也成为了重要支持技术:

机器学习范式要求使用统计推理通过分析大的语料库典型的现实世界例子(语料库(复数形式,“语料库”)是一组文档,可能带有人类或计算机的注释。

许多不同类别的机器学习算法已经应用于自然语言处理任务。这些算法将从输入数据中生成的一大组“特征”作为输入。一些最早使用的算法,如决策树,产生了硬的“如果-那么”规则系统,类似于当时常见的手写规则系统。然而,研究越来越多地集中在统计模型上,这些模型基于将实值权重附加到每个输入特征上来做出软的、概率性的决策。这种模型的优点是,它们可以表达许多不同可能答案的相对确定性,而不是只表达一个,当这种模型作为更大系统的一个组成部分时,会产生更可靠的结果。

基于机器学习算法的系统比手工生成的规则有许多优势:

语音和文字是语言的两个基本属性。作为一门纯理论的学科,语言学在近期获得了快速发展,尤其从上个世纪60年代起,已经成为一门知晓度很高的广泛教授的学科。包括:历时语言学(diachroniclinguistics)或称历史语言学(historicallinguistics)、共时语言学(synchroniclinguistics)、描述语言学(descriptivelinguistics)、对比语言学(contrastivelinguistics)、结构语言学(structurallinguistics)等等。

研究人类发音特点,特别是语音发音特点,并提出各种语音描述、分类和转写方法的科学。包括:(1)发音语音学(articulatoryphonetics),研究发音器官如何产生语音;(2)声学语音学(acousticphonetics),研究口耳之间传递语音的物理属性;(3)听觉语音学(auditoryphonetics),研究人通过耳、听觉神经和大脑对语音的知觉反应。

通过建立形式化的计算模型来分析、理解和生成自然语言的学科,是人工智能和语言学的分支学科。计算语言学是典型的交叉学科,其研究常常涉及计算机科学、语言学、数学等多个学科的知识。与内容接近的学科自然语言处理相比较,计算语言学更加侧重基础理论和方法的研究。

自然语言理解是探索人类自身语言能力和语言思维活动的本质,研究模仿人类语言认知过程的自然语言处理方法和实现技术的一门学科。它是人工智能早期研究的领域之一,是一门在语言学、计算机科学、认知科学、信息论和数学等多学科基础上形成的交叉学科。

THE END
1.了解自然语言处理自然语言处理 (NLP) 是 AI 的一个领域,它负责创建能够理解书面和口头语言的软件。 NLP 使你能够创建可以执行以下操作的软件: 分析和解释文档、电子邮件和其他来源中的文本。 解释口头语言,并合成语音响应。 自动将口头或书面短语在各种语言之间进行翻译。 https://docs.microsoft.com/zh-cn/training/modules/get-started-ai-fundamentals/5-understand-natural-language-process
2.自然语言处理(语言处理方式)语言处理方式 自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言https://baike.sogou.com/m/v209432048.htm?g_ut=3
3.自然语言处理包括哪些内容自然语言处理的关键技术 3.1 词法分析 词法分析是NLP的基础任务之一,包括分词、词性标注、去停用词等步骤。分词是将连续的自然语言文本划分成有意义的语言单位(如词语);词性标注则是为每个词语标注其词性(如名词、动词等);去停用词则是去除文本中对理解主题无用的高频词汇(如“https://localsite.baidu.com/site/wjzsorv8/8cd47d9a-7797-42f3-9306-b902ded71161?qaId=1330438&categoryLv1=%E6%95%99%E8%82%B2%E5%9F%B9%E8%AE%AD&efs=1&ch=54&srcid=10014&source=natural&category=%E5%85%B6%E4%BB%96&eduFrom=136&botSourceType=46
4.了解什么是NLP(自然语言处理)图解自然语言处理是如何工作的一文了解什么是NLP(自然语言处理) 文章目录 简介 NLP 的应用 NLP 的工作原理 步骤1:文本预处理 步骤2:文本表示 步骤3:分析和建模 结语 主要参考 简介 自然语言处理(NLP)是一种专业分析人类语言的人工智能。(下文皆简称为“NLP”),它的工作原理: 接收自然语言,这种语言是通过人类的自然使用演变而来的,我们每天都https://blog.csdn.net/footless_bird/article/details/143424154
5.什么是自然语言处理(NLP)?NLP完整指南Elastic定义自然语言处理及其在技术和应用程序方面的用例。理解 NLP 的优点、挑战和未来。 https://www.elastic.co/cn/what-is/natural-language-processing
6.自然语言处理是什么意思英文名词词语 自然语言处理 英文 natural language processing 繁体 自然語言處理 【自然语言处理】是什么意思 在人工智慧中,使电脑能接受与处理自然语言的过程。例如机器翻译、资讯检索、自然语言查询与理解、自然语言的电脑辅助教学等。 来源:-- 资讯与通信术语辞典 <https://m.zcdian.com/mingci/mu3479gs.html
7.什么是自然语言处理?51CTO博客什么是自然语言处理? 自然语言处理(Natural Language Processing,NLP)是AI的一个领域,旨在让计算机理解和使用人类语言,从而执行有用的任务。自然语言处理又划分为两个部分:自然语言理解(Natural Language Understanding,NLU)和自然语言生成(Natural Language Generation,NLG)。https://blog.51cto.com/u_13127751/5209917
8.NLP自然语言处理文本分析可以为您的组织做些什么? 文本分析是一种自然语言处理,可以将文本转换为数据进行分析。了解银行、医疗保健和生命科学、制造业和政府部门的组织如何使用文本分析来改善客户体验、减少欺诈并造福社会。 阅读文章 NLP 如何工作? 分解语言的基本组成部分 https://www.sas.com/zh_cn/insights/analytics/what-is-natural-language-processing-nlp.html
9.什么是自然语言处理?·MachineLearningMastery博客文章翻译自然语言处理(简称 NLP)被广义地定义为通过软件自动操纵自然语言,如语音和文本。 自然语言处理的研究已经存在了 50 多年,随着计算机的兴起,语言学领域逐渐兴起。 在这篇文章中,您将了解自然语言处理是什么以及它为何如此重要。 阅读这篇文章后,你会知道: https://www.kancloud.cn/apachecn/ml-mastery-zh/1952078
10.什么是自然语言处理?自然语言处理,简称NLP,广义上定义为通过软件自动处理自然语言,如语音和文本。自然语言处理的研究已有超过50年的历史,随着计算机技术的发展,它从语言学领域中逐渐发展起来。在这篇文章中,您将了解自然语言处理是什么,以及它为何如此重要。阅读完这篇文章后,您将能够了解:(1)自然语言是什么,以及它与其他数据类型有何不https://www.douban.com/doubanapp/dispatch?uri=%2Fnote%2F866668774%3F%26
11.什么是自然语言处理?包括哪些方面的技术?自然语言处理(NLP,Natural Language Processing)是一种人工智能技术,旨在让计算机理解和处理人类语言。 NLP通过语言学、计算机科学和人工智能技术等的交叉研究,构建能够理解并回答人类自然语言问题的系统。 NLP的研究主要集中在自然语言理解(NLU)和自然语言生成(NLG)两个核心子集上。 https://www.ai-indeed.com/encyclopedia/9242.html
12.什么是自然语言处理(NLP)【摘要】:<正> 自然语言处理(Natural language processing,简称NLP)是利用电脑等工具对人类所持有的语言信息(包括口语信息和文字信息)进行各种加工,并建立各种类型的人—机—人系统。NLP是人工智能(Artificial intelligence,即电脑模拟人的智能活动)领域的主要内容。自然语言与人造(或人工)语言不同,前者是人类社会中自然https://www.cnki.com.cn/Article/CJFDTotal-YWJS199202013.htm
13.什么是自然语言处理?NLP的主要应用有哪些?自然语言处理(Natural Language Processing, NLP)是一种人工智能技术,旨在使计算机能够理解、处理和生成自然语言。自然语言是人类用于交流的主要手段,包括口语和书面语,它具有复杂的语法和语义规则。自然语言处理技术可以帮助计算机识别、理解和生成自然语言,从而实现自然语言与计算机之间的无缝交互。 https://www.ctyun.cn/developer/article/411737844457541
14.什么是自然语言处理?自然语言处理MartechZone缩略语NLP 是缩写自然语言处理. 什么是自然语言处理? 计算机科学、人工智能的交叉领域(AI)和语言学,旨在使计算机能够以有价值且有意义的方式理解、解释和生成人类语言。 NLP 包含各种旨在允许计算机处理和分析大量自然语言数据的技巧和技术。 NLP涉及多项核心技术和应用,包括: https://zh-cn.martech.zone/acronym/nlp/
15.什么是自然语言处理(NLP)?Oracle中国什么是自然语言处理 (NLP)? 自然语言主题 自然语言处理 (NLP) 的定义 自然语言处理 (NLP) 是人工智能 (AI)的一个分支,它能够使计算机理解、生成和处理人类语言,支持用户使用自然语言文本或语音来询问 (interrogate) 数据,因此又被称为“语言输入 (language in)”。在现实中,大多数消费者可能都与 NLP 进行过https://www.oracle.com/cn/artificial-intelligence/what-is-natural-language-processing/
16.什么是自然语言处理(NLP)?Cloudflare自然语言处理 (NLP) 使计算机能够解释人类语言。 学习中心复制文章链接 什么是 NLP(自然语言处理)? 自然语言处理 (NLP) 是计算机程序用来解释人类语言的一种方法。NLP 属于人工智能 (AI) 的一种。。现代 NLP 模型大多是通过机器学习构建的,并且参考了语言学领域--对语意的研究。 所有计算机都能以适用于计算机的https://www.cloudflare.com/learning/ai/natural-language-processing-nlp/
17.什么是自然语言处理?NLP简介什么是 NLP? 自然语言处理 (NLP) 是一种机器学习技术,使计算机能够解读、处理和理解人类语言。如今,组织具有来自各种通信渠道(例如电子邮件、短信、社交媒体新闻源、视频、音频)的大量语音和文本数据。他们使用 NLP 软件自动处理这些数据,分析消息中的意图或情绪,并实时响应人际沟通。 http://aws.amazon.com/cn/what-is/nlp/
18.什么是自然语言处理的语义理解?腾讯云开发者社区什么是自然语言处理的语义理解? 自然语言处理(Natural Language Processing,NLP)是一种人工智能技术,旨在使计算机能够理解、解释和生成自然语言。语义理解是NLP的一个重要领域,它涉及到从文本数据中提取意义和信息的过程。本文将详细介绍自然语言处理的语义理解。https://cloud.tencent.com/developer/article/2285161
19.如何通俗理解什么是自然语言处理?人工智能如何做到如今这般能和大家自然对话?就需要让计算机进行自然语言处理,即在人的语言有极大模糊性和多样性的基础上,开发者要将人的说话习惯结合语义学,将语言转换成计算机能听懂的东西,再让计算机和人类进行顺利的语言交互。https://item.btime.com/40i6hp6omtc985plbbnt687t8bu
20.什么是自然语言处理技术,应用嘲有哪些?自然语言处理技术是一种人工智能技术,它可以让计算机理解、分析、处理和生成自然语言。自然语言处理技术的发展始于20世纪50年代,但直到近年来,随着计算机技术和数据处理能力的不断提高,自然语言处理技术才得以快速发展。 在当今信息时代,自然语言处理技术已经成为了人工智能领域中最重要的技术之一,它正在改变着我们的生活和https://www.bailian-ai.com/news/800.html
21.什么是自然语言处理(NLP)?IBM自然语言处理 (NLP) 是计算机科学和人工智能 (AI)的一个子领域,它使用机器学习来使计算机能够理解人类语言并与之交流。 NLP 通过将计算语言学(基于规则的人类语言建模)与统计建模、机器学习和深度学习相结合,使计算机和数字设备能够识别、理解和生成文本和语音。 https://www.ibm.com/cn-zh/topics/natural-language-processing
22.NLP是什么?自然语言处理(NLP)简介NLP 是什么?自然语言处理(NLP) 是集各种语言学、数学、自然科学等一体的科学,是人工智能的一个分支。自然语言处理(NLP)可以帮助计算机理解和处理人类的语言,从而使用它们自己的语言与人类进行交流。简而言之,NLP 就是机器与人类之间桥梁,目的是为了实现人机交流,本文为大家详细的整理了关于 NLP 的全部内容,一起来看https://js.design/special/article/what-is-nlp.html