I. 引言 有回顾NLP(Natural Language Processing)历史的知名学者介绍机器学习(machine learning)取代传统规则系统(rule-based system)成为学界主流的掌故,说20多年前好像经历了一场惊心动魄的宗教战争。必须承认,NLP 这个领域,统计学家的完胜,是有其历史必然性的。机器学习在NLP很多任务上的巨大成果和效益是有目共睹的:机器翻译,语音识别/合成,搜索排序,垃圾过滤,文档分类,自动文摘,词典习得,专名标注,词性标注等(Church 2007)。 然而,近来浏览几篇 NLP 领域代表人物的综述,见其中不乏主流的傲慢与偏见,依然令人惊诧。细想之下,统计学界的确有很多对传统规则系统根深蒂固的成见和经不起推敲但非常流行的蛮横结论。可怕的不是成见,成见无处不在。真正可怕的是成见的流行无阻。而在NLP这个领域,成见的流行到了让人瞠目结舌的程度。不假思索而认同接受这些成见成为常态。因此想到立此存照一下,并就核心的几条予以详论。下列成见随处可见,流传甚广,为免纷扰,就不列出处了,明白人自然知道这绝不是杜撰和虚立的靶子。这些成见似是而非,经不起推敲,却被很多人视为理所当然的真理。为每一条成见找一个相应的规则系统的案例并不难,但是从一些特定系统的缺陷推广到对整个规则系统的方法学上的批判,乃是其要害所在。 【成见一】规则系统的手工编制(hand-crafted)是其知识瓶颈,而机器学习是自动训练的(言下之意:没有知识瓶颈)。 【成见二】规则系统的手工编制导致其移植性差,转换领域必须重启炉灶,而机器学习因为算法和系统保持不变,转换领域只要改变训练数据即可(言下之意:移植性强)。 【成见三】规则系统很脆弱,遇到没有预测的语言现象系统就会 break(什么叫 break,死机?瘫痪?失效?),开发不了鲁棒(robust)产品。 【成见四】规则系统的结果没有置信度,鱼龙混杂。 【成见五】规则系统的编制越来越庞杂,最终无法改进,只能报废。 【成见六】规则系统的手工编制注定其无法实用,不能 scale up,只能是实验室里的玩具。 【成见七】规则系统只能在极狭窄的领域成事,无法实现跨领域的系统。 【成见八】规则系统只能处理规范的语言(譬如说明书、天气预报、新闻等),无法应对 degraded text,如社会媒体、口语、方言、黑话、OCR 文档。 【成见九】规则系统是上个世纪的技术,早已淘汰(逻辑的结论似乎是:因此不可能做出优质系统)。 【成见十】从结果上看,机器学习总是胜过规则系统。 所列“成见”有两类:一类是“偏”见,如【成见一】至【成见五】。这类偏见主要源于不完全归纳,他们也许看到过或者尝试过规则系统某一个类型, 浅尝辄止,然后遽下结论(jump to conclusions)。盗亦有道,情有可原,虽然还是应该对其一一纠“正”。本文即是拨乱反正的第一篇。成见的另一类是谬见,可以事实证明其荒谬。令人惊诧的是,谬见也可以如此流行。【成见五】以降均属不攻自破的谬见。譬如【成见八】说规则系统只能分析规范性语言。事实胜于雄辩,我们开发的以规则体系为主的舆情挖掘系统处理的就是非规范的社交媒体。这个系统的大规模运行和使用也驳斥了【成见六】,可以让读者评判这样的规则系统够不够资格称为实用系统: 以全球500强企业为主要客户的多语言客户情报挖掘系统由前后两个子系统组成。核心引擎是后台子系统(back-end indexing engine),用于对社交媒体大数据做自动分析和抽取。分析和抽取结果用开源的Apache Lucene文本搜索引擎(lucene.apache.org) 存储。生成后台索引的过程基于Map-Reduce框架,利用计算云(computing cloud) 中200台虚拟服务器进行分布式索引。对于过往一年的社会媒体大数据存档(约300亿文档跨越40多种语言),后台索引系统可以在7天左右完成全部索引。前台子系统(front-end app)是基于 SaaS 的一种类似搜索的应用。用户通过浏览器登录应用服务器,输入一个感兴趣的话题,应用服务器对后台索引进行分布式搜索,搜索的结果在应用服务器经过整合,以用户可以预设(configurable)的方式呈现给用户。这一过程立等可取,响应时间不过三四秒。 II. 规则系统手工性的责难 【成见一】说:规则系统的手工编制(hand-crafted)是其知识瓶颈,而机器学习是自动训练的(言下之意:因此没有知识瓶颈)。 NLP主流对规则系统和语言学家大小偏见积久成堆,这第一条可以算是万偏之源。随便翻开计算语言学会议的论文,无论讨论什么语言现象,为了论证机器学习某算法的优越,在对比批评其他学习算法的同时,规则系统大多是随时抓上来陪斗的攻击对象,而攻击的理由往往只有这么一句话,规则系统的手工性决定了 “其难以开发”(或“其不能 scale up”,“其效率低下”,“其不鲁棒”,不一而足),或者干脆不给具体理由,直接说“文献【1】【2】【3】尝试了这个问题的不同方面,但这些系统都是手工编制的”,一句话判处死刑,甚至不用讨论它们的效果和质量。手工性几乎成了规则系统的“原罪”,编制这些系统的语言学家因此成为学术共同体背负原罪的二等公民。 手工编制(hand-crafted)又如何?在日常消费品领域,这是对艺人特别的嘉奖,是对批量机械化生产和千篇一律的反抗,是独特和匠心的代表,是高价格理直气壮的理由。缘何到了NLP领域,突然就成贬义词了呢?这是因为在NLP领域,代表主流的统计学家由于他们在NLP某些任务上的非凡成功,居功自傲,把成功无限夸大,给这个共同体施行了集体催眠术,有意无意引导人相信机器学习是万能的。换句话说,批判手工编制的劣根性,其隐含的前提是机器学习是万能的,有效的,首选的。而实际情况是,面对自然语言的复杂性,机器学习只是划过了语言学的冰山一角,远远没有到主流们自觉或不自觉吹嘘的万能境界。催眠的结果是,不独不少语言学家以及NLP相关利益方(如投资人和用户)被他们洗脑了,连他们自己也似乎逐渐相信了自己编制的神话。 真实世界中,NLP 是应用学科,最终结果体现在应用软件(applications)上,属于语言软件工程。作为一个产业,软件工程领域吸引了无数软件工程师,虽然他们自嘲为“码工”,社会共同体给予他们的尊重和待遇是很高的(Bill Gates 自封了一个 Chief Engineer,说明了这位软件大王对工匠大师的高度重视)。古有鲁班,现有码师(coding master)。这些码工谁不靠手工编制代码作为立足之本呢?没听说一位明星工程师因为编制代码的手工性质而被贬损。同是软件工程,为什么计算语言学家手工编制NLP代码与其他工程师手工编制软件代码,遭遇如此不同的对待。难道是因为NLP应用比其他应用简单?恰恰相反,自然语言的很多应用比起大多数应用(譬如图形软件、字处理软件等等)更加复杂和艰难。解释这种不同遭遇的唯一理由就是,作为大环境的软件领域没有NLP主流的小环境里面那么多的傲慢和偏见。软件领域的大师们还没有狂妄到以为可以靠自动编程取代手工编程。他们在手工编程的基础建设(编程架构和开发环境等)上下功夫,而不是把希望寄托在自动编程的万能上。也许在未来的某一天,一些简单的应用可以用代码自动化来实现,但是复杂任务的全自动化从目前来看是遥遥无期的。不管从什么标准来看,非浅层的自然语言分析和理解都是复杂任务的一种。因此,机器学习作为自动编程的一个体现是几乎不可能取代手工代码的。规则系统的NLP应用价值会长期存在。 自动是一个动听的词汇。如果一切人工智能都是自动学习的,前景该有多么美妙。机器学习因为与自动连接在一起,显得那么高高在上,让人仰视。它承载着人类对未来世界的幻想。这一切理应激励自动学习专家不断创新,而绝不该成为其傲慢和偏见的理由。 在下面具体论述所谓规则系统的知识瓶颈软肋之前,值得一提的是,本文所谓自动是指系统的开发,不要混淆为系统的应用。在应用层面,无论是机器学习出来的系统,还是手工编制的系统,都是全自动地服务用户的,这是软件应用的性质决定的。虽然这是显而易见的事实,可确实有人被误导,一听说手工编制,就引申为基于规则系统的应用也是手工的,或者半自动的。 手工编制NLP系统是不是规则系统的知识瓶颈?毋庸讳言,确实如此。这个瓶颈体现在系统开发的周期上。但是,这个瓶颈是几乎所有大型软件工程项目所共有的,是理所当然的资源成本,不独为 NLP “专美”。从这个意义上看,以知识瓶颈诟病规则系统是可笑的,除非可以证明对所有NLP项目,用机器学习开发系统比编制规则系统,周期短且质量高(个别的项目可能是这样,但一般而言绝非如此,后面还要详谈)。大体说来,对于NLP的浅层应用(譬如中文切词,专名识别,等等),没有三个月的开发,没有至少一位计算语言学家手工编制和调试规则和至少半个工程师的平台层面的支持,是出不来规则系统的。对于NLP的深层应用(如句法分析,舆情抽取等),没有至少一年的开发,涉及至少一位计算语言学家的手工编制规则,至少半个质量检测员的协助和半个工程师的平台支持,外加软件工程项目普遍具有的应用层面的用户接口开发等投入,也是出不来真正的软件产品的。当然需要多少开发资源在很大程度上决定于开发人员(包括作为知识工程师的计算语言学家)的经验和质量以及系统平台和开发环境的基础(infrastructures)如何。 计算语言学家编制规则系统的主体工作是利用形式化工具编写并调试语言规则、各类词典以及语言分析的流程调控。宏观上看,这个过程与软件工程师编写应用程序没有本质不同,不过是所用的语言、形式框架和开发平台(language,formalism and development platform)不同,系统设计和开发的测重点不同而已。这就好比现代的工程师用所谓高级语言 Java 或者 C,与30年前的工程师使用汇编语言的对比类似,本质是一样的编程,只是层次不同罢了。在为NLP特制的“高级”语言和平台上,计算语言学家可以不用为内存分配等非语言学的工程细节所羁绊,一般也不用为代码的优化和效率而烦扰,他们的注意力更多地放在面对自然语言的种种复杂现象,怎样设计语言处理的架构和流程,怎样平衡语言规则的条件宽窄,怎样与QA(质量检测)协调确保系统开发的健康,怎样保证语言学家团队编制规则的操作规范(unit testing,regression testing,code review,baselines,等等)以确保系统的可持续性,怎样根据语言开发需求对于现有形式框架的限制提出扩展要求,以及怎样保证复杂系统的鲁棒性,以及怎样突破规则系统的框架与其他语言处理包括机器学习进行协调,等等。一个领头的计算语言学家就是规则系统的架构师,系统的成败绝不仅仅在于语言规则的编制及其堆积,更多的决定于系统架构的合理性。明星工程师是软件企业的灵魂,NLP 规则系统的大规模成功也一样召唤着语言工程大师。 关于知识瓶颈的偏见,必须在对比中评估。自然语言处理需要语言学知识,把这些知识形式化是每个NLP系统的题中应有之义,机器学习绝不会自动免疫,无需知识的形式化。规则系统需要语言学家手工开发的资源投入,机器学习也同样需要资源的投入,不过是资源方式不同而已。具体说,机器学习的知识瓶颈在于需要大数量的训练数据集。排除研究性强实用性弱的无监督学习(unsupervised learning),机器学习中可资开发系统的方法是有监督的学习(supervised learning)。有监督的学习能开发知识系统成为应用的前提是必须有大量的手工标注的数据,作为学习的源泉。虽然机器学习的过程是自动的(学习算法的创新、调试和实现当然还是手工的),但是大量的数据标注则是手工的(本来就有现成标注不计,那是例外)。因此,机器学习同样面临知识瓶颈,不过是知识瓶颈的表现从需要少量的语言学家变成需要大量的低端劳动者(懂得语言及其任务的中学生或大学生即可胜任)。马克思说金钱是一般等价物,知识瓶颈的问题于是转化为高级劳动低级劳动的开销和转换问题:雇佣一个计算语言学家的代价大,还是雇佣10个中学生的代价大?虽然这个问题根据不同项目不同地区等因素答案会有不同,但所谓机器学习没有知识瓶颈的神话可以休矣。 另外,知识瓶颈的对比问题不仅仅是针对一个应用而言,而应该放在多应用的可移植性上来考察。我们知道大多数非浅层的NLP应用的技术支持都源于从自然语言做特定的信息抽取:抽取关系、事件、舆情等。由于机器学习把信息抽取看成一个直接对应输入和输出的黑匣子,所以一旦改变信息抽取目标和应用方向,以前的人工标注就废弃了,作为知识瓶颈的标注工作必须完全重来。可是规则系统不同,它通常设计成一个规则层级体系,由独立于领域的语言分析器(parser)来支持针对领域的信息抽取器(extractor)。结果是,在转移应用目标的时候,作为技术基础的语言分析器保持不变,只需重新编写不同的抽取规则而已。实践证明,对于规则系统,真正的知识瓶颈在语言分析器的开发上,而信息抽取本身花费不多。这是因为前者需要应对自然语言变化多端的表达方式,将其逻辑化,后者则是建立在逻辑形式(logical form)上,一条规则等价于底层规则的几百上千条。因此,从多应用的角度看,规则系统的知识成本趋小,而机器学习的知识成本则没有这个便利。 III. 主流的反思 如前所述,NLP领域主流意识中的成见很多,积重难返。世界上还很少有这样的怪现象:号称计算语言学(Computational Linguistics)的领域一直在排挤语言学和语言学家。语言学家所擅长的规则系统,与传统语言学完全不同,是可实现的形式语言学(Formal Linguistics)的体现。对于非浅层的NLP任务,有效的规则系统不可能是计算词典和文法的简单堆积,而是蕴含了对不同语言现象的语言学处理策略(或算法)。然而,这一路研究在NLP讲台发表的空间日渐狭小,资助亦难,使得新一代学人面临技术传承的危险。Church (2007)指出,NLP研究统计一边倒的状况是如此明显,其他的声音已经听不见。在浅层NLP的低垂果实几乎全部采摘完毕以后,当下一代学人面对复杂任务时,语言学营养缺乏症可能导致统计路线捉襟见肘。 可喜的是,近年来主流中有识之士(如,Church 2007, Wintner 2009)开始了反思和呼吁,召唤语言学的归来:“In essence, linguistics is altogether missing in contemporary natural language engineering research. … I want to call for the return of linguistics to computational linguistics.”(Wintner 2009)。相信他们的声音会受到越来越多的人的注意。 参考文献 Church 2007. A Pendulum Swung Too Far. Linguistics issues in Language Technology, Volume 2, Issue 4. Wintner 2009. What Science Underlies Natural Language Engineering? Computational Linguistics, Volume 35, Number 4 原载 《W. Li T. Tang: 主流的傲慢与偏见:规则系统与机器学习》 【计算机学会通讯】2013年第8期(总第90期) Pride and Prejudice in Mainstream: Rule System vs. Machine Learning In the area of Computational Linguistics, there are two basic approaches to natural language processing, the traditional rule system and the mainstream machine learning. They are complementary and there are pros and cons associated with both. However, as machine learning is the dominant mainstream philosophy reflected by the overwhelming ratio of papers published in academia, the area seems to be heavily biased against the rule system methodology. The tremendous success of machine learning as applied to a list of natural language tasks has reinforced the mainstream pride and prejudice in favor of one and against the other. As a result, there are numerous specious views which are often taken for granted without check, including attacks on the rule system's defects based on incomplete induction or misconception. This is not healthy for NLP itself as an applied research area and exerts an inappropriate influence on the young scientists coming to this area. This is the first piece of a series of writings aimed at correcting the prevalent prejudice, focused on the in-depth examination of the so-called hand-crafted defect of the rule system and the associated knowledge bottleneck issue. 【相关】 K. Church: A Pendulum Swung Too Far , Linguistics issues in Language Technology, 2011; 6(5) 【科普随笔:NLP主流的傲慢与偏见】 【 关于NLP方法论以及两条路线之争 】 专栏: NLP方法论 【置顶:立委NLP博文一览】 《朝华午拾》总目录
我们 “语义计算” 群在讨论这个句子的句法结构: The asbestos fiber, crocidolite, is unusually resilient once it enters the lungs, with even brief exposures to it causing symptoms that show up decades later, researchers said. 我说,it looks fine in its entirety. once-clause has a main clause before it, so it is perfectly grammatical. The PP with even brief exposures to it is an adverbial of causing ...: usually PP modifies a preceding verb, but here it modifies the following ING-verb, which is ok. 然后想到不妨测试了一下我们的 parser,果然,把 PP 连错了,说是 PP 修饰 enters,而不是 causing。 除此而外,我的 parse 完全正确。这也许是一个可以原谅的错误。如果要改进,我可以让两种可能都保留。但是统计上看,也许不值得,因为一个 PP 面对前面的一个谓语动词和后面的一个非谓语动词,修饰前者的概率远远大于修饰后者。 张老师问: 是否此句在你的训练集里?如是统计方法。否则太不容易了 我说,我这是语言学程序猿做的规则系统,不是统计方法。句子不在我的 dev corpus 里面。parsing 是一个 tractable task,下点功夫总是可以做出来,其水平可以达到接近人工(语言学家),超越普通人(非语言学家)。说的是自己实践的观察和体会。靠谱的 parsing,有经验的语言学程序猿可以搞定,无需指靠机器学习。 为了说明这个观点,我测试了我的汉语 parser: 这个汉语句子的 parsing,只有一个错误,“语言学”与 “程序猿” 之间掉链子了(说明 parsing 还有改进余地,汉语parsing开发晚一些,难度也大一些,当前的状况,掉链子的事儿还偶有发生)。但整体来看基本也算靠谱了。所以,即便是比英语句法更难的汉语,也仍然属于 tractable 人工可以搞定的任务。 语言学家搞不定的是那些千头万绪的任务,譬如语音识别(speech recognition),譬如文章分类 (document classification),譬如聚类习得 (clus tering-based ontology acquisition) 。这些在很多个 features 中玩平衡的任务,人脑不够用,见木不见林。但是对于 deep parsing 和 信息抽取,解剖的是一颗颗树,条分缕析,这是语言学家的拿手好戏,都是 tractable 的任务,当然可以搞定。(甭管多大的数据,一句句分析抽取完了存入库里,到retrieve的时候还是需要“挖掘”一番,那时候为了不一叶障目,自然是需要用到统计的)。 在 条分缕析的 tractable 任务上(譬如,deep parsing),我的基本看法是:有NLP经验的语言学家立于不败之地。而机器学习,包括深度学习(deep learning,当前呼声最高的机器学习神器),也许在将来的某一天,可以逼近专家水平。值得期待。最多是逼近语言学家,但是要超越人工,我不大相信。再牛的机器学习算法也不可能在所有任务上胜过专家的手工编码,这个观点本来应该是显然的,但是学界的多数人却天然地认为深度学习总是可以超越人工系统。 parser 的直接目标不是语义求解, 而是提供一个靠谱的结构基础, 这样后续的(语用层面的)语义理解、信息抽取、舆情分析、机器翻译、自动文摘、智能秘书或其他的NLP应用, 就可以面对有限的 patterns, 而不是无限的线性序列。 从这个目标来看,我们的中文英文的 parsers 都已经达标了。 【相关】 【围脖:做 parsing 还是要靠语言学家,机器学习不给力】 手工规则系统的软肋在文章分类 《立委随笔:语言自动分析的两个路子》 再谈机器学习和手工系统:人和机器谁更聪明能干? 【 why hybrid? on machine learning vs. hand-coded rules in NLP 】 Comparison of Pros and Cons of Two NLP Approaches 【置顶:立委科学网博客NLP博文一览(定期更新版)】
Countless lessons learned over the years in the NLP system development show that a robust real life system should not be too sophisticated just as man should not be too smart. As a rule of thumb, anything involving more than 3 levels of dependency is too delicate. You can make it work today, but it will break some day. One recent lesson was my effort to handle Chinese long distance negation and satire in question forms: it seemed to work, but in the end, it created more problems than it solved. Stay simple, stay foolish. 这是本人积30年系统研发教训及经验的一个总结。尤其对于自然语言这样复杂的现象,尤其在容易见木不见林的规则系统的编制中。 人常常自以为聪明,语言学家为甚。在缺少大数据及其工具和平台支持下,再聪明的语言学家也难逃井底之蛙的局限,可我们偏偏以为自己洞察了语言之海。面前就是一例:为了对付远距离否定(否定词“不”、“没有”等不是紧挨着被否定的动词或形容词短语)以及反问句形式的否定等复杂语言现象,笔者精心编制了一批规则。结果如上个帖子所示,在挖掘薛蛮子嫖娼的热点话题时候,挖掘出不少否定嫖娼的情报来,其中约一半是弄巧成拙,还不如不要那套规则(参见:【 嫖还是没嫖,这不是语言学的问题 】)。 作为一个经验法则,面对 open-ended 的复杂现象,任何依仗因果条件的推导,其依赖条件的嵌套层次不要超过3层。其实就语言本体而论,句法层次的所谓无限递归(recursion)的人类语言能力,由于人脑短期记忆的制约,也大体遵循同样的经验法则:中心递归基本不超过3层,这是可以由统计来证明的。超过了,就应该亮起红灯。一定要克服语言学家那种拍着脑袋(据说语言可以从脑袋产生,与其做语言大数据调查,不如通过内省)去“阿丽斯追兔子”似的一条路走到黑的职业恶习。 以否定式为例,初始的规则是不考虑否定式的,大约有七成现象不涉及否定式(如: iPhone 5 有问题 )。把否定带入是第一层(如: iPhone 5 没有问题 ),这时候应该涵盖约九成有关现象了。如果进一步考虑 double negation 的处理(如: iPhone 5 并非没有问题 ),算是第二层,那该到九成以上了。再进一步去对付远距离否定(如: 我不认为 iPhone 5 没有问题 ; iPhone 5 没有问题,是不可能的 ),这就到第三层了。第三层人力还勉强可为,虽然已经很危险了。如果你还不知足藏拙适可而止,还要把系统进一步复杂化去对付远距离否定与反问句交互等复杂现象(如: 谁不认为 iPhone 5 没有问题 ?),你开始越过红线,忘乎所以了。弄巧成拙,聪明反被聪明误,就是为你预备的警句。 Stay simple,stay foolish,此乃金玉良言。 【置顶:立委科学网博客NLP博文一览(定期更新版)】
有回顾NLP(Natural Language Processing)历史的大牛介绍统计模型(通过所谓机器学习 machine learning)取代传统知识系统(又称规则系统 rule-based system)成为学界主流的掌故,说20多年前好像经历了一场惊心动魄的宗教战争。其实我倒觉得更像49年解放军打过长江去,传统NLP的知识系统就跟国民党一样兵败如山倒,大好江山拱手相让。文傻秀才遭遇理呆兵,有理无理都说不清,缴械投降是必然结果。唯一遗憾的也许是,统计理呆仗打得太过顺利,太没有抵抗,倒是可能觉得有些不过瘾,免不了有些胜之不武的失落。苍白文弱的语言学家也 太不经打了。 自从 20 年前统计学家势不可挡地登堂入室一统天下以后,我这样语言学家出身的在学界立马成为二等公民,一直就是敲边鼓,如履薄冰地跟着潮流走。走得烦了,就做一回阿桂。 NLP 这个领域,统计学家完胜,是有其历史必然性的,不服不行。虽然统计学界有很多对传统规则系统根深蒂固的偏见和经不起推敲但非常流行的蛮横结论(以后慢慢论,血泪账一笔一笔诉 :),但是机器学习的巨大成果和效益是有目共睹无所不在的:机器翻译,语音识别/合成,搜索排序,垃圾过滤,文档分类,自动文摘,知识习得,you name it 甚至可以极端一点这么说,规则系统的成功看上去总好像是个案,是经验,是巧合,是老中医,是造化和运气。而机器学习的成功,虽然有时也有 tricks,但总体而论是科学的正道,是可以重复和批量复制的。 不容易复制的成功就跟中国餐一样,同样的材料和recipe,不同的大厨可以做出完全不同的味道来。这就注定了中华料理虽然遍及全球,可以征服食不厌精的美食家和赢得海内外无数中餐粉丝,但中餐馆还是滥竽充数者居多,因此绝对形成不了麦当劳这样的巨无霸来。 而统计NLP和机器学习就是麦当劳这样的巨无霸:味道比较单调,甚至垃圾,但绝对是饿的时候能顶事儿, fulfilling,最主要的是 no drama,不会大起大落。不管在世界哪个角落,都是一条流水线上的产品,其味道和质量如出一辙 。 做不好主流,那就做个大厨吧。做个一级大厨感觉也蛮好。最终还是系统说了算。邓小平真是聪明,有个白猫黑猫论,否则我们这些前朝遗老不如撞墙去。 就说过去10多年吧,我一直坚持做多层次的 deep parsing,来支持NLP的各种应用。当时看到统计学家们追求单纯,追求浅层的海量数据处理,心里想,难怪有些任务,你们虽然出结果快,而且也鲁棒,可质量总是卡在一个口上就过不去。从“人工智能”的概念高度看,浅层学习(shallow learning)与深层分析(deep parsing)根本就不在一个档次上,你再“科学”也没用。可这个感觉和道理要是跟统计学家说,当时是没人理睬的,是有理说不清的,因为他们从本质上就鄙视或忽视语言学家 ,根本就没有那个平等对话的氛围(chemistry)。最后人家到底自己悟出来了,因此近来天上掉下个多层 deep learning,视为神迹,仿佛一夜间主导了整个机器学习领域,趋之者若鹜。啧啧称奇的人很多,洋洋自得的也多,argue 说,一层一层往深了学习是革命性的突破,质量自然是大幅度提升。我心里想,这个大道理我十几年前就洞若观火,殊途不还是同归了嘛。想起在深度学习风靡世界之前,曾有心有灵犀的老友这样评论过: To me, Dr. Li is essentially the only one who actualy builds true industrial NLP systems with deep parsing. While the whole world is praised with heavy statistics on shallow linguistics, Dr. Li proved with excellent system performances such a simple truth: deep parsing is useful and doable in large scale real world applications. 我的预见,大概还要20年吧(不是说风水轮流转20年河东河西么),主流里面的偏见会部分得到纠正,那时也不会是规则和知识的春天重返,而是统计和规则比较地和谐合作。宗教式的交恶和贬抑会逐渐淡去。 阿弥陀佛! 【相关篇什】 【立委随笔:文傻和理呆的世纪悲剧(romance tragedy)】 ZT: 2013突破性科学技术之“深度学习” 【置顶:立委科学网博客NLP博文一览(定期更新版)】