自然语言处理NLP简介

  • NLP简介
    • 1 引言
      • 人工智能、机器学习、深度学习
      • 什么是自然语言处理?
      • 人工智能的流派
    • 2 NLP发展历史
      • 人工智能发展历史
        • 推理期
        • 知识期
        • 学习期
      • 文本的预训练可分为两个重要的时期
    • 3 NLP研究方向
      • 自然语言处理研究分类
      • (1)词法与句法分析
      • (2)语义分析
      • (3)篇章分析
      • (4)语言认知模型
      • (5)语言表示与深度学习
      • (6)知识图谱与计算
      • (7)文本分类与聚类
      • (8)信息抽取
      • (9)情感分析
      • (10)自动文摘
      • (11)信息检索
      • (12)信息推荐与过滤
      • (13)自动问答
      • (14)机器翻译
      • (15)社会媒体处理
      • (16)语音技术
      • (17)文字识别
      • (18)多模态信息处理
      • (19)医疗健康信息处理
      • (20)少数民族语言文字信息处理
      • NPL经典模型与深度学习模型
    • 4 现状与难点
      • 自然语言理解(Natural Language Understanding,NLU)
      • 自然语言生成(Natural Language Generation,NLG)
      • 自然语言处理的难点
        • 难点1:语言的多样性
        • 难点2:语言的歧义性
        • 难点3:语言的鲁棒性
        • 难点4:语言的知识依赖
        • 难点5:语言的上下文
    • 5 预备知识
      • 数学知识基础
      • 软硬件基础
      • 推荐书籍
      • 自学资源

NLP简介

1 引言

人工智能、机器学习、深度学习

人工智能:所有致力于模仿人类或与人脑认知相关联的研究总称

机器学习:是人工智能的子集,是一种实现人工智能的方法,利用经验(数据)自动改进的计算机算法

深度学习:是一种实现机器学习的技术,基于人工神经网络与表示学习的机器学习算法

什么是自然语言处理?

维基百科:自然语言处理(NLP)是语言学、计算机科学、信息工程和人工智能的一个分支领域,研究计算机和人类(自然)语言之间的相互作用,特别是如何编写计算机程序来处理和分析大量的自然语言数据。自然语言处理的挑战通常涉及语音识别、自然语言理解和自然语言生成。

关键词:自然语言处理;语言学;计算机科学;信息工程;人工智能;语音识别;自然语言理解;自然语言生成

人工智能的流派

1.符号主义(Symbolism)

又称为逻辑主义、心理学派或计算机学派,是指通过分析人类智能的功能,然后用计算机来实现这些功能的一类方法。

特点:信息可以用符号来表示;符号可以通过显示的规则(比如逻辑运算)来操作

2.连接主义(Connectionism)

又称仿生学派或生理学派,是认知科学领域中的一类信息处理的方法和理论。连接主义认为人类的认知过程是神经网络中的信息处理过程.

特点:非线性、分布式、并行化;局部性计算、自适应性特点

3.行为主义(Acitionism)

又称为进化主义或是控制论学派,其原理为控制论及感知-动作型控制系统,是指利用计算机模拟人在控制过程中的智能行为和作用。

特点:工程控制论和生物控制论;与环境交互

2 NLP发展历史

人工智能发展历史

人工智能从诞生到今天,经历了一次又一次的繁荣与低谷,其发展历程大体上可以分为:推理期、知识期、学习期三个大的主要历史时期。

推理期

1950年,艾伦图灵提出图灵測试:如果电脑能在5分钟内回答由人类测试者提出的一系列问题,并且有超过30%的回答让测试者误认为是人类所回答,那么测试通过。

1954年, Georgetown实验:乔治敦大学和IBM联手演示了将60句俄语自动翻译成英语,包含6个语法规则和250个词,计划5年之内完全从一种语言到另外一种语言的自动翻译问题。

1964-1966年, ALPAC报告:美国科学院成立语言自动处理咨询委员会综合调查分析和报告,在1966年底,公布《语言与机器》也就是ALPAC报告。终结了机器翻译的时代。

1964-1966年,ELZA聊天机器人:第一个通过图灵测试的聊天机器人。

1950-1965年是推理期。大部分早期研究者都通过人类的经验,基于逻辑或者事实归纳出来一些规则,然后通过编写程序来让计算机完成一个任务。这个时期中,研究者开发了一系列的智能系统,比如几何定理证明器、语言翻译器等。这些初步的研究成果也使得研究者对开发出具有人类智能的机器过于乐观,低估了实现人工智能的难度。随着硏究的深入,硏究者意识到这些推理规则过于简单,对项目难度的评估不足,原来的乐观预期受到严重打击,人工智能的研究开始陷入低谷,很多人工智能项目的研究经费也被削减。

知识期

20世纪70年代,研究者意识到知识对于人工智能系统的重要性,提出了专家系统(Expert System)。

三要素:(1)领域专家知识;(2)模拟专家思维;(3)达到专家级水平。因此也被称为基于知识的系统。

1970年,能够分析语义、理解语言的系统诞生。美国斯坦福大学计算机教授维诺格拉德开发的人机对话系统SHRDLU,能分析指令。由于能正确理解语被视为人工智能研究的一次巨大成功。

1976年,专家系统广泛使用。美国斯坦福大学肖特里夫等人发布的医疗咨询系统MYCIN,可用于对传染性血液病患诊断。这一时期还陆续研制出了用于生产制造、财务会计、金融等个领域的专家系统。

1981年,第五代计算机项目研发。日本率先拨款支持,目标是制造出能够与人对话、翻译语言、解释图像,并能像人一样推理的机器。随后,英美等国也开始为AI和信息技术领域的研究提供大量资金。

1984年,大百科全书(cyc)项目。Cyc项目试图将人类拥有的所有一般性知识都输入计算机,建立一个巨型数据库,并在此基础上实现知识推理,它的目标是让人工智能的应用能够以类似人类推理的方式工作,成为人工智能领域的一个全新研发方向。

1970-1985年是知识期。通过模拟专家思维建立专家系统,利用知识库+推理机,是一类具有专门知识和经验的计算机智能程序系统。专家系统一般采用知识表示和知识推理等技术来完成通常由领域专家才能解決的复杂问题。

学习期

1997年,深蓝战胜国际象棋世界冠军。IBM公司的国际象棋电脑深蓝Deepblue战胜了国际象棋世界冠军卡斯帕罗夫。它的运算速度为每秒2亿步棋,并存有70万份大师对战的棋局数据,可搜寻并估计随后的12步棋。

2006年,Hinton提出深度学习的神经网络。

2011年,Watson参加智力问答节目。

2011年,苹果Siri问世,技术上不断创新。

2012年,谷歌的无人驾驶汽车上路。

2013年,深度学习算法在语音与视觉识别上取得重大突破。

2016年,谷歌Deepmind开发的Alphago人工智能围棋程序战胜围棋冠军。

2016年,百度大脑计划。利用计算机技术模拟人脑,已经可以做到孩子的智力水平。四大功能:语音、图像、自然语言处理、用户画像。

2020年,GPT-3已经在自然语言处理取得巨大突破。

文本的预训练可分为两个重要的时期

一个时期是预训练词向量时期(分布式词嵌入模型),侧重在对词向量的表示上,训练完成后将模型丢弃,保存词向量作为初始化特征使用。例如:NNLM、HLBL、SENNA、RNNLM、Word2vec、Glove等。

另一个时期是预训练语言模型时期,侧重利用语言模型在大量的无监督文本语料上进行训练,训练完保存模型,在新任务上利用模型来动态生成文本表示。例如:ELMo、Bert、OpenAI GPT、GPT-2、GPT-3等。

3 NLP研究方向

自然语言处理研究分类

基础研究(6):词法与句法分析、语义分析、篇章分析、语言表示与深度学习、语言认知模型、知识图谱与计算

应用研究(14):文本分类与聚类、信息抽取、情感分析、自动文摘、信息检索、信息推荐与过滤、自动问答、机器翻译、社会媒体处理、语音技术、文字识别、多模态信息处理、医疗健康信息处理、少数民族语言文字信息处理

(1)词法与句法分析

中文自然语言处理中的自然语言句子级分析技术,可以大致分为词法分析、句法分析、语义分析三个层面。

第一层面的词法分析包括汉语分词和词性标注两部分;例如:jieba分词

第二层面的句法分析是对输入的文本句子进行分析以得到句子的句法结构的处理过程;

第三层面的语义分析的最终目的是理解句子表达的真实语义。

(2)语义分析

语义分析(Semantic Analysis)指运用各种机器学习方法,学习与理解一段文本所表示的语义内容。语义分析是一个非常广的概念,任何对语言的理解都可以归为语义分析的范畴。根据理解对象的语言单位不同,语义分析又可进步分解。

词汇级语义分析、句子级语义分析、篇章级语义分析。

(3)篇章分析

篇章分析是指超越单个句子范围的各种可能分析,包括句子(语段)之间的关系以及关系类型的划分,段落之间的关系的判断,跨越单个句子的词与词之间的关系分析,话题的继承与变迁等。

例如:指代消解示例

(4)语言认知模型

认知语言学(cognitive linguistics)是认知科学(cognitive science)与语言学交又的一个研究分支,是研究人脑的思维、心智、智能、推理和认识等认知机理及其对语言进行分析和理解过程的一门学问。

认知语言学与神经科学、语言理学和计算语言学等学科交叉,从各种不同的角度、以不同的目的不断探索着人类思维的奥秘,试图将人脑学习、分析和理解语言的思维过程通过形式化的模型描述出来。理想情况下,希望建立可计算的、复杂度可控的数学模型,以便在计算机系统上实现对人脑语言理解过程的模拟。

(5)语言表示与深度学习

语言表示是对人类语言的一种描述或约定,是认知科学、人工智能等多个领域共同存在的问题。

在认知科学里,语言表示是语言在人脑中的表现形式,关系到人类如何理解和产生语言。

在人工智能里,语言表示主要指用于语言的形式化或数学的描述,以便在计算机中表示语言,并能让计算机程序自动处理。人类语言不仅具有一定的语法结构,也蕴涵了其所表达的语义信息。

(6)知识图谱与计算

知知识图谱(Knowledge Graph,KG)旨在描述客观世界的概念、实体、事件及其之间的关系。其中概念是指人们在认识世界过程中形成对客观事物的概念化表示,如人、动物、组织机构等。实体是客观世界中的具体事物,如篮球运动员姚明、互联网公司腾讯等。

实体是客观世界中的具体事物;

关系描述概念、实体、事件之间客观存在的关联关系;

事件是客观事件的活动,如地震、买卖行为等。

(7)文本分类与聚类

文本分类和文本聚类是文本挖掘的核心任务,一直以来都备受学术界和工业界的关注。

文本分类(Textclassification):根据给定文裆的内容和主题,自动分配预先定义的类别标签。

文本聚类(Textclustering):根据文档之间的内容或主题相似度,将文档集合划分成若干个子集。每个子集内部的文档相似度较高,而子集之间的相似度较低。

(8)信息抽取

信息抽取(Information Extraction)是指从非结构化/半结构化文本(如网页、新闻、论文文献、微博等)中提取指定类型的信息(如实体、属性、关系、事件、商品记录等),并通过信息归并、冗余 消除和冲突消解等手段将非结构化文本转换为结构化信息的一项综合技术。

(9)情感分析

狭义的情感分析(sentiment analysis)是指利用计算机实现对文本数据的观点、情感、态度、情绪等的分析挖掘。广义的情感分析则包括对图像视频、语音、文本等多模态信息的情感计算。

从社会学的角度,情感已经成为影响我们行为、人类互相交流的一个重要因素,深入分析情感信息的关键因素、社会影响力、传播模式对于理解情感信息非常重要。

从计算科学的角度,如何理解和分析情感信息的表达方式对于提高人机交互、自然语言理解等人工智能任务的能力具有重要意义。

(10)自动文摘

自动文摘(又称自动文档摘要)是指通过自动分析给定的一篇文档或多篇文档,提炼、总结其中的要点信息,最终输出一篇长度较短、可读性良好的摘要(通常包含几句话或数百字),该摘要中的句子可直接出自原文,也可重新撰写所得。

业界提出了各类自动文摘方法与模型,用于解決各类自动摘要问题,在部分自动摘要问题的研究上取得了明显的进展,并成功将自动文摘技术应用于搜索引擎、新闻阅读等产品与服务中。例如谷歌、百度等搜索引擎均会为每项检索结果提供一个短摘要,方便用户判断检索结果相关性。在新闻阅读软件中,为新闻事件提供摘要也能够方便用户快速了解该事件。

(11)信息检索

信息检索(Information Retrieval,IR)是指将信息按一定的方式加以组织,并通过信息查找满足用户的信息需求的过程和技术。

信息检索学科真正取得长足发展是在计算机诞生并得到广泛应用之后,文献数字化使得信息大规模共享及保存成为现实,而检索就成为了信息管理与应用中必不可少的环节。互联网的出现和计算机 硬件水平的提高使得人们存储和处理信息的能力得到巨大的提高,从而加速了信息检索研究的进步,并使其研究对象从图书资料和商用数据扩展到人们生活的方方面面。伴随着互联网及网络信息环境的迅速发展,以网络信息资源为主要组织对象的信息检索系统:搜索引擎应运而生,成为了信息化社会重要的基础设施。

(12)信息推荐与过滤

信息推荐与过滤(Information Recommendation and Filtering)简称信息推荐,是指根据用户的习惯、偏好或兴趣,从不断到来的大规模信息中识别满足用户兴趣的信息的过程。信息推荐任务中的信息往往称为物品(Item)。根据具体应用背景的不同,这些物品可以是新闻、电影、音乐、广告、商品等各种对象。

(13)自动问答

自动问答(Question Answering,QA)是指利用计算机自动回答用户所提出的问题以满足用户知识需求的任务。不同于现有搜索引擎,问答系统是信息服务的一种高级形式,系统返回用户的不再是基于关键词匹配排序的文档列表,而是精准的自然语言答案。近年来,随着人工智能和知识图谱的飞速发展,自动问答已经成为倍受关注且发展前景广泛的研究方向。

(14)机器翻译

机器翻译(machine translation,MT)是指利用计算机实现从一种自然语言到另外一种自然语言的自动翻译。被翻译的语言称为源语言(source language),翻译结果的语言称作目标语言(target language)

(15)社会媒体处理

社会媒体处理(Social Media Processing,SMP)是从社会媒体数据中挖掘、分析和表示有价值信息的过程。简单来讲,社会媒体处理研究的目标就是通过挖掘社会媒体中用户生成内容和社交关系网络,来衡量用户之间的相互作用,进而发现这其中蕴含的特定模式来更好地理解人类行为特点。

(16)语音技术

语音技术包含了很广泛的内涵,涉及语音合成、语音识别、说话人识别、语音增强、语音翻译等等。

语音合成也称为文语转换。它是将任意的输入文本转换成自然流畅的语音输出;

语音识别是指利用计算机实现从语音到文字自动转换的任务;

说话人识别或者称为声纹识别,是根据语音中所包含的说话人个性信息,利用计算机以及现在的信息识别技术自动鉴别说话人身份的一种生物特征识别技术。

(17)文字识别

文字识别(Character Recognition),广义地称为文档分析(Document Analysis),是对文档图像中的文字进行分割、识別,将文档从图像转换为电子文本的技术。具体内容包括文档图像预处理、版面分析、字符切分、字符识別、文本行识别等。

(18)多模态信息处理

多模态(multimodality)的概念起源于计算机人机交互领域信息表示方式的研究,其中术语“模态“一词被定义为在特定物理媒介上信息的表示及交换方式。

在研究中人们发现,用语言、视烦、音频等媒体指称来描述信息表示方式过于宽泛、粒度太大,不足以区分实际采用的表示方式,为此引入了比媒体(或媒介)更细粒度的“模态”概念。而多媒体媒介可以分解为多个单模态,如视频作为一种多媒体媒介,可以分解为动态图像、动态语音、动态文本等多个单模态。

为了模态概念定义的科学性和实用性,单模态的分类必须满足完整性、正交性、关联性和直观性的要求。

(19)医疗健康信息处理

医疗健康信息处理(Clinical and health information processing)主要利用信息技术对与人类医疗健康相关的数据进行处理,挖掘蕴含在这些数据中的有用信息和规律,以服务于医学研究、临床诊疗、公共卫生決策、个人健康咨询等各个领域。

医疗健康信息处理硏究的目标就是针对不同类型的医疗健康相关数据,建立有效的信息拙取和信息利用的方法、模型和系统,充分挖掘数据潜力,弥补优质医疗资源严重短缺、大大降低误诊率,为实现智能化医疗、提高人类医疗健康服务水平提供必要支撑。

(20)少数民族语言文字信息处理

略.

NPL经典模型与深度学习模型

Classical NLP:各阶段独立、模型不同意、依语言完成复杂文本预处理,例如:ML(机器学习)方法

Deep learning-based NLP:端到端(End-to-End)建模、模型统一,文本预处理简单,例如:Word2vec或Glove进行初始化,进入隐藏层、输出层等。

4 现状与难点

自然语言理解(Natural Language Understanding,NLU)

自然语言理解就是希望机器像人一样,具备正常人的语言理解能力,由于自然语言在理解上有很多难点,所以NLU至今还远不如人类的表现。

例如:机器翻译、智能客服、智能助手

自然语言生成(Natural Language Generation,NLG)

自然语言生成可以看作自然语言理解的反向过程,其必须要决定如何把概念转换成语言。NLG可以分为文本到文本的生成(text-to-text generation)和数据到文本的生成(data-to-text generation)。目前的NLG模型表型还不 够好,单纯使用模板的模型太过于僵硬,但使用神经网络的模型又太过于随机,有不可控的风险.

例如:机器翻译、摘要生成、文本简化、文本更正、文本释义、问题生成、智能问答

自然语言处理的难点

语言是人类思维的形式化表现,本身就是一种抽象的高层级信号;

自然语言处理任务众多且复杂。语言类型众多,不同语言之间存在差异;

语义鸿沟、一词多义问题使得对语义的建模与计算困难。

难点1:语言的多样性

我要听大王叫我来巡山

给我播大王叫我来巡山

我想听歌大王叫我来巡山

放首大王叫我来巡山

难点2:语言的歧义性

南京市长江大桥(分词歧义)

我要去北京(意图识别)

几个学校的领导

泰坦尼克号游轮沉没了,杰克深情地看着海伦慢慢地沉入海中

难点3:语言的鲁棒性

大王叫我来巡山

大王叫我巡山

大王叫我来新山

难点4:语言的知识依赖

大鸭梨(水果or餐厅名)

苹果(水果or科技公司)

索尼(人名or科技公司)

7天(时间or酒店名称)

难点5:语言的上下文

网络用户:买张火车票

智能客服:请问去哪里?

网络用户:宁夏

网络用户:放首歌听

智能客服:请问想听什么歌?

网络用户:宁夏

5 预备知识

数学知识基础

线性代数:矩阵运算(矩阵乘法)、奇异值分解、矩阵与特征变换的关联

微积分:微分运算、链式求导、基本函数的求导方法

数学优化:牛顿法和拟牛顿法、梯度下降法、共轭梯度法、拉格朗日乘数法

概率论

信息论

软硬件基础

操作系统:Linux/MacOS系统优先,可安装Ubuntu。基础的Linux命令与操作。文件夹全部采用英文+下划线的方式。

编程语言:首选Python,其他语言辅助。

IDE软件:首选Pycharm

GPU加速:Nvidia CUDA,cuDNN

其他:Anaconda,jupyter,ipython,Git

推荐书籍


自学资源

教程:吴恩达,李宏毅,林轩田

视频搜索:B站,Coursera,CS231n,CS224n,莫凡Python,网易云课程

论文下载:Sci-Hub,Semantic Scholar、ArXiv

代码查找:Papers with Code,Github

领域体系:ArMiner

其他资源:知乎,简书

自然语言处理NLP简介相关推荐

  1. AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用)、常用算法、经典案例之详细攻略(建议收藏)

    AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用).常用算法.经典案例之详细攻略(建议收藏) 目录 NLP是什么? 1.NLP前置技术解析 2.python中NLP技术相关库 3.NLP案例 ...

  2. AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用)、常用算法、经典案例之详细攻略(建议收藏)daiding

    AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用).常用算法.经典案例之详细攻略(建议收藏) 目录 NLP是什么? 1.NLP前置技术解析 2.python中NLP技术相关库 3.NLP案例 ...

  3. Interview之NLP:人工智能领域求职岗位—自然语言处理NLP算法工程师职位的简介、薪资介绍、知识结构之详细攻略

    Interview之NLP:人工智能领域求职岗位-自然语言处理NLP算法工程师职位的简介.薪资介绍.知识结构之详细攻略 目录 自然语言处理NLP算法工程师的职位简介 1.资讯指数 2.各大公司的具体职 ...

  4. 技术03期:自然语言处理NLP【分词篇】

    NLP简介和三种分词模型 NLP逐渐成为人工智能一大热点研究方向,目前国外对英文分词的研究比较深入,而中文分词发展较缓.它需要联系上下文.作者背景.内容背景等进行调整. 处理这些高度模糊句子所采用消歧 ...

  5. 2021年自然语言处理 (NLP) 算法学习路线!

    在过去几年时间里,NLP领域取得了飞速的发展,这也推动了NLP在产业中的持续落地,以及行业对相关人才的需求. 但这里我们要面对的现实是,行业上90%以上的NLP工程师是"不合格的" ...

  6. 【最新】2021年自然语言处理 (NLP) 算法学习路线!

    在过去几年时间里,NLP领域取得了飞速的发展,这也推动了NLP在产业中的持续落地,以及行业对相关人才的需求. 但这里我们要面对的现实是,行业上90%以上的NLP工程师是"不合格的" ...

  7. 自然语言处理NLP中文分词,词性标注,关键词提取和文本摘要

    NLP相关工具包的介绍 1.1 jieba "结巴"中文分词,理念是做最好的 Python 中文分词组件. 支持三种分词模式: (1)精确模式,试图将句子最精确地切开,适合文本分析 ...

  8. 自然语言处理NLP——GSDMM用于短文本聚类

    目录 系列文章目录 一.论文与算法介绍 1.论文背景与简介 2.电影分组过程模拟GSDMM聚类 3.算法模型与流程 4.论文结果与分析 二.GSDMM模型复现(MGP过程) 1.核心思想 2.实现过程 ...

  9. matlab分词NLP,自然语言处理NLP分词篇

    自然语言处理NLP分词篇 自然语言处理NLP[分词篇] NLP简介和三种分词模型 NLP逐渐成为人工智能一大热点研究方向,目前国外对英文分词的研究比较深入,而中文分词发展较缓.它需要联系上下文.作者背 ...

最新文章

  1. 重磅,2020年度第十届吴文俊人工智能科学技术奖获奖名单公示
  2. java如何定义一个接口inf_java.抽象、接口
  3. 开启Office 2003出现要安装PRO11.MSI解决方法 (zhuan)
  4. UVA10561 Treblecross
  5. sklearn.fit_两个小时后仍在运行吗? 如何控制您的sklearn.fit。
  6. 蓝桥杯上Excel地址c语言,C语言求解Excel地址转换问题
  7. 【BZOJ3083】遥远的国度,树链剖分练习
  8. mysql 5.6特性_MySQL 5.6新特性概览
  9. java执行db2命令_送你一份P6级Java面试题
  10. 谷歌翻译用不了解决办法
  11. K3C使用校园网折腾之路
  12. WEB2.0概念诠释
  13. WinFR 界面版 - 免费好用的数据恢复软件,误删文件轻松找回
  14. ubuntu中用gimp 将psd文件分解
  15. 看到了一篇文章 ,很受感动 .
  16. 小红书 x DorisDB:实现数据服务平台统一化,简化数据链路,提升高并发极速查询能力...
  17. 1273:【例9.17】货币系统
  18. 28:全局变量的使用
  19. 《有一种错过叫作遗憾》
  20. SQL-Server 零基础入门教程[下]

热门文章

  1. 多线程处理大量数据 java
  2. iPhone尺寸大全(包含iPhone14系列)
  3. linux开机引导界面美化,Ubuntu16.04引导界面美化(burg)
  4. holdpwd php,PHPMyWind后台管理界面的SQL注入漏洞 - 网站安全
  5. CentOS安装NodeBB
  6. 2020阿里招聘岗位要求
  7. 三维空间几何变换矩阵
  8. 某音最近很火的挤地铁游戏直播技术:挤地铁直播+源码+软件下载+视频教程下载-亲测可用
  9. 更改Ubuntu桌面环境
  10. PBC【Packaged Business Capabilities】的理解