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

博文

【立委科普:语言学算法是 deep NLP 绕不过去的坎儿】

已有 3602 次阅读 2016-2-23 06:49 |个人分类:立委科普|系统分类:科普集锦|关键词:组合爆炸,分层,领域算法,并列,依存,parsing| 分层, 依存, 组合爆炸, 领域算法, 并列

以前论过 (【NLP主流最大的偏见,规则系统的手工性】),(有监督)机器学习的知识瓶颈是需要大量的带标数据(labeled data),以克服稀疏数据(sparse data)的困扰。很多时候,学习算法的改进远不如数据量增加带来的好处明显。这在带标数据普遍不足的情况下是机器学习界大家公认的痛点。然而,不能因此认为,只要带标数据足够多了,NLP 的任务就基本解决了,至少对于高端的NLP任务,譬如 deep parsing 或舆情分析,任务的痛点不仅仅是数据量。接着昨天的话说,
不单是 cases 不够,所以需要 R(推理),cases 再多,也还只是一个切面的呈现。 如果对象的本质不是平面的,而平面的呈现只是表象的话,那么再多的案例也不能根本解决问题。SMT(统计机器翻译)如今遭遇的结构瓶颈的实质就在这里。
换一个角度看案例或labeled data,它们本身就是组合爆炸发生以后现象中的一个子集。解决问题的钥匙在于了解这种组合爆炸背后的领域算法,模拟这种爆炸的背后的领域知识的推理或逻辑,而不是绕过它,以为一个超领域的算法可以包打一切,只要根据结果,就可以倒推出来合适的领域处置来。 领域是绕不过去的坎儿。至少语言学作为一个领域,这种体会是太深了。对语言学不求甚解一样可以玩nlp的黄金时代终将过去。
什么叫领域算法?
先说个自身经历的事儿。搞过NL parsing的人都知道,并列结构(conjunctive construction)是公认的 parsing 拦路虎,是真正的痛点。它打破了依存关系的日常秩序,是个难缠的东西,我跟它斗了一辈子。并列结构与其他依存关系譬如主谓宾定状补之间的纠缠,可以发生在语言现象的任一层次,从词法一直到子句。并列打乱了所有的依存规则正常运作,而且并列结构的边界极难确定,没有“优选语义”的对比权衡很难搞定它。我一辈子做过三个大规模real-life的英语parsers,在国内为MT做第一个英语 parser,到美国为IE做第二个parser,都一直没处理好 conjunctive 的结构,就是凑合事儿,头痛医头地对付而已。直到现在做第三个 parser,天道酬勤,事不过三,才终于受到上天的眷顾,琢磨出一套一时讲不清也不愿意讲清的语言学算法,把这个问题解决得比较圆满,从结构上“逮住”它们,并与其它依存关系协调好了。这就是我说的领域算法,是领域专家根据领域的自身体系和结构知识,经过艰苦努力求解出的做法。解决这个语言学的结构纠缠的难题,花费了几十年的时间,做了无数尝试,栽了许多跟头,这才找到合理有效的算法。这样的东西在通用算法中怎么绕得过去?通用算法面对领域难题,想要取得类似的有效性,光靠调试语言学的参数或features,而不是做算法上的领域化,这是不可想象的。
大而言之,无论自然语言多么复杂,里面的关系如何相互纠缠,很多现象怎样的相互依赖,但这一切都不能否认语言处理总体上的由浅入深的过程性。很多分析可以恰到好处地捕捉不同层次的关系,得益于内部处理的分层而行。这些分层既遵循语言学的一些大的原则,也需要融合很多具体现象的处理次序的确定。哪一步先做哪一步后做、在何时做何种补救等等,这一切都是领域算法的反映。这种东西必须用某种方式参与到系统中,NLP的深层paring才可指望。单层的统计路线的parsing,用到了形式语言的formalism,谈不上语言学算法的利用。多层的统计路线,对于parsing的研究,似乎刚刚开始,怎样合适地吸收利用语言学算法,值得引起注意。
要点就是,cases 和 labeled data 不能从本质上解决组合爆炸问题,最多是逼近常见的组合呈现。这实际上也是乔姆斯基一直居高临下看统计派的根本理由。这也是 Church 《钟摆》一文(【NLP主流的反思:Church - 钟摆摆得太远(1):历史回顾】)中一再反思(机器学习)近似方法的局限性所提的主要论点。类似观点也包括AI历史上著名的神经网络的敏斯基批判:当年他的批判是说,无论你有多少data,如果你的方法就是线性可分性质的算法,那么当客观世界的现象是线性不可分的时候,你就死定了(【读书笔记:异或门是神经网络的命门】)。
传统的理性学派,符号逻辑派,语言学结构派,等等,他们探索的路子,是不是真地就是客观现象合适的模型,或者从本质上模拟了人的大脑的工作原理呢?虽然难以证实这些路数模拟就是大脑的工作原理的模型,但是,比起传统统计派(如今的 DL 可能不同了)把AI和NLU看成黑箱子,只从输入输出配对的data中去训练一个单层或浅层的模型,不得不说,传统理性派接近大脑工作原理和逻辑,要比统计派近得多。
传统 AI 的符号逻辑派没落的主要原因是不能 scale up,大多是一个极为狭窄的领域里面的toy系统,无论从量上还是从领域化的扩展上,要想实用,路途尚远。统计派于是登堂入室,鸠占鹊巢,开始还不屑用 AI 的名称,如今是全面拥抱这个媒体自来亲的术语了。
但是,作为 AI 分支的 NLU 却不同,比起传统AI符号逻辑派的不能scale up,NLU 的规则派却能做到可以与统计派抗衡,同样可以 scale up 到真实的大数据场所。 这里面的奥妙就在,语言学是一个相对 self-contained 的世界。几百年积累下来的语言结构的理论及其结构分析方法,譬如依存结构、短语结构等,有一个相对明确的框架,可以形式化地加以利用。这种形式结构对付语言现象的组合爆炸非常有效。就目前的认识来看,这应该是人脑的语言机制的最接近本质的模型了(参见:【自然语言parsers是揭示语言奥秘的LIGO式探测仪】)。
因此,一切绕过语言结构的NLP统计方法,在本质上就处于劣势,再多的样本也不能弥补结构阙如的局限,除非是“带入”结构到统计模型去。带入结构到NLP统计模型去,虽然早有人探索,一直到最近也不是成熟的做法。原因就是鸡和蛋问题的困扰。带入结构做NLP(无论什么应用),先得有结构,先得有一个靠谱的 parser,而 parser 本身的问题还没有在统计内解决,如何依赖它呢?这只是必要条件,还没提充分条件。
接下的一个难点就是,带入了结构,结构的信息与其他的evidence怎样协调和smoothing,也是个 challenge,至少以前一直是。这说的是可以带入,其实即便有了parser,能不能带入还难说呢。探索表明,off-shelf的一律不好用,把parser看成一个边界清晰的组件来plug-in用,举步维艰。等到这些沟沟坎坎都一一被克服了,“窃喜”的规则派也许已经大行其道了,也未可知。(当然,寿终正寝也是很多人预见到的可能,assuming统计路线可以一路走到天黑和黎明的话。)

总结一下,对付语言现象组合爆炸的法宝是分层操作,层层深入结构,这一点无论是规则的路数还是最近的DL统计的研究,大概没有什么好争的:统计也做多层的神经网络了。本文的要点是在,分层作业的算法要不要采用领域原则和经验为基础的领域算法,还是指望通用算法来包打天下。笔者的结论是,对于复杂任务,后者很难行得通。而要做到前者,或者是由领域专家自己做规则系统(这个早就处于现在完成进行时),或者是统计派放下身段与领域专家亲密合作。一言以蔽之,我不需要你,但你可能需要我 -- 除非你是白老师那样不世出的两栖大牛。


【相关博文】


【立委科普:自然语言parsers是揭示语言奥秘的LIGO式探测仪】

《新智元笔记:再谈语言学手工编程与机器学习的自动编程》 

没有语言学的 CL 走不远 

【泥沙龙笔记:从民科谈到五代机及其AI历史与现状】  

 【NLP主流的反思:Church - 钟摆摆得太远(1):历史回顾】

《新智元笔记:对于 tractable tasks, 机器学习很难胜过专家》

《新智元笔记:NLP 系统的分层挑战》 

《泥沙龙笔记:连续、离散,模块化和接口》 

《立委随笔:语言自动分析的两个路子》

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

泥沙龙笔记:语言处理没有文法就不好玩了

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






http://blog.sciencenet.cn/blog-362400-957950.html

上一篇:【泥沙龙笔记:从民科扯到五代机及其AI历史与现状】
下一篇:【李白对话录:从“把手”谈起】

2 陈辉 程适

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

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

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-10-15 00:02

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部