李维
《李白宋117:汉语连动兼语式句型的解析》
2020-1-5 01:40
阅读:4421
标签:NLP, 中文, 解析, 文法, 句型

白:“帮”是个很怪的动词,格式像“兼语”,用起来却是“连动”。所以也是穿透。“我帮你做家务”当中,“你”做不做无所谓,反正“我”是要做的。

宋:@白硕 这个例子有意思。“我帮你做家务”按传统汉语语法来说好像算兼语句,“你”是“帮”的宾语,又是“做家务”的主语。但是,正如你所说,“你”未见得做家务,“我”肯定要做的。按照这样的语义分析,这个句子应当是连谓句,“帮你”和“做家务”是“我”的接续的谓语。
如果是“我帮你做作业”,一般来说“我”只起辅助作用,为你解释其中的难点,真正做作业的还是“你”。于是,这句话应当是兼语句。
当然,由此可见把“兼语”从“连谓”中分离出来,理论上是有问题的。不过即使不管术语,只看语义关系,还是有问题。在词形和词义没有改变的情况下,语义关系的分析要依赖于实际场景,这是很糟糕的事情。

李:如果留有空间 给实际场景的解读画个框 就可以避免这种糟糕局面。留有空间就是保持非确定性:连兼 == 连动|兼语。就是个打标的线条粗细而已。细线条看,这是结构歧义。粗线条看,没有歧义。不过是思维语言模糊性的自然反映而已。

宋:是的。只能承认这一现实,保留非确定性。“他帮老师擦黑板”就是歧义句。“帮”引起歧义,可能还有其他动词或句式引起歧义。

李:其实,“我帮你做作业” 的解读,不同人可能不同。我的解读偏向于“我”是“做作业”的主要人,“你”不过就是一个不得不面对作业责任但做不出来的人。

宋:“我”和“你”参与度的划分问题。语义分析碰到这种问题很可悲。不过好像很少遇到。要让机器知道该留有余地,不容易。“我帮他打圆场”,百分百是“我打圆场”,目的是“帮他”。

李:容易啊。

宋:依存的箭头怎么画?

李:我们的思维定势是把标注绝对化了。依存是图不是树。“连兼”画出来,没任何问题。所以我那本小书《自然语言答问》特别有一章,标题就是“深度解析是图不是🌲”。

宋:图也要有边呀。

李:待会儿我到电脑前画给您看。

宋:“我帮他写作业”,“他”和“写”之间有没有边?

李:有,兼语就是两个老爸,老爸“写”是逻辑主语S。@宋柔 PS 树是这样的:

深度解析是图不是树,因此句法树改造为深度依存解析图如下:

“帮”与“做家务”连动(关系表示为C,Complement),“你”是兼语,既做“帮”的宾语(O),又做“做家务”的主语(S)。这不就在一张图中实现了“连兼”的语义表示了吗?

也许宋老师的理解中,“做家务”的 S(概率大的主语) 与 S2(概率小的主语) 应该对调,真要这样解析也没什么不可以,但我觉得这个很难说。这里的 S 与 S2 倒不是 XOR/OR 而是 AND。

白:坑和萝卜的关系相对刚性,一坑二萝卜是需要禁止的。谁是“事主”和谁是“施事”,大概率是重叠的,小概率有分歧。有分歧的时候,施事占逻辑主语坑,事主有一万种方法从语义上兜住。帮X,X就是“事主”。事主是否参与了施事,不是要点。要点是施事就是逻辑主语。那个S2可以妥妥地留给事主专用。我们的说法叫“再入”。再入就是非标配,但是有关联。介词也好,特殊本体标记也好都可以。

李:禁不了的。并列在逻辑上就是多个萝卜(填同一个坑)。句法上可以说并列的几个实体就是一个萝卜,但深度解析是 logical form。

白:并列可以认为是几个实体构成一个集合,集合填坑。这个不是问题。特殊动词在兼语或连动的情形下也可以提供再入的标签。这个都不是问题。问题是对S2的定性,不是施事,或者不关心是不是施事,而是事主。事主在句法上是借逻辑主语的坑存在,当施事和事主有分歧时,事主退出,借其他标记再入。

李:好像实际上也没那么大区别。就是个标签,叫什么都可以,相近的标签有细微差别。也都是系统内部的事儿。

白:事主是责任方。在问答等场景,需要区别对待。是不是亲自操刀无关紧要。缺省是亲自操刀,但是如果另有亲自操刀的出场,事主就退场好了。

李:法律上,好像对教唆犯比对事主惩罚更加严厉,LOL

白:教唆和帮,标记是不一样的。教唆的场景,被教唆的反而是施事。教唆的是事主。这需要在词典里把标签给好。

李:“教唆”与“帮”,在某个上位概念上归一。

白:嗯,都穿透到一个动作里。但是角色各有侧重。这就是某种归一吧。“张三教李四认字”,“李四”是“认字”的施事,“张三”是事主。

李:如果区别非常依赖于词汇的不同,细线条的语义工作就是词驱动了。

白:必须的。我们需要新时代的下一个“知网”。

李:这类词驱动的细琐工作,可以在粗线条句法把架子搭起来后去做,属于一种锦上添花的工作。

白:句法挖坑,词驱动填坑。句法大类相同而填不同的坑,说明词驱动会反作用于句法。好的句法在此应该预留这种可能性。把选择权留给词驱动。

李:句法后的词驱动模块可以:1 细化关系;2. 增加关系;3. 推翻关系(休眠唤醒)。细化就是把模糊的句法关系细化为逻辑语义关系。增加关系通常是挖掘隐藏的逻辑语义关系,常常是句法树无法表达的关系。休眠唤醒基本上就是推翻局部句法了。

白:我们的具体做法是,句法给出先验优先级,词驱动调整后产生后验优先级。分析器执行的时候,以后验优先级为准。

李:先验优先级就是标配,管大路货。

白:这里包含两个方面,依据后验优先级可以颠覆单纯依据先验优先级的分析结果,但是分析是句法语义同步进行的,所以单纯依据先验优先级的分析结果并没有产生的机会,当然也就无所谓颠覆。所以,并不是真有一个颠覆的动作。只是回头看,假如没有词驱动,会是那样;现在因为有了词驱动,所以结果是这样。

李:词驱动不会一下子就做全了的,是个过程。在没做全的时候,先验优先级就有机会实现了。

白:这种架构是把词驱动的约束,体现为后验优先级的Fine tuning,这就要“统一度量衡”。没做全的时候,只要有做了的部分,那部分就是使用的后验优先级。没做的部分用的就是先验优先级。大概率下,用先验优先级也死不了人。但是我们的先验优先级也是词驱动的,只不过是仅依据句法标签自带的先验优先级。所谓超越句法的词驱动,用的是其他的标签体系,比如本体标签体系、控制标签体系,甚至还有语种信息。比如,汉语和英语的介词禁止左填坑,日语的格助词禁止右填坑,英语谓词的左填坑个数不能多于1、多了就要等待后置定语从句的修饰,等等。这些都会由句法标签、语种标签、控制标签协同作用的方式决定后验优先级。控制标签不仅是词驱动的,还是解析过程驱动的,不同的解析动作,会精准地改变特定中间成分的控制标签。所以,这里面的关键技术是:1、“先验优先级”要足够强大到可以大概率兜底;2、设计合理的本体标签、控制标签和语种标签体系,体现它们之间对分析的协同作用;3、从先验优先级调整到后验优先级的幅度,要能够在“统一度量衡”的原则指导下,既能最大限度地发挥作用,又能最大限度地抑制副作用。

比如,“这所学校张三是校长”,如果不使用本体标签调整后验优先级,“张三”会去填“校长”的名词坑:

但是一旦使用了本体标签,就进行了后验优先级调整,结果长这样:

前者只是一个无所事事的大S,后者却是实实在在的宿主,有明确的领属对象。这就是词驱动的威力。实际上我们是禁掉了词驱动的本体标签,才得到前面那个结果。分析器实际运行的时候,直接就产生后面的结果,前面的根本不出现,中间过程中也不出现在前一个结果中,“张三”填“校长”的坑,在特定的阈值设置下,是可以避免的,但是这样做就会误伤很多很多本来可以做出来的Hidden Links可以看出,纯句法在这种情况下非常难做,里外不是人但是有了后验优先级,就完全不同了。有些性质是词典本身没有,在分析的过程中借助其他词负载的信息传播过来的。比如,“高兴”并不负载“带自由补语”的信息,但是“得”有。“得”(+S)携带的这个信息不是自己用的,而是传递给被它修饰的S用的。一旦完成S与+S的结合,新的S就具有了“可携带自由补语(没有字数和本体限制那种)”的控制标签。对于紧随其后的S成分,就有了通向Merge操作的可能性。平常Merge操作是实行白名单控制的。成分所处的特殊位置,也是控制标签的来源之一。比如处于句末,处于反向修饰隔离墙下,都可以获得特殊的控制标签,进而驱动后验优先级的计算。

宋:@白硕 你试试这几个例子:
我帮他做家务,我帮他做作业,我帮他打圆场,我帮他打官司

白:宋老师,都长一个样:

词驱动主要是“帮”这里不一样,两个做,和两个打,没区别。我们并不把离合词合成一个词,打圆场,打官司,都是两个词。

宋:问题在于,“打官司”的是“他”,不是我;“打圆场”的是“我”不是“他”。”打官司“我”只是后台帮忙,“打圆场”是我直接行动。

白:在后一动词没有区别那么细。

李:“打圆场”,詞驱动的话,可以把 “帮/替/为/给” 当成介词格变的条件,填个【受益者】的逻辑语义坑,就齐了。“帮”作为谓词,被覆盖了,或者说,被降格为介词了。结构的伪码模式如下:

PP(“帮|帮助|为|替|给” NP) “打圆场” –》 VP

这是动词退化为副动词(介词)的实例,与 “给他唱歌” 同理。

动词“帮”降格为介词

白:X帮,不是帮X。如果有左填坑的介词倒是像。这里要单独处理。

宋老师要的是“介词宾语做施事、主语做帮事(我瞎起的名字)”,而不是主语做施事。这和“给他唱歌”完全不同。

李:基本合理。是“我”为了“你”在“打圆场”。细究“打官司”可以另论(是“你”在“打官司”,“我”在过程中“帮”到“你”),虽然其实 “打官司” 同类处理的话,也不无合理之处:是“我”(律师吧)为了“你”在“打官司”。

宋:麻烦在于,这是词之间的二元关系,不是词的一元性质。甚至是3元关系:帮-打-官司/圆场。

白:帮X,X是惠格,这个有。X帮,是友情赞助,没有。

宋:一元性质直接进词库,二元、三元关系麻烦大了。

白:宋老师要的是,你做打官司的施事,我还要填个非标配的语义坑。我这里目前没有准备这个坑。

宋:”打官司”别人不能直接下手,“打圆场”自己不能下手。这是这两个词的本意决定的。这种词义描述也许太精细,但在落地场景(争吵以致发展到诉讼)中却是必要的。就是连谓和兼语的区分。

白:现在从“帮”这个位置上的动词定义控制标签没有问题,在“打官司”这个位置上怎么定义控制标签,需要仔细考虑一下。

contributor,献格。用来描述宋老师说的那种帮办角色,不知是否合适。首先语义上要有这个格,然后对填入这个格的语义萝卜在类型上有什么要求,再然后通常在句法上处于什么位置。这些都有了就可以加进来。

“张三找李四去坦白交代”之前曾经讨论过这个例句。坦白交代有三个角色,谁,向谁,交代什么。这里的人物暂时跟第三个坑都没有牵扯。看“找李四”,无疑李四是两个Human坑当中的一个,假设张三是另一个。但是也有可能张三是编外的非标配坑,比如上面那个contributor,张三是公安局派来给李四传话的,他既不是谁,也不是向谁。这就出现第三个歧义。为坦白交代这件事只是贡献了一个“找”的动作,仅此而已。

宋:是的,“坦白”有3个论旨,但“帮”就只有两个论旨,“打圆场”和“打官司”都只有一个论旨。
我帮他打官司:他打官司,我帮他。
我帮他打圆场:我打圆场,我帮他。

这里帮的语义涉及词的二元甚至三元关系,我觉得这种词是很有限的,因此不会带来知识需求的暴增。不过从中也看出,离合词还是作为整体处理比较好,免得增加关系的元数。文本中凡分开的离合词应当尽量在句法分析前把它们合起来,虽然不可能全部做到。

白:就“坦白交代”而言,很有意思的是,如果它的主动发起方找相对方或者相对方找主动发起方,都是可以的。但是第三方,只能找主动发起方,而不能在主动发起方不在场的情况下直接“找”相对方。

找到一个涉及三人的动词:“登记结婚”:“张三找李四去登记结婚”。

第一,张三是男方,找女方去登记处登记结婚;第二,张三是女方,找男方去登记处登记结婚;第三,张三是男方,李四是登记处的;第四,张三是女方,李四是登记处的;第五,张三是登记处的(有点勉强),李四是男方;第六,张三是登记处的,李四是女方;第七,张三是第四方,李四是男方;第八,张三是第四方,李四是女方。就算男方女方完全对称不加区分,至少也有四重歧义。同样道理,如果张三是第四方,那么李四不可能是登记处的,只可能是婚姻双方之一。

李:我觉得这些带入了场景需求的歧义,不是文法层面的消歧问题,应该属于“伪歧义”。标配无歧义,到了具体篇章或场景,推翻了标配解读也是可以的。那是解析器后续模块的事儿了。

 

【相关】

【语义计算:李白对话录系列】

【置顶:立委NLP博文一览】

《朝华午拾》总目录

 


转载本文请联系原作者获取授权,同时请注明本文来自李维科学网博客。

链接地址:https://wap.sciencenet.cn/blog-362400-1212918.html?mobile=1

收藏

分享到:

当前推荐数:1
推荐人:
推荐到博客首页
网友评论1 条评论
确定删除指定的回复吗?
确定删除本博文吗?