自然语言处理NLP学习(一)

一、什么是NLP?

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

二、发展历程

NLP基础发展:

1948年,香农提出信息熵的概念。
按照维基百科,NLP源于1950年,图灵提出“图灵测试”,用以检验计算机是否真正拥有智能。

NLP规则时代:

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

NLP统计时代:

20世纪70年代开始统计学派盛行,NLP转向统计方法,此时的核心是以具有马尔科夫性质的模型(语言模型、隐马尔可夫模型);
2001年,神经语言模型,将神经网络和语言模型相结合,应该是历史上第一次用神经网络得到词嵌入矩阵,是后来所有神经网络词嵌入技术的实践基础。也证明了神经网络建模语言模型的可能性;
2001年,条件随机场CRF,从提出开始就一直是序列标注问题的利器,即便是深度学习的现在也常加在神经网络的上面,用以修正输出序列。
2003年,LDA模型,NLP进入“主题”时代,Topic模型变种很多,参数模型LDA、非参数模型HDP、有监督的LabelLDA,PLDA等;
2008年,分布式假设理论提出,为词嵌入技术的理论基础。

在统计时代,NLP专注于数据本身的分布,如何从文本的分布中设计更多更好的特征模式是这时期的主流。在这期间,还有其他许多经典的NLP传统算法诞生,包括tfidf、BM25、PageRank、LSI、向量空间与余弦距离等。值得一提的是,在20世纪80、90年代,卷积神经网络、循环神经网络等就已经被提出,但受限于计算能力,NLP的神经网络方向不适于部署训练,多停留于理论阶段。

NLP深度时代:

2013年,word2vec提出,NLP的里程碑式技术。
2013年,CNNs/RNNs/Recursive NN,随着算力的发展,神经网络可以越做越深,之前受限的神经网络不再停留在理论阶段。在图像领域证明过实力后,Text CNN问世;同时,RNNs也开始崛起。在如今的NLP技术上,一般都能看见CNN/LSTM的影子。

本世纪算力的提升,使神经网络的计算不再受限。有了深度神经网络,加上嵌入技术,人们发现虽然神经网络是个黑盒子,但能省去好多设计特征的精力。至此,NLP深度学习时代开启。

2014年,seq2seq提出,在机器翻译领域,神经网络碾压基于统计的SMT模型。
2015年,attention提出,可以说是NLP另一里程碑式的存在。带attention的seq2seq,碾压上一年的原始seq2seq。记得好像17年年初看过一张图,调侃当时学术界都是attention的现象,也证明了attention神一般的效果。
2017年末,Transformer提出。似乎是为了应对Facebook纯用CNN来做seq2seq的“挑衅”,google就纯用attention,并发表著名的《Attention is All You Need》。初看时以为其工程意义大于学术意义,直到BERT的提出才知道自己还是too young。
2018年末,BERT提出,横扫11项NLP任务,奠定了预训练模型方法的地位,NLP又一里程碑诞生。光就SQuAD2.0上前6名都用了BERT技术就知道BERT的可怕。

三、研究任务

词法分析(Lexical Analysis)

对自然语言进行词汇层面的分析,基础工作
分词(Word Segmentation/Tokenization)
新词发现(New Words Identification)
形态分析(Morphological Analysis)
词性标注(POS)
拼写矫正(Spelling Correction,SP)

句子分析(Sentence Analysis)

对自然语言进行句子层面的分析,包括句法分析和其他句子级别的分析任务
组块分析(Chunking)
超级标签标注 (Super Tagging)
成分句法分析(Constituency Parsing, CP)
依存句法分析(Dependency Parsing, DP)
语言模型
语种识别 (Language Identification)
句子边界检测 (Sentence Boundary Detection)

语义分析(Semantic Analysis)

对给定文本进行分析和理解,形成能够表达语义的形式化表示或分布式表示
词义消歧 (Word Sense Disambiguation)
语义角色标注(Semantic Role Labeling)
抽象语义表示分析(Abstract Meaning Representation Parsing)
一阶谓词逻辑演算(First Order Predicate Calculus)
框架语义分析 (Frame Semantic Parsing)
词汇、句子、段落的向量化表示(Word/Sentence/Paragraph Vector)

信息抽取(Information Extraction)

从无结构文本中抽取结构化信息
命名体识别(Named Entity Recognition, NER)
实体消歧/语义消歧(Entity Disambiguation, ED)
术语抽取(Terminology/Giossary Extraction)
共指消解(Coreference Resolution)
事件抽取(Event Extraction)
情感分析(Sentiment Analysis)
意图识别(Intent Detection)
槽位填充(Slot Filling)

顶层任务(High-level Tasks)

直接面向普通用户,提供自然语言处理产品服务的系统级任务,会用到多个层面的自然语言处理技术
机器翻译 (Machine Translation, MT)
文本摘要 (Text summarization/Simplication)
问答系统 (Question-Answering Systerm, QAS)
对话系统 (Dialogue Systerm, DS)
阅读理解 (Reading Comprehension, RC)
自动文章分级 (Automatic Essay Grading, AEG)

四、划分领域

基础层

文字识别、语音识别、手写识别等

处理层

语义分析、机器翻译

应用层

情感分析、行为预测、商业智能

五、基本技术

分词:基本算是所有NLP任务中最底层的技术。不论解决什么问题,分词永远是第一步。
NLP分词算法深度综述
NLP中常用的分词方法和实现

词性标注:判断文本中的词的词性(名词、动词、形容词等等),一般作为额外特征使用。
系统学习NLP(十)–词性标注算法综述
自然语言处理基础技术之词性标注

句法分析:分为句法结构分析和依存句法分析两种。
句法分析综述
CS224n之句法分析总结

词干提取:从单词各种前缀后缀变化、时态变化等变化中还原词干,常见于英文文本处理。

命名实体识别:识别并抽取文本中的实体,一般采用BIO形式。
综述&实践 | NLP中的命名实体识别(NER)(一)

指代消歧:文本中的代词,如“他”“这个”等,还原成其所指实体。

关键词抽取:提取文本中的关键词,用以表征文本或下游应用。

词向量与词嵌入:把单词映射到低维空间中,并保持单词间相互关系不变。是NLP深度学习技术的基础。

文本生成:给定特定的文本输入,生成所需要的文本,主要应用于文本摘要、对话系统、机器翻译、问答系统等领域。

六、相关资料

YSDA Natural Language Processing course
知乎话题:自然语言处理
自然语言处理(NLP)一些任务的总结
自然语言处理,到底在“处理”些什么?
国内自然语言处理(NLP)研究组
自然语言处理领域重要论文&资源全索引

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值