近年来,自然语言处理中的统计学方法已经逐渐成为主流。本书是一本全面系统地介绍统计自然语言处理技术的专著,被国内外许多所著名大学选为计算语言学相关课程的教材。本书涵盖的内容十分广泛,分为四个部分,共16章,包括了构建自然语言处理软件工具将用到的几乎所有理论和算法。全书的论述过程由浅入深,从数学基础到精确的理论算法,从简单的词法分析到复杂的语法分析,适合不同水平的读者群的需求。同时,本书将理论与实践紧密联系在一起,在介绍理论知识的基础上给出了自然语言处理技术的高层应用(如信息检索等)。在本书的配套网站上提供了许多相关资源和工具,便于读者结合书中习题,在实践中获得提高。
本书不仅适合作为自然语言处理方向的研究生的教材,也非常适合作为自然语言处理相关领域的研究人员和技术人员的参考资料。
第一部分 基础知识
第1章 绪论
1. 1 理性主义者和经验主义者的方法
1. 2 科学内容
1. 3 语言中的歧义问题是自然语言难以处理的原因
1. 4 第一手资料
1. 5 深入阅读
1. 6 习题
第2章 数学基础
2. 1 概率论基础
2. 2 信息论基础
2. 3 深入阅读
2. 4 习题
第3章 语言学基础
3. 1 词性和词法
3. 2 短语结枸
3. 3 语义和语用
3. 4 其他研究领域
3. 5 深入阅读
3. 6 习题
第4章 基于语料库的工作
4. 1 基础知识
4. 2 文本
4. 3 数据标注
4. 4 深入阅读
4. 5 习题
第二部分 词 法
第5章 搭配
5. 1 频率
5. 2 均值和方差
5. 3 假设检验
5. 4 互信息
5. 5 搭配的概念
5. 6 深入阅读
5. 7 习题
第6章 统计推理:稀疏数据集上的n元语法模型
6. 1 Bins:构造等价类
6. 2 统计估计
6. 3 组合估计法
6. 4 结论
6. 5 深入阅读
6. 6 习题
第7章 语义消歧
7. 1 预备知识
7. 2 有监督消歧
7. 3 基于词典的消歧
7. 4 无监督消歧
7. 5 什么是语义
7. 6 深入阅读
7. 7 习题
第8章 词汇获取
8. 1 评价方法
8. 2 动词子范畴
8. 3 附着歧义
8. 4 选择倾向
8. 5 语义相似性
8. 6 统计自然语言处理中词汇获取的作用
8. 7 深入阅读
8. 8 习题
第三部分 语 法
第9章 马尔可夫模型
9. 1 马尔可夫模型
9. 2 隐马尔可夫模型
9. 3 隐马尔可夫模型的三个基本问题
9. 4 隐马尔可夫模型:实现. 性质和变形
9. 5 深入阅读
9. 6 习题
第10章 词性标注
10. 1 标注中的信息源
10. 2 马尔可夫模型标注器
10. 3 隐马尔可夫标注器
10. 4 基于转换的标注学习
10. 5 其他模型和语言
10. 6 标注准确率和标注器的应用
10. 7 深入阅读
10. 8 习题
第11章 概率上下文无关文法
11. 1 概率上下文无关文法的一些特征
11. 2 概率上下文无关文法的问题
11. 3 词串概率的计算
11. 4 内部-外部算法的问题
11. 5 深入阅读
11. 6 习题
第12章 概率句法分析
12. 1 一些概念
12. 2 一些方法
12. 3 深入阅读
12. 4 习题
第四部分 应用与技术
第13章 统计对齐和机器翻译
13. 1 文本对齐
13. 2 词对齐
13. 3 统计机器翻译
13. 4 深入阅读
13. 5 习题
第14章 聚类
14. 1 层级聚类
14. 2 非层级聚类
14. 3 深入阅读
14. 4 习题
第15章 信息检索
15. 1 信息检索的背景
15. 2 向量空间模型
15. 3 词条分布模型
15. 4 潜在语义索引
15. 5 篇章分割
15. 6 深入阅读
15. 7 习题
第16章 文本分类
16. 1 决策树
16. 2 最大熵建模
16. 3 感知器
16. 4 k最近邻分类
16. 5 深入阅读
16. 6 习题
附录A 统计表
参考文献
符号表
近年来, 统计自然语言处理(或称统计语言学)异军突起, 现已成为自然语言处理研究中的主流. 在统计自然语言处理学科成长的过程中, 有四个因素起着推动作用:
1. 由于计算机硬件的发展, 使大容量的存储和高速计算已经成为可能,
2. 由于计算机网络的普及, 大量电子文本在网络上的涌现, 使语料的获取不再困难,
3. 机器学习学科本身的发展日趋成熟, 并在许多领域得到了广泛应用, 因此它在自然语言处理中的应用已经成为很自然的事情,
4. 由于自然语言本身的复杂性, 即使是语言学家也很难用纯粹的人工规则(或规律)来刻画它, 这就迫使我们从实际语料中学习语言规律.
统计自然语言处理的研究涉及了传统自然语言处理的各个方面, 例如语言分析. 机器翻译. 信息检索. 文本分类等. 可以毫不夸张地说, 统计学习方法的引入大大促进了这些领域的研究和发展. 目前国内几乎所有著名大学的计算机系都在从事这方面的研究(或开设了类似专业). 但是, 系统地讲授或阅读这方面的专著并未得到学术界同行们的重视. 在一次学术会议上, 某校一位教授深有感触地说, “研究生在校学习期间一定要认真读一本专著. ”我们对这位教授的发言深有同感. 研究生们一定要看最新的参考文献, 包括学术会议文章和杂志文章, 但只看这些资料, 不看(或学习)一两本专著, 所学知识可能是支离破碎的, 也未免有急功近利之嫌, 尤其是对一些新兴学科更是如此. 在这样的情况下的研究往往底气不足, 不容易出一些像样的成果. 在学术交流中, 往往大家没有共同的语言, 甚至闹出笑话.
本书是一本系统介绍统计自然语言处理(或统计语言学)的专著, 在国外已经被许多大学用来作为教材. 在国内, 大家已经开始认识到了这本书的价值, 不少大学将本书的英文版作为研究生教材. 将这本专著翻译并介绍给国内广大从事自然语言处理研究的读者, 具有重要的现实意义. 本书覆盖了统计自然语言处理的各个领域中最重要的主题, 内容详尽, 层次清楚. 无论是对于从事信息检索. 机器翻译. 文本分类和语言分析等方面的研究的人员, 还是对于计算语言学专业的本科生和研究生, 本书都有着非常重要的参考价值.
本书由清华大学计算机系的苑春法组织翻译. 苑春法长期从事统计自然语言处理相关领域的研究和教学工作, 对该领域里的问题有一定深度的了解. 参译者也都在该领域里具有一定的研究基础和经历. 本书第2章和第13章~第16章由李庆中初译, 第1章和第5章~第8章由王昀初译, 第3章和第9章~第12章由李伟初译, 前言部分和第4章由曹德芳初译. 最后, 全书由苑春法负责统一修改. 审阅并定稿. 在翻译本书的过程中, 大家力求忠实于原著, 在此基础上尽量把概念表达准确. 清晰. 黄昌宁教授对于本书的翻译工作给予了指导, 闻扬. 周剑辉. 徐薇. 翁耀. 钱冬蕾和林静等人也做了部分内容的翻译和辅助性工作, 在此一并表示感谢.
本书采用英文版第5次印刷的版本进行翻译, 已经对照作者在网站上提供的勘误表对相关内容进行了更正或注解. 由于译者水平有限, 翻译中难免会出现一些不妥之处, 希望广大读者批评指正.
Christopher D. Manning
美国斯坦福大学计算机科学与语言学助理教授, 从事有关人类语言的智能化处理与生成系统及其形式化的研究工作, 重点关注语言的概率模型. 统计自然语言处理. 信息抽取. 文本理解和文本挖掘. 基于约束的语法(HPSG和LFG)理论及其概率的扩展. 句法的类型学. 计算词典编撰学(包括XML, XSL和信息可视化方面的工作)以及在计算语言学和机器学习领域里的其他课题.
Hinrich Schutze
德国斯图加特大学自然语言处理学院教授. 研究兴趣包括统计自然语言处理. 文本挖掘和数据挖掘. 信息检索
以及文本分类. 在斯坦福大学讲授信息检索与文本挖掘课程.
苑春法
清华大学计算机系教授, 现主讲研究生学位课程:计算语言学. 主要从事计算语言学研究, 包括基于语料库的汉语依存语法句法分析. 汉语语素库建设. 汉语构词研究和汉语金融领域信息抽取等. 主持或参加完成自然科学基金. 973和863等多项国家项目.
现在是一个在线信息. 电子通信和互联网流行的年代, 一本详细介绍统计自然语言处理的教材的需求程度可能并非那么迫切. 但是, 我们应该看到, 商业部门. 政府机构以及个人正面对着越来越多与工作. 生活密切相关的文本信息, 而如何从这些大量文本中挖掘潜在的有使用价值的信息, 仍然是一个难题.
与此同时, 由于大规模的文本语料的可获得性, 人们已经改变了语言学和认知科学中研究自然语言的方法理论. 以前一些无足轻重的研究领域, 以及一些支离破碎, 显得很无趣或者难以觉察的语言现象, 都逐渐成为当前研究的热点. 然而, 在20世纪90年代早期, 定量方法还没有引起语言学研究者的足够关注, 在当时的一本数理语言学权威教材中甚至根本没有提及这种方法, 但现在它已经被看做语言学理论研究中极为重要的手段之一.
本书希望在理论和实践之间以及直觉和严密之间尽可能地达到一种平衡. 具体地讲, 就是我们以数学和语言学作为基础来阐述各种理论方法, 同时为了避免材料过于枯燥, 努力做到理论方法和实际问题的紧密结合. 为了给读者奠定必要的基础知识, 我们首先介绍概率论. 统计学. 信息论和语言学方面的重要概念, 使读者能够正确理解并增加这些领域的知识, 然后介绍统计自然语言处理中存在的问题, 比如标注和消歧问题, 还将选择一些重要的研究问题进行讲述, 从而使读者能够进一步理解语言学研究中存在的特殊问题, 为更加深入的研究工作提供必要基础.
当初我们设计本书的基本结构时, 对于应该包含什么素材以及如何组织这些素材都进行了细致的考虑. 其中一个重要的标准就是尽量不要使本书篇幅过长(我们没有完全成功做到这一点). 另外, 本书并不打算全面地介绍概率论. 信息论. 统计学和统计自然语言处理中涉及的其他领域的数学知识. 但是, 我们尽力做到使本书覆盖统计自然语言处理各个领域中最重要的主题. 对于那些对数学基础有特殊兴趣的读者来说, 需要参考本书之外的其他资料来进行更加深入的研究.
我们也尽量避免使用均匀的笔墨来描述统计自然语言处理以及用到的数学工具和理论. 虽然一个内在一致的数学理论很重要, 但实际上这种理论在这个领域中并不存在, 这就导致了在一些地方使用了折中的混合理论. 但是, 我们可以肯定地说, 在自然语言处理中的某种方法也许是对的, 但就此断定该方法优于其他方法还为时过早.
本书没有包含语音识别的内容也许会让读者有些出乎预料. 这样安排主要是因为我们考虑到, 对于自然语言处理来说, 语音识别是作为一个相对独立的领域从电气工程专业分离出来的, 拥有自己的会议和期刊以及自己的相关研究. 然而, 最近几年随着研究领域的交叉和互相渗透, 统计方法在语音识别中的成功应用激发了自然语言处理中应用统计方法的热潮, 本书介绍的许多技术方法都是首先在语音识别中应用, 然后慢慢扩展到自然语言处理领域的. 特别是语音识别中语言模型的有关工作和本书中语言模型的讨论, 在很多方面有共同之处. 甚至可以这么说, 语音识别是自然语言处理领域中当前最为成功而且应用最为广泛的. 但是, 有些合理的理由把语音识别排除在本书内容之外:已经有一些比较好的关于语音的教材, 而且语音也不是我们专门研究或者特别擅长的领域, 况且即使本书不包括语音的内容也显得有些篇幅过长. 另外, 虽然两者内容有所交叉, 但是差别也很明显:语音识别的教材需要包含信号分析和声学模型方面的内容, 对于一个具有计算机科学或者自然语言处理背景的人来说, 这些内容并非他们感兴趣或者可以理解的, 反之, 许多研究语音识别的人可能对我们提到的自然语言处理的主题并不感兴趣.
和统计自然语言处理稍微有些关联的其他领域包括机器学习. 文本分类. 信息检索和认知科学. 在所有这些领域中, 都可以找到一些本书中没有包含但是却非常适合本书的例子. 由于篇幅所限, 我们没有包含一些重要的概念. 方法和程序, 比如最小描述长度. 回溯算法. Roc-chio算法, 以及和语言处理的频率效应相关的心理学和认知科学文献.
如何严格区分统计和非统计自然语言处理是一件很困难的事情. 开始写这本书的时候, 我们相信, 两者之间有一条很明显的分界线, 但是最近这条线变得越来越模糊了. 越来越多的非统计学研究者们采用了语料库证据和一体化的定量方法. 在统计自然语言处理中, 大家逐渐接受了这样一种观点:当处理某种语言现象时, 可以使用和该现象相关的所有可获得的科学知识来构造一个概率模型或者其他模型, 而不是简单地采用所谓忽视这类已知知识的方法.
许多自然语言处理的研究者们都对单独编写一本统计方法书籍是否必要提出了质疑. 在本书中, 最后一件工作就是要改变认为语言学理论与符号计算工作和统计自然语言处理无关的错误看法. 然而, 我们相信, 由于需要涉及这么复杂的基础材料, 所以很难写出一本篇幅可以控制, 让读者满意并且详细介绍所有自然语言处理知识的教材. 此外, 还存在许多其他很好的文章, 如果对统计和非统计的方法之间需要更多的平衡, 我们推荐阅读这些补充资料.
最后要说一下本书的书名“Foundations of Statistical Natural Language Processing”. 那些从标准统计学了解统计方法的定义的人可能会对书名有些疑问. 我们定义的统计自然语言处理由所有的自动语言处理的定量方法组成, 包括概率模型. 信息论和线性代数. 概率论是统计推理的基础, 本书中把术语“统计”的基本含义稍微扩大了一点, 即包含处理数据的所有定量方法(一个可以在几乎任何词典中确认的定义). 统计自然语言处理在过去20年中是使用得最广泛的一个术语, 用它来代表自然语言处理中非符号化和非逻辑的工作, 尽管有潜在的可能引起模棱两可的理解, 但我们还是决定继续使用这个术语.