1.1 什么是 NLP

1.1.1 NLP 的概念

自然语言处理帮助用户使用自然语言和机器交流,从建模的角度看,为了方便计算机处理,自然语言可以被定义为一组规则或符号的集合。

分为两个部分:自然语言处理与自然语言生成
自然语言理解是综合的系统工程:

音系学:指代语言中发音的系统化组织
词态学:研究单词构成以及相互之间的关系
句法学:给定文本的哪部分是正确的
语义学:给定文本的含义是什么
语用学:文本的目的是什么

1.1.2 NLP 的研究任务

  1. 舆论分析:可以帮助分析那些话题是目前的热点
  2. 聊天机器人,终极任务

1.2 NLP 的发展历程

  • 1956 以前,萌芽期,经验主义,基于规则
  • 1980 - 1999,快速发展期,基于统计
  • 2000 年至今,深度学习

1.3 NLP 相关知识的构成

1.3.1 基本术语

  1. 分词:常用手段是基于字典的最长串匹配,中文词语分析是中文分词的基础与关键
  2. 词性标注:动词、名词、形容词的标注
  3. 命名实体识别:识别出人名、地名、机构名、专有名词等
  4. 句法分析:基于规则的专家系统,目的是:解析句子中各个成分的依赖关系,个人感觉类似于 N-grams 的作用
  5. 指代消解:中文中代词出现的频率很高,作用是表征前文中出现过的人名、地名等。例如:小明喜欢篮球,同时他也喜欢足球。
  6. 情感识别:本质上是分类问题,用于舆情分析等领域。两类:正负面,三类:加上中性,电商,情感识别分析商品评价的好坏,作为下一个环节的评判标准。两种实现方法:1.词袋模型+分类器(LR、NB、SVM、RF)2.词向量模型(Word2Vec)+TextCNN、RNN 、LSTM 等
  7. 纠错:自动纠错在搜索技术以及输入法中用的很多。基于 N-gram 、字典树、有限状态机等纠错
  8. 问答系统(QA system):苹果的 Siri 、微软小冰等。基于的技术有:语音识别、合成、自然语言理解、知识图谱等多项技术等

1.3.2 知识结构

NLP 需要语言学、统计学、最优化理论、机器学习、深度学习及自然语言处理相关理论模型知识做基础,是研究人与机器之间用自然语言进行有效通信的理论和方法。

知识体系:

  1. 句法语义分析:分词、词性标记、命名实体识别及链接、句法分析、语义角色识别、多义词消歧
  2. 关键词抽取:抽取目标中主要信息,比如从一条新闻中抽取关键信息。主要是看谁在什么时间对谁做了什么事,产生了什么结果,涉及实体识别、时间抽取、因果关系抽取等多项关键技术。
  3. 文本挖掘:主要包含了对文本的聚类、分类、信息抽取、摘要、情感分析以及对挖掘的信息和知识的可视化、交互式的呈现界面
  4. 机器翻译:根据输入数据类型的不同,可细分为文本翻译、语音助手、手语翻译、图形翻译等,发展过程从基于规则到基于统计,再到深度学习
  5. 信息检索:对大规模的文档进行索引。
  6. 问答系统
  7. 对话系统

1.4 语料库

中文维基百科、搜狗新闻语料库、IMDB 情感分析语料库

探讨 NLP 的几个层面

第一层面:词法分析

包括汉语的分词和词性标注这两部分

第二层面:句法分析

句法分析是对输入的文本以句子为单位

第三层面:语义分析

语义分析的最终目的是理解句子表达的真实含义

1.6 NLP 与人工智能

为什么深度学习可以在 NLP 中可以取得巨大的成绩?

  1. 海量的数据:传统的模型(SVM 、CRF 条件随机场)
  2. 深度学习算法的革新:一方面,深度学习 Word2Vec 的出现,可以将词表示为低维稠密的词向量,解决了 one-hot 的语义鸿沟问题,稀疏表达问题。另一方面,深度学习模型非常灵活,可以使用端到端的方式进行训练,例如机器翻译,传统的方法是先进行分词、对齐、翻译,语言模型需要依赖各个模块,每个模块的误差会传递到下个模块,使得整个系统不是一个整体,变得不太可控。而使用端到端的方式,可以直接映射,避免了误差的传递,提升了性能。