NLP:自然语言和处理两部分
发展历程
- 香农提出信息熵的概念
- NLP发源于1950年。图灵于该年提出图灵测试
NLP规则时代
- 乔姆斯基文法规则定义的上下文无关法规则
NLP统计时代
- 马尔可夫性质的模型(语言模型、隐马尔可夫模型)
- 神经语言模型
将神经网络和语言模型相结合,为历史上第一次使用神经网络得到词嵌入矩阵 - 条件随机场CRF,为序列标注问题的利器
- LDA模型提出的概念图模型
- 提出分布式假设理论,为词嵌入技术提供理论基础
NLP深度时代
- 随着算力发展,神经网络越做越深 CNNs RNNs Recursive NN
- seq2seq机器翻译 CNN
- attention的seq2seq
- 纯attention
- bert
深度学习时代,神经网络能够自动从数据中挖掘特征,人们从复杂的特征中脱离出来,专注于模型算法本省创新和理论突破。从一开始的机器翻译领域逐渐扩散到NLP其他领域,传统经典算法不如从前。神经网络是一个黑箱,可解释性为一个痛点,复杂度较高,因此工业界的经典算法还是占据主流。
基本分类
自然语言理解NLU和自然语言生成NLG两种
NLU:如何理解文本;
文本分类、命名实体识别、指代消歧、句法分析、机器阅读理解
语言的多样性、歧义性、鲁棒性、知识依赖、上下文
NLG:如果理解文本后生成自然文本
自动摘要、机器翻译、问答系统、对话机器人
内容确定、文本结构、句子聚合、语法化、参考表达式生成、语言实现
基本领域
- 文本检索
大规模数据检索,搜索引擎 - 机器翻译
跨语种翻译 - 文本分析/情感分析
分类问题,多标签分类 - 信息抽取
不规则文本中抽取想要信息,命名实体识别、关系抽取、实践抽取 - 序列标注
文本中每一个词都打上相应的标签,为大多数NLP底层技术核心,分词、词性标注、关键词抽取、命名实体识别、语义角色标注 - 文本摘要
给定文本中聚焦最核心部分 - 问答系统
- 对话系统
闲聊式和任务导向型,以口语化的自然语言对话方式解决用户问题 - 知识图谱
建立在图谱基础上的知识检索、知识推理、知识发现是知识图谱的研究方向 - 文本聚类
从大规模文本数据中自动发现规律,如何表示文本以及如何度量文本之间的距离。
基本技术
- 分词
- 词性标注
词性,作额外特征使用 - 句法分析
句法结构分析和依存句法分析 - 词干提取
从单词各种前后缀变化、时态变化中还原词干 - 命名实体识别
识别并抽取文本中的实体,BIO - 指代消歧
文本中的代词 - 关键词抽取
提取文本中的关键词 - 词向量和词嵌入
将单词映射到低维空间中,保持单词间相互关系不变 - 文本生成
给定特定文本输入,生成需要的文本,应用于文本摘要、对话系统、机器翻译、问答系统
研究难点
- 中文分词
- 词义消歧
通过上下文得到不同的意思 - 二义性
多种理解方式的句子 - OOV问题
词嵌入技术 out of vocabulary - 文本相似度计算
余弦相似度、欧式距离、曼哈顿距离、向量内积 - 文本生成的评价指标
BLEU ROUGE基于n-gram
社会影响
- 社会科学
关系网络挖掘、社交媒体计算、人文计算 - 金融领域
- 法律领域
- 医疗健康领域
- 教育领域
NLP处理步骤
方法1:传统机器学习的NLP流程
- 语料预处理
- 中文语料预处理:分词、词性标注、命名实体识别、去除停用词
- 特征工程
- 特征提取
- 特征选择
- 选择分类器
方法2:深度学习的NLP流程
- 语料预处理
- 设计模型
- 模型训练