NLP 课程笔记

NLP 课程笔记

stevenliuyi   http://mooc.guokr.com/note/157/2013-08-02 16:51

课程涵盖范围:

  • NLP 子问题(NLP sub-problems):词性标注(part-of-speech tagging)、句法分析(parsing)、词义辨识(word-sense disambiguation)等
  • 机器学习技术(Machine learning techniques):概率无关上下文语法(probabilistic context-free grammars)、隐马尔可夫模型(hidden markov models)、估值/平滑技术(estimation/smoothing techniques)、EM 算法(EM algorith)、对数线性模型(log-linear models)等
  • 应用(Applications):信息提取(information extraction)、机器翻译(machine translation)、自然语言界面(natural language interfaces)等


第一周:
语言模型(Language Modeling)

  • Trigram 模型:


(马尔可夫链)

  • 评价模型:Perplexity


  • 估计 q 值:

◇ 最大似然估计(数据不够,需要 smooth):

◇ 线性插值:



◇ Discounting:

Katz Back-Off 模型

第二周:
标注问题、隐马尔可夫模型(Tagging Problems, Hidden Markov Models)

  • 标注问题:监督式学习(supervised learning)
  • 生成模型(generative model),对联合概率分布建模:


  • 隐马尔可夫模型(属于生成模型):


标注:

◇ Viterbi 算法:动态规划算法,时间复杂度为 

第三周:
句法分析、上下文无关语法(Parsing, Context-Free Grammars)

  • 句法分析
  • 上下文无关语法(CFG):

◇ N:非终端符号集(例:N = {S, NP, VP, PP, DT, Vi, Vt, NN, IN})
◇ Σ:终端符号集(例:Σ = {sleeps, saw, man, woman, telescope, the, with, in})
◇ R:
◇ S:开始符


概率上下文无关语法(Probabilistic Context-Free Grammars)

  • 概率上下文无关语法(PCFG,为 CFG 的每一条规则加上概率)

◇ 概率:

◇ 计算最高概率的语法树:

◇ 最大似然估计:

◇ CKY 算法:动态规划算法

第四周:
PCFG 的弱点(Weaknesses of PCFGs)

  • 缺少对词汇信息(lexical information)的敏感度
  • 缺少对结构频率(structural frequencies)的敏感度


词汇化的 PCFG(Lexicalized PCFGs)

  • 中心词(head):加入中心词的语法树,克服PCFG的弱点
  • PCFG的参数(例:)→ 词汇化PCFG的参数(例:
  • 参数估计(smooth):

◇ 第一步:


◇ 第二步:




  • 评价:准确率(precision)、召回率(recall)


第五周:
机器翻译(Machine Translation)

  • 挑战:词汇歧义、不同语序、句法结构……
  • 经典机器翻译:

◇ 直接翻译
◇ 基于转换(transfer-based)的机器翻译:分析→转换语法树→生成(例:Systran 系统)
◇ 跨语言(interlingua-based)的机器翻译:分析(独立于语言的表示)→生成

  • 统计机器翻译(statistical MT):噪声信道模型(noisy channel model),以法翻英为例

◇ 语言模型:,可以为 Trigram 模型
◇ 翻译模型:
◇ 
◇ 


IBM 翻译模型(The IBM Translation Models)

  • IBM 模型 1

◇ 定义英文句 e 有 l 个词汇,法文句 f 有 m 个词汇
◇ 对齐(alignment)a 为
◇ 模型:


其中,


◇ 副产品:复原 alignment(现在最初的 IBM 模型已很少用于翻译,但仍用于复原 alignment)


  • IBM 模型 2:

◇ 与 IBM 模型 1 的区别:

◇ 复原 alignment:

  • 参数估计(t、q):EM算法(该算法会收敛到 log 似然函数的局部最优解)


第六周:
基于短语的翻译(Phrase-Based Translation)

  • 从 alignment 中学习短语

◇ 通过 IBM 模型 2(和 )得到 alignment矩阵
◇ 从矩阵提取短语对

  • 基于短语的翻译模型




◇ p:短语 tuple (s, t, e),表示源语言的  译为目标语言的 e(例:(1, 3, we must also))
◇ y:短语的有限序列 
◇ :满足一定条件的 y 的集合
◇ 最优翻译:

◇ 任一 y 的得分:

其中,h 为 Trigram 模型得分,g 为基于短语的得分

  • 解码算法(decoding algorithm)


第七周:
对数线性模型(Log-Linear Models)

  • 对数线性模型:

◇ 条件概率:
◇ 特征:,特征向量:
◇ 参数向量:
◇ 得分:

◇ 模型:


  • 参数估计:

◇ 最大似然估计:


◇ 梯度上升法(gradient ascent method)

  • 规则化(regularization):

第八周:
用于标注的对数线性模型(Log-linear Models for Tagging)

  • 标注序列:

  • Trigram 对数线性 tagger:



  • 训练模型:

◇ 4-tuple 历史:

  • Viterbi 算法


基于历史的语法分析的对数线性模型(Log-Linear Models for History-based Parsing)

  • 第一步:将树表示为 decision 序列(Ratnaparkhi's Parser)


◇ 第一层:标注
◇ 第二层:chunks
◇ 第三层:其他结构

  • 第二步:树的概率为


  • 第三步:使用对数线性模型估计


◇ 定义 f

  • 第四步:搜寻问题

Beam Search 方法(不能用动态规划算法)

第九周:
非监督式学习:布朗聚类(Unsupervised Learning: Brown Clustering)

  • 布朗聚类算法:

◇ 输入:语料库
◇ 输出:词的聚类(或进一步,分级的词聚类)

  • 模型:


  • C的质量:



其中,

  • 算法一:

◇ 每一词有其自己的聚类,共
◇ 进行次合并,每次合并使 Quality(C) 最大的两个类

  • 算法二:

◇ 最常见的 m 个词都有其自己的聚类
◇ 之后每一步建立一个新聚类,再合并使 Quality(C) 最大的两个类

全局线性模型(Global Linear Models)

  • 截至目前为止的所有模型都是基于历史(history-based)的模型(例:PCFG、对数线性 tagger)
  • 全局线性模型:

◇ 三个要素:
特征向量
候选
参数向量
◇ 函数

  • 参数估计:

◇ 感知器算法(perception algorithm)
◇ Boosting
◇ 对数线性模型(最大似然)

第十周:
标注的感知器算法(The Perceptron Algorithm for Tagging)

  • 感知器算法




  • 全局特征

通过局部特征定义全局特征:



  • 使用感知器算法训练 tagger


依存句法分析的感知器算法(The Perception Algorithm for Dependency Parsing)

  • 依存句法分析

◇ 依存(dependency)表示为,分别为首词和修饰词的序号
◇ 时间复杂度为 (比较:PCFG 为,词汇化 PCFG 为

  • 全局线性模型

展开阅读全文

没有更多推荐了,返回首页