自然语言处理(NLP)知识结构总结

图灵汇官网

自然语言处理的知识体系非常庞大,网上的资料往往零散且不成体系,学习时常常感到困惑。因此,我总结了一份自然语言处理的知识框架,内容主要参考了黄志洪老师的课程及宗成庆老师编著的《统计自然语言处理》这本书。尽管书中内容可能不够详尽,但它是目前较为全面的中文参考书籍。若希望查看优秀的英文资料,可以在我的GitHub上下载相关内容。

接下来直接进入正文:

一、自然语言处理概述

  1. 自然语言处理是利用计算机技术对书面或口语进行各种处理和加工的技术。它是一门研究人与人之间以及人与计算机之间交流的学科,属于人工智能的重要组成部分。

  2. 自然语言处理涉及构建计算机(算法)框架来实现语言模型,并完善、测试这些模型,最终应用于各种实际系统。

  3. 主要研究问题:

    • 信息检索
    • 机器翻译
    • 文档分类
    • 问答系统
    • 信息过滤
    • 自动摘要
    • 信息抽取
    • 文本挖掘
    • 舆情分析
    • 机器写作
    • 语音识别
  4. 研究方法:自然语言场景问题、数学算法、算法的实际应用、语料训练及相关实际应用。

自然语言处理的挑战

  • 场景复杂性:语言的多样性和变化性以及歧义性。
  • 学习难度:复杂的数学模型(如HMM、CRF、EM算法及深度学习等)。
  • 语料问题:需要合适的语料、语料的作用及获取方法。

二、形式语言与自动机

  1. 形式语言是一种按照特定规则构成的句子或字符串的集合,分为有限集合和无限集合。

  2. 描述语言的三种方法:

    • 枚举法
    • 文法规则(产生式系统)
    • 自动机
  3. 形式语言理论研究的是内部结构模式的纯粹语法领域,常用于理解自然语言的句法规律,是计算机科学中定义编程和语法结构的基础。

  4. 形式语言与自动机的基础知识:

    • 集合论
    • 图论
  5. 自动机的应用实例:

    • 单词自动纠错
    • 词性消歧
  6. 形式语言的局限性:

    • 对于大型自然语言系统,难以构造精确的文法规则。
    • 不符合人类学习语言的习惯。
    • 形式语言无法排除某些语法正确但语义不合理的句子。
    • 解决方案:基于大量语料,采用统计学方法建立模型。

三、语言模型

  1. 语言模型:通过语料计算某句话出现的概率(概率表示)。常用的模型有2-元模型和3-元模型。

  2. 应用实例:语音识别中的歧义消除。例如,给定拼音串“tashiyanyanjiusaunfade”,可能的汉字串为“踏实烟酒算法的他是研究酸法的他是研究算法的”。显然,最后一句才是正确的。

  3. 启示:开启自然语言处理的统计方法。统计方法的一般步骤包括:

    • 收集大量语料
    • 对语料进行统计分析,得出知识
    • 针对场景建立算法模型
    • 解释和应用结果
  4. 语言模型性能评估:包括评价目标、难点及常用指标(如交叉熵、困惑度)。

  5. 数据平滑:数据平滑的概念、方法及其必要性,常见的平滑方法包括加一法、加法平滑法、古德-图灵法、J-M法和Katz平滑法。

  6. 语言模型的局限性:

    • 语料类型和主题敏感性
    • n与相邻的n-1个词相关性假设的合理性不足

四、概率图模型、生成模型与判别模型、贝叶斯网络、马尔科夫链与隐马尔科夫模型(HMM)

  1. 概率图模型概述(参考《概率图模型》)。

  2. 马尔科夫过程:定义及理解。

  3. 隐马尔科夫过程:定义及理解。

  4. HMM的三个基本问题(定义、解法及应用):

    • 第一个问题涉及最大似然估计法
    • 第二个问题涉及EM算法
    • 第三个问题涉及维特比算法

五、马尔科夫网、最大熵模型、条件随机场(CRF)

  1. HMM的三个基本问题的参数估计与计算。

  2. 熵的概念及其重要性。

  3. EM算法的应用:理解其广泛应用。

  4. HMM的应用实例。

  5. 层次化马尔科夫模型与马尔科夫网络:提出原因、存在的问题。

  6. 最大熵马尔科夫模型:

    • 优点:允许使用特征刻画观察序列,训练高效
    • 缺点:存在标记偏置问题
  7. 条件随机场及其应用(概念、模型过程、与HMM的关系):

    • 参数估计方法(GIS算法、改进IIS算法)
    • 基本问题:特征选取、概率计算、参数训练、解码(维特比算法)
    • 应用场景:词性标注、中文分词、中文人名和地名识别
  8. CRF++简介

六、命名实体识别、词性标注、内容挖掘、语义分析与篇章分析

  1. 命名实体识别问题:相关概率、定义、任务类型及方法。

  2. 处理未登录词的方法:基于搜索引擎和语料库。

  3. CRF解决命名实体识别(NER)流程总结:

    • 训练阶段:确定特征模板、分词、词性标注、训练CRF模型
    • 识别过程:分词、CRF模型识别、标注序列、命名实体识别
  4. 词性标注及其一致性检查方法:位置属性向量、词性标注序列向量、聚类或分类算法

七、句法分析

  1. 句法分析的意义及方法:

    • 完全句法分析
    • 浅层分析
    • 依存关系分析
  2. 句法分析方法:

    • 基于规则的句法结构分析
    • 基于统计的语法结构分析

八、文本分类、情感分析

  1. 文本分类与文本排重:

    • 文本分类:在预定义的分类体系下,将文本与一个或多个类别相关联
    • 应用实例:垃圾邮件判定、网页自动分类
  2. 文本表示、特征选取与权重计算、词向量:

    • 特征选择方法:基于文本频率、信息增益、卡方统计量、互信息法
  3. 分类器设计:SVM、贝叶斯、决策树等。

  4. 分类器性能评测:召回率、正确率、F1值。

  5. 主题模型(LDA)与PLSA。

  6. 情感分析:借助计算机帮助用户快速获取、整理和分析相关评论信息,对带有感情色彩的文本进行分析处理。

  7. 应用案例

九、信息检索、搜索引擎及其原理

  1. 信息检索的发展历程:

    • 从图书馆资料查询扩展到多媒体信息检索
    • 检索系统关键技术:标引、相关度计算
  2. 常见模型:布尔模型、向量空间模型、概率模型。

  3. 常用技术:倒排索引、隐语义分析(LDA等)。

  4. 评测指标

十、自动文摘与信息抽取、机器翻译、问答系统

  1. 统计机器翻译的思路、过程、难点及解决方案。

  2. 问答系统的基本组成:问题分析、信息检索、答案抽取。

  3. 自动文摘的意义及常用方法。

  4. 信息抽取模型(LDA等)。

十一、深度学习在自然语言中的应用

  1. 单词表示,如词向量的训练。

  2. 自动写文本:如新闻写作。

  3. 机器翻译。

  4. 基于CNN、RNN的文本分类。

  5. 深度学习与CRF结合用于词性标注。

本文来源: 图灵汇 文章作者: 李文静