面向机器学习的自然语言标注
作者 : [美]詹姆?普斯特若夫斯基(James Pustejovsky), [美]安伯•斯塔布斯(Amber Stubbs)著
译者 : 邱立坤,金澎,王萌 译
出版日期 : 2017-02-23
ISBN : 978-7-111-55515-5
定价 : 79.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 306
开本 : 16
原书名 : Natural Language Annotation for Machine Learning
原出版社: O'Reilly Media USA
属性分类: 教材
包含CD :
绝版 :
图书简介

自然语言理解是人工智能的一个重要分支,主要研究如何利用计算机来理解和生成自然语言。本书重点介绍了自然语言理解所涉及的各个方面,包括语法分析、语义分析、概念分析、语料库语言学、词汇语义驱动、中间语言、WordNet、词汇树邻接文法、链接文法、基于语段的机器翻译方法、内识别与文本过滤、机器翻译的评测等,既有对基础知识的介绍,又有对最新研究进展的综述,同时还结合了作者(James Pustejovsky,生成词库理论的创始人)。多年的研究成果。本书内容全面、详略得当,结合实例讲解,使读者更易理解,是进一步研究该领域的不二之选。

图书前言

本书的读者是那些使用计算机来处理自然语言的人。自然语言是指人类所说的任何一种语言,可以是当代语言(如英语、汉语、西班牙语),也可以指过去曾经使用过的语言(如拉丁语、古希腊语、梵语)。标注(annotation)是一个过程,它通过向文本中加入元数据来增强计算机执行自然语言处理(Natural Language Processing, NLP)的能力。特别地,我们考察如何通过标注将信息加入自然语言文本中以便改善机器学习(Machine Learning,ML)算法(一组设计好的计算机程序,它从文本提供的信息中推出规则,目的是将这些规则用于将来未标注的文本中)的性能。
面向机器学习的自然语言标注
本书详细介绍创建自己的自然语言标注数据集(称为语料库)所需的各个阶段和过程,以便为基于语言的数据和知识发现训练机器学习算法。本书的总体目标是为读者展示如何创建自己的语料库。从选择一个标注任务开始,然后创建标注规格说明(annotation specification)、设计标注指南(annotation guideline)、创建一个“黄金标准”语料库(corpus),最后采用这个标注过程开始创建实际的数据。
标注过程并不是线性的,因此需要多次迭代来定义任务、标注和评价,以便得到最佳结果。这一过程可以概括为MATTER标注开发过程:建模(Model)、标注(Annotate)、训练(Train)、测试(Test)、评价(Evaluate)、修改(Revise)。本书引导读者遍历整个循环,提供详细的例子并完整地讨论几种不同类型的标注任务。详细地研究这些任务,使读者清楚地了解其中的来龙去脉,并为他们自己的机器学习任务奠定基础。
此外,本书列出了用于标注文本和评审标注的常用软件的访问和使用指南。尽管有许多标注工具可用,但本书采用的多用途标注环境(Multipurpose Annotation Environment, MAE)特别易于安装和使用(读者可以免费下载),读者不会因为令人困惑的文档而分心。经常与MAE一起使用的是多文档审核接口(Multidocument Adjudication Interface, MAI),它用于在标注的文档之间进行比对。
读者
本书写给所有对用计算机研究自然语言所传递的信息内容感兴趣的人。阅读本书,并不要求具有编程或语言学背景,但若对脚本语言(如Python)有基本的理解将更易于理解MATTER循环,因为书中的一些示例代码是用Python写的。如果你从未用过Python,强烈地向你推荐由Steven Bird、Ewan Klein和Edward Loper所著的《Natural Language Processing with Python》(Python自然语言处理)一书(O扲eilly)。该书是一本优秀的关于Python和自然语言处理的入门教材,本书并未涉及这些知识。
如果读者已具备XML(或者HTML)等标记语言的基础知识,将能够更好地理解和掌握本书。你不需要成为深入了解XML原理的专家,但是由于绝大多数标注项目都使用某种形式的XML对标签进行编码,因此我们在本书中将使用XML标准来提供标注样例。不是一定得成为网页设计师才能理解本书,但是具有关于标签和属性的知识对于理解标注项目是如何实现的将会有较大的帮助。
内容安排
第1章简单回顾了语言标注和机器学习的历史,简要介绍了将标注任务用于不同层次语言学研究的多种方法。本书的其余部分带领读者遍历整个MATTER循环,从第2章介绍如何创建一个合理的标注目标开始,历经每个阶段,直到评价标注和机器学习阶段的结果,第9章讨论修改项目并汇报工作。最后两章完整地介绍了一个标注项目,以及如何用机器学习和基于规则的算法重新创建标注。读者可以在书后的附录中找到对自己的标注任务有用的资源列表。
软件需求
虽然不运行书中给出的任何示例代码也可以学习本书,但我们强烈推荐至少安装自然语言工具包(Natural Language ToolKit, NLTK)以便理解涉及的机器学习技术。NLTK当前支持Python 2.4~2.7(Python 3.0直到本书完成时尚未被支持)。想了解更多信息,请参考http://www.nltk.org。
本书中的所有示例代码都在交互式Python shell编程环境中运行。关于如何使用这一环境,请参阅http://docs.python.org/tutorial/interpreter.html。如果没有特别说明,假设在所有的示例代码前使用命令import nltk。
本书约定
在本书中使用以下排版方式:
斜体(Italic)
此类字体表示新术语、网址(URL)、电子邮件地址,文件名和文件扩展名。
等宽字体(Constant width)
此类字体表示程序清单,以及在文档段内的各种程序元素(如变量名或函数名、数据库名、数据类型、环境变量、语句和关键字)。
注意: 表示一个提示、建议或一般性的注解。
警告: 表示一个警告或注意事项。
使用代码示例
本书在这里帮助你完成你的工作。总的来讲,你可以在你的程序和文档中使用本书中的代码。你不需要联系我们以征得许可,除非你正在复制代码中的重要部分。比如,使用书中的多段代码写一个程序并不需要获得许可。
若将O扲eilly公司出版的书中的例子制成光盘来销售或发行则需要获得许可。在回答问题时,引用本书和列举书中的例子代码并不需要许可。把本书中的代码作为你的产品文档的重要部分时需要获得许可。
我们希望但并不要求你在引用本书内容时说明引文的文献出处。引用通常包括题目、作者、出版社和ISBN号。例如:Natural Language Annotation for Machine Learning by James Pustejovsky and Amber Stubbs(O扲eilly). Copyright 2013 James Pustejovsky and Amber Stubbs,978-1-449-30666-3.
如果你感觉你对代码示例的使用超出合理使用以及上述的许可范围,请通过permissions@oreilly.com联系我们。
Safari际樵谙
Safari图书在线(www.safaribooksonline.com)是一个按需数字图书馆,它采用图书和视频两种形式发布专业级的内容,作者都是来自技术和商业领域的世界顶尖专家。
技术专家、软件开发者、网站设计者和商业及创新专家都使用Safari图书在线作为他们研究、解决问题以及学习和职业资格培训的首要资源。
Safari图书在线为各种组织、政府机构和个人提供丰富的产品和定价程序。订购者可在一个全文可检索数据库中浏览数以千计的图书、培训视频和预出版手稿。它们来自O扲eilly Media、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett、Course Technology等众多出版社。关于Safari图书在线的更多信息,请在线访问我们。
联系方式
请通过出版社向我们提出宝贵的建议和意见:
美国:
O''Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
我们为本书配备有一个网页,上面列出了勘误表、例子和其他一些信息。网址为http://oreil.ly/nat-lang-annotation-ML。
评论或询问本书的技术问题,请发送电子邮件到bookquestions@oreilly.com。
更多关于我们的图书、课程、会议和新闻的信息,请访问我们的网站http://www.oreilly.com和http://www.oreilly.com.cn。
致谢
我们感谢O扲eilly所有帮助完成此书的朋友,特别感谢Meghan Blanchette、Julie Steele、Sarah Schneider、Kristen Borg、Audrey Doyle和其他全程帮助我们的人。我们也要感谢布兰迪斯大学(Brandeis University)COSI 216班的同学,他们参与了2011春季学期的课程,和我们一起完成了整个MATTER循环,他们是Karina Baeza Grossmann-Siegert、Elizabeth Baran、Bensiin Borukhov、Nicholas Botchan、Richard Brutti、Olga Cherenina、Russell Entrikin、Livnat Herzig、Sophie Kush kuley、Theodore Margolis、Alexandra Nunes、Lin Pan、Batia Snir、John Vogel和Yaqin Yang。
我们还要感谢技术评审人,他们给了我们优秀的反馈。他们是Arvind S. Gautam、Catherine Havasi、Anna Rumshisky和Ben Wellner,以及每一位阅读本书早期版本且让我们知道我们在正确的方向上前进的人们。
我们还要感谢ISO联盟的成员,他们和我们一起讨论了本书所采用的素材。他们是
Kiyong Lee、Harry Bunt、Nancy Ide、Nicoletta Calzolari、Bran Boguraev、Annie Zaenen和Laurent Romary。
另外,感谢布兰迪斯大学计算机科学和语言学系的同行,他们倾听了我们的头脑风暴,不断鼓励我们并确保在我们写作期间一切正常。特别感谢Marc Verhagen、Lotus Goldberg、Jessica Moszkowicz和Alex Plotnick。
没有语言学和计算语言学社区的人们所创建的语料库和标注,就不会有本书的出现。更重要的是,他们和大家分享他们的经验。
James的致谢
我要感谢我的妻子Cathie在写作此书期间的耐心和支持。我还要感谢我的孩子Zac和Sophie容忍我完成了此书。感谢Amber和我一起奋力拼搏!
Amber的致谢
我要感谢我的丈夫BJ鼓励我承担本书的写作且在整个过程中表现出足够的耐心。我还要感谢我的家人,特别是我的父母,他们对此非常热心。当然,还要感谢我的导师和联合作者James首先萌生了撰写此书的构想。

上架指导

计算机\人工智能

封底文字

创建你自己的面向机器学习的自然语言训练语料库。无论以英文、中文或其他任何自然语言为处理对象,这本实践型专著都可以引导你完成整个标注开发循环:向训练语料库中添加元数据信息以帮助机器学习算法更有效地工作。学习本书时不需要具备任何编程或语言学经验。
通过各步骤的详细示例,可以学习到MATTER标注开发过程如何帮助读者建模、标注、训练、测试、评价和修改训练语料库。同时,读者还可以亲自实践一个实际的标注项目,了解其完整流程。
• 在收集数据集(语料库)前确定清晰的标注目标。
• 学习用于分析语料库语言内容的工具。
• 为标注项目建立模型和规格说明。
• 从基本的XML到语言标注框架,考查各种标注格式。
• 创建可用于训练和测试机器学习算法的黄金标准语料库。
• 选择用于处理标注数据的机器学习算法。
• 评价测试结果并修改标注任务。
• 学习使用轻量级软件来标注文本及审核标注结果。

作者简介

[美]詹姆?普斯特若夫斯基(James Pustejovsky), [美]安伯•斯塔布斯(Amber Stubbs)著:
James Pustejovsky教授现任职于布兰迪斯大学(Brandeis University)计算机系,主要从事人工智能和计算语言学等领域的教学和科研工作。他的研究兴趣主要集中在词汇意义、计算语义学、时间和空间推理以及语料库语言学方面。James Pustejovsky教授一直致力于发展有助于提高语言处理应用之间互用性的标准,领导创建了最近被采纳的用于时间标注的ISO标准:ISO-TimeML。最近,他负责一个对语言中空间信息进行标注的项目。关于论文著作以及研究活动的更多信息,请参见James Pustejovsky教授的个人主页:http://pusto.com。

Amber Stubbs博士于2013年在布兰迪斯大学(Brandeis University)计算机系语言与计算实验室取得计算机博士学位。她的博士论文致力于建立一种标注方法论,以帮助从自然语言文件尤其是生物医学文本中提取高层次信息。关于论文、著作以及其他项目信息,可参见她的个人主页:http://amberstubbs.net/。

译者简介

邱立坤,金澎,王萌 译:暂无简介

译者序

自然语言标注与我们国内一般所说的语料库建设大致是同一个意思,面向机器学习的自然语言标注则在此基础上更进一步,对其所服务的目标做出明确限制。显然,自然语言标注除了可以服务于机器学习外,还可以服务于语言研究、语言教学、词典编纂等。但是,相比之下,面向机器学习的自然语言标注无论在深度上还是在广度上都更具有生机和活力,影响也更为深远。
本书是由著名计算语言学家Pustejovsky教授与Stubbs博士合作编写的。它是第一本系统论述自然语言标注的著作。我们都是计算语言学工作者,具有一定的自然语言标注经验。但是本书几乎彻底颠覆了我们对于自然语言标注(或者说,语料库建设)的理解,使我们明白:原来自然语言标注还可以这么做,而且应该这么做。
本书内容全面、结构严谨、示例丰富,除了自然语言标注本身之外,还涉及语料库分析、机器学习等方面的知识。这里,我们不打算详细介绍本书的内容,只是简单地谈一谈我们印象最深的几个方面。
首先,本书提出了自然语言标注过程的方法论,即MATTER循环,包括建模(Model)、标注(Annotate)、训练(Train)、测试(Test)、评价(Evaluation)、修改(Revise)6个步骤。在一个完整的标注项目中,这6个步骤要经过多次迭代才能取得最佳效果。如果能够完整地执行这6个步骤,并根据评价结果和错误分析进行多次迭代,那么标注项目的质量就自然可以得到保证。
其次,作者一直强调修改的重要性,包括修改模型、规格说明、指南、机器学习算法等。其中特别需要强调的是,根据机器学习算法来修改模型、规格说明和指南。现有许多标注项目都没能做到这一点,也就是说,在其语料库建模和标注阶段根本就没有考虑机器学习算法的效果。这是中文自然语言标注项目应该予以关注和改进的地方。
再次,不得不说本书的MTTER循环对自然语言标注工作提出了极高的要求,比如要求双盲甚至多盲标注再辅以审核环节,这样显然可以最大限度地保证标注的质量。但是,有些时候,由于时间、人力和物力所限,我们很难做到这一点。此时退而求其次的做法是以这种高标准的方式完成一个中等规模的黄金标准语料库。
最后,本书不仅具有系统性,还具有实践性,并且提供了丰富的资源列表。本书涉及电影题材分类、情感分类、命名实体标注和语义角色标注,还有时间信息标注,基本覆盖了各种类型的语言标注。我们在从事语言标注时,完全可以参照相应类型的标注任务,借鉴其模型和标注格式,并从本书的资源列表中找到更多的相关研究、资源和工具。
本书的翻译工作由3位作者分工完成,其中邱立坤负责第2、4、6、7、8、9章,金澎负责前言及第1、3、5章,王萌负责第10、11、12章及附录。全书统稿由邱立坤完成。参与本书翻译工作的还有谢婧、张藜奕、荆礼楠、曹永红、危一安、徐榕、何保荣、张典、王笑、王磊等,感谢他们的积极参与和贡献。
非常感谢机械工业出版社华章分社给予我们翻译并出版这本书的机会,也非常感谢姚蕾编辑在整个过程中给予我们的理解、支持和帮助,希望以后有机会能继续合作。
由于时间和水平所限,本书的翻译难免存在一些疏漏之处,恳请读者批评指正,并欢迎随时就书中的任何问题联系作者(qiulikun@gmail.com)或机械工业出版社。我们将及时更新本书的勘误表。

译者

图书目录

前言 1
第1章 基础知识 7
1.1 语言标注的重要性 7
1.1.1 语言学描述的层次 8
1.1.2 什么是自然语言处理 9
1.2 语料库语言学简史 10
1.2.1 什么是语料库 13
1.2.2 语料库的早期应用 15
1.2.3 当今的语料库 17
1.2.4 标注类型 18
1.3 语言数据和机器学习 24
1.3.1 分类 25
1.3.2 聚类 25
1.3.3 结构化模式归纳 26
1.4 标注开发循环 26
1.4.1 现象建模 27
1.4.2 按照规格说明进行标注 30
1.4.3 在语料库上训练和测试算法 31
1.4.4 对结果进行评价 32
1.4.5 修改模型和算法 33
总结 34
第2章 确定目标与选择数据 36
2.1 定义目标 36
2.1.1 目标陈述 37
2.1.2 提炼目标:信息量与正确性 38
2.2 背景研究 43
2.2.1 语言资源 44
2.2.2 机构与会议 44
2.2.3 自然语言处理竞赛 45
2.3 整合数据集 46
2.3.1 理想的语料库:代表性与平衡性 47
2.3.2 从因特网上收集数据 47
2.3.3 从人群中获取数据 48
2.4 语料库的规模 49
2.4.1 现有语料库 50
2.4.2 语料库内部的分布 51
总结 53
第3章 语料库分析 54
3.1 语料库分析中的基本概率知识 55
3.1.1 联合概率分布 56
3.1.2 贝叶斯定理 58
3.2 计算出现次数 58
3.2.1 齐普夫定律(Zip''s Law) 61
3.2.2 n元语法 62
3.3 语言模型 63
总结 65
第4章 建立模型与规格说明 66
4.1 模型和规格说明示例 66
4.1.1 电影题材分类 69
4.1.2 添加命名实体 70
4.1.3 语义角色 71
4.2 采用(或不采用)现有模型 73
4.2.1 创建模型和规格说明:一般性与特殊性 74
4.2.2 使用现有模型和规格说明 76
4.2.3 使用没有规格说明的模型 78
4.3 各种标准 78
4.3.1 ISO标准 78
4.3.2 社区驱动型标准 81
4.3.3 影响标注的其他标准 81
总结 82
第5章 选择并应用标注标准 84
5.1 元数据标注:文档分类 85
5.1.1 单标签标注:电影评论 85
5.1.2 多标签标注:电影题材 87
5.2 文本范围标注:命名实体 90
5.2.1 内嵌式标注 90
5.2.2 基于词例的分离式标注 92
5.2.3 基于字符位置的分离式标注 95
5.3 链接范围标注:语义角色 96
5.4 ISO标准和你 97
总结 97
第6章 标注与审核 99
6.1 标注项目的基本结构 99
6.2 标注规格说明与标注指南 101
6.3 准备修改 102
6.4 准备用于标注的数据 103
6.4.1 元数据 103
6.4.2 数据预处理 104
6.4.3 为标注工作分割文件 104
6.5 撰写标注指南 105
6.5.1 例1:单标签标注——电影评论 106
6.5.2 例2:多标签标注——电影题材 108
6.5.3 例3:范围标注——命名实体 111
6.5.4 例4:链接范围标注——语义角色 112
6.6 标注人员 114
6.7 选择标注环境 116
6.8 评价标注结果 117
6.8.1 Cohen的Kappa(κ)算法 118
6.8.2 Fleiss的Kappa(κ)算法 119
6.8.3 解释Kappa系数 122
6.8.4 在其他上下文中计算κ值 123
6.9 创建黄金标准(审核) 125
总结 126
第7章 训练:机器学习 129
7.1 何谓学习 130
7.2 定义学习任务 132
7.3 分类算法 133
7.3.1 决策树学习 135
7.3.2 朴素贝叶斯学习 140
7.3.3 最大熵分类器 145
7.3.4 其他需要了解的分类器 147
7.4 序列归纳算法 148
7.5 聚类和无监督学习 150
7.6 半监督学习 150
7.7 匹配标注与算法 153
总结 154
第8章 测试与评价 156
8.1 测试算法 157
8.2 评价算法 157
8.2.1 混淆矩阵 157
8.2.2 计算评价得分 159
8.2.3 解释评价得分 163
8.3 可能影响算法评价的问题 164
8.3.1 数据集太小 164
8.3.2 算法过于适合开发数据 166
8.3.3 标注中的信息过多 166
8.4 最后测试得分 167
总结 167
第9章 修改与报告 169
9.1 修改项目 170
9.1.1 语料库分布和内容 170
9.1.2 模型和规格说明 170
9.1.3 标注 171
9.1.4 训练和测试 172
9.2 报告工作 173
9.2.1 关于语料库 174
9.2.2 关于模型和规格说明 175
9.2.3 关于标注任务和标注人员 175
9.2.4 关于ML算法 176
9.2.5 关于修改 177
总结 177
第10章 标注:TimeML 179
10.1 TimeML的设计目标 180
10.2 相关研究 181
10.3 建设语料库 182
10.4 模型:初步的标注规格说明 183
10.4.1 时间 183
10.4.2 信号 184
10.4.3 事件 184
10.4.4 链接 184
10.5 标注:最初的尝试 185
10.6 模型:TimeBank中的TimeML标注规格说明 185
10.6.1 时间表达式 185
10.6.2 事件 186
10.6.3 信号 187
10.6.4 链接 187
10.6.5 可信度 189
10.7 标注:TimeBank的产生 189
10.8 TimeML成为ISO-TimeML 192
10.9 对未来建模:TimeML的发展方向 193
10.9.1 叙事容器 194
10.9.2 将TimeML扩展到其他领域 195
10.9.3 事件结构 196
总结 197
第11章 自动标注:生成TimeML 199
11.1 TARSQI组件 200
11.1.1 GUTime:时间标志识别 201
11.1.2 EVITA:事件识别及分类 201
11.1.3 GUTenLINK 202
11.1.4 Slinket 204
11.1.5 SputLink 204
11.1.6 TARSQI组件中的机器学习 205
11.2 TTK的改进 206
11.2.1 结构变化 206
11.2.2 时间实体识别改进:BTime 207
11.2.3 时间关系识别 207
11.2.4 时间关系验证 208
11.2.5时间关系可视化 209
11.3 TimeML竞赛:TempEval-2 209
11.3.1 TempEval-2:系统概述 210
11.3.2 成果综述 213
11.4 TTK的未来 213
11.4.1 新的输入格式 213
11.4.2 叙事容器/叙事时间 214
11.4.3 医学文档 215
11.4.4 跨文档分析 216
总结 216
第12章 后记:标注的未来发展趋势 217
12.1 众包标注 217
12.1.1 亚马逊土耳其机器人 218
12.1.2 有目的的游戏 219
12.1.3 用户生成内容 220
12.2 处理大数据 220
12.2.1 Boosting算法 221
12.2.2 主动学习 221
12.2.3 半监督学习 223
12.3 NLP在线和在云端 223
12.3.1 分布式计算 223
12.3.2 语言资源共享 224
12.3.3 语言应用共享 224
结语 225
附录A 可利用的语料库与标注规格说明列表 227
附录B 软件资源列表 249
附录C MAE用户指南 269
附录D MAI用户指南 276
附录E 参考文献 282

教学资源推荐
作者: [美] 凯文·M.林奇(Kevin M.Lynch)[韩] 朴钟宇(Frank C.Park)著
作者: Nils J.Nilsson
作者: (希腊)Sergios Theodoridis,Konstantinos Koutroumbas
参考读物推荐
作者: [保加利亚]伊凡·瓦西列夫(Ivan Vasilev) 著
作者: 甄建勇 王路业 著
作者: [英] 马克·H.李(Mark H. Lee) 著