《镜子大全》《朝华午拾》分享 http://blog.sciencenet.cn/u/liwei999 曾任红小兵,插队修地球,1991年去国离乡,不知行止。

博文

【科普随笔:NLP主流成见之二,所谓规则系统的移植性太差】

已有 8323 次阅读 2013-6-28 14:49 |个人分类:立委科普|系统分类:科研笔记| NLP, 机器学习, 主流, 规则系统

【科普随笔:NLP主流的傲慢与偏见】中的第二条是 :

【成见二】规则系统的手工编制导致其移植性差,转换领域必须重启炉灶,而机器学习因为算法和系统保持不变,转换领域只要改变训练数据即可(言下之意:移植性强)。

这一偏见的要害是先把语言学家当机器人(与傻子是同义词),假设手工编制的规则与机器学习的显式规则(symbolic rules)同形,然后批评语言学家不如机器灵活和有效率。这就好比在电子词典或者计算器的比赛中,突然拉进一位号称活字典或心算师的有血有肉的人来,然后考核电子器件与专家的记忆力和运算能力。结论是,see,人脑的容量太小,根本无法与电脑相比,你出局了!

如果规则系统的架构和分析完全没有深度,只允许编写表层模式(surface patterns)的规则,直接连接输入与输出,用脚后跟想也可以得出移植性差的结论,因为表层规则依赖于任务,任务一换,辛辛苦苦编制调试出来的规则就没有再利用的可能。但是,除非是非常浅层的NLP(Natural Language Processing)任务,譬如标注产生式合成词(productive compouds)、词性(Part of Speech tagging)、专名标注(Named Entity tagging)、日期、数量单位、邮递地址等,对于最常见的NLP应用,信息抽取、舆情抽取等,语言学家几乎不可能象机器那样傻地把学习过程当作一个黑匣子,只会匹配输入和输出,而不去究竟背后的深层结构及其概括和推理。(即便是浅层任务,手工编制也未见得不可行不合算、不能与机器学习相媲美,需要具体分析其得失,不过我们先按下不论。)

换句话说,机器学习因为黑匣子的方法论一般只是从表层到表层(即,输入 $\rightarrow$ 输出),反正是机器学出来的,不怕模型或规则的量大和冗余。说“一般”是因为机器学习的领域当然有探索多层学习的研究,最近风行的深度学习似乎就是一种。(深度学习之所以被认为是革命性的,似乎也反过来说明长时期以来机器学习一直在表层做文章。)而语言学家设计的规则系统通常是一个模拟人的分析概括过程的层级体系(rule hierarchy),从浅层到深层逐级分析,最后达成任务(即,输入 $\rightarrow " style="text-indent:32px;$ 中间结构 $\rightarrow " style="text-indent:32px;$ 输出)。这样的规则系统的移植性还是很差么?具体说,编写的规则代码需要随着任务转换全部推倒重来,还是代码在新的领域可以再利用?积在美16年研发多种信息抽取系统和产品的经验,我可以负责任地回答,设计优良的规则系统可以做到很好的领域移植性,其绝大部分规则可以再利用。这里面的道理就在,领域可以变,专业术语等词汇级的资源可以各个不同,但语言结构基本不变。总体而言,自然语言的语法是跨领域的。

大体上说,一个四五人的研发团队(一个NLP平台工程师、两位语言学家、半个QA半个operations)研发一个特定自然语言(譬如英语)的语言深度分析器,大约需要两三年的功夫可以做到实用(再做其他的语言,时间至少可以减半,因为平台、形式体系、架构和开发环境是各语言开发及其不同抽取项目都可以分享的。单这一点也可见所谓规则系统转换领域一切要重起炉灶是怎样的误导:一方面吹嘘机器学习算法系统无需改变,一方面有意无意忽视规则系统中的架构、语言处理流程以及规则编译器及平台等系统层面的领域普适性,两套标准被忽悠得如此娴熟,让人不得不叹)。与之相比较,在分析基础上做一套抽取系统支持应用,简单任务两周可达到实用,复杂任务譬如舆情抽取半年也可以初步完成(其后就是维护和逐步完善了),任务平均所需开发时间在三个月左右。大体说来,分析与抽取的资源投入比例大约是10:1,因此,对这样架构的规则系统来说,移植性的量化表述大概是,90%的系统是可移植的,只有10%需要推倒重来。三个月的移植开销是个什么概念呢?在应用软件的开发现场,它根本就不可能成为瓶颈,因为单单是研究用户的信息需求,定义新产品的抽取目标,就常常需要三个月的时间。除此之外,从实用抽取系统第一版开发完成,到产品开发组消化它,把它转变成可用的产品或者产品功能,也至少需要三个月的开发周期。由此可见,即便规则系统移植性进一步加强,在生产线上也难以推动产品的更新换代周期。结论是,不存在规则系统移植性太差不堪使用的问题。这就是偏见重复一千遍转化成集体催眠下的反真理而已。

问题的另一方面是,机器学习是否真地移植性那么强,象吹嘘的那么神,系统无需变化,只要随着新数据重新训练一下就生成一个新领域的系统?其实,谈何容易。首先,新数据哪里来,这个知识瓶颈就不好过。再者,重新训练的过程也 绝不是简单地按章办事即可大功告成。一个过得去的系统常常要经历一个不断调控优化的过程。

说到这里,想起一段亲历的真实故事。我以前拿过政府罗马实验室10多个小企业创新基金,率领研发组开发了一个以规则系统为主(机器学习为辅,主要是浅层专名标注那一块用的是机器学习)的信息抽取引擎。我们的政府资助人也同时资助另一家专事机器学习的信息抽取的团队(在美国也是做机器学习很牛的一家),其目的大概是鼓励竞争,不要吊死在一棵树上。不仅如此,罗马实验室还选助了一家系统集成商开发一套情报挖掘应用软件,提供给政府有关机构试用。这套应用的内核用的就是我们两家提供的信息抽取引擎作为技术支撑。在长达四年的合作中,我们与集成商有过多次接触,他们的技术主管告诉我,从移植性和质量改进方面看,我们的规则引擎比另一家的机器学习引擎好太多了。

我问,怎么会,他们有一流的机器学习专家,还常年配有一个手工标注的团队,引擎质量不会太差的。主管告诉我,也许在他们训练和测试的数据源上质量的确不错,可是集成商这边是用在另一套保密数据(classified data)上,移植过来用效果就差了。我说,那当然,训练的数据和使用现场的数据不同类型,机器学习怎么能指望出好结果呢,你们该重新训练(re-training)啊。你们用他们引擎五年来,重新训练过几次,效果如何?主管说:一次也没有重新训练成过。重新训练,谈何容易?我问:你们不可以组织人自己标注使用领域的数据,用他们的系统重新训练?主管说:理论上可行,实践上步步难行。首先,要想达到最优效果 ,当然是根据我们的数据重新标注一个与引擎出厂时候大体等量的训练文本集来。可那样大的数据标注,我们根本无力做成,标注过程的质量控制也没有经验。结果是我们只标注了部分数据。理论上讲,我们如果把这批自己的数据加到引擎提供者的训练数据中,重新训练可以把系统多少拉到我们的领域来,效果总会有 提高。但是我们不是信息抽取和机器学习专家,我们只擅长做系统集成。机器学习用新旧数据混合要想训练得好,要牵涉到一些技术细节(甚至tips和tricks) 和一些说明书和专业论文上不谈的微调和小秘密。尝试过,越训练效果反而越差。我问:那怎么办?遇到质量问题,怎样解决?他说:没什么好办法。你们不同,我们只要例示观察到的错误类型,你们下一次给我们 update 引擎时基本上就已经解决了。可我们把问题类型反馈给机器学习开发者就不能指望他们可以改正,因为他们见不到这边的数据。结果呢,我们只好自己在他们的引擎后面用简单模式匹配程序打补丁、擦屁股,可费劲了。

我当时的震惊可想而知。一个被NLP主流重复无数遍的重新训练、移植性好的神话,在使用现场竟然如此不堪。学习大牛做出来的引擎在用户手中四五年却连一次重新训练都实施不了。系统成为一个死物,完完全全的黑箱子。所有改进只能靠隔靴搔痒的补丁。

总结一下,关于系统移植性,与通常流行的观点正好相反,架构合理的规则系统比起机器学习系统在实际研发和使用现场,更加具有领域移植性。架构合理指的是用语言学分析支持信息抽取的体系:一个不依赖领域的语言分析器作为基础;一个语言分析支持的依赖于领域的信息抽取器。只有后者才有移植性问题,前者是基本不随领域而变的(领域专业词典可以象用户词典那样外挂,语言学词典与规则内核可基本保持不变)。分析器做得越深入,抽取器就越简化,移植性则越强,因为快速开发领域抽取器的逻辑条件增强了。在深度分析(deep parsing)的逻辑语义基础上做抽取移植效果最佳。最后我们以谈知识瓶颈偏见的上篇科普随笔的最后一段收尾,因为这两个偏见有很大的相交部分:

知识瓶颈的对比问题不仅仅是针对一个应用而言,而应该放在多应用的可移植性上来考察。我们知道绝大多数NLP应用的技术支持都源于从自然语言做特定的信息抽取。由于机器学习把信息抽取看成一个直接对应输入和输出的黑匣子,所以一旦改变信息抽取目标和应用方向,以前的人工标注就废弃了,作为知识瓶颈的标注工作必须完全重来。可是规则系统不同,它可以设计成一个规则层级体系,独立于领域和应用方向的语言学规则组件(parsers)以及在语言学之上的针对领域和应用的信息抽取规则子系统。结果是,在转移应用目标时候,底层的语言学组件基本保持不变,而只需要重新编写不同的信息抽取规则而已。实践证明,对于规则系统,真正的知识瓶颈在语言学组件的构建上,而信息抽取本身花费不多。这是因为前者需要应对自然语言变化多端的表达方式,把它逻辑化,而后者是建立在逻辑形式(logical form)上的规则,一条等价于底层规则的几百上千条。因此,从多应用的角度看,机器学习的知识成本最终会远远大于规则系统。

引自【科普随笔:NLP主流最大的偏见,规则系统的手工性


【系列姐妹篇】

【科普随笔:NLP主流的傲慢与偏见】

【科普随笔:NLP主流最大的偏见,规则系统的手工性】

【科普随笔:NLP主流偏见之二,所谓规则系统的移植性太差】

【科普随笔:NLP主流之偏见重复一万遍成为反真理】

【置顶:立委科学网博客NLP博文一览(定期更新版)】




https://blog.sciencenet.cn/blog-362400-703502.html

上一篇:【留学资讯:过来人谈申请北美博士学位的种种(English)】
下一篇:【科普随笔:NLP主流之偏见重复一万遍成为反真理】
收藏 IP: 192.168.0.*| 热度|

3 文克玲 陈辉 李宇斌

该博文允许注册用户评论 请点击登录 评论 (6 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-26 10:23

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部