白:
如果完全把句法还原为左括号找右括号,规则就是多余的。只需要词典和原则。
我:
不必那样极端。
作为思路,是可以的。其实,HPSG 那些比较极端的 lexicalist 学派就主张,只有三五条“组合原则”。然后一切从词典出发,根据原则配对。HPSG 那样主张显得可行,是因为他们把 FEATURE structure 推向了叠床架屋的极致。一个词条里面的 SUBCAT 就是无比复杂的结构。SUBCAT 里面事先预备好了组合的各种可能性,当然只靠组合原则就ok,可是那是一条看上去美 实践中难缠的路线。
白:
关键错不在这,而在复杂特征集本身是一个错误的数据结构。
方向错了,不应该“合”而应该“拆”,拆到最简。
我:
太精巧的 typed feature structure (里面还有厚厚的一层 hierarchy,预先定义好,叫 signature),使得系统非常“脆弱”。对这个 structure 的任何改动,都是全局的改动,影响所有的词和短语。
白:
而且他还没放弃PSG,费二遍事。
我:
为了应对这个庞大的structure,只好鼓励使用 macros,macro calling macros,表面上精简了词典,实际上把词典和内含的潜在规则弄得不可读,不可维护。
白:
其实DG词例化大可以避免这些麻烦
我:
宏这个东西 极易滥用。宏的自然边界稍微不清晰 不直观的话,超过一层的宏调用 就把系统弄得跟密电码一样。初学的人以为自己很牛,宏调宏,似乎规则或词典越有层级越显得自己高明:我能玩转,你看不懂,也玩不转。
扯。
规则扁平化才是正道。宁肯冗余,也不能滥用宏调用。规则与规则的独立是原则 即便不能完全做到 也应该时刻警醒自己。
白:
我恰恰在说那些是可以避免的。扁平化的规则和单子化的词典是一致的。
我:
单子化??
白:
就是数据结构没层次
我:
MY GOD
我得去找找鲁迅的那个条幅 就是对瞿秋白写的那个 谬托知己的那个。
数据结构没层次是高境界
张:
大湿极
我:
但是更高的境界是没结构后面留了有结构的后门。这个后门完全可以独立管理 独立经营。再说下去 就差不多泄露天机了。
白:
卖单和买单也可以形成结构后门
对倒什么的
甚至伞型信托
我:
这个听不懂了
白:
卖单和买单
我:
数据结构是规则系统的大学问。stay simple stay foolish 还要留后门 暗度陈仓。不留后门 连 HowNet 都容纳不了。
在很多年以前,在上个世纪,我跟刘倬老师做MT系统。当时就开了个后门 我们向外宣称 起了个很响亮的名字,叫“背景知识库(BGKB)”,查当年的老论文,还有这一段。这个后门就是我提议刘老师允准的。
张:
都经历过了~~~
我:
当时其他的MT系统,譬如一个知名的系统 在 Texas,西门子资助的,好像叫 Metal(??),做德英,他们整个系统才用了 8 个 semantic features,已经被认为是很高级 很成熟的系统。
张:
后门太多屋便不在
我:
我们来了个理论上开放的背景知识库,天壤之别。可是我们仍能保持结构的极度简单。
迈:
大巧若拙@wei
张:
保持简单不简单,台湾三毛说的
我:
复杂的层级系统 并非一定需要精巧的数据结构去装。
张:
层级系统是指扫描的遍数?@wei
白:
扫描是可以流水的,不存在遍数概念
我:
其实这个道理 学过电脑 Introduction 的都知道:
高级语言的东西 编译成代码 就扁平化 低级化 但功能等价。低级到极限 就剩0和1了
HPSG 那一路算是另一个极端。当年对那一套数据结构也入迷过,很逻辑,很美。就是像个玻璃美人,不大敢碰她。可以远瞻 近则亵。再加上一个 unification 的优美操作,浪漫得很。里面没有丝毫强勉:一切都是理想世界的自由恋爱 你情我愿 极度和谐。任何层面的任何一点信息的冲突,都会导致 unification 失败。unspecified 信息在不同层面恰到好处地被充值,一旦充值,矢志不渝,决不允许翻案。没有过程性,不分头和尾。
白:
这个还是要反对一下,程序是图灵等价的,高级语言是必须的。自然语言是毛毛虫,离图灵等价差好大一截,用单子化的标签已经enough。二者不具有可比性。
我:
开始学 Prolog 和 HPSG 的人,几乎不可能不被迷住。日本人被迷住的结果就是闹了个五代机项目。栽在不接地气.
白老师 高级语言的必要性是自然,更高级的nlp语言的必要性 也是无需证明的。很难想象没有高级语言的软件世界,就如很难想象没有某种形式文法的parser一样。
几个月前 有一位貌似白人老工程师的 Linkedin 联系 说他用汇编写了一个高效精准的自然语言 parser,问我要不要看 他可以免费 license 给我用 因为他认为我可能是知己。我只好礼貌“谢”绝了,没那个功夫,也不存在好奇心。
用 general purpose 高级语言做 NLP toy,我们都做过的,硕士项目便是。完全可以想见汇编做的是个什么样子。反正是程序,见到什么做什么,图灵可以随心所欲。一 scale up 就完了,你就是有十个脑袋也 hold 不住它。
自然语言的毛毛虫 绝对不是随心所欲的图灵 可以不是 2 型 或 3 型 但必须有型。没有规矩 不能成方圆。
乔姆斯基的伟大在于他发现了语言是有型的,并试图给型做数学定义。
乔姆斯基的误导在于他非要证明某个型(3型)是不适合自然语言的,隐含的指向是2型。他老人家也没重视和考察过自然语言的分层,以及这个“型”与“层”的关系。他的形式系统于是只作用于一个平面,在立体架构中没有说法。这样作用于单层平面的型,对于电脑语言的 parsing 也许足够,但对自然语言就有些力不从心,似乎抓住了一些,又似乎总不贴切。就是预制了几双鞋子,可是脚总不配合。他老人家到今天也不认识毛毛虫。
【相关】