2.6 小结及深入阅读 85
2.6 小结及深入阅读
本章重点介绍了如何对自然语言处理问题进行统计建模,并从数据中自动学
统计模型的参数,最终使用学习到的模型对新的问题进行处理。之后,本章将这
思想应用到三个自然语言处理任务中,包括:中文分词、语言建模、句法分析,它们
也和机器翻译有着紧密的联系。通过系统化的建模,可以发现:经过适当的假设
化简,统计模型可以很好的描述复杂的自然语言处理问题。相关概念和方法也会
后续章节的内容中被广泛使用。
由于本章重点介绍如何用统计的思想对自然语言处理任务进行建模,因此并
有对具体的问题展开深入讨论。有几方面内容,读者可以继续关注:
在建模方面,本章介绍的三个任务均采用的是基于人工先验知识进行模型设
计的思路。也就是,问题所表达的现象被 一步一步 生成出来。这是一种典
型的生成式建模思想,它把要解决的问题看作一些观测结果的隐含变量(比
如,句是观果,分果是含在的变量),之通过含变
量生成观测结果的过程进行建模,以达到对问题进行数学描述的目的。这类
模型一般需要依赖一些独立性假设,假设的合理性对最终的性能有较大影响。
相对于生成模型Generative Model另一类方法是判别模型Discriminative
Model它直接描述了从隐含变量生成观测结果的过程,这样对问题的建模
更加直接,同时这类模型可以更加灵活的引入不同的特征。判别模型在自然
语言广应用 [253][214]。在会使
型。
从现在自然语言处理的前沿看,基于端到端学习的深度学习方法在很多任务
中都取得了领先的性能。但是,本章并没有涉及深度学习及相关方法,这是
由于笔者认为:对问题的建模是自然语言处理的基础,对问题的本质刻画并
不会因为方法的改变而改变。因此,本章的内容没有太多地陷入到更加复杂
的模型和算法设计中,相反,我们希望关注对基本问题的理解和描述。不过,
一些前沿方法仍可以作为参考,包括:基于条件随机场和双向长短时记忆模
型的序列注模 [160][120][191]、神经语模型 [14][204]、神句法分析
模型 [32][354]
此外,本章并没有对模型的推断方法进行深入介绍。比如,对于一个句子如何
有效的找到概率最大的分词结果?显然,简单枚举是不可行的。对于这类问
题比较简单的解决方法是使用动态规划 [47]。如果使用动态规划的条件不
足,可以考虑使用更加复杂的搜索策略,并配合一定剪枝方法。实际上,无论
ngram 语言型还简单上下无关法都高效断方法。比如,
ngram 语言模型可以被视为概率有限状态自动机,因此可以直接使用成熟的
自动机工具。对于更复杂的句法分析问题,可以考虑使用移进规约方法来解
决推断问题 [1]