白:
我的思路是:句法维护纯二元关系,模式编码进subcat,直接对接语义。纯二元关系对模式既兼容又有更大的robustness,不用白不用。
李:
pos 支持句法做粗线条分析 subcat支持逻辑语义做细线条分析?
白:
必须的
李:
那倒未必。可以结合做的。显式的句法语义关系可以一起做, 没有句法关系的隐式逻辑语义可以推后。subcat 结合句法语义。
白:
模式方法中,小词的缺省和成分的倒置,只能认为是不同的模式,不穷尽则不work。二元关系方法中,缺了小词也好,倒置也好,在subcat那里都可以重构出来。输出是现成的,既可以跟着cat一起输出,也可以等语义落地了再输出。这是个简单的配置问题。
李:
缺省不怕:就是 optionality,不是模式必需的。倒置的确需要增加模式,没办法,模式也是线性。
白:
“我紧张,一见到那个人。”
省略了“就”,而且倒置。但是在二元关系方法下,这都不是问题。
李:
但n元模式,在多层系统中,并非全排列模式。模式负担完全可控。也可以类似于二元的样子,一层层做:起码动宾与主谓通常被认为是不同层次的组合,无需SVO全排列。推得极端一点,n=2,多层n元就成了2元,也是可行的策略之一。
白:
对“一”的subcat标注,已经隐含了对“就”的“脑补”。
语义frame任何语言中都不必然是二元关系,这层落地映射,本来就是缺不了的,并不是因为模式而特设的。
李:
exactly
白:
句法专注二元关系,好处多多。
李:
1 【一VP(S)就VP】
2 【一VP】
也就是两条模式捕捉的事儿。都很直观 intuitive。捕捉了,还不是要怎么玩语义怎么玩。
白:
这实际是语义直观,跟那些多元关系是同等对待的。
李:
第1个模式涉及5元,第2个模式是bigram,我说过,模式也就是以三元为峰值的正态分布。并不是想象的那样组合爆炸,完全在可掌握之中。最大特点还是其接地气,直观,容易 debug 和维护。不就是给语言结构拍照吗?所谓句型练习(pattern drills),人学语言也就是这么个事儿,我们当过外语老师的,都知道 drills 的重要。
白:
那个完全是UI的问题
李:
如果你做二元配对,我心里想的是五元模式,【一VP(S)就VP】 这样的模式,你如何把二元的过程UI到我感觉舒服的五元模式呢?
白:
双宾语结构也是一样啊
二元的过程是在机器里发生的,五元模式是结果,不在一个频道上。边加够了,五元模式就出来了,就这么简单。
李:
机器发生的过程 不是基于词典的标注吗?这个标注不需要人去做 去维护 去 debug?
白:
但过程总是一个一个边加的
李:
那是因为你的 parsing 是 PSG的 parsing 过程,虽然表达的是DG。这个 PSG 的过程,是遇到任何物件都不能跳过去,要一个一个的叠加组合。
白:
能跳,否则就无法处理交叉了
李:
从你画的图看,还是一个不跳地在叠加,只不过叠加的顺序可以不同,然后导致一些远距离二元关系的最终建立。(当然你的X见人见鬼,先加上再说,也算是一种模糊应对或“跳过”。) 换句话说,parsing 的总过程与经典的 chart parsing 没有看出大的区别。
白:
这理解是错的
李:
可能。也许我看得不够仔细。
白:
从数学上看,模式引发的步骤不是分析树的“构造”而是分析树的“映射(变换)”。这个映射环节引入PSG还是引入DG的差别是细节的差别,核心的精神都是一致的。如果你说的“跳跃”意味着“映射”的引入,我目前确实没有,但 1、这并不影响在较上层的节点上,映射的结果和非映射的结果会得到相同的语义落地。2、如果一定要引入映射,与我现在的体系也毫无违和感,可以兼容处理好的。
另外,不包含映射的技术方案并非都是一丘之貉,彼此之间可以有天壤之别。这实质上是模式驱动的“一揽子”填坑动作,可以加速分析进程(就是你说的“跳跃”),又不破坏填坑的基础架构。但是我要说的是,既然看到了这个实质,映射的触发就不必拘泥于从左到右的模式匹配,一定程度上的词袋模型一样可以触发!实际上我在subcat里面做的事情就是这种不完全信息的模式触发,只不过做在了语义层。语义层都能做,回头做句法层纯粹就是锦上添花,照顾语言学家的UI感受而已。我不看好从左到右依次匹配,但我认同通过映射实现跳跃。语言学家不应该成为排列组合匠, 更不应该为某项排列组合的缺失而背黑锅。除非该项排列组合有明显不同的语言学意义。此其一
另外一个因素就是模式在激活之前的状态一定要有一个载体,而且这个载体必须跟着分析进程动态维护。伟哥有分层的fsa做这个事情,我是用词负载的subcat(实际上就是词袋)做这个事情。词袋的好处就是对排列无感,只认组合而且允许组合缺斤短两。在某些场合,词袋的部分填充会造成激活歧义。所以要用“状态”记录这些有歧义的部分填充(套用时髦的量子话术,这就是几个候选词袋的“叠加态”)。随着分析进程的展开,叠加态会“坍缩”到确定的词袋上,完成激活。
李:
大赞。...... 先赞后辩。
没全看懂 但似乎又懂了 貌似透过做法看实质 有不少共同的观念。消化消化。
白:
“人肉”本意是名词。在“人肉搜索”这个短语中是副词(N降格为S+),意思是用活人去深挖特定对象的隐秘信息。再简化一点去掉“搜索”二字,“人肉”就成了动词了(S+升格为S)。升格降格操作的活标本啊
李:
人肉搜索 不是宾语提前?把衣服扒光 不是人肉?
白:
“这个公司的所有人都是好样的。”居然有歧义。
李:
“所有-人” 歧义(hidden ambiguity): 单数 vs 复数, 复合词 vs NP,黑箱 vs 白箱,[possessor/N] vs [All people]
白:
“发言的是我们公司的。”
李:
1[human-action 的] --> NP[human]
2. [human|organization 的] --> AP[possessive]
1 + be + 2 --> 1 belong-to 2
“发言的是我们公司的。” --> [发言的 human] belong-to [我们公司 的 possessive】
所谓句子解析及其语义落地,不过就是模式的拼接。
白:
“作业你是不是不打算做了?”
李:
1 [plan V] --> plan-V (verb compounding like)
2. [ NP VP] --> S Pred
3. [NP S Pred] --> Topic S Pred
4. Topic S Pred(/O) --> O S Pred (所谓先耍流氓后结合:有“做-作业”的可分离动词的搭配关系更是坐实了远距离勾搭)
5. Vt NP --> VP
6. Vt --> VP(/O)
7. "是不是不" can be treated as one compound 小词 whether (or whether-or-not)
白:
是你打算,还是作业打算?是你打算做作业,还是作业打算做你?由什么决定?就本例而言,语序已经完全乱套了,只有subcat能决定。好在我们知道,计划类动词具有穿透性。打算的两个坑,是human、event;做的两个坑,是human、thing。这两个human就是穿透确定的共享萝卜的坑。往前面看,能填的只有“你”。“做-作业”离合词的远距离锁定,从另一个侧面做了神助攻。所以,不管前面“作业”和“你”的顺序怎么折腾,它们的subcat如同狐狸尾巴,总会泄露真正的结合方向。我们不需要S/O/Topic这些名目,直接根据萝卜和坑的subcat相谐性,就可以选择行的,排除不行的。也不需要针对不同语序设置不同模式。跟着词条走的cat/subcat就足够确定目标了。
“你懂的。”其中的“的”就是句末助词,标记为+S。“我是不懂。”其中的“是”是表强调义的副词,标记为S+。“你是不懂的。”其中的“是”和“的”借助这两个修饰语标记完成了绿叶的使命,把红花凸显出来。但是这种做法的好处更在于,“是”或者“的”之一缺位时,句法上照样work。红花之间的关系照样不变。不需要针对几片绿叶的有或无的排列组合一个个遍历。
李:
这话说的,好像世界上就有人有直道不走,偏要走弯道似的 哈。白老师雄辩。
排列组合遍历很多时候是免不了的,除非可以证明这些绿叶红花的排列没有意义, 所有绿叶都是可有可无的。语言的最大形式特点之一就是排列,或曰线性次序。概念通过语词,关系通过小词以及词序,线性地流进我们的耳朵。小词和词序,作为显性语言形式(参见【立委科普:漫谈语言形式】),其功能本质是一样的。由于信息和形式的冗余,厚此薄彼可以作为一个可行的策略,作为一个精算师的算法之一,但拔到理论高度说,让小词负载结构,赋予重任,同时忽视词序来取得鲁棒,总是很难让人信服的。
汉语的省略小词,是如此普遍,就跟汉语的词序灵活一样,都给鲁棒提出挑战也留下空间。你可以厚此薄彼作为一个 parsing 策略,别人也可以厚彼薄此作为一个策略。更有人二者都不厚不薄,利用模式,用?(optionality) 传达鲁棒,用显性排列形式的 obligatory 出现(何时、何地)来表达精准及其语义落地。有何不可?有何不好呢?能想到的不好都是实践层面,而不是理论层面,譬如:(1)可行吗?组合爆炸,排列得过来吗?(2)即便不组合爆炸,有本事伺候排列吗?(可维护性)
可行性的问题已经有答案也有实践,就是多层。Note that 这个多层也不是单单为了可行而采纳的。多层反映的是自然语言的 configuration(参见乔老爷杆杆理论,X-bar,科学网—乔氏X 杠杠理论以及各式树形图表达法),也是语言本质之一,譬如动宾(VP)与主谓对于多数语言就天然不在一层。
多层排列的可行性,其理论基础在于人脑记忆的有限,自然语言的可学习性。如果语言本质就是排列的组合爆炸,人也无法学习语言了。我们所做的不过是瞄着人 parse 语言的样子,去模拟实现它。符号逻辑的模型透明性和可维护性在多层模式里面得到了彰显。
第(2)个问题是本事问题。的确多层排列算法不是每一个人都玩得转的,就如小词负载结构兼以隐藏知识的大数据中间件除了白老师迄今无人能玩一样(甚至无人想到了这条路,参见【李白之15:白老师的秘密武器探秘】)。两条路线都严重偏离主流,主流人才的多数或者无视或者没有历练/本事来玩转这任何一条路线。
正如尺有所长,寸亦有所长。如今是各自玩各自的。区别在于,这个战壕自认为可以对nlu挖掘更深(这一点在下确信无疑:毕竟坐井观天一辈子了,天可能还是没看清,但井的深浅是清楚的,如数家珍;而且不需要做天外比较,就可以得出结论,因为自然语言在这口井里面基本是已经见底了),主流的战壕在我们不过是摘除低枝果实(这一点无法确认,保不定哪一天主流就突然从导弹演化为核弹,也未可知,彼此祝好运吧)。
白:
小词“可”负载结构,不是“仅”小词负载结构。语言的层次性在技术上“可”通过分层fsa消化,不是“仅”通过分层fsa消化。模式也不是“仅”通过负载结构的小词消化。同样负载结构的实词、算符优先序,都在推波助澜。一个句法体系和技术体系,一些特色或许突出,但贡献是多个特色联合作出的。
我不希望受众被误导。
李:
哈 我也不希望误导,或被误导。
其实,因素比重的差别,还是构成了技术路线的不同。也许用“小词负载结构”(的因素)来概括或代表白老师的路线,就好比以“多层专家词典排列模式”来代表的立委路线(听上去好耳熟,对了,历史上有过被毛委员往死里批判的立三路线)一样,都是不准确的。但仔细看过讨论系列的会了解其中的路线之别。
二元句法在前,逻辑语义在后的策略之所以可以成功,我觉得是因为有了“大数据中间件”的助力,否则很难想象那么简单的句法操作可以应对那么复杂的语言现象。所以,让我 wonder 的主要是大数据中间件,如何训练如何使用的。而对于二元本身,特别是小词负载结构,相对于多层专家词典的模式匹配,我没看出多少优势。如果硬要评价 pros and cons,从我的角度,前者长于简洁(也许也增强了效率)和鲁棒,后者更符合语言学家的语言认知和描述习惯,可以更加从容地对语言做精细而不失鲁棒的描述。
重要的是,二者同属符号主义,同一战壕,也似乎都可以包容对方。
【相关】