多语自然语言处理:从原理到实践
作者 : (美)Daniel M. Bikel, Imed Zitouni 编
译者 : 史晓东 陈毅东 等译
丛书名 : 计算机科学丛书
出版日期 : 2015-03-13
ISBN : 978-7-111-48491-2
定价 : 99.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 469
开本 : 16
原书名 : Multilingual Natural Language Processing Applications: From Theory to Practice
原出版社: Pearson Education Asia
属性分类: 教材
包含CD :
绝版 :
图书简介

本书是第一本全面阐述如何构建健壮和准确多语种自然语言处理系统的图书,由两位资深专家编辑,集合了该领域众多尖端进展以及从广泛的研究和产业实践中总结的实用解决方案。第一部分介绍现代自然语言处理的核心概念和理论基础,展示了现今理解单词和文件结构、分析语法、建模语言、识别蕴含和检测冗余。
第二部分彻底阐述与构建真实应用有关的实际考量,包括信息抽取、机器翻译、信息检索/搜索,总结、问答、精馏、处理流水线等。

图书特色

本书是第一本全面阐述如何构建健壮和准确的多语自然语言处理系统的图书,由两位资深专家编辑,集合了该领域众多尖端进展以及从广泛的研究和产业实践中总结出的实用解决方案。
第一部分介绍现代自然语言处理的核心概念和理论基础,展示了如何理解单词和文档结构、分析语法、建模语言、识别蕴涵和检测冗余。第二部分彻底阐述与构建真实应用有关的实际考量,包括信息抽取、机器翻译、信息检索、文摘、问答、提炼、处理流水线等。

作者简介
Daniel M. Bikel 现为Google公司高级研究科学家,正在开发用于自然语言处理和语音识别的新方法。在IBM工作期间,他为IBM的GALE多语种信息抽取和自动应答系统构架了拦截系统。在宾夕法尼亚大学攻读博士后期间,他建造了第一个可扩展的多语种语法分析引擎。
Imed Zitouni 现为微软公司高级研究员。2004~2012年,他是IBM公司高级研究科学家,领导IBM公司的阿拉伯语信息抽取和数据资源工作组。在此之前,他还曾领导DIALOCA的语音/自然语言处理组和Bell实验室/阿尔卡特朗讯的语言建模和呼叫路由工作。他的研究涉及机器翻译、自然语言处理和口语对话系统。

图书前言

看起来几乎每个人都在一定程度上受到了信息技术的发展和互联网繁荣的影响。近来,多媒体信息源变得日益普及。不过,未加工的自然语言文本的总量在不断增长,并且地球上各种主要语言都在不断产生大量未处理文本。例如,英语维基百科报导已有 101 种语言的维基百科,而每种语言至少有10 000 篇文章。因此,不管是国家、公司,还是个人,都迫切需要来分析、翻译、综合或者提炼这些海量文本。
以前,要开发鲁棒、精确的多语自然语言处理(Natural Language Processing, NLP)应用,研究者或者开发人员需要查阅若干本参考书、几十个期刊或者会议论文。本书旨在为开发此类应用提供所需的所有背景知识和实际建议。虽然这个要求很高,但我们希望本书至少是本有用的参考书。
过去20年来,自然语言研究者开发了可处理多种语言的大量文本的若干优秀算法。迄今为止,主流的方法是建立可从实例中学习的统计模型。这样的模型能鲁棒地应对其处理文本的类型甚至语言的变化。如果设计适当,同样的模型可用于新的领域或新的语言,只需要提供相应领域或语言的新的训练实例。这种方法也使得研究者没有必要辛苦地写出处理问题的所有规则以及这些规则联合使用的方式。统计系统一般只要研究者提供可能的输入特征的抽象表示,其相对重要性可在训练(training)阶段学习而得,并在解码(decoding)或者推理(inference)阶段应用于新的文本。
统计自然语言处理领域在快速变化,部分变化源于其快速发展。例如,该领域的主要会议之一是计算语言学年会,其参会人数在过去五年已经翻番。另外,IEEE语音和语言处理会议和期刊上自然语言处理的文章数目也在过去十年中翻了一番以上。IEEE是世界上推进技术发展的最大的专业学会之一。自然语言处理研究者不但在解决本领域的问题上取得了内在的进步,也从机器学习和语言学领域的进展中借鉴良多。本书虽注意先进的算法和技术,但主要目的是对该领域的最佳实践进行详尽的阐明。另外,每章会描述所述方法在多语(multilingual)环境下的适用性。
本书分成两部分。第一部分是理论,包括前七章,展示了自然语言处理的各种基础问题以及解决这些问题的算法。头三章关注的是找出各种不同粒度层次的语言结构。第1章引入了一个重要概念——形态学(morphology),研究词的结构,以及世界上各种语言的不同形态现象的处理方法。第2章讨论了多种方法,文档可由此分解为更易处理的部分,如句子,以及通过主题联系的更大的单位。第3章研究了发现句子内部结构的方法,也即句法(syntax)。句法一直都是语言学最重要的研究领域,这种重要性也反映在自然语言处理领域。说其重要,部分原因是句子的结构和句子的意义相关,所以找出句法结构是理解句子的第一步。
找出句子或者其他文本单位的结构化的意义表示,经常称作语义分析(semantic parsing),这是第4章的内容。第4章还特别讨论了近年来引起诸多关注的语义角色标注(semantic role labeling)问题,其目的是找出可作为动词或谓词的论元的句法短语。对动词的论元进行了识别和分类,我们离生成句子的逻辑形式(logical form)又靠近了一步,而逻辑形式是句子意义的一种表示,这种表示方式容易被机器处理,而用于处理逻辑的多种工具人类自古代就开始研究了。
然而,如果我们不需要语义分析生成的深层句法语义结构呢?如果我们的问题只是确定多个句子中哪个句子是人最可能写或者说的呢?解决此问题的一种方法是开发一个可根据语法合法性而为句子打分的模型并以此选取分值最高的句子。给出一个词串的分值或概率估计的问题称为语言模型(language modeling),这是第5章的主题。
表示意义和判断句子的语法合法性只是处理语言前期步骤中的两种。为了进一步理解意义,我们需要一个算法,该算法可对一段文本中表示的事实进行推理。例如,我们想要知道一个句子中提到的事实是否被文档中前面的某个句子所蕴涵,这种推理被称为识别文本蕴涵(recognizing textual entailment),这是第6章的主题。
找出陈述或事实的相互蕴涵显然对文本自动理解很重要,但是这些陈述的性质也有待考究。理解一个陈述是否是主观的,并找出其表述的意见的倾向性是第7章的主题。由于人们经常表达意见,这显然是一个重要的问题,尤其在社交网络已经成为互联网上人际交流的最重要形式的时代,这一点更显重要。本书第一部分以本章作结。
本书第二部分是实践,讲述如何将第一部分描述的自然语言处理基础技术应用于现实世界中的问题。应用开发经常要做权衡,如时间和空间的权衡,因此本书应用部分的章节探讨了在构建一个鲁棒的多语自然语言处理应用时,如何进行各种算法和设计决策的权衡。
第8章描述识别和区分命名实体(named entity)以及这些实体在文本中提及的办法,也描述了识别两个以上的实体提及共指(corefer)的方法。这两个问题一般称为提及检测(mention detection)和共指消解(coreference resolution),它们是一个更大的应用领域——信息抽取(information extraction)的两个核心部分。
第9章继续信息抽取的讨论,探索找出两个实体如何发生关系的技术,也称为关系抽取(relation extraction)。要识别事件,并对此进行分类,称为事件抽取(event extraction)。此外,事件涉及多个实体,我们希望机器能找出事件的参与者及其所起的作用。因此,事件抽取与自然语言处理中的一个关键问题“语义角色标注”紧密相关。
第10章描述自然语言处理领域中最古老的问题之一,这本质上也是一个多语自然语言处理问题:机器翻译(Machine Translation,MT)。从一种语言翻译为另外一种语言,一直是NLP研究追求的目标。在学术界几十年的努力之后,近年来已经研究出多种方法,在现有的硬件条件下可以进行实用的机器翻译了。
翻译文本是一回事,但是我们如何理解现存的海量文本呢?第8、9章对帮助我们自动产生文本中信息的结构化记录进行了一些探索。解决海量问题的另一个办法是通过查找与某个搜索查询相关的少量文档或者文档的一部分来缩小范围。该问题称为信息检索(information retrieval),这是第11章的主题。像Google一样的商用搜索引擎在很多方面可看作大规模的信息检索系统。由于搜索引擎非常流行,因此这是个很重要的NLP问题——考虑到有大量语料是非公开的,从而不能被商业引擎搜索到,所以信息检索越发重要。
处理大量文本的另一个办法是自动文摘,这是第12章的主题。摘要很困难,一般有两种做法:找到若干个句子或句子片段来表示文本的大意;理解文本,将其意义进行某种内部表示,然后生成摘要,与人为的操作一样。
人们经常倾向于使用机器自动处理文本,因为他们有很多问题要找到答案。这些问题可以是简单的事实性问题,如“约翰·肯尼迪何时出生”,也可以是复杂的问题,如“德国巴伐利亚的最大城市是哪个”。第13章讨论如何建造自动回答这类问题的系统。
如我们想回答的问题还更复杂那该怎么办?我们的查询可能有多个答案,如“找出奥巴马总统在2010年会见的外国政府首脑”。这类查询可由在NLP中被称为提炼(distillation)的一门较新的子学科处理。提炼需要真正地把信息检索和信息抽取技术结合起来,同时还要增加自己的技术。
在许多情形下,我们希望机器能利用语音识别和合成技术交互式地处理语言。这样的系统称为对话系统(dialog system),这在第15章讨论。由于在语音识别、对话管理和语音合成方面的技术进展,对话系统越来越实用,并且已经在实际场合中广泛安装使用。
最后,我们作为NLP研究者和工程师,希望用世界上开发的大量不同的部件来构造系统。这种处理引擎的聚合在第16章介绍。虽然这是本书的最后一章,但从某种意义上来讲这代表处理文本的开始而非结尾,因为该章描述了一个通用的架构,可用来生成不同组合的一系列处理流水单元。
我们希望本书是自足的,同样希望读者将其作为学习的开始而不是结束。每章都有大量参考文献,读者可以用来继续深入研究任何话题。NLP的研究队伍在全世界越来越壮大,我们希望你加入我们的行列,一起进行自动文本处理的激动人心的探索。你可以在大学、研究所、会议、博客甚至社交网络上和我们一起交流。多语自然语言处理系统的未来是十分光明的,我们期待你的贡献!
致谢
写作本书伊始,我们就将它定位为多个作者通力合作的成果。我们对IBM出版社/Prentice Hall 在起步阶段给予的鼓励和支持怀有无限的感激,特别要感谢Bernard Goodwin 和所有其他在IBM出版社工作的员工,他们在项目的开展和结束过程中给予了帮助。这样一本书当然也离不开我们各章节作者大量的时间、努力和技术才能的投入,所以我们非常感谢Otakar Smr、HyunJo You、Dilek HakkaniTür、Gokhan Tur、Benoit Favre、Elizabeth Shriberg、Anoop Sarkar、Sameer Pradhan、Katrin Kirchhoff、Mark Sammons、VGVinod Vydiswaran、Dan Roth、Carmen Banea、Rada Mihalcea、Janyce Wiebe、Xiaqiang Luo、Philipp Koehn、Philipp Sorg、Philipp Cimiano、Frank Schilder、Liang Zhou、Nico Schlaefer、Jennifer ChuCarroll、Vittorio Castelli、Radu Florian、Roberto Pieraccini、David Suendermann、John FPitrelli以及 Burn Lewis。Daniel MBikel 还对Google Research表示感谢,特别对Corinna Cortes 在本项目最后阶段给予的支持表示感谢。最后我们(Daniel MBikel 和 Imed Zitouni)要对IBM Research 的支持表示由衷的感谢,特别要感谢Ellen Yoffa,没有他,本项目就不可能完成。

上架指导

计算机科学及应用

封底文字

本书是第一本全面阐述如何构建健壮和准确的多语自然语言处理系统的图书,由两位资深专家编辑,集合了该领域众多尖端进展以及从广泛的研究和产业实践中总结出的实用解决方案。
第一部分介绍现代自然语言处理的核心概念和理论基础,展示了如何理解单词和文件结构、分析语法、建模语言、识别蕴含和检测冗余。第二部分彻底阐述与构建真实应用有关的实际考量,包括信息抽取、机器翻译、信息检索、文摘、问答、提炼、处理流水线等。

作者简介

(美)Daniel M. Bikel, Imed Zitouni 编:Daniel M. Bikel,现为Google公司高级研究科学家,正在开发用于自然语言处理和语音识别的新方法。在IBM工作期间,他为IBM的GALE多语种信息抽取和自动应答系统构架了拦截系统。在宾夕法尼亚大学攻读博士后期间,他建造了第一个可扩展的多语种语法分析引擎。
Imed Zitouni,现为微软公司高级研究员。2004-2012年,他是IBM公司高级研究科学家,领导IBM公司的阿拉伯语信息抽取和数据资源工作组。在此之前,他还曾领导DIALOCA的语音/自然语言处理组和Bell实验室/阿尔卡特朗讯的语言建模和呼叫路由工作。他的研究涉及机器翻译、自然语言处理和口语对话系统。

译者简介

史晓东 陈毅东 等译:暂无简介

译者序

本书对自然语言处理的多语言相关现象做了深入的研究,内容丰富,引用了很多最新的文献。对广大的自然语言处理研究者和开发者来说,这是一本非常好的参考书。
全书分为理论和实践两部分。理论部分有7章,实践部分有9章,各章可单独阅读。下面对各章内容进行简要评述,以供读者参考。
第1章主要讨论形态学,重点关注阿拉伯语等屈折语的形态处理。该章提到了汉语的分词问题,但是没有任何描述,另外还讨论了很有意思的形态归纳问题。
第2章主要讨论文档结构,包括句子边界检测、话题边界检查,主要讨论了基于特征的机器学习方法,对语音的分割也进行了讨论。
第3章讨论了句法分析,涉及的内容丰富而具体。
第4章讨论了语义分析,是本书篇幅最大的一章,内容非常详尽,从各类语义问题描述、资源、方法到具体系统,应有尽有。
第5章讨论了语言模型,介绍各种先进的语言模型,有很多最新的内容和文献可供读者参考,阅读该章需在理解了n元模型的基础上进行。
第6章讨论了文本蕴涵识别,提出了一个文本蕴涵框架,介绍了各类文本蕴涵算法和系统及其性能评测,提供了很多相关资源。
第7章讨论了情感和主观性分析,强调了孳衍(bootstrapping)方法的使用(特别是跨语言孳衍)。
第8章讨论了提及检测和共指消解,这是两个信息抽取中的基本问题。该章写得非常简明扼要,而且提供了一种实现。
第9章讨论了关系抽取和事件抽取,也属于信息抽取的范畴。该章探讨了机器学习的方法,并提倡将实体检测和关系抽取结合在一个模型里。
第10章讨论了机器翻译及其现状、评测与各种模型。
第11章讨论了信息检索,内容翔实,特别区分了跨语言信息检索和多语言信息检索。
第12章讨论了自动文摘,对其历史、方法、评测、系统构造、工具、多语问题都有细致的描述。自动文摘也可以看作是信息抽取问题。
第13章讨论了问答系统,对涉及的实现技术和相关算法都进行了详细的描述。问答系统也可以看作是高级的信息抽取。
第14章讨论了提炼,这是介于信息检索和问答系统的一类新兴问题,需要融合多个信息源的知识。
第15章讨论了口语对话系统,包括其体系结构、技术和方法,以及实现中的一些问题。
第16章讨论了自然语言处理的多引擎聚合,包括其常见的体系结构,并在GALE项目背景下讨论了一个详细案例。
虽然本书的目的之一是在基础知识方面尽量完整,读者不需要为了自然语言处理基本任务去看很多书,但是,对于已经有自然语言处理基础的读者而言,本书提供了很多最新的研究内容,其参考文献和提供的大量可下载资源的链接非常有价值,省去了读者很多宝贵的时间。对自然语言处理系统的研发者,特别是信息抽取和信息检索相关的开发者,本书是非常好的参考。
译者在翻译时全书尽量采用统一的术语,并且采用浅显的译法来帮助读者理解。然而语言学和自然语言处理方面的术语迄今还有很多不如意之处,因此可能仍然不能使读者看其言而知其义。
本书由多人翻译,基本上每人一章。翻译人员按照章节顺序分别为史晓东、谭波、徐伟、陈毅东(其中黄哲煌翻译了452节)、黄研洲、林达真、苏劲松、胡金铭、何中豪、邬昌兴、方瑞玉、罗凌、崔志健和方瑞玉、甘星超、王晓苏、曹茂元。校对工作也由史晓东、陈毅东、谭波等多人参加。全书由史晓东统校,对存在的翻译错误负主要责任。出版社的王春华老师对本书的翻译给出了很多指导性意见,特此感谢。
由于译者水平有限,翻译时间也很仓促,译文中肯定还存在不少错误,欢迎读者批评指正,以便将来修订。译者的联系地址为mandel@xmu.edu.cn。

图书目录

出版者的话
译者序
前言
关于作者
第一部分理论
第1章找出词的结构
11词及其部件
111词元
112词形
113词素
114类型学
12问题和挑战
121不规则性
122歧义性
123能产性
13形态模型
131查词典
132有限状态形态
133基于合一的形态
134函数式形态
135形态归纳
14总结
第2章找出文档的结构
21概述
211句子边界检测
212主题边界检测
22方法
221生成序列分类方法
222判别性局部分类方法
223判别性序列分类方法
224混合方法
225句子分割的全局建模扩展
23方法的复杂度
24方法的性能
25特征
251同时用于文本与语音的特征
252只用于文本的特征
253语音特征
26处理阶段
27讨论
28总结
第3章句法
31自然语言分析
32树库:句法分析的数据驱动方法
33句法结构的表示
331使用依存图的句法分析
332使用短语结构树的句法分析
34分析算法
341移进归约分析
342超图和线图分析
343最小生成树和依存分析
35分析中的歧义消解模型
351概率上下文无关文法
352句法分析的生成模型
353句法分析的判别模型
36多语言问题:什么是词元
361词元切分、实例和编码
362分词
363形态学
37总结
第4章语义分析
41概述
42语义解释
421结构歧义
422词义
423实体与事件消解
424谓词 论元结构
425意义表示
43系统范式
44词义
441资源
442系统
443软件
45谓词 论元结构
451资源
452系统
453软件
46意义表示
461资源
462系统
463软件
47总结
471词义消歧
472谓词 论元结构
473意义表示
第5章语言模型
51概述
52n元模型
53语言模型评价
54参数估计
541最大似然估计和平滑
542贝叶斯参数估计
543大规模语言模型
55语言模型适应
56语言模型的类型
561基于类的语言模型
562变长语言模型
563判别式语言模型
564基于句法的语言模型
565最大熵语言模型
566因子化语言模型
567其他基于树的语言模型
568基于主题的贝叶斯语言模型
569神经网络语言模型
57特定语言建模问题
571形态丰富语言的建模
572亚词单元的选择
573形态类别建模
574无分词语言
575口语与书面语言
58多语言和跨语言建模
581多语言建模
582跨语言建模
59总结
第6章文本蕴涵识别
61概述
62文本识别蕴涵任务
621问题定义
622RTE的挑战
623评估文本蕴涵系统性能
624文本蕴涵解决方案的应用
625其他语言中的RTE研究
63文本蕴涵识别的框架
631要求
632分析
633有用的组件
634通用模型
635实现
636对齐
637推理
638训练
64案例分析
641抽取语篇约束
642基于编辑距离的RTE
643基于转换的方法
644逻辑表示及推理
645独立于蕴涵学习对齐
646在RTE中利用多对齐
647自然逻辑
648句法树核
649使用有限依存上下文的全局相似度
6410RTE的潜在对齐推理
65RTE的进一步研究
651改进分析器
652发明或解决新问题
653开发知识库
654更好的RTE评价
66有用资源
661文献
662知识库
663自然语言处理包
67总结
第7章多语情感与主观性分析
71概述
72定义
73英语中的情感及主观性分析
731词典
732语料库
733工具
74词级和短语级标注
741基于字典的方法
742基于语料库的方法
75句子级标注
751基于字典
752基于语料库
76文档级标注
761基于字典
762基于语料库
77什么有效,什么无效
771最佳情况:已有人工标注的语料库
772次优情形:基于语料库的跨语言映射
773第三优情形:孳衍词典
774第四优情形:翻译词典
775各种可行方法的比较
78总结
第二部分实践
第8章实体检测和追踪
81概述
82提及检测
821数据驱动的分类
822搜索提及
823提及检测特征
824提及检测实验
83共指消解
831Bell树的构建
832共指模型:链接和引入模型
833最大熵链接模型
834共指消解实验
84总结
第9章关系和事件
91概述
92关系与事件
93关系类别
94将关系抽取视为分类
941算法
942特征
943分类器
95关系抽取的其他方法
951无监督和半监督方法
952核方法
953实体和关系检测的联合方法
96事件
97事件抽取方法
98超句
99事件匹配
910事件抽取的未来方向
911总结
第10章机器翻译
101机器翻译现状
102机器翻译评测
1021人工评测
1022自动评测
1023WER、BLEU、METEOR等
103词对齐
1031共现
1032IBM模型1
1033期望最大化
1034对齐模型
1035对称化
1036作为机器学习问题的词对齐
104基于短语的翻译模型
1041模型
1042训练
1043解码
1044立方剪枝
1045对数线性模型和参数调节
1046控制模型的大小
105基于树的翻译模型
1051层次短语翻译模型
1052线图解码
1053基于句法的模型
106语言学挑战
1061译词选择
1062形态学
1063词序
107工具和数据资源
1071基本工具
1072机器翻译系统
1073平行语料
108未来的方向
109总结
第11章跨语言信息检索
111概述
112文档预处理
1121文档句法和编码
1122词元化
1123规范化
1124预处理最佳实践
113单语信息检索
1131文档表示
1132索引结构
1133检索模型
1134查询扩展
1135文档先验模型
1136模型选择的最佳实践
114CLIR
1141基于翻译的方法
1142机器翻译
1143中间语言文档表示
1144最佳实践
115多语言信息检索
1151语言识别
1152MLIR的索引建立
1153翻译查询串
1154聚合模型
1155最佳实践
116信息检索的评价
1161建立实验环境
1162相关性评估
1163评价指标
1164已有数据集
1165最佳实践
117工具、软件和资源
118总结
第12章多语自动文摘
121概述
122自动文摘方法
1221传统方法
1222基于图的方法
1223学习如何做摘要
1224多语自动摘要
123评测
1231人工评价
1232自动评价
1233自动文摘评测系统的近期发展
1234多语自动文摘的自动评测方法
124如何搭建自动文摘系统
1241材料
1242工具
1243说明
125评测竞赛和数据集
1251评测竞赛
1252数据集
126总结
第13章问答系统
131概述和历史
132架构
133源获取和预处理
134问题分析
135搜索及候选抽取
1351非结构化资源搜索
1352非结构化源文本的候选抽取
1353结构化源文本的候选抽取
136回答评分
1361方法概述
1362证据结合
1363扩展到列表型问题
137跨语言问答
138案例研究
139评测
1391评测任务
1392判断答案正确性
1393性能度量
1310当前和未来的挑战
1311总结和进一步阅读
第14章提炼
141概述
142示例
143相关性和冗余性
144Rosetta Consortium 提炼系统
1441文档和语料库准备
1442索引
1443查询回答
145其他提炼方法
1451系统架构
1452相关度
1453冗余
1454多模态提炼
1455跨语言提炼
146评测和指标
147总结
第15章口语对话系统
151概述
152口语对话系统
1521语音识别和理解
1522语音生成
1523对话管理器
1524语音用户接口
153对话形式
154自然语言呼叫路由选择
155三代对话应用
156持续的改进循环
157口语句子的转录和标注
158口语对话系统的本地化
1581呼叫流程本地化
1582提示本地化
1583文法的本地化
1584源端数据
1585训练
1586测试
159总结
第16章聚合自然语言处理引擎
161概述
162聚合语音和NLP引擎架构的期望属性
1621灵活的分布式组件化
1622计算效率
1623数据操作功能
1624鲁棒性处理
163聚合的架构
1631UIMA
1632GATE
1633InfoSphere Streams
164案例研究
1641GALE 互操作性演示系统
1642跨语言自动语言开发系统
1643实时翻译服务
165经验教训
1651分割涉及延迟和精度之间的权衡
1652联合优化与互操作性
1653数据模型需要使用约定
1654性能评估的挑战
1655引擎的前向波训练
166总结
167UIMA样本代码
索引

教学资源推荐
作者: (美)Y. Daniel Liang 著
作者: 陈作聪 苏静 王龙 等编著
作者: [美] 托尼·加迪斯(Tony Gaddis) 著
参考读物推荐