计算语言学概论复习笔记(分词、语言模型、隐马尔科夫、POS、ML、DL、MT)

01(计算语言学概论)

  • 计算语言学的应用

    1. 机器翻译
    2. 人机对话
    3. 信息检索
    4. 信息提取
    5. 自动文摘
    6. 文本分类
    7. 拼写检查
    8. 音字转换
  • 什么是计算语言学?

    1. 计算语言学是通过建立形式化的计算模型来分
      析、理解和处理自然语言的学科。
  • 计算语言学的研究目标

    1. 研制能理解并生成人类语言的计算机系统(终极)
    2. 研制出具有一定人类语言能力的计算机文本
      或语音处理系统。(当前)
  • 计算语言学的研究内容

    1. 建立形式化的适于计算机处理的语言模
      型。
    2. 研制分析、生成以及处理语言的各种算
      法。
  • 计算语言学研究的挑战性

    1. 歧义(音韵学、形态学、句法学、语义学、语用学)
    2. 领域知识需求很高
    3. 规则不能穷举
  • 计算语言学的研究方法

    1. 规则驱动的方法( rule-based approach )(语言学角度建模)
    2. 数据驱动的方法( data-driven approach )(统计方法建模)
      1. 词袋模型
      2. 马尔科夫模型
      3. HMM
    3. 二者融合的方法( hybrid approach )
  • 计算语言学研究中的评测问题

    1. 评价指标是否合理
    2. 模型推广能力

02(现代汉语词语切分研究)

  • 什么是词?

    1. 词是由语素构成的、能够独立运用的最小的语言单位。
    2. 词就是说话的时侯表示思想中一个观念的词。
    3. 缺乏操作标准。(不同的人有不同的把握)
    4. 汉语中语素、词和词组的界线模糊。
      1. 象牙 是词? 兔牙?
      2. 吃饭 吃鱼
      3. 毁坏 打坏
  • 汉语分词规范

    1. 《信息处理用汉语分词规范》GB/T13715-92,中国标准出版社,1993
    2. 资讯处理用中文分词规范》台湾中研院,1995
  • 评测

    1. 国内863、973、中文信息学会
    2. 国际 ACL SIGHAN bakeoff (2003~2007)
    3. 封闭 /开放(是否可以使用训练语料之外的其它语言
      资源)
    4. 多个训练语料,回避标准问题
  • 为什么要进行汉语的切分研究?

    1. 对汉语进行切分是许多应用的要求
      1. TTS或语音合成
      2. 信息检索
      3. 词语的计量分析
    2. 汉语切词也是深层汉语分析的基础
      1. 句法分析、语义分析等
  • 什么是汉语自动切分?

    1. 通过计算机把组成汉语文本的字串自动转换为
      词串的过程被称为自动切分 (segmentation) 。
    2. 汉语和英语等印欧语不同,词和词之间没有空
      格。
  • 基本方法

    1. 基于词表的方法(需要配备词表)
      1. 最大匹配法(MM)(正逆)
        1. 算法非常简单
        2. MM和RMM法均没有检测歧义的能力。(只能给出一种切分结果)
        3. 长词优先
          1. 输入:他将来中国
          2. MM:他/将来/中国
          3. RMM:他/将来/中国
          4. 正确:他/将/来/中国
      2. 全切分+路径选择
    2. 字序列标记方法(无需词表、需切分语料)

      1. 把切分问题看作给句子中每个字加标记的过程

        1. 四个标记:

          1. B 词首
          2. M 词中
          3. E 词尾
          4. 单独成词 S

            • 汉语切分的关键问题
    3. 切分歧义(消解)
      1. 交集型歧义
        1. 交集型歧义字段中含有交集字段的个数,称为链长。
        2. 从小学 链长是1
        3. 结合成分 链长是2
        4. 为人民工作 链长是3
        5. 中国产品质量 链长是4
        6. 部分居民生活水平 链长是6
        7. 治理解放大道路面积水 链长是8
      2. 组合型歧义
      3. 混合型歧义
    4. 未登录词识别(OOV,词表或训练语料中没有的词)
  • 歧义的分类

    1. 真歧义(歧义字段在不同的语境中确实有多种切分形式)
    2. 伪歧义(歧义字段单独拿出来看有歧义,但在(所有)真实语境中仅有一种切分形式可接受。)
  • 歧义的发现

    1. 双向最大匹配(MM+RMM)
      1. 同时采用MM法和RMM法
      2. 如果MM法和RMM法给出同样的结果,则认
        为没有歧义,若不同,则认为发生了歧义。
      3. 双向最大匹配法不能发现所有的歧义,存在
        盲点
        1. 最大匹配法不能发现组合型歧义(长词优先
          1. 输入:他从马上下来
          2. MM、RMM:他/从/马上/下来
        2. 在一定条件下(链长为偶数),双向最大匹配法也不能发现交集型歧义
          1. 输入: 原子结合成分子时
          2. MM:原子/结合/成分/子时
          3. RMM:原子/结合/成分/子时
    2. MM+逆向最小匹配法(发现组合型歧义)
    3. 全切分算法(发现所有切分歧义)(计算复杂度太高了)
  • 歧义消解

    1. 基于记忆的伪歧义消解(伪歧义存表后对照消岐)
    2. 基于规则的歧义消解(注意规则中字母的含义)
    3. 基于统计的歧义消解(如何评价最佳路径)

      1. 统计词表中每个词的词频,并将其转换为路径代价
      2. 切分路径的代价为路径上所有词的代价之和
      3. 寻求代价最小的路径

        • 未登录词识别
    4. 未登录词识别困难的原因
      1. 未登录词没有明确边界
      2. 许多未登录词的构成单元本身都可以独立成词
    5. 传统上,每一类未登录词都要构造专门的识别
      算法
      1. 在序列标注法中,未登录词无需单独处理。
    6. 识别依据
      1. 内部构成规律(用字规律)
      2. 外部环境(上下文)
    7. 未登录词识别进展
      1. 较成熟(规律性比较强)
        1. 中国人名、译名
          1. 计算一个可能的人名字串的概率,若其
            概率大于某个阈值,则判别为人名。
        2. 中国地名
      2. 较困难
        1. 商标字号
        2. 机构名
      3. 很困难
        1. 专业术语
        2. 缩略语
        3. 新词语

03(语言模型)

  • 语言建模 (Language Modeling)

    1. 对于一个服从某个未知概率分布P的语言L,根
      据给定的语言样本估计P的过程被称作语言建模。
    2. 根据语言样本估计出的概率分布P就称为语言L的语言模型。(概率之和为1)
    3. 在语音识别中,如果识别结果有多个,则可以根据语言模型计算每个识别结果的可能性,然后挑选一个可能性较大的识别结果。
    4. 汉语切分歧义消解?(借助语言模型)
    5. 对于给定的句子s = w 1 w 2 …w n ,如何计算P(s)?(链式规则 Chain rule)
  • 何谓n元组 (n-gram) ?

    1. 若不限制词串的长度,参数估计存在困难
    2. n元模型是一种近似模型,n的选择需要平衡模
      型的准确性和可计算性。
    3. n元语言模型
      1. unigram (n=1)
      2. bigram (n=2)
      3. trigram (n=3)
      4. four-gram(n=4)
    4. 历史信息的选择
      1. 在n元模型中,参数估计中考虑了n-1个词的历史信息。实质是给定句子中前面n-1个词,预测下面的词是哪个词。
      2. 历史信息越多,选择限制更强,模型越准确。(所以神经网络必须要解决长距离依赖问题)
      3. n 较大时(区分度好,但需要大量语料,训练代价大,参数估计不可靠)
      4. n 较小时(不具有区分性,计算代价小,参数估计可靠)
  • 建立n元语言模型

    1. 数据准备(分词,加入句子边界标记)
    2. 参数估计(用训练语料)
      1. 最大似然估计 (MLE)(选择一组参数,使得训练样本的概率最大)
      2. 数据稀疏问题(有些语料概率为零)————加入平滑原则
  • Zipf 定律(平滑工作的必要性)

    1. Zipf 定律(大部分词都是低频词)
    2. 只有少量常用词,语料库可以提供它们规律的可靠样本(平滑工作的必要性)
    3. 针对某个语料库,若某个词w的词频是f,并且该词在词频表中的序号为r(即w是所统计的语料中第r常用词),则 f × r = k (k是一个常数)
    4. 若w i 在词频表中排名50,w j 在词频表中排名150,则w i 的出现频率大约是w j 的频率的3倍
  • 平滑技术

    1. Add-one平滑
      1. new_count(n-gram) = old_count(n-gram) + 1
      2. 没有出现过的n元组的概率不再是0
      3. 给未出现的n元组分配了太大的比例(99.96%)
      4. 对于未出现的元祖都分配同样的比例,是公平合理的吗?
    2. Add-delta 平滑
      1. 不是加 1,而是加一个小于1的正数a(例如:a=0.5)
    3. 留存估计 (Held-out Estimation)
      1. 训练语料(training set): 用于初始的频率估计
      2. 留存语料(held out data): 用于改善最初的频率估计
      3. ==具体的看ppt==.
    4. 删除估计(双向交叉验证)(Deleted Estimation)
      1. 如果有很多训练语料的话,可以使用留存估计
      2. 如果预料不够多,可以将其分为两个部分,让他们互为训练(留存)语料,最后的模型对于两次的留存估计加权求平均。
    5. Good-Turing 平滑
      1. 利用高频率n元组的频率调整低频的n元组的频率
      2. 一般认为Turing估计值比较可靠,因此应尽可能使用Turing估计值,当Turing估计值和Good-Turing估计差别不大时,转向使用Good-Turing估计值,直至结束。
      3. r 越大,p MLE 越可靠,分配出去的概率的比例应该越小r*/r 越接近于1
    6. 组合估计
      1. 高阶n元组的概率估计可以参考低阶n元组的概率估计值.
      2. 因此可以把不同阶别的n元组模型组合起来产生一个更好的模型。
      3. 简单线形插值(权值 ai 是常量)
        1. 在线形插值模型中,无论高阶n元组是否
          出现,低阶n元组都会被用来估计高阶n元组的概率分布
      4. Jelinek-Mercer平滑
      5. 回退模型 (back-off model)
        1. 在高阶模型可靠时,尽可能的使用高阶模型
        2. 必要时,使用低阶模型
        3. 在回退模型中,高阶n元组一旦出现,就
          不再使用低阶n元组进行估计
      6. Katz平滑(看ppt)
      7. 在回退模型和线形插值模型中,当高阶n
        元组未出现时,使用低阶n元组估算高阶n元组的概率分布

04(熵和语言模型评价)

  • 最优编码

    1. 定长编码(位数固定)
    2. 变长编码(给小概率信息赋以较长的编码,而给大概率消息赋以较短的编码)
    3. 消息的编码长度大,可理解为消息所含信息量大。
    4. 消息的编码长度小,则消息所含信息量小。
    5. 平均信息量即为发送一个消息的平均编码长度 。
    6. 信息论中用熵描述随机变量平均信息量。
    1. 熵描述了随机变量的不确定性(熵越大不确定性越大)
    2. 联合熵(设X 、Y是两个离散型随机变量,它们的
      联合分布密度为p(x,y),则X,Y的联合熵定义为)
    3. 条件熵(设X 、Y是两个离散型随机变量,它们的
      联合分布密度为p(x,y),则给定X时Y的条件熵定义为)
    4. 链式规则 H(X,Y) = H(X) + H(Y|X)
    5. 信息量的大小随着消息长度的增加而增加,为了便于比较,一般使用 熵率的概念,熵率一般也称为 字符熵 (per-letter entropy) 或词熵(汉字的词熵比英文高)
    6. 相对熵
    7. 交叉熵
  • 语言模型评价

    1. 一般而言,交叉熵越小,模型性能会越好
  • 互信息

    1. H(X)和 H(X|Y) 的差称为互信息,一般记作I(X;Y)
    2. I(X;Y)描述了包含在X中的有关Y的信息量,或包含在Y中的有关X的信息量
    3. I(X;Y)≥0 等号成立当且仅当X和Y相互独立(两个圆不相交)
    4. I(X;Y) = I(Y;X) 说明互信息是对称的
  • 点间互信息 (pointwise mutual information)

    1. 当 I(x,y) >> 0时,x和y高度相关
    2. 当 I(x,y) = 0时,x和y相互独立
    3. 当 I(x,y) << 0时,x和y互补分布
  • 困惑度

    1. 和交叉熵的结果没有什么区别

      • 噪音信道模型
    2. 作为通信系统而言,人们最为关心的是,如何将消息编码,以便消息在有噪声存在的情况下有效可靠地发送到接收方
    3. 在利用噪声信道处理语言问题时,人们并不关心编码问题,而更多关心的是,在有噪声存在的情况下,如何解码将输出还原为信道输入
    4. 为机器翻译找到了整齐的数学描述。

05(隐马尔科夫模型)

  • 马尔科夫模型

    1. 设S是一个由有限个状态组成的集合。S={1, 2, 3, …,n-1, n}
    2. 随机序列称为时间齐次马尔可夫链
    3. 一阶马尔科夫模型可以描述为一个二元组( S, A ) ,S是状态的集合,而A是所有状态转移概率组成的一个n行n列的矩阵,其中每一个元素a ij 为从状态i转移到状态j的概率。
    4. 状态和输出是一对一的关系,所以根据观察到的输出序列就可以决定模型中的状态转换序列。
  • 隐马尔科夫模型

    1. 70年代, CMU 的 J.K.Baker 以及 IBM 的 F.Jelinek 等把隐马尔科夫模型应用于语音识别
    2. 状态和观察值并不是一一对应,状态转移过程被不确定的观察序列(一个概率分布)所隐藏
    3. 隐马尔可夫模型 l 可以表示为一个五元组( S, V, A, B, p )
    4. 隐马尔可夫过程是一个双重随机过程,其中一重随机过程不能直接观察到,通过状态转移概率矩阵描述。另一重随机过程输出可以观察到的观察符号,由输出概率来定义。
  • 隐马尔科夫模型的三个问题

    1. 给定模型和观察序列的情况下,如何有效地计算出观察序列的概率,即P(O| l )?
      1. 可以用穷举法,但是复杂度过高,计算难度大
      2. 向前算法
      3. 向后算法
    2. 计算出一个能最好解释观察序列的状态转换序列。
      1. 维特比算法
    3. 隐马尔科夫模型的第三个问题是如何根据观察序列O =( o 1 o 2 o 3 … o T )求得模型参数或调整模型参数,即如何确定一组模型参数使得P (O| l )最大
      1. 隐马尔科夫模型的前两个问题均假设模型参数已知,第三个问题是模型参数未知,求最佳模型的问题,是三个问题中最为困难的问题。
      2. 有指导的参数学习(效果较好,但是需要人工大量标记观察序列的转移状态)
      3. 无指导的参数学习(只有观察序列)(随机初始化一组参数,反复迭代收敛到我们可以接受的精度。容易陷入局部最优)
      4. 直观的想法(考虑所有可能性,多次计算,根据频次求期望最大。计算复杂度太高,不可取)
      5. Baum-Welch Algorithm(看ppt)(本质上是一种EM算法,易陷入局部最优)

06(词类自动标注)

  • 词的分类依据

    1. 形态标准
    2. 分布标准
    3. 意义标准
  • 英语中词的分类

    1. 英语词类
    2. 词类的子类
  • 汉语中词的分类

    1. 由于汉语缺乏形态,词的类别不如英语等西方语言那样易于判别。汉语语言学家在汉语词类划分问题上一直有不同见解,经过长期争议,至今仍然存在多种看法。
    2. 兼类问题(如果同一个词具有不同词类的语法功能,则认为这个词兼属不同的词类,简称兼类)
    3. 汉语词类标记集(语料库此类标记集)
  • 词类自动标注

    1. 词类自动标注是深层语言分析的基础(如:句法分析)
    2. 词类自动标注是深层语言分析的基础
      1. 要标注的词的不同词类的分布
      2. 上下文中其它词的词类信息
    3. 词类自动标注
      1. 基于规则的词类标注
      2. 基于统计的词类标注
      3. 统计规则相结合的词类标注
      4. 其他方法(基于决策树,基于神经元网络,基于最大熵原则)
    4. 未登陆词的词性标注是难点(可以视作兼类词)
  • 基于规则的词类标注方法

    1. 早期的词类标注方法多为基于规则的方法
    2. 基于规则的词类标注程序工作过程
      1. 查词典,给句中各词标记所有可能的词类标记
      2. 应用规则,逐步删除错误的标记,最终只留下正确的标记
  • 基于隐马尔科夫模型的词类标注(统计)

    1. ==细节看ppt==
    2. 参数学习(有指导/无指导)
    3. 最大似然估计
    4. 改进基于HMM的词类标注(bigram可以改成trigram)
  • 基于转换的词类标注(兼具规则和统计两个方面的特性)

    1. 应用规则进行标注,规则(机器学习得到的)称为转换
    2. 规则不是人工总结,而是应用机器学习的办法学习得到。使用的机器学方法通常称作基于转换的学习
    3. 激发环境(条件语句)
    4. 重写规则(标注语句)
    5. 转换规则可以视为一种纠错规则(在转换规则使用前,待标注的句子已经进行过初步标注,转换规则负责改正其中的错误标注)
    6. 初标注器的选择
      1. 学习到的转换规则和初标注器有关,选择不同的初标注器学习到的转换规则不同
      2. 用学到的规则进行词类标注时,应保证和学习规则时用相同初标注器。
    7. 转换规则的排列顺序是有意义的
      1. 先学到的转换规则先使用,后学到的规则后使用,后学到的规则的作用对象是先学到的规则的处理结果
      2. 先学到的规则效果明显、后学到的规则对错误率的改进较小
      3. 规则的使用过程类似于创作油画
    8. 激发环境的选择
      1. 激发环境的选择确定了利用的上下文知识的多少。
      2. 理论上,利用的上下文知识越多性能越好
      3. 但对激发环境不加限制,导致学习效率严重下降,需进行权衡。
      4. Brill使用激发环境模板来限制可以使用的环境

07(自然语言处理研究中常用的机器学习技术)

  • 统计建模问题

    1. 某随机现象,概率分布未知
    2. 但拥有该随机现象的一组样本数据 (训练数据), 或者拥有该数据的部分知识。
    3. 人们可以基于样本数据或部分知识对随机现象所服从的概率分布进行推断,并求解这个概率分布。
    4. 利用所得到概率分布对随机现象的未来行为进行预测。
    5. 最大熵方法就是这样一种统计建模技术
  • 最大熵原则( Principle of Maximum Entropy )

    1. 熵描述了随机变量的不确定性,熵值越大表明该随机变量的不确定性越大,该随机变量也就越接近均匀分布
    2. 在只掌握关于未知分布的部分知识时,应该选取符合这些知识但熵值最大的概率分布。这就是最大熵原则
    3. 按照最大熵原则进行统计建模,是人们可以作出的唯一不偏不倚的选择,任何其它的选择都意味着人们增加了额外的约束和假设,这些约束和假设根据人们掌握的信息无法作出。
  • 最大熵方法中约束表达

    1. 通过约束使特征的模型期望与观察期望保持一致,最大熵方法保证所得到模型分布符合样本数据中的已知统计证据。
    2. 满足所有约束条件的分布通常不止一个。若用P表示所有满足特征约束条件的分布
    3. 求解最大熵模型就成为一个约束最优化问题。
    4. 最大熵模型是一种对数线性模型,其中指数部分表述为特征的一种线性加权组合,特征f i 对分布的影响通过拉格朗日乘数 l i 来体现。
  • 条件最大熵分布

    1. 在计算语言学领域,人们需要的常常是条件模型,需要估算的是 p(y|x),此时优化的目标是分布的条件熵
  • 最大熵方法的优点

    1. 利用最大熵方法进行统计建模时,人们只需要根据具体问题的要求,集中精力选择特征,无需花费精力考虑如何使用这些特征,并且选择特征可以很灵活,无需考虑特征之间是否独立,特征的类型和特征的数量都可以随时进行调整。
    2. 利用最大熵建模,参数平滑甚至可以通过特征选择的方式加以考虑,每个特征对概率分布的贡献由参数 l i 决定
  • 最大熵方法的模型训练

    1. 可以采用数值最优化算法,两种考虑方式
      1. 以样本数据的熵值最大化作为优化目标
      2. 以样本数据的概率值最大化作为优化目标进行最大似然估计
    2. 目前提出的用于训练最大熵模型的算法有(迭代)
      1. GIS算法(Generalized Iterative Scaling)
      2. IIS算法(Improved Iterative Scaling)[收敛速度快]
    3. 梯度下降法、拟牛顿法等最优化算法也可用于训练最大熵模型,例如L-BFGS算法
  • 特征选择

    1. 对于样本数据,可以设计出成千上万的特征,并非所有特征的样本期望值都是可靠的,很多特征的样本期望值带有偶然性,与特征的真实期望并不一致,引入这样的特征无益于统计建模工作。
    2. 需要特征选择策略
    3. 设置一个截止频率
    4. 采用特征选择算法
  • 图模型 (Graphical Model)

    1. 条件马尔可夫模型、条件随机场模型是图模型
    2. 图模型常用来为若干随机变量的联合分布进行统计建模,用以将联合分布进行适当的分解
    3. 依据链式规则,N个随机变量的联合分布可做如下形式的分解
    4. 若已知随机变量之间的依赖关系,上述分解式中条件分布可略去和变量x i 独立的变量
    5. 图模型用图结构描述随机变量之间的依赖关系
      1. 结点 — 随机变量
      2. 边 — 随机变量之间的依赖关系
    6. 图结构可以是有向图(HMM)和无向图(团上的是函数需要归一化)
  • 有向图模型与无向图模型的对比

    1. 共同之处(将复杂的联合分布分解为多个因子的乘积)
    2. 不同之处
      1. 有向图模型因子是概率分布、无需全局归一
      2. 无向图模型因子是势函数,需要全局归一
    3. 优缺点
      1. 有向图模型无需全局归一、训练相对高效
      2. 无向图模型中势函数设计不受概率分布约束,设计灵活,但全局归一代价高
  • 判别模型和生成模型

    1. 对o和s进行统计建模,通常有两种方式
      1. 生成模型(着眼于构建o和s的联合分布 p(s,o))
      2. 判别模型(着眼于构建o和s的条件分布 p(s|o))
    2. 判别模型与序列标记问题有较好的对应性(例如HMM)
    3. 在利用生成模型进行序列标注时(理论上需要归一化)
    4. 训练时,二者优化准则不同
      1. 生成模型优化训练数据的联合分布
      2. 判别模型优化训练数据的条件分布
    5. 对于观察序列的处理不同
      1. 生成模型中,观察序列作为模型的一部分
      2. 判别模型中,观察序列只作为条件,因此可以针对观察序列设计灵活的特征
    6. 训练复杂度不同
      1. 判别模型训练复杂度较高
    7. 是否支持无指导训练
      1. 生成模型支持无指导训练,判别模型无指导训练代价高
  • 条件马尔可夫模型 (Conditional Markov Model )

    1. 针对HMM的缺陷,提出条件马尔可夫模型
      1. HMM过强的独立性假设限制模型的改进,无法使用关于观察值的多重特征以及不相互独立的特征
      2. 模型训练使用联合分布、标注使用条件分布,对性能造成负面影响
    2. 条件马尔可夫模型是判别模型、有向图模型
    3. 最大熵马尔可夫模型(MEMM)是一种简化了的条件马尔可夫模型(已被应用于NLP)
    4. 条件马尔可夫模型的训练采用最大似然估计法
    5. 仍属数值最优化问题,可采用数值最优化算法求解参数
    6. 对于条件马尔可夫模型,==解码仍是Viterbi算法==
    7. 条件马尔可夫模型的缺陷是==标记偏执问题== (Label Bias problem)
      1. 标记转移分布熵值低的情况,都会有标记偏执问题。
      2. 标记偏执的原因在于局部归一(是什么?)。
      3. 标记偏执问题给条件马尔可夫模型的应用性能造成很大负面影响
      4. 解决的办法是取消局部归一,代之以全局归一
  • 条件随机场模型 (Conditional Random Fields)

    1. 可以很好地解决标记偏执问题
    2. 条件随机场模型是==判别模型==(特征设计灵活)无向图模型(无需局部归一,代之全局归一)
    3. 基于最大熵原则进行建模,定义样本条件熵
    4. 以团为单位定义特征
    5. 约束特征的样本期望与模型期望相同
    6. 运用拉格朗日乘数法,求解出条件随机场的分布形式
    7. 对数线性模型
    8. 训练条件随机场模型原理与其它前述模型类似,可以采用GIS、IIS算法以及其他数值优化算法
    9. 基于条件随机场模型进行==标注采用Viterbi算法==
    10. 理论上较为完善的序列标记模型
    11. 兼具判别模型和无向图模型的优点特征设计灵活、无需考虑特征独立性,没有标记偏执问题
    12. 条件随机场模型训练代价大、复杂度高
    13. 除链式图结构外,还可以设计其他图结构,如针对网页的链接结构
    14. 有开源代码,有兴趣可了解

08(深度学习与自然语言处理)

  • 神经网络模型概要

    1. 上世纪70年代,神经网络研究陷于低潮
    2. 上世纪80年代,神经网络研究复苏(BP算法被关注和应用)
    3. 上世纪90年代,SVM等取代神经网络模型获得更多关注
    4. 2006年以后,伴随着Geoffrey Hinton等人的工作,神经网络重新崛起(Deep Learning)
  • 非线性学习

    1. 与最大熵模型、支持向量机的差异(非线性表达)
    2. 神经网络模型有更强的表达能力。(capacity)
    3. 表达能力强!=成功
      1. 逼近的近似程度与hidden neuron的数量有关
      2. Learnability of NN model没有保证
      3. 训练算法如何学到正确的函数没有保证(局部最优)
  • 特征表示

    1. 传统机器学习的特征表示
      1. 原子特征 和 组合特征
      2. 特征向量的维数=特征的数量
      3. onehot
      4. 特征表示的特点:高维、稀疏
      5. 特征和特征之间相互独立
    2. 神经网络模型中的特征表示
      1. ==特征被表示为低维、稠密(dense)向量==
      2. 大多只关心原子特征
      3. ==原子特征被嵌入d维向量空间(d<<特征数==量)
      4. 每个分量不只是0和1,而是一个任意实数
      5. 类似的特征拥有类似的向量表示(稠密表示拥有更好的推广能力)
      6. 特征表示被称作 word embedding 或者 feature embedding
      7. 特征表示被视作模型的一个组成部分,自动学习
    3. 神经网络模型的特征处理
      1. 提取与任务相关的原子特征(f1,f2,f3…fk)
      2. 对于任意特征fi,的到其embedding表示v(fi)
      3. 组合相关特征的向量表示(拼接、求和…),形成模型的输入向量x
      4. 将x作为神经网络模型输入,生成任务的输出
    4. ==特征抽象和表示学习==
      1. 在深度学习模型中,特征表示是分层的。
      2. 高层特征经由底层特征自动学习得到
      3. 底层特征对应简单具体概念,高层特征对应高层抽象概念
      4. 每层特征对应输入x的一种表示
      5. 深度体现为特征表示的层次性
      6. 分类
        1. 基于规则的模型(纯手工特征)
        2. 经典学习模型(特征工程+特征映射)
        3. 深度学习模型(自动提取特征,组合特征在高维体现)
  • 前馈神经网络

    1. 神经网络的基本计算单位:神经元(neuron)
    2. 将多个神经元逐层互联形成网络结构,得到前馈神经网络模型( Feed-forward neural network ),也称多层感知机( Multi-Layer Perceptron )
    3. 全连接层( fully connected layer )(每个结点都与下一层的所有结点有连接)
    4. y可以是标量,对应回归模型 或 二分类模型
  • 激活函数

    1. 激活函数为模型引入非线性(描述能力)
    2. 激活函数有多种选择(sigmoid/tanh/ReLU)
    3. 何选择激活函数没有确定方法,需要试验一般经验:ReLU≻tanh≻sigmoid
    4. 获得输出类别的==概率分布==
    5. 输出层归一 softmax
    6. 支持最大似然估计、支持用交叉熵作为优化目标
  • Embedding Layer(lookup layer)

    1. word embeddding /feature embedding
    2. 拼接/求和
    3. Embedding Layer作为网络的组成部分,参与训练
  • 损失函数

    1. 训练目标,损失最小(估计值与真实值之间)
    2. 常见的损失函数
      1. Hinge Loss (Binary)
      2. Hinge Loss(Multiclass)
      3. Cross Entropy Loss(需要为输出层softmax
  • 神经网络训练

    1. 主要方法:(Stochastic) Gradient Descent
    2. 最速下降方向: 负梯度方向 −g
    3. 更新步幅:学习率 ?
    4. 梯度更新规则 ? ← ? − ?g
    5. deterministic gradient descent
    6. Stochastic Gradient Descent(Online SGD/Mini-batch SGD)
    7. SGD variant: AdaGrad, AdaDelta, RMSProp, Adam等
    8. 如何计算梯度?— Backpropagation Algorithm
    9. 原理:复合函数求导的链式法则
    10. 计算过程
      1. Forward Pass (自输入层起逐层计算,最终算出loss)
      2. Backward Pass(自loss function起,逐层计算梯度)
    11. 基于Computation Graph的自动梯度计算
      1. Operation 和variable
      2. Variable用结点表示,operation用边上的标注表示。
  • 卷积神经网络

    1. 稀疏连接
      1. 输出单元只和有限个输入单元连接
      2. 窗口宽度 k
    2. 参数共享(w 称作 filter)
    3. Narrow convolution 和wide convolution
      1. 在输入层两侧填充? − 1个0, 形成wide convolution(句子边缘的信息就不会丢失)
    4. 在NLP中,卷积操作常用来处理序列问题,如句子 或者 语篇
      1. 前馈神经网的输入的维数是固定的。
      2. 卷积输入序列长度可以是变化的。
      3. 通过卷积操作与池化操作(dynamic k-max pooling)将变长序列转换为固定维度的向量,并进而基于该向量利用前馈神经网等完成类别判定。
      4. 例如 情感极性分类
        1. Sentiment class ∈ {positive, negative, neutral}
    5. 卷积流程:
      1. 给定句子
      2. 对应的embedding序列
      3. 设窗口宽度为k
      4. 进行卷积操作(filter共享参数)
      5. 经过卷积操作,句子被转换为m个向量。其中,m = n-k+1 (narrow) 或者 m = n+k-1 (wide)
    6. 优缺点
      1. 卷积操作有利于发现与位置无关的局部特征
      2. 池化操作将任意长度的序列转换为固定长度的向量表示(daynamic k-max pooling)
      3. 卷积操作可以堆叠(深层卷积)
      4. 多通道卷积(multi-Channel)
      5. 池化操作损失了序列结构信息
  • 循环神经网络

    1. 循环神经网络是面向序列结构的建模工具
    2. 作为序列表示模型(用最后一个时刻的隐层状态作为序列的表示)(例如:情感分析)
    3. 作为序列标注模型(每个时刻均有输出)(例如:词类标注、汉语分词)
    4. 多层循环神经网络/双向循环神经网络
    5. 缺陷(梯度消失/爆炸)
    6. 循环神经网络的实现(LSTM/GRU)

14(机器翻译概述)

  • 什么是机器翻译

    1. 研究目标:研制能把一种自然语言(源语言)的文本翻译为另外一种自然语言(目标语言)的文本的计算机软件系统。
    2. 制造一种机器,让使用不同语言的人无障碍地自由交流,一直是人类的一个梦想。
  • 机器翻译研究的发展历程

    1. 70年代,机器翻译研究开始复苏
    2. 80年代,机器翻译研究呈繁荣局面
    3. 90年代及以后,统计翻译方法重回视野
      1. 基于词的统计翻译模型
      2. 基于短语的统计翻译模型
      3. 基于结构的统计翻译模型
      4. 深度学习和机器翻译(2014-)
    4. 翻译需求的种类
      1. 传播型翻译需求 (information dissemination)
        1. 希望将自己的信息传播出去
        2. 跨国企业的产品说明、技术资料
      2. 吸收型翻译需求 (information assimilation)
        1. 希望了解以自己所不通晓的语言为载体的信息
        2. 科学工作者之于科技文献
  • 机器翻译的基本方法

    1. 基于规则的机器翻译方法(不太成功)(理性主义)
      1. 直接翻译法(无需分析原文本,逐词翻译(过度简化翻译过程))
      2. 转换法(探究表层语义的深层表达)
      3. 中间语言法(中间语言定义困难,可以有效减少翻译模块)
      4. 基于知识库(不仅进行深层语言学分析,还需要进行世界知识的显式处理)
    2. 基于语料库的机器翻译方法(经验主义)
      1. 试图避开知识库建设的困难
      2. 试图回避对源语言进行深层语言分析
      3. 翻译知识主要来自双语平行语料库
      4. 基于实例(翻译通过模仿实例库中已有的译文基于类比的策略进行翻译)
      5. 基于统计(机翻译通过建立、训练统计翻译模型、并进而基于统计模型进行翻译)
    3. 混合式机器翻译方法

你可能感兴趣的:(NLP)