【李白董之51:说不完的subcat和逻辑语义】

【立委按:30年前,董老师就是我学逻辑语义的启蒙老师。30年后还可以拜技术所赐,与老师坐而论道,由衷感激。逻辑语义这个术语的命名和流行 源自董老师的论文。类似的术语有 Deep case (菲尔墨),Theta role(乔姆斯基), Semantic role , 但我还是最喜欢用董老师的逻辑语义。】

白:
【今天冲击30度,明天骤降6度伴随雷阵雨】
为啥30度是目标值,6度是差值?

李:
逻辑语义 与 句法角色 的主要差别就是,前者依存的老子是细颗粒的概念或语义,后者依存的老子是粗颗粒的子范畴(subcat)。“冲击” 与 “降” 的概念差别,决定了所带的逻辑语义角色的分别。从subcat看 这两个动词属于一类,因此句法儿子相同 都叫宾语,但是从语义角度 这两个动作概念有距离,查一下 hownet 就知道了。细颗粒到什么程度呢 要看系统的设计了。譬如 hownet 有将近 100 个逻辑语义角色,相对应的语义颗粒度或分辨度就显得相当细。【升降变化】 这类肯定要单列出来,也可以想象 逻辑语义压缩到 20 到 30 的样子 合并一些接近的角色,那么统领逻辑语义的谓词的概念颗粒度就可以粗一些。

总之逻辑语义不象句法角色那样抽象 独立和粗线条,逻辑语义是比较紧密地配合谓词语义概念去 make sense 的。【心理】谓词的主语 在逻辑语义叫 experiencer(体验者),但【行为动作】谓词的主语 则逻辑语义叫 agent(施事)。这种呼应除了有本体知识(ontology)体系内在的设计需要外,还有让人看着舒服、容易理解的考量,也就是我以前说的,语义表达带有某种人类自己与自己玩的色彩。

在董老师面前说这些 难免显得浅薄。我等董老师打板子 批评纠正。

董:
按知网的规定:冲击30度,30度的逻辑语义是“StateFin-终状态”;降6度,6度的逻辑语义是“QCompare-比较量”。但是知网的分析系统我预计它做不对。因为这样的区别要有更加专门化的知识,气象的常识来解决。知网没有如此细的常识表达。单靠两个动词的语义差别,我想不出来如何解决。

李维说的没错。是会有自己玩的色彩。每个人有自己对客观世界的自己的认识,研究有自己的风格,有自己的要求,或遇到的不同的需求。总觉得自己那个好,不要紧,是正常的,但不要总觉得别人的一定不好,那也许就不太好了。

李:
也有的语义表达体系走极端,觉得哪怕细颗粒度也不够好,100个逻辑语义根本不足以表达语义关系的细微差别。譬如 hpsg,它在语义表达上不喜欢任何抽象,agent呀,patient 呀,experiencer 呀,都太过抽象,就更甭提逻辑主语、逻辑宾语了。一不做二不休,他们的语义关系的命名变成了一个开放集。本体有多少谓词语义终结节点(石实践中常常就用那个谓词的词),就有多少个对应的语义关系。逻辑主语加后缀 -er,逻辑宾语加 -ee,这样来命名逻辑语义。因此,like 的 主语叫 liker,宾语 叫 likee;hit 的主语 叫 hitter,宾语叫 hittee。完全没有概括性了,我把这种设计叫做词汇主义极端派,有点走火入魔了。但有一个优点,人一看就明白是什么角色。

我觉得其所以语义表达有自己跟自己玩的色彩和空间,是因为一个知识体系是某种连续的存在。语义学家在模型这个体系的时候,必须抽象到离散的点去。这就需要切刀。切几刀 怎样切 比较合理 比较适应人的理解和应用,不同的设计家会有不同的考量。

董:
再者,上例中30度是个”点“;6度是个”量“,没有气象知识怕不容易分别了。

李:
“降6度” 感觉没有歧义。难的是 “冲击30度”。后者可能需要专业知识才能消歧。一个通用性常识本体的知识库,不足以做出这种区分。如果是 “降到 6度”,也没有歧义。

讲个故事:
“我们实验室是做低温实验的。我们设计了一个装置可以不断降低实验空间的温度。第一天我们成功降低了10度 只用了三秒钟。第二天我们降了20度。我们改进了设计以后 正全力冲击30度。”

这个故事说明歧义在特定场景是可以翻盘的。在气象领域 他的标配歧义消解了,根据的是气象里面的领域常识。但场景可能打败这个标配语义。

白:
都不需要术语来指定角色。完全可以说,1号角色,2号角色。这是本源。施事受事的,都是次生的。

李:
有不少文法就是这么叫的:arg1、arg2,然后可以提供一个词典查询来求解:like 的 arg1 就是逻辑主语体验者,相当于 liker。这样看语义表达,就更凸显了人类在逻辑和语义上有相当浓厚的自己玩的色彩。

董:
说实在的,就是主谓宾定状补都不能弄对呢?少了,多了,又能怎样?

白:
信息抽取的角度看,弄不对,就可能提取不出来想要的情报,或者提取出错误的情报。从群体舆情分析的角度看,错一个漏一个都无妨。从个体观点分析角度看,错了,可能认友为敌或者认敌为友。

李:
信息抽取的模板定义本身,也有不少自己玩的色彩,当然是要玩得让客户高兴。譬如【公司购并】事件,谓词是 acquire 或 buy,句法的主语,逻辑语义的施事,与信息抽取模板中的角色【购并公司】的对应,就是在玩命名的游戏。句法的宾语,逻辑语义的受事,模板里面叫【被购并公司】。

白:
当然,只要语义对,句法错甚至没句法,又如何?

李:
没有楼梯爬上三楼的绝技人也是有的。事实是,尽管有这样的绝技存在,生产楼梯的厂家却不会倒闭。

董:
按李维说的,其实是不用再搞一套施事、受事等。

李:
我觉得100个这个量级是太细了一点儿。另外,逻辑主语、逻辑宾语的概念感觉很好使。这样 experiencer 和 agent 的区别就不重要了。因为这种区别,如果某个应用需要的话,总是可以通过查询谓词是什么得出来。

董:
你是能少则少,能省一个是一个。

李:
可能我来了美国19年,一头扎进了信息抽取。从抽取好用这个角度,我不需要那么细的逻辑语义。换其他应用,我不敢说。

董:
嫌多,少用就是了;如果嫌少了可就不那么好办了。关键是要能自圆其说。多有多的道理,少有少的道理。再一个,就是多了,能否乱。计算机不是不怕多吗?

白:
编号不怕多。

李:
这是一方面,多了总可以合:或者用逻辑或,或者用taxonomy定义一个上位关系。问题不在这里。问题在多了以后,deep parsing那边就不得不费工。费了力气做了区分,发现用到的场合不多,就觉得不值了。关键还是,对于概念之间的依存关系,谁与谁发生关系是第一位的,老子儿子必须区分清楚。关系的种类粗一点无关大局。

白:
deep parsing的首要目标仍然是确定谁跟谁有关系,而不是确定是什么关系。所以角色再多,不应该影响deep parsing. 即便影响,也只是影响搂草打兔子的部分, 那本来就是天上掉馅饼, 可遇不可求的。

李:
因为语义是在句法图中决定的。有了依存关系图,有了节点的本体知识,粗线条关系随时可以细化, as needed,不必把这种细化搅合到parsing里面。

白老师讲的与我说的,是一样的呀。

白:
我是说,语义角色多了就导致deep parsing不得不费工,这样的设计是有问题的。

李:
多了一个 role labeling的细活。而这个细线条 roles 在落地时候大多不需要。认真说,也没那么多活,也不是不可以做,就是觉得没必要做。因为信息抽取的根本原理是词驱动。在词驱动的语义落地场景,语义关系的细化没有多少助益。

白:
语义角色第一不要设限,第二不要用跨词汇的概念绑死,第三不要跟句法绑死。需要的时候接的上就行,和句法松耦合。想多就多,不要影响句法。直接拿次范畴去玩。

李:
IE根本连次范畴都不要,就是词驱动。多用几个逻辑或就齐了。范畴集合如此之小,爱怎么枚举怎么枚举,管它的谓词本体概念属于哪个集合呢。

白:
IE和实体知识库的差别,实体知识库是照单全收,IE是只取自己那一瓢。只取自己那一瓢,当然不需要subcat;照单全收是不行的,必须有subcat。

董:
我看你们常说次范畴或subcat,谁是与之相对的主范畴呢?

李:
董老师,文法里面所谓subcat,其对应是cat或叫POS,尤其是POS里面的谓词:VB或JJ等,这些cat会进一步细分为subcats。

董:
那么subcat是诸如什么?

白:
cat那东西,各家也有不同

李:
当然白老师泛化了subcat,一切的词汇子集给个词典标签都叫subcat了。但是在HPSG这类文法里面,subcat是一个谓词句型规则的浓缩。里面是一个丰富的 feature structure,句型方面的某个子集。文法里面的 subcat典型代表是vt、vi这类。

董:
你给个具体例子吧?我都快被绕糊涂了?名词是cat,那么sub名词是什么?

李:
名词是cat,那么subcat可以有带宾语和宾语补足语的名词,譬如 translation:其subcat就是:"translate" of NP【受事】 from NP1【来源】 into NP2【目标】。对于这个subcat的句型潜力,给它取个标签,这个标签就是 subcat 的 atomic feature,譬如 vt、vi。

董:
懂了,谢谢。

李:
但是在复杂特征集的文法里面,subcat不取一个简单的标签,而是展开来写到数据结构里面去,这样一来这个数据结构几乎就是一个产生式规则,虽然理论上这个数据结构不是过程性的。所以所谓的HPSG没有规则,其实就是玩的这么个游戏。

发现,思想活跃的知识分子永远不显老,而蓝领老人就特别容易衰老。董老师冯老师都有这个特点,我老爸也是。可见信息也是一种养分,比营养更重要。

董:
不看或极少看“养生堂”之类的胡说八道的,多半可以长寿。

冯:
多动脑子有益健康。

董振东:
有道理。
昨晚的有关arg、subcat、等的讨论,我明白了。其实我们是不同路上的车,可能都是被英文parsing误导的,至少我是被误导了。大家的目标、方法、资源等都不一样。但不论如何环视对我们的研发很有帮助的。关于诸如逻辑语义等问题,等你们真的要关心时,你们可以看我们的专著《HowNet and the Computation of the Meaning》。

李:30年前,董老师就是我学逻辑语义的启蒙老师。30年后还可以拜技术所赐,与老师坐而论道,由衷感激。

 

【相关】

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

中文处理

Parsing

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

《朝华午拾》总目录

发布者

立委

立委博士,问问副总裁,聚焦大模型及其应用。Netbase前首席科学家10年,期间指挥研发了18种语言的理解和应用系统,鲁棒、线速,scale up to 社会媒体大数据,语义落地到舆情挖掘产品,成为美国NLP工业落地的领跑者。Cymfony前研发副总八年,曾荣获第一届问答系统第一名(TREC-8 QA Track),并赢得17个小企业创新研究的信息抽取项目(PI for 17 SBIRs)。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据