|||
泥沙龙笔记:骨灰级砖家一席谈,真伪结构歧义的对策(1/2)
今天我们可以讨论伪句法歧义(pseudo-parses)的问题。我说过,多层 FSA 的 deep parser 不受伪歧义的困扰,虽然这是事实,但也还是需要一个阐释。
毛: 我听着
要不就咱哥俩聊?权当电灯泡。这个问题是革命的根本问题,虽然文献中很少讲述。
毛: 不过我是外行,interactive不起来呀
你能听懂,我肯定。
雷: 我也听着呢
里面道理不难, 就一层纸。好,雷司令在,那就讲吧,有好事者可以整理成笔记。
第一章,事实篇。
话说某年某月某日,立委与白老师在微博狭路相逢。其时,立委正海吹深度分析(deep parsing)乃是自然语言之核武器,批评主流只在浅层做文章,摘下的不过是低枝果实(low-hanging fruit)。
毛: 沙老太与阿庆嫂打起来了?
白老师当时插话说(大意): 你们搞深度分析的不算,你们也有自己的挑战,譬如伪歧义问题。
最后留下三个字:你懂的。
各位看官网虫,大凡社会媒体,只要留下这三个字,那就是宣告对手的不上档次,不值得一辩,叫你无还手之力,无掐架之勇,先灭了你的志气。
毛: 凶得很哈
此前,与白老师未有私人交往,更无卡拉ok,江湖上下,白老师乃神人也,天下谁人不知,况青年偶像,粉丝无数。立委见势不妙,战战兢兢,唯唯诺诺:“那自然”。我懂的。
心里颇不以为然:伪歧义其实不是一切深度分析的命门,它只是单层分析的挑战,特别是 CFG (Context-Free Grammar)类 unification parsers 的困扰。
这是第一章第一节,是锲子。
毛: “你懂的”意为心照不宣,何用战战兢兢?
你懂的,隐含轻视,是我的解读。我甚至觉得它其实有,你恐怕不懂的含义,当然这近乎过敏了。
不必 ”负面“ 揣摩白老师的随口一说。只是气势上,的确是白老师先胜了一筹,那是可感知的效果。
虽然心里不以为然,但是”我懂的“,却是有丰富的事实依据。
骨灰级老革命有一个好处,就是碰壁。无数的碰壁。革命,碰壁,再革命,再碰壁,直至五毒不侵,火眼金睛。
老革命可能还有一个好处,就是走运,走狗屎运(譬如赶上上世纪末的网络泡沫,米国的科技大跃进,天上掉馅饼),直至反潮流也没被杀头,硕果仅存。
毛: 我基本上是只碰壁不走运。
话说自上世纪80年代社科院出道以来, 就开始做deep parsing, 跟着导师,中国NLP的开山前辈两位刘先生。
他们的几十年的机器翻译积累,在分析这块的传承就是多层模式匹配(multi-level pattern matching)。用 CL术语,就是 multi-level FSA (finate state automata)或 cascaded FSA,有限状态的。
我是苦力、主力,新毕业生嘛,为 deep parsing 写了无数个性的词典规则和反复调试精益求精的600条抽象句法规则。埋头拉车,无需抬头看路。从来就没有碰到过什么伪歧义的问题。
这是事实一。
事实二发生在我做博士的时候,90年代中期。在风景如画的SFU山头上。
Nick: 伟哥又开始玛雅风格的博客了
当时我的两位导师,电脑系的 Fred 和 语言系的 Paul 合作开了一个自然语言实验室。这两位博导虽也绝顶聪明,但毕竟还年轻。在 NLP 场面上,需要站在一条线上,才好深入,发挥影响。实际上,他们是加拿大 NLP 的代表人物。
他们于是选择了当时流行的 unification grammar school 之一种,就是继 Prolog 以后,开始火起来的合一文法中的后起之秀,名叫 HPSG (Head-driven Phrase Structure Grammar)。这一个小流派,斯坦福是主打,欧洲有一些推崇和践行者,在北美,闹出动静的也包括我的导师的实验室。
HPSG 说到底还是 CFG 框架,不过在细节上处处与乔老爷(Chomsky)过不去,但又处处离不开乔老爷。理论上有点像争宠的小妾,生怕得不到主流语言学界乔老爷的正视。
白: 还没进正题
白老师嫌拖沓了??现在还在事实篇内。不讲道理。
雷: 国内有不少人使用hpsg
推崇者不少,真懂的怕不多,特别是把 HPSG 用于中文 parsing 方面。看过一些国人不着边际的 HPSG 论,造成了这个印象。这玩意儿得跳进去,才知优劣深浅。当然没跳的也不必跳了,合一(unification)这一路没成气候,现在跳进去也是白跳,浪费时间。
HPSG 有一个好处,就是它的词典主义,它实际上就是此前流行的 GPSG 的词典主义版本。NLP 领域各路英豪你争我斗,但有一个很大的共识,就是词典主义,lexicalist approach or lexicalist grammar。这也反映在 HPSG,LFG 等风行一时的文法派中。
我呢,有奶便是娘。本来嘛,导师做什么,学生就要做什么,这才是学位正道。于是,我在HPSG里面爬滚了几年。照猫画虎,写了一个 CPSG,就是 Chinese 版本的 HPSG。用它与实验室的英文 HPSG 对接,来做一个英汉双向机器翻译的实验,当然是玩具系统。这是我博士论文的实验部分。
为什么双向?这正是 Prolog 和所有 unification grammars (又称 constraints based grammars)所骄傲的地方:文法无需改变,文法就是对语言事实的描述,文法没有方向。无论做分析(parsing),还是做生成(generation),原则上 规则都是一样的,不过是执行层面的方向不同而已。理论听上去高大上,看上去也很美,一度让我入迷。我也确实完成了双向的实验,测试了几百个句子的双向翻译,得到了想要的结果。
唐: 这点是PROLOG最值得自豪的地方。 LISP就是单向的unification.
细节就不谈了,只谈相关的一点,就是,伪句法歧义在这些实验中是一个 huge problem。
喝口水去,就进入正题。白老师,唐老师都在,随时指正则个。
这个 HPSG parsing 中,伪歧义的事实有多严重呢?可以说是严重到令人窒息。
唐: 问个问题, 规则数有多大呢?
千条规则的量级吧,这个还有个定义问题,只是个 ballpark。
当时用PC终端通过电话线连接到实验室的server上做实验,一个简单的句子在里面绕啊绕,可以绕出来上百条 parses
唐: 这个规模很容易让FSA指数爆炸
不是 FSA 是 CFG。FSA 数量可以更大得多,以后再谈。
当然,可以设置成只输出一条 parse 来。有时忍不住好奇心,就耐心等待所有的 parses 出来,然后细细察看,究竟哪个 parse 对。
额的神!
乍看全长得差不多,细看也还是差不多。拿着放大镜看,才看出某个 feature value 的赋值不同,导致了 parses 之间的区别。可这种不同基本上没有语义的区别性价值,是为 pseudo parses 之谓也。要都是伪歧义也好,那就随机选一个parse 好了,问题出在,这百来条 parses 里面有时候会混杂一两条真的歧义,即语义上有区别性价值的 parses,这时候,选此废彼就具有了操作层面的价值取向。否则就是以一派压制另一派,反对党永无出头之日。
这个问题困扰了整个 HPSG community(其实是整个 CFG 框架下的 community)。记得在 HPSG 内部邮件组的讨论中,怨声鼎沸,也没人能找出一个理论上和实践上合理的解决途径来。
白: 简单说就是时间复杂性上去了,结果复杂性没下来。折了冰,真假夫人还混在一起不知道赔谁合适。对不起尼克,是兵。
这就是为什么白老师那么肯定地指出我作为深度分析语言工作者所面临的挑战,他是把我归到主流语言学乔老爷 CFG 的框架里说的。
在第一章事实篇结束前,简单说一下实践中的对策。后来我的导师与本省工业界合作,利用 HPSG MT 帮助翻译电视字幕。在真实应用中,他们只好选择了第一条成功的 parse 路径,完全忽略其他的 parses。这也是没有办法的办法。质量自然受损,但因为无区别意义的 pseudo-parses 占压倒多数,随机选第一条,在多数场合也还是可以的。
第一章小结:骨灰级老革命在没有理论探索的情况下,就在 deep parsing 的 field work 中经历了两种事实:一种是不受困扰的多层 parser,一种是深陷其中的单层 parser。因此,当白老师一口咬定深度分析的这个挑战的时候,我觉得一脑门道理,但就是有理说不清。至少一句两句说不清,只好选择逃遁。
对于绝大多数主流NLP-ers,NL的文法派只有一派,那就是 CFG,无论多少变种。算法也基本上大同小异,chart-parsing 的某种。这个看法是压倒性的。而多层的有限状态文法做 parsing,虽然已经有半个多世纪的历史,却一直被忽视。先是被乔姆斯基的主流语言学派忽视,因为有限状态的名字就不好听(多层不多层就懒得细究了),太低端小气下位了。由于语言学内部就忽视了它,自然不能指望统计派主流对它有重视,他们甚至对这路parsing没有啥印象(搞个浅层的匹配可以,做个 NE tagging 啥的,难以想象其深度parsing的潜力),尽管从有限状态这一点,其实统计派与FSA语言派本是同根生,二者都是乔老爷居高临下批判的对象,理论上似乎无招架还手之力。
白: 概率自动机和马尔可夫过程的关系
但是,多层 FSA 的精髓不在有限状态, 而是在多层,就好比 deep learning 的精髓也在多层,疑似(传统的神经网络是单层的,就如 CFG 是单层类似。这个 deep learnming 我不懂,这里凭印象随口一说, 不必当真)。
毛: 这个我赞同
这就是那天我说,我一手批判统计派,包括所有的统计,单层的多层的,只要他们不利用句法关系,都在横扫之列。因为这一点上还是乔老爷看得准,没有句法就没有理解, ngram 不过是句法的拙劣模仿,你的成功永远是浅层的成功, 你摘下的不过是低枝果实。不过恰好这种果子很多,造成一种虚假繁荣罢了。
另一方面,我又站在统计派一边,批判乔姆斯基的蛮横。实践中不用说了,管用的几乎都是有限状态。乔老爷要打死单层的有限状态,我没有意见。统计派的几乎所有模型(在 deep learning 火起来之前)都是单层,他们在单层里耗太久了不思长进,死不足惜,:) 蛮横之处在于乔老爷对有限状态和ngam多样性的忽视,一竿子打翻了一船人。
白: RNN可以完美模拟FSA, 但是现在的人都把RNN当做统计派的功劳
但是他老人家忘记了, 我只要叠加 FSA 就可以比他所谓的 more powerful 的 CFG 做得深透,而且合体(特别适合白老师说的自然语言的毛毛虫体型)。他对有限状态的批判是那么的无视事实和缺乏理性。他是高高在上的神,不食人间烟火的,我们各路NLP实践派对他都敬而远之,基本没有人跟他走。在他本应发挥影响的领域,他其实缺乏起码的影响力。倒是语言学内部被他控制了,语言的形式化研究跟着他亦步亦趋走了半个多世纪,离作为其应用场景的 NLP 却渐行渐远。这是一个十分滑稽的领域怪相。
白: RNN加层、计数器、加栈、加长时记忆,本质上都在突破单层FSA的计算能力。
(待续)
【相关博客】
泥沙龙笔记:骨灰级砖家一席谈,真伪结构歧义的对策(2/2) 2015-09-21
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-21 16:45
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社