自然语言处理Natural Language Processing ,NLP在20世纪80年代中期经历了深刻变革,其开始大量使用语料库和数据驱动技术对语言进行分析。自那时起,统计技术在自然语言处理中的应用在多个方面得到了发展。其中的一个例子发生在20世纪90年代末或21世纪初,自然语言处理引入了成熟的贝叶斯机制。这种针对自然语言处理的贝叶斯方法已经可以解决频率学派方法的各种缺点,特别是在没有目标预测示例的无监督情况下进行统计学习更能弥补频率学派方法的不足。
第2版前言Bayesian Analysis in Natural Language Processing, Second Edition没想到本书会如此迅速地发行第2版。最近几年,自然语言处理领域的快速而令人兴奋的发展要求进行各种更新,本书第2版应运而生。第2版主要增加的内容是第9章,该章重点介绍自然语言处理(特别是在贝叶斯情景下)中的表征学习与神经网络。本章的撰写是基于这样的观察:在过去5年左右的时间里,自然语言处理中的大部分文献都使用神经网络。因此,本书需要解决一些基本问题。使更新内容适应本书的贝叶斯“使命”(结合自然语言处理背景)并不容易,我是否完成了这一使命将由读者来判断。第2版除了引入新的章节外,还修正了一些印刷错误,并将一些附加内容整合到各章中。一些人为本书第2版提供了帮助。非常感谢Trevor Cohn、Marco Damonte、Jacob Eisen-stein、Lea Frermann、Annie Louis、Chunchuan Lyu、Nikos Papasarantopoulos、Shashi Nara-yan、Mark Steedman、Rico Sennrich和Ivan Titov的帮助和评点。还要感谢我的学生和博士后,他们在本书新内容的某些方面教给我的知识比我教给他们的更多。谢伊·科恩爱丁堡2019年2月第1版前言Bayesian Analysis in Natural Language Processing, Second Edition当撰写涉及两个领域(贝叶斯统计和自然语言处理)交叉的主题时,需要考虑焦点和视角。本书旨在为在研究生求学期间和我具有相同处境的人编写,采取一种相当实用的视角。在研究生求学期间,我已经对自然语言处理中的问题和机器学习的基本原理有所了解,我想以纯抽象的方式来学习更多关于贝叶斯统计的知识,尤其是与自然语言处理最相关的部分。因此,本书就是从这种角度出发,提供有关计算语言学家将贝叶斯方法应用于工作时所需掌握的关键技术、术语和模型的抽象信息。因此,本书的大部分章节比较简洁,且与贝叶斯统计的其他应用相关。只有最后一章为语法模型提供一些具体的自然语言处理应用,这些模型主要(但不完全)用于自然语言处理。在理想情况下,本书面向的读者应该已经对自然语言处理中的统计建模有一定了解,并且希望对贝叶斯技术在自然语言处理中的具体应用有更深入的了解。做出更多关注贝叶斯自然语言处理数学层面的决策的动机很简单,因为大部分计算语言学家在他们的研究生生涯或其他阶段很早就接触到了自然语言处理的基本核心术语、自然语言处理所预测的语言结构及其背后的一些语言动机。特别是计算语言学家在研究中经常需要学习贝叶斯统计思想或掌握其他统计工具,因此他们有时会对贝叶斯统计产生误解,且缺失全局观。本书试图向读者提供一些缺失的细节。当前做统计研究工作的方法有多种,频率学派方法和贝叶斯学派方法是其中的两种。频率学派方法有时也称为“经典统计”。而促使我更多地了解贝叶斯统计的一个原因是它拥有辉煌的历史。时至今日,著名的“频率学派和贝叶斯学派分歧”依然存在。这种关于统计分析应遵循的哲学的分歧,甚至比语法理论中生成语义学家和生成语法学家之间著名的“语言战争”的争论更持久且更激烈。即使在贝叶斯阵营里,争论也没有结束。比如一部分人支持对概率的主观解释,而另一部分人支持客观解释。虽然我在第一次接触贝叶斯统计的核心思想(从理论上来讲,贝叶斯统计依赖于应用贝叶斯法则对数据和参数之间的关系进行转换)时,就被其优雅的数学理论所吸引,但我还是采用了很务实的做法,并没有试图将贝叶斯统计作为进行统计自然语言处理的终极理论。在本书中,我也没有提供支持贝叶斯统计的哲学观点。相反,我提供了贝叶斯统计背后的技术机制,建议读者确定该技术是否适合自己所处理的问题。此外,本书还描述了贝叶斯统计与频率学派方法之间的一些联系,以及其他的共通点。如果读者有兴趣更多地了解贝叶斯统计背后的哲学,建议阅读文献Jaynes(2003)并查看文献Barnett(1999)。为了更好地了解贝叶斯统计背后的历史和人物,建议阅读书籍McGrayne(2011)。本书共分八章,内容如下:第1章是关于概率和统计的复习,因为它们与贝叶斯自然语言处理相关。我们涵盖随机变量及其之间的独立性、条件独立性、随机变量期望等基本概念。本章还会简要讨论贝叶斯统计以及它与频率统计的区别。如果你具备计算机科学或统计学的一些基础知识,本章的大部分内容可以跳过。第2章通过两个示例(隐狄利克雷分配模型和贝叶斯文本回归)介绍自然语言处理中的贝叶斯分析,并提供该主题的高级概述。第3章介绍贝叶斯统计建模的一个重要组成部分—先验,并讨论贝叶斯自然语言处理中最常用的先验,如狄利克雷分布、非信息先验和正态分布等。第4章通过对后验分布的总结,阐述将频率统计和贝叶斯统计相结合的思路,并详细介绍在保持贝叶斯思维的同时为参数集合计算点估计的方法。第5章介绍贝叶斯统计中一种主要的推断方法—马尔可夫链蒙特卡罗。还将详细介绍贝叶斯自然语言处理中最常用的两种采样算法:吉布斯采样和Metropolis-Hastings采样。第6章介绍贝叶斯自然语言处理中另一种重要的推断方法—变分推断,并描述平均场变分推断和变分期望最大化算法。第7章涵盖贝叶斯自然语言处理中的一种重要建模技术—非参数建模。我们讨论非参数模型—狄利克雷过程和Pitman-Yor过程。第8章介绍自然语言处理中的基本语法模型(如概率上下文无关语法和同步语法),以及在贝叶斯上下文中构建它们的方法(使用诸如适配器语法、层次狄利克雷过程概率上下文无关语法等模型)。此外,书后还有两个附录,它们提供阅读本书所需的额外背景信息。每章都附有至少5个习题。本书(包括每章后面的练习题)可以用作教材。具体来讲,本书可作为讲授有关自然语言处理中的贝叶斯分析的多门课程的教材。如果有充足的时间在课堂上讲授贝叶斯自然语言处理(比如四次课),建议将一次课用于第3章,一次课用于第4章,一次课用于第5章和第6章,一次课用于第7章。至于第8章的主题(如适配器语法或贝叶斯概率上下文无关语法),可以用示例的形式注入每次课中。