【AI泥沙龙笔记:热议周教授提出的深度突破的三大条件】

李:
上周,周志华教授作为神秘AI大咖嘉宾,请到京东的AI峰会做了个主题演讲。有意思的是他讲到的三点。他的讲演主题是“满足这三大条件,可以考虑不用深度神经网络”: 1. 有逐层的处理;2 有特征的内部变化; 3. 有足够的模型复杂度。

这就有意思了。我们符号派所说的深度解析(deep parsing)和主流当红的深度学习(deep learning),在这三点上,是英雄所见还是殊途同归?不知道这种“巧合”是不是有些牵强,或者是非主流丑小鸭潜意识对主流白天鹅的“攀附”?总之,学士大满贯的周教授的这个总结不仅字字珠玑,深入本质,而且非常受用。他是说深度神经的突破,根本原因是由于上面三条。所以,反过来论证说,既然如此,如果有了这三条,其他模型未尝不能突破,或者其他模型可以匹敌或弥补深度神经。

陈:
有了dl,谁还费力想其它的

李:
周教授就是“费力”想其他的人。他指出了深度神经的缺陷:1 调参的困扰;2. 可重复性差;3. 模型复杂度不能随数据自动适应;4. 理论分析难;5. 黑箱;6. 依赖海量标注。由于这些问题的存在,并不是每一个AI任务都合适用深度神经。对于同一个任务,也不是每一个AI团队都可以重复AI大咖的成绩。

毛:
谁说每个AI任务都合适用深度神经了?DL只是补上缺失的一环。

李:
没人明说,无数人这么 assume

毛:
应该说,无数人这么 misunderstand。

李:
哈,我称之为“迷思”:misconception

毛:
反正是mis-something

李:
从我的导师辈就开始的无数探索和实践,最后得出了自然语言的解析和理解必须多层进行的结论。虽然这与教科书,与乔姆斯基相悖。

陈:
小孩好像从不这么理解

李:
以前论过的:鉴于自然语言的结构复杂性,文句的深度解析和理解很难在单层的系统一蹴而就,自浅而深的多层管式系统于是成为一个很有吸引力的策略。多年的实践表明,多层系统有利于模块化开发和维护,为深度解析的工程化和实用化开辟了道路。但多层系统面临一个巨大的挑战,这个挑战来自于语言中的并不鲜见的相互依赖的歧义现象。

多层了以后,很多不可解的问题,变得可解了。论解析的深度和应对复杂现象和结构能力,多层系统与单层系统完全不可同日而语。30多年前,我的导师做的解析系统是四、五层。但是多层的思路已经萌芽,而且方法论得到确认。最近20多年,我自己的摸索和尝试,发现大约是 50-100 层这个区间比较从容和自如。这不是因为语言中表现出来的递归结构需要这么多层,如果只是为了对付真实语言的递归,五六层也足够了。多层的必要性为的是要有足够的厚度及其动态的中间表达,去容纳从词法分析、实体识别、(嵌套)短语分析、单句分析、复句分析乃至跨句分析(篇章分析)以及从形式分析、语义分析到语用分析的全谱。

当然,这么多层能够顺利推展,前提是要找到解决多层系统面临的挑战的有效方法,即:对相互依赖现象的化解之策。如何在多层系统中确保“负负得正”而不是“错误放大”(error propagation)(【立委科普:管式系统是错误放大还是负负得正?】 )?如何应对 nondeterministic 结果的多层组合爆炸?如果采用 deterministic 的结果,多层的相互依赖陷阱如何规避?我们论过的“休眠唤醒”的创新就是其中一个对策(【立委科普:结构歧义的休眠唤醒演义】)。

毛:
乔老爷没说不能多层啊。递归与多层不就是一回事?

李:
他的递归是在一层里面 parse 的,CFG chart parsing 是教科书里面的文法学派的经典算法。

毛:
这只是形式和实质的区别。我觉得只是深度优先与宽度优先的区别。

李:
他鼓吹 CFG 的递归特性,正是因为他不懂得或不屑认真对待多层叠加的道路。

后者理论上的确不够漂亮。多少有些“凑”的意思,太多工程的味道,模块化的味道,补丁摞补丁的味道,这不符合乔老爷的口味,但实践中比他的递归论要强得多。CFG 能做到的,叠加和拓展了的 FSAs 全部可以做到,但是 叠加的 FSAs 所能达到的深度和能力,CFG 却望尘莫及。递归算个啥事儿嘛,不过是在多层里n次循环调用而已。多层所解决的问题比递归结构的挑战要广得多,包括困扰parsing界很久的“伪歧义”问题(【李白雷梅59:自动句法分析中的伪歧义泥潭】)。

毛:
我倒也是更赞同你说的 FSA,但是认为本质上没有什么不同,不同的只是方法。

李:
这是第一个英雄所见,或殊途同归。深度神经现在几百层了,deep parsing 也 50-100 层了。不是不能超过 100 层,而是确实没有这个必要。迄今还没有发现语言现象复杂到需要超过百层的符号逻辑。

毛:
这两个多层,性质是不一样的。

李:
所以我说这种比对可能“牵强”。但哲学上有诸多相通之处,的确二者都是很 deep 的,有厚度。

那边叫隐藏层,反正我是搞不懂。这边倒是小葱拌豆腐,一清二白的,不说老妪能解吧,但这些个符号逻辑的层次,至少可以对语言学家,领域专家,还有AI哲学家像毛老和群主,还有AI工程大咖利人,可以对你们这些“老人”讲清楚的。这就是我说的,所谓符号逻辑,就是人类自己跟自己玩一个游戏,其中的每一个步骤都是透明的,可解释的。符号派的旗号可以是“模拟”人脑的思维逻辑,其实这个旗号也就是个旗号而已。模拟不摸拟,这一点已经不重要了,关键是效果。何况鬼知道人的语言认知是不是这么乏味、死板、机械,拼拼凑凑,还不如玩家家呢(如果人类思维真的是符号派所模型的那个样子,其实感觉人类蛮可怜的)。

毛:
大多数人的思维可能还没有这么复杂。

李:
但这种游戏般的模拟,在实践中的好处是显然的,它利于开发(自己能跟自己玩的那些游戏规则有助于步骤的梳理,以便各个击破),容易维护和debug(比较容易知道是哪一层的错误,或哪几层有修复的机会及其各自的利弊).

马:
越是层次的思维越是更容易模拟,符号派模拟的是高层次的。

毛:
对,就是缺了低层次这一环,才需要由DL来补上。

郭:
@毛德操,周志华 这次演讲,还特别强调了 深度之于广度的核心差异,那就是他的第二条:每层都是在不同特征维度上。

他从两个角度阐明这点。一,至少在1989年,大家就已经知道,在无限逼近任意连续可微函数这件事上,只要宽度足够,单隐含层就好。多层貌似并非必要,或者说多层并没有提高“表达力”。但是,单层系统,从来没能达到同规模多层系统的学习和泛化能力。

二,多层,就可以有结构。譬如resnet,可以在不同层面选取综合不同维度的特征,可以有多信息流。这条,貌似隐含地说了,人的干预还是重要的。

李:
是的,周教授强调的第二点是特征逐层更新。深度学习之前的系统是在同一个静态特征集上work的,包括最像符号逻辑的决策树模型。而深度之所以 deep,之所以有效和powerful,是与特征的变化更新分不开的,这个道理不难理解。深度的系统不可能在静态的特征上发力,或者说,特征静态也就没有深度的必要了。深度系统是一个接力赛的过程,是一浪推一浪的。这一点在我们的实践中是预设的,当成不言而喻的公理。

我们的深度解析,起点就是词典特征和形态特征,随着从浅层到深层的逐层推进,每一步处理都是在更新特征:根据各种角度的上下文条件,不断增加新特征,消除过时的旧特征,或细化已有的特征。后面一层层就这样在越来越优化的特征上,逐步取得对于语言的结构解析和理解。

毛:
深度优先与广度优先,没有绝对的好坏或强弱,要看具体的应用。在NLP中也许是广度优先好一些。乔姆斯基讲的是专门针对 CFG 的,你那个实际上已经越出了这个范畴。

李:
特征是动态的,反映了搜素空间不断缩小,是真理不断逼近的认知过程。很难想象一个系统在一个静态特征的平面可以达到对于复杂语言现象的深度解析。

马:
在某些特殊情况下,已经证明层数少,需要指数级的增加神经元才可以达到层数深的效果。而神经元的增加又加大了计算复杂性,对数据量的要求更大。

毛:
如果上下文相关,那么分层恐怕确实更灵活一些。

李:
这就是我说的乔老爷把“power”这个日常用词术语化以后,实际上给人带来了巨大的误导:他的更 “powerful” 的 递归 CFG 比二等公民的 less powerful 的 FSA 所多出来的 “power” 不过就是在单层系统里面可以处理一些递归结构而已。而把一批 FSAs 一叠加,其 power 立马超越 CFG。

总之,特征不断更新是深度解析的题中应有之义。而这一点又恰好与深度神经不谋而合,殊途同归了。

周教授眼毒啊。

教授的第三点,关于深度系统需要足够的模型复杂度,我不大有把握可以做一个合适的比对。直觉上,由于分而治之由浅入深的多层系统对于组合爆炸的天然应对能力,如果我们假想我们有一种超自然的能力能够把一个 50 层的解析系统,完全碾压到一个平面,那将是一个多大的 network,遮天蔽日,大到难以想象!

马:
符号表示的复杂性可以说是无穷大吧?模型的复杂度指表达能力?太复杂又容易过拟合

李:
周说的是,因为不知道多复杂合适,所以得先弄得很复杂,然后再降低复杂度。他把这个说成是深度神经的一个缺陷。

郭:
周志华特别强调,他的“复杂度”,不是指“表达力”(“单层多层同样的表达力,但多层可以复杂的多”)。

他没给定义,但举了resnet作为例子,并且明确提了“特征信息流的数目”,还说了:多层,但特征信息流动单一的,也没有复杂度。

回顾周说的这三条,李维的 deep parser 条条符合!

有逐层的处理 — 李维的,少说也有50层吧!

有特征的内部变化 — 李维的,每层都在不同的维度/颗粒度/角度,用不同的特征/属性,产生新的特征/属性

有足够的模型复杂度 — 李维的,也有明显的“复杂度”(周志华强调,“复杂度”,不是指“表达力”。过度的“表达力”,往往是负面的)。李维的,不仅有传统的 linguistics motivated 概念/特征/属性,也广泛采用“大数据”(基于统计的)。最近也开始利用“AI”(基于分布式表示的)。

还有一点,周志华多次强调(我认为是作为“三条件”必然推论的),“深度学习,关键是深度,但不一定要 ‘端到端’ ”。他更强调(至少是我的理解),为了端到端,一味追求可微可导,是本末倒置。深度学习,中间有 不可微不可导 的特征/存储,应该是允许甚至是必要的。

对这一点,李维的“休眠唤醒”,大概也可算是 remotely related.

白:
拉倒。带前后条件的FSA早已不是纯种的FSA,只是拿FSA说事儿而已,真实的能力早已超过FSA几条街。

毛:
这就对了。其实,自然语言哪里是 CFG 可以套得上的。

李:
我其实不想拿 FSA 或 FSA++ 说事儿,听上去就那么低端小气不上档次。可总得有个名儿吧,白老师帮助起个名字?教给实习生的时候,我说你熟悉 regex 吧,这就好比是个大号的 regex,可实习生一上手 说不对呀 这比 regex 大太多了。这套 formalism 光 specs,已经厚厚一摞了,的确太超过。要害是剔除了没有线性算法的递归能力。

毛:
记得白老师提过毛毛虫的说法,我还说了句“毛毛虫的长度大于CFG的直径”。(【白硕– 穿越乔家大院寻找“毛毛虫”】

白:
有cat,有subcat,还拿这些东西的逻辑组合构成前后条件,还有优先级。有相谐性,有远距离雷达,有实例化程度不等带来的优先级设定。哪个FSA有这么全套的装备?

陈:
基于规则,遇到长句子一般必死

李:
非规则的 找个不死的瞧瞧。再看看规则的怎么个死法。反正是死。看谁死得优雅。你出一组长句子,找一个学习的 parser,然后咱们可以比较一下死的形态。

白:
先说任务是啥,再说死活。

李:
我是说利人的腔调,极具代表性,那种典型的“成见/偏见”(【W. Li & T. Tang: 主流的傲慢与偏见:规则系统与机器学习】)。

马:
人家DL端到端,不做parser。现在有人做从语音直接到文本的翻译,不过效果还不行,主要可能是数据问题

李:
苹果梨子如何比较死活。

毛:
乔老爷的CFG不应该算入AI,那只是形式语言的解析。

陈:
确实都死。。。但一个死了也没法解释,不要解释。另一个就得思考哪个规则出问题了

毛:
人也好不到哪里,只不过人不死,只是懵了。

李:
😄 懵了就是人造死,artificial death

马:
规则的好处是,你说什么不行?我马上可以加一个规则。这就是我前面说的复杂性无穷。😄 即表达能力无穷

白:
假设任务是从文本抽取一堆关系,放进知识图谱。

假设任务是根据用户反馈,把错的对话改对,同时对的对话不错。

陈:
抽取这个很重要,很多理解的问题其实是抽取问题。比如,阅读问答题

毛:
我还是相信多层符号会赢。

李:
从文本抽取关系 谁更行,需要假设同等资源的投入才好比。我以前一直坚信多层符号,现在有些犹疑了,主要是标注人工太便宜了。到了标注车间,简直就是回到了卓别林的《摩登时代》,生产线上的标注“白领”面对源源不断的数据,马不停蹄地标啊标啊,那真不是人干的活儿啊,重复、单调、乏味,没看见智能,只看见人工,甭管数据有多冗余和灰色。这就是当今主流“人工智能”的依托,让人唏嘘。当然,另一方面看,这是当今AI在取代了很多人工岗位后,难得地给社会创造就业机会呢,将功补过,多多益善,管他什么工作,凡是创造就业机会的,一律应予鼓励。

毛:
@wei 这不正好是训练条件反射吗

陈:
反正智能的事都让机器去做了,人就只好做些低级如标注的活了

白:
问题是啥叫符号?基于字节?字符?基于词已经是符号了吧。是不是要退到茹毛饮血,连词也不分,才算非符号。否则都是站在符号肩膀上

毛:
我认为可以这样来类比: 一个社会经验丰富、老江湖的文盲,跟一个教授,谁能理解更多的语句。我想,除那些江湖切口和黑话,还有些需要“锣鼓听声,说话听音”的暗示以外,一定是教授能理解更多的语句。而且,即使是江湖切口黑话,也能慢慢加到教授的知识库中。

李:
都是站在符号肩膀上。然而,符号系统的实质不是符号,而是显性的 可解释的符号逻辑。就是那套自己跟自己玩 系统内部能够自圆其说 有过程 有因果链条的针对符号及其动态特征做处理的算法。相对于建立在符号和特征基础上的不可解释的学习系统,很多时候这些系统被归结为一个分类问题,就是用原子化的类别符号作为语言落地的端对端目标。如果一个落地场景需要10个分类,只要定义清晰界限相对分明,你就找一批大学生甚至 crowd source 给一批在家的家庭妇女标注好了,一个类标它百万千万,然后深度训练。要是需要100个分类,也可以这么办,虽然标注的组织工作和质量控制要艰难得多,好在大唐最不缺的就是人工。可是,如果落地场景需要一千个、一万个不同侧面的分类,标注和学习的路线就难以为继了。

白:
结果是一个集合,已经比较复杂了。结果是关系集合,又更加复杂。让人类标注,好不到哪儿去。标注一个关系集合,等价于标注一个结构。

 

【相关】

周志华:满足这三大条件,可以考虑不用深度神经网络

周志华最新演讲:深度学习为什么深?

【立委科普:结构歧义的休眠唤醒演义】

【立委科普:歧义parsing的休眠唤醒机制再探】

【白硕– 穿越乔家大院寻找“毛毛虫”】

【科研笔记:NLP “毛毛虫” 笔记,从一维到二维】

【泥沙龙笔记:NLP 专门语言是规则系统的斧头】

【新智元:理论家的围墙和工程师的私货】

乔姆斯基批判

泥沙龙笔记:再聊乔老爷的递归陷阱

泥沙龙笔记:骨灰级砖家一席谈,真伪结构歧义的对策(2/2) 

《自然语言是递归的么?》

语言创造简史

【立委科普:管式系统是错误放大还是负负得正?】

【李白雷梅59:自动句法分析中的伪歧义泥潭】

W. Li & T. Tang: 主流的傲慢与偏见:规则系统与机器学习

《一日一析系列》

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

《朝华午拾》总目录

【语义网笔记:本体是名门闺秀,门当户对不容易】

AAAI 2018经典论文获奖者演讲:本体论的昨天和今天

李:
本体(ontologies)作为知识来源和知识基础 道理上对于 AI 以及需要知识及其推理的智能系统 应该广泛应用。但实际上使用却不多。作者指出了这个我们都意识到的问题 并没给出清晰的解释。其实 是有说法的。anyway AAAI 表彰这类工作是大好事。

漆:
Natasha这个工作在语义网还是有一定影响力的。她这几篇论文我读过,确实是跟一般做本体的人不一样,不是一个算法或者工具,而是一个工具群,而且还有医疗这块应用支撑。在本体匹配和融合方面的贡献还是很大的。当然,实用性应该也就那样了,毕竟还是大学的产物。

最近几年知识图谱兴起,本体也开始受到更多关注了,特别是palantir把本体用得很好,使得本体工程的实用性得到了更好的验证。但是本体构建的复杂度比较高,需要对业务和本体都有深入理解才能做好,这是本体工程的一个门槛。如何降低这个门槛,就是基于本体的知识工程实用化必须解决的问题。首先需要有一个很好用的工具,其次需要有好的知识工程师,工具演化,工程师的门槛就越来越低,否则工程师门槛比较高。

李:
其实无数系统都在用本体,不过大多是 system internal,临时自己凑的。因为 外面来的 太厚重 往往不接地气 不好用 或者 learning curve 大。

漆:
以接近需求为驱动做的,丑点无所谓

张:
就像每个人都有自己的世界观和概念体系一样

李:
自己做虽然不系统 但不妨根据需要慢慢丰富。用到 features 并对 features 做某种组织的系统 基本都在不自觉地用本体,这类系统多如过江之鲫。

张:
就像科班出身和自学成才的区别

李:
外来的为什么不好用,不仅厚重,而且常常歧义太多 太细 用到的概念 关键的节点和链条不多 却带过来一屁股屎 擦不干净。

张:
总是需要消化吸收

李:
我有切身体会。当年用 WordNet做NLP,先是想改造 用了一年 发现这屁股永远擦不完。索性横下心删除 连洗澡水把那孩子也倒掉 拉倒。然后 自己从头开始 往里面零星凑 等于自己做个试管婴儿。清爽多了。

从 NLP 用途看,董老师的 hownet 比 wordnet 强多了。就是这样 要以为拿来就能得心应手 也会失望。善用和改造一个外来本体 需要很多功夫和经验。本体还在积累和探索阶段,还没到知识大爆发其效用的时候。

秦:
对。知识工程学科贡献度太低了,这是不应该的。

李:
人工的本体语义大师们的几十年、一辈子的作品,往往为了逻辑完备性 做得太精巧 太细线条 hence 太歧义。高大上 就不容易接地气 不那么好用 而且厚重(本体的本性)。机器自动挖来的本体,譬如当年微软NLP根据词典定义挖出来的 MindNet,太粗糙 太庞杂 或太多 noise,二者对于一个需要做实际系统的人来说 都不那么好用。问题是,做实际系统的人 面临的是领域问题 本身有很多事儿要照顾 本体只是其中一环 很难兼做本体专家的工作。而本体是厚重的 by nature,也是自己的一滩 对于专门家的素养要求很高。两路专家 理论上应该精诚合作 方成大事 实际上却很难。你做的 我感觉大炮打蚊子 使不上力。我需要的 跟你解释不清楚。提供方与需求方 不接轨。造成了重复劳动 各自为政。 这种矛盾 太普遍常见了 各种对齐 标准化 都是试图解决它的某种努力 但总体而言 还没到本体大显神威的时机。

本体就好比一个名门闺秀 高不成低不就,应用就好比一个暴发户,看着闺秀流口水,可是没有好招儿娶进门 自己土包子 吸引力也不够。只好自家养个童养媳,虽然土气点儿 不性感 也不大拿得出手 上不了厅堂 不好示人。但下得了厨房 好使唤 脾性也对路 凑合过日子呗。

据说宋庆龄宋美龄这些大家闺秀 都遇到过本体同样的困惑和苦恼。幸运的是 两个人 最后各自找到了一个可以做自己爸爸或者叔叔的盖世英雄。否则 难以想象其高不成低不就的困境 如何破局。

HowNet,Cyc,还有 FrameNet 都有类似的苦恼。一律是大师所为,曲高和寡,一律没有得到预想中应该得到的广泛应用(参见:《语义三巨人》 )。反倒是领域的实体知识图谱,开始显示了巨大的应用价值。背后的本体却不见天日。可不少人还是隐隐觉得 本体是蓄势待发。

 

 

【相关】

语义三巨人

掌故:“白头宫女说微软”

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

《朝华午拾》总目录

【李白60:事理图谱之辨】

宋:
“普京称,特朗普问了一些尖锐的问题,显然他对某些事情的细节很感兴趣,所以他也尽可能地详细地回答了他。”(来源:看看新闻)三个“他”各是谁,机器能识别码?

白:
这也是“事理图谱”的覆盖范畴,甲问乙,乙答甲。

李:
他回答他,句法绑定理论(Binding Theory)决定了不是一个人。
x 问y ==> y回答 x, 这个知识 hownet 恐怕有。第三个 “他” 于是绑定 “特朗普”,第二个“他” 于是不可能是“特朗普”,上下文只剩一个“普京”,那就是“他”了。至于第一个 “他”,语言的就近原则就对了,绑定“特朗普”。如果用知识推理,那就蛮复杂:需要在 【提问】 与 【感兴趣】 的概念之间,建立某种互为因果的联系:

x 问关于y 的问题 《==》 x 对 y 感兴趣

这是符号逻辑。至于大数据如何反映,“事理图谱”如何表达和支持,这里面水不浅。

不太明白的是,这所谓事理图谱,到底是本体类的图谱(ontology graph),还是情报类的图谱(intelligence graph)。从命名看,应该偏重本体。那就跳进一个大泥坑。 本体不是不可以自动图谱化(严格一点的术语叫知识习得,knowledge acquisition,而不是情报类的信息抽取 information extraction,【语义网笔记:本体与知识图谱之辨】),但是很难很快奏效,也很难打过 hownet 和 cyc,除非是先从 domain 本体着手,各个击破。情报类图谱就是靠 domain 取胜的,本体图谱也应该是这个方向。

白:
本体/情报这个区分完全是工程化的,原理机制方面看不出来不同。所谓原理机制,无非就是核心动词怎么传播,坑怎么跳接。打 和 伤,打传播到伤,打两个坑,其中受事那个坑跳接到伤的当事。明白传播和跳接,这个游戏就可以玩下去了。面向领域见效快些,产品好包装些。面向本体见效慢些,可能不走产品的路子而走公共服务的路子。但这是商业模式问题而不是技术问题。

李:
情报的立足点是个体(NE),本体的立足点是群体类型 (categiry concept),目标相差远去。后者 人工具有显著优势,所以说 想打败 hownet 并非易事。这是从知识本身、 知识的获取和表达来看。至于知识的应用、知识的推理、推理中的模糊与逻辑的平衡等等,又是另一个挑战。而情报图谱的应用相对简单,无论是支持搜索还是挖掘。支持预测比较难些。本体知识因为并非情报,而是常识或专业知识,属于教育的范畴,谈不上搜索、挖掘和预测。

白:
说来说去还是商业模式。定性预测和定量预测又是两回事。涨不涨,和涨多少点,不一样。

李:
我想说的是所谓事理图谱,是个吃力不讨好的活计。高校里面立项做个研究可以,应用上基本可以无视。学了半天也不过就是学会了诸如 【x 从 y 那儿 买 了 z】 ==  【y 卖了 z 给 x】, 【x 吃饱了 ==》 x 不饿】等等。 这种事理哪里用得着去学,拍着脑袋可以想出来更多、更周全、更体系、更逻辑。

白:
法律文书处理需要。证词这么表述,起诉那么表述。这还只是paraphrase。如果涉及到行为与后果,还是要在动作之间传播,比如打与伤。如果要打造alphago级别的律师,这点事儿是必须搞定的。最起码的。说这事儿没有效益,可能过于托大。

李:
两码事儿:本体知识图谱是一码事儿,利用这个图谱做有效的推理应用是另一码事儿。前者基本没有效益,有那个力气 不如把 hownet 进一步完善。后者才是痛点。

白:
我是说从建设的内容看,你分不清是给研究用的还是给应用用的。

李:
谁先把 hownet 或 cyc 里面的知识体系(时髦词叫 “图谱”)用起来,用到 50% 就很了不起了。

白:
绝对不是那个路数。应用的人没那么傻,有现成的好东西不用。问题不是不用,是路数不对。不可用。

李:
傻不傻,要先看到应用实例才好。事理图谱成功应用的突破,咱等着看吧。

cyc 的失败不是知识获取的失败,这方面愚公移山,知识增量获取,知识只会越来越丰富。知识丰富了,没法用才是问题。

白:
就说跳接这事儿,用重武器和用轻武器有本质不同。用轻武器同样可以做的事儿,为啥要用重武器。重武器的副作用太大。

李:
如果事理图谱,也像情报图谱一样,追求的是图谱的建立,那就没有情报图谱的成功可能。

白:
你要等他,要养他。还要顺着他。其实应该他顺着你。

梁:
小声问一句,事理图谱是因果关系图谱吗?

白:
不完全是

李:
我理解就是本体图谱。搞不清对象是常识还是专业知识,还是兼而有之。

白:
有些因果上没道理的事情,事理上有道理。比如,该来的没来–》我是不该来的;
不该走的走了–》我才是该走的。

李:
这样的事理,已经不再独立于语言和文化了。那就比普世(universal)的常识和专业知识更加广泛了。

白:
作案是专业知识,作案里动作之间的关联是常识,没有常识托底的专业知识是有断层的。法律条文是专业知识,案情的描述靠很多常识勾连在一起。在分析案情与法律条文适配性的时候,必须二者兼而有之而且在结合部无缝切换。

李:
对,是个 hierarchy 。

白:
paraphrase可以有更简单的处理方法,就是相对行为在转换为内部表示时是标准化的:
买和卖,娶和嫁,借和贷,都可以。这个不算推理,甚至也不算传播,内部表示都是个trans就得了,只不过参数摆的地方不一样。

李:
真正在应用中的痛点是:

1. 不是没有知识,而是有了知识也不知道如何用
2. 很多时候没有知识也达到了目的,所以见知识就用,往往弄巧成拙
3 就事论事容易,总可以谈出背后一大堆“事理”出来:本群的很多有趣的讨论和钻牛角尖,就显示了这些事理。但是要想找到一个高效的通用算法,来用这些事理知识,那是真地很难。

白:
在不知道知识长什么样时,谈算法是很空的一件事,算法和表示几乎是同时确定的,而不是表示在先,算法在后。

李:
情报图谱的表示与算法可以分开。可以把情报挖掘,建立一个图谱表达。至于别人用什么算法去用它,可以是另一回事儿。其实,我各行各业的分析员一直都在手工做情报图谱,他们并不懂什么算法不算法。自动生成的情报图谱,只要提供一个类似 sql 的搜索图谱的接口就完事。但是,本体图谱不同。它本身不是情报,都是吃饱了不饿这类“废话”,没有应用价值。所以,一定要想清楚如何用它,才能显示价值。

白:
paraphrase和传播是必须的。无方向感的推理可以免了。

李:
想清楚如何用它是比获取和表达,难度大得多的事儿,这里面包括想清楚何时和如何不用它。

白:
用它从来不是问题,问题的关键是“它”是谁。如果是hownet或者cyc,基本可以打住了。一定是把知识的使用圈到一个很务实的圈子里,足够轻,然后才谈得上获取和表达。本体重实体和实体的构成类型,事理重事件和事件之间的传播和激活。这俩早晚要区别对待。混在一起打乱仗是要死人的。现在技术层面的问题是解决坑的跳接。

李:
打乱仗的常见案例是,不知道何时不该用 不能用“事理”。对于不合事理的事儿,自然不能用事理理之。

【相关】

【语义网笔记:本体与知识图谱之辨】

【泥沙龙笔记:再谈知识图谱和知识习得】 

《泥沙龙笔记:知识习得对本体知识,信息抽取对知识图谱》

【立委科普:本体知识系统的一些历史掌故和背景】 

《对于 tractable tasks, 机器学习很难胜过专家》

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

中文处理

Parsing

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

《朝华午拾》总目录

 

【李白之58:爬楼NLU】

爬楼NLU(Natural Language Understanding): 二楼句法结构三楼语义落地

李:
问各位一个 lexical feature 的转移问题及其解决途径,譬如 “所吃”。在小词 “所” 与 vt 结合成合成词以后,该词的语义等价于vt 标配宾语的语义。换句话说 “吃” 的动作性 语义本体标注 [consume] ,应该被置换成名词性标注 [food]。这个 feature 更新如何实现比较合适?到 HowNet 里面去挖出来? 如果 feature 不更新,那些细线条的指望语义 features 查询条件的规则就会失效。“所” 是一例,“的字结构” 是类似的例子。无论小词负载结构 还是小词参与合成词模式 都躲不过这个 feature 大转移的语义坎儿。当然可以为每一种主要关系(譬如 动宾)从 HowNet 抽取出一个语义词表,等到需要更新的时候,就让系统根据关系的规定来查表解决。不知道有人在 parsing 中做了这个工作没有? 估计很少,多数系统还没有细线条到这个地步。

白:
所,是N/S。的,是N+/X。所吃,是 N/S 与S/*N*,结合以后变成N/**,这是句法层面。subcat层面,它继承S的逻辑宾语坑的subcat。的,就没这么精准了。X里面谁空着就提取谁的subcat。“这本书我送的是他。”间接宾语也能提取。*N*是分母的一般形式,吃还是S/2N,所吃,是N/N,被谁所吃不知道。我所吃,N与N/N正好得出N。

李:
这里的继承有文章。“所吃” 继承的subcat 有:(1)“吃”的本体标配宾语,(2)subcat 剩余坑,也就是主语坑 /N == [animate]。这两项继承 一个是本体自己的 type 一个是坑的 type,都不是简单的事儿。因为承载本体的语词“吃” 由于小词“所”的作用 ,已经与本体概念 来了个乾坤大转移。

白:
[animate],[food]; 继承后者,即food。“这碗饭的所吃”不可以,

李:
N/**,这个句法符号里面有很多本体名堂。当然,这些本体关系信息都是现成的 ,Hownet 里面就有类似的知识表达:吃: s=[animate] o=[food]。

白:
“考”有点特殊。我们不知道“考”句法上应该是几个标配坑,但“所考”的subcat可以是人、学校、科目、某种证书。也就是说,不排除标配坑与subcat的对应有多元化的可能性。简单说逻辑宾语是不足以刻画这里面的复杂性的。不过,“所考”不可以继承分数【score】, 似乎所有事前不能有所控制的,都不能用“所”。“所梦”VS“所梦想”

李:
甲: 吃了吗
乙: 吃了
甲: 所食何物?
乙: 所食非物。
甲: 莫非秀色?
乙: 非也。 所食不过食堂耳。
甲:我的所吃更惨 非食堂 非馆子 更非秀色。所吃乃瘪、苦头、抑或 一鼻子灰。

白:
嗯,句法层能说“吃食堂”,“所吃”就可以是“食堂”。就是说,“吃”的逻辑宾语,是一堆而不是一个subcat。

李:
我要说的是 本体标配受事,还有一个上位概念,这个上位概念倚靠的是句法,表达的是逻辑谓宾的语义相谐。它不是本体那样纯粹 那样独立于具体语言,但又离不开本体的大框架。我一直把这种上位逻辑语义叫做逻辑宾语、逻辑主语,有意借用句法术语,加上前缀“逻辑”。所以逻辑宾语 可以是 【受事】、【对象】。【地点】等,以及其他种种说不清的搭配,逻辑主语 可以是 【施事】、【工具】、【地点】等。

白:
语义相谐不局限于受事,而是“可宾”的subcat。所砍,不能是工具。所去,可以是处所。所卖,可以是买主。所送,可以是对手方。

李:
这个 logical S 和 logical O 其实是很关键的概念。

白:
但是标逻辑主宾语给谁看给谁用?
语义落地,还是本体的坑好用,除非像“所X”这种含混的。

李:
主要是为了概括句型:svoc,就三个args。arg0 逻辑主语,arg1 逻辑宾语,arg2 逻辑补足语,更加杂乱一些,包括谓词结构嵌套也在内。但不管这三个 args 的内部逻辑语义细节多丰富,这三个坑从语言句型结构上定下了框架,万变不离其宗。

白:
好像不需要这一层,大面上也都可以语义落地。从“跟谁有关系”到“是什么关系”。
当“是什么关系”有多选时,就对应subcat集合,当然可以有个概率分布之类。按老乔的理论,你这是移位前的“logical form”,本质上还是句法。

李:
对 是句法。句法才是纯粹的语言学,到了语义就开始变味了。

白:
但是这标签贴了又不是最终落地用的,感觉不爽。要贴标签的话,还是只贴一次为好。句法不贴又何妨。

李:
在我这儿 语义落地靠的就是 svoc 句型,有了svoc 的框架,落地的句型 就一目了然了。 具体工作不过是给句型做细节条件的微调,然后就落地为具体场景的角色了。譬如 o 落地为 【发布的产品】,s 落地为 【发布产品的公司】:Apple launched iPhone 7 yesterday

白:
在我这儿,“可宾”包括的subcat范围,一是可以学出来的,二是仅仅跟少量词语的语义落地有关,没有大动干戈的必要。大多数落地(role assignment)的场景都不需要这个中介。

李:
把 s 标签 map 到 【发布产品的公司】这类工作,简直就是玩儿。 是典型的以不变应万变。不管产品和客户需求有多少变化 本质上 语义落地玩的就是换名的游戏。比起 parsing 这一层工作的繁难,信息抽取层面的这些工作太简明了。 虽然需要落地的谓词 都是少量的,但所有的谓词都逃不过句法的逻辑句型。 因此针对所有谓词建立句型模式 就形成了一种以不变应万变的结构准备,接下去爱怎么落地 都是一览众山小了 跑不过如来佛的手掌 。所以 这一层本身虽然不是客户的需求 而只是内部的桥梁,但我还是很推崇它作为语义落地骨架或桥梁的地位。

白:
如来佛手掌可以有多种造型

李:
那是。跳过它落地 完全可以想象。也许是偏好 总之玩一个主人三个仆从的游戏觉得很好把握,组合一下 也是非常有限的边界。不会做着做着 觉得进入迷宫 或搞不清漏掉多少。说着说着 觉得自己一方面批判乔老爷(参见【乔姆斯基批判- 李维), 一方面可能中了他老人家句法中心论、句法自足论的流毒太深 而不自知。

白:
从“有关系”到“是受事”,中间再经历一个环节好,还是直达好?我的选择是“直达”。至于“受事”是“发布的产品”,这只是一个alias。没有什么技术含量的

李:
对呀。正因为没有含量 所以就更像是游戏。真正有技术含量都在前期的 deep parsing 里面了,那才是自然语言理解的核武器。换句话说 svoc deep parsing 已经把句法做到通用领域的极致了,以至于落地到领域几乎就是一个换名的游戏,换一个领域容易接受、客户听起来舒适的情报标签。

白:
回到前面“吃食堂”,“食堂”可直接匹配“处所”,我说它是O不是O,有何意义?

李:
关键的 argument 还是:落地是千变万化的领域 和 各种不同客户的需求,但 svoc 永存 永远不变。只要领域用的是语言数据 这就是恒定的,就如二元关系的永恒一样。

白:
这里焦点不是有没有,是可不可以不用,不用是否一定差。语言学有很强的构造性,你构造他就有。角色本地名称是第一性的,通用名称是第二性的。对机器来说本地名称可以是不要名称,只有编号:第一个语义坑、第二个语义坑……,给个本地别名,就是公司、产品,给个通用名,就是施事受事。

李:
关于直达还是通过语义中间表达的桥梁,我也问过类似的问题。我诘问的对象是费尔默理论。在信息抽取的落地框架前, 有没有必要先经过一下他老人家的 FrameNet 的框架?我的答案是否定的:多此一举 没有必要。这就基本否定了 FrameNet 的实用意义。没有必要的理由是 FrameNet 理论上缩短了语义落地的距离,实践中增加了落地的麻烦。一个 svoc 的简单通用句型 分化到成百上千的 frames 去 还没有最终到达目标地。

白:
svoc也没有达到目的地,“有填坑关系”不是更干脆么,中间的过程,无论借助subcat锁定还是借助语序,都是自动化的。

李:
svoc 可控、intuitive,而且语言学家如数家珍。其实,说了半天,从落地对策的大类上,我和白老师是一伙的。标不标 svo 只是细节的差异,虽然从我的架构看,这个差异还是蛮重要的。

白:
语言学家如果是我培养出来的,用我这一套也可以如数家珍。

李:
但如果落地从领域落地泛化到通用的应用,譬如搜索,搜索没有预先定义的事件。svo 的搜索比较容易训练给大众,这与多数人的基本语感相吻合 who did what.  这类重要应用增加了 svo 的独立价值。你要搜索产品发布事件?好 那你就搜索:“发布” 其宾语是 【产品】。至于这个宾语在语言中有多少变体的句式 那都不是大众需要关心的,deep parsing 早就 normalize 了。

白:
这只是一个动词被“实例化”的wizard

李:
如果不标svo, 搜索的时候可以这么说,搜索 “发布” 其二元关系词是 【产品】,也可以达到类似的结构搜索的效果,返回精准的产品发布事件的清单来。比纯关键词词搜索精细高明多了。可是如果客户想 搜索所有受雇的人 ,在 svo 系统中 就搜索:“雇佣” 检索出其【宾语】出来。在不标 so 的二元关系系统中,雇主和雇员就混在一起了。

白:
1、你无法排除取消发布、拒绝发布、打算发布、能够发布……这些用模态词沾染过的发布;2、发布的如果不是产品而是新闻怎么办。svoc自身无法区分哪些是产品哪些是新闻。

李:
这些都不是问题。或者说不是因为增加 svoc 而新出的问题。svoc 反而为在何处解决那个问题提供了蓝图和便利。这都是另外层面的问题,譬如节点的条件、数据的来源、李ta data 等。与评价 svo 本身的利弊没有关系。

白:
我的问题是,如果这些区分导致svoc这一层反正信息不足,反正还需要借助另一层的信息,那么直达那一层有何不妥

李:
但信息不足是有不同层面的。任何图谱(graph),是 arcs 信息不足,还是 nodes 信息不足?还是超越句内结构的discourse不足,还是 meta data 不足?不能混谈,虽然这些不同层面的信息有相互弥补的作用:戏(arcs)不够可以词(nodes)来凑。

白:
标签不足。

李:
arcs 不标标签 是一个极端。arcs 标了 soc 是多了一些句法结构的关键信息,soc 再细化为董老师的90多种逻辑语义,就又更多了信息。nodes 呢, 啥也不标 是一个极端, 标了 pos 有了一些信息分类,再标 subcats,进而做NE实体标注(包括产品),直到引进 常识本体乃至领域本体(ontologies), 信息就越来越丰富。自然也越来越难维护和掌控。

白:
反正要上三楼,就是二楼的高矮问题。

李:
对。

白:
如果为了上一个高的二楼,导致付出的代价接近上三楼,二楼就取消算了。三楼的细活儿做得越好,二楼矮点儿就越没关系。

李:
为搭建二楼 svoc 所需要的信息及其技术手段,基本全部可以继承下来为三楼服务。所以 为什么说 parsing 不仅仅是所看到的树结构,也不要指望一个 offshelf parser 就很容易语义落地为产品了。parser 要成为语义落地直通车, 需要借用 parsing 本身所带来的资源积累。结构图只是这些资源的一个最容易彰显的部分 但绝不是全部。

白:
自带插销插座,到三楼装配起来就easy多了。

李:
完全同意 同感。但 “二楼就取消算了”,不愿苟同。问题是三楼是 moving 的,业务场景变化 客户需求变化 产品角度变化 ……  都使得三楼细活显得琐碎而不容易概括。

白:
不会
那都是贴牌问题,瓤不是moving的。

李:
二楼是清晰定义的目标。在我看来,二楼的 svoc 正是不变之瓤。

白:
我的二楼是让有关系的都勾搭上。是什么关系你们到三楼谈。但是自带了三楼才会用到的插销插座的,不妨提前锁定。到了三楼,就只剩贴牌了。但是也有需要必须在三楼才能锁定的,二楼无须代劳和强制。

李:
理论上 必须在三楼做的 只是领域知识。这些知识在二楼是避开的。

白:
另外贴牌是很外在的东东,没必要单独一层,只相当于在三楼化个妆。只需要示例就可以让领域的人干,都不用跟语言学家打照面。

李:
然,贴牌很多时候不过是 config,可以让用户或产品经理根据喜好而定,随时更换。

白:
跨领域的实体数据库,这个环节可以众包。领域知识说起来是无底洞,但是做法不同收效相差很远。根本分歧是,知识的使用是“推演”的套路还是“联想”的套路。“推演”的套路精准但笨重,只能借助人工而无法借助大数据。“联想”的套路模糊而轻盈,不过多依赖人工而寻求借助大数据讨巧。只要模糊给出的效果是应用可容忍的,“联想”的套路就会胜出。所以,哈工大做的“事理图谱”如果沿着联想的路往前走,我很看好。有理由相信,语言处理需要的知识,不是“精准”而是“轻盈”。对话场合大不了还可以追问。文本场合虽然不能受理追问,但受众有相对充分的时间调动“精准”的手段。二楼的高和矮,如果涉及到二楼的业绩,确实另当别论。如果二楼三楼的发明人都是公司的大老板,或许另样格局。这两碗水怎么端都是平的。

 

 

【相关】

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

乔姆斯基批判- 李维

中文处理

Parsing

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

《朝华午拾》总目录

【李白之45:从变性谈到模糊与歧义的不同】

李:
尼:罗素说科学够不着的哲学,哲学够不着的宗教。

[科学够不着的] [哲学],[哲学够不着的] [宗教]。

两个主谓结构哎!

哲学、宗教这样的名词也可以做谓语,而且是在“的”字后面,简直是开了眼了。以前琢磨过英语的“银行”(bank),经常做动词谓语用,觉得顺理成章,但汉语的对等物却不行。

白:
儿子挖不完的孙子(接着挖)。

李:
(感觉汉语“银行”的构词法可能在捣乱,silver-bank, 听着就是一个守财奴的物理存在,与金融行为不大兼容?)

白:
硬通货的物流调配。怎么就是“守”了呢。

李:
* 你银行了吗?
老哥,我忘了,对不起。

白:
很行了

李:
* 我明儿一定银行。
我难以接受这种说法。

白:
王天下
四海一
这种用法中文是老祖宗,但是新派词汇不在其列。

李:
为啥?词性活用现代汉语为啥减弱?

白:
不是一个系列的

李:
“我昨天二锅头,今天决定茅台一下。不茅台白不茅台,人一辈子,图啥?”

白:
数数,单字名词活用为动词,可以有声调变化,略等价于形态变化。多字名词没这个招儿了。

李:
“今天床得早,决定微信一下。电脑了半天,微信出不来。”

白:
北京话也就“孙子”做谓词坐稳了。其他都充满临时性和造作。

李:
“现代汉语名词不动词,动词不名词,不如古代汉语,名亦动,动亦名。”

单字词 可以声调变化来反映词性变化,这是一种(蛮新鲜也有理的)说法。
双音词,由于内部的定中的构词结构太透明,干扰了其变性的可能性,也是一种说法。譬如 “红花”、“臭豆腐”、“高楼”。很难想象这么透明如句法的词结构,会忽然变性。不过,如今这社会,再难想象的变性(trans-gender),也是可能发生的。美国的变性人已然成为一个不小的社区了。

“这家伙在北上广,高楼了10多幢,全国劳模会上一样红花,回到胡同与老哥们一起臭豆腐,这是怎样精彩的腐败人生。”

所以说,语言学家不足采信。啥不可能都整出可能来。

白:
这些一看就是匆匆披了件别人的外套

白:
尼:罗素说科学够不着的哲学,哲学够不着的宗教。可解释为省略了重复的“够”。不知尼克尊意如何?“这道题,张三做不出来李四,李四做不出来王五。”意思是:“这道题,张三做不出来李四(做),李四做不出来王五(做)。” 跟名词动词化真心没啥关系。
“前卫顶不住了后卫(顶),后卫顶不住了守门员(顶)” 同理。

李:
读起来很顺 没觉得需要补充什么。虽然说省略也不能说错。但语感觉得已经完整。因此 我倾向于这是名词坐稳了谓语宝座。叫不叫名词变性另说。而且真要补充 我不大会补充 “够” 而是补充其他更合适的动词:

科学够不着的 哲学上
哲学够不着的 宗教来。

“冲”、“上”、“来” 都比 “够” 贴切。说省略了 “够” 太勉强。最大的兴趣点还是,怎么名词谓语出现在 “的” 后面 居然感觉妥妥的呢。“科学够不着的哲学 从来都是高高在上 只是到了近代 哲学的权威才急剧下降。” 这个才是标配结构。冲破标配估计是一靠排比句式;二靠小句在的字结构后面无其他谓词 ;三靠【的字结构】的多变性。的字结构指代实体 一点也不罕见, 频率差不多可匹敌做修饰语。所以听话人心理随时准备从修饰语角色反悔或回溯到实体名词的角色。

尼:
我原意就是图这种语感,其实确有歧义,还一种解释可以是philosophy lies where science is trying to approach

李:
科学够不着的有哲学(在)。

尼:
可能稍显牵强,不如白老师解释的那个更solid。两种都有点。

李:
没关系 关键是 unspecified,比认为省略了一个特定动词值更合适。

严格说 unspecified 不算歧义,而是模糊。模糊在思维及其语言表达中 都有地位 不应该简单归为歧义。

尼:
可以说是模糊

李:
歧义应该是已经有预定答案值的现象,hence 消歧的任务。没有标准答案的所谓歧义 其实是模糊。

梁:
我理解是 ”科学够不着的(地方)哲学(够)。“ Where science is out of reach, is philosophy’s domain.

李:
可以算解读之一。

梁:
第一次听说“歧义是已经有预定答案值的现象”,不知道是不是业界所有人都 share 这个定义?

李:
否则消歧往何处去?有两种歧义,一个是关于 node,一个是 arc, 譬如:

WSD bank: value1. 银行;value2. 河岸
PP-attachement: V NP PP: value1. V [NP PP]; value2. [[V NP] PP]。

看下组句子:

1. 我吃了午饭了。
2. 我不久前吃了午饭了。
3. 我几分钟前吃了午饭了。
4. 我约3分钟前吃了午饭了。
5. 我3分零5秒前吃了午饭了。

这些句子里面的动作,与所有事件一样,肯定发生在(空间和)时间之内。只有第5句,给定了精确时间,精确到秒。其他句子给的都是模糊时间,或没有给时间(等价于给了一个到说话为止的开放区间)。这就叫模糊。如果硬要在模糊的时间表达中去“消歧”,精确到秒,前四个句子无解。

unspecified 在自然语言中是普遍存在的。最多的时候,它是以零形式而存在(譬如句子1)。也有很多时候是以词义的模糊或结构的模糊来表达。这种词义的模糊或结构的模糊,不能认为是歧义,至少不是语义计算的目标,因为根本就没有目标。我们做过信息抽取(information extraction)和信息融合(information fusion)来构建知识图谱(knowledge graph)的,体会很深。其实人用语言表达出来的关系,事件或情感,只是整个语义之网的一个零星的局部。再加上每一句话的语言学制约(譬如 args 不过三的语言学subcat原则),每次只能表达几个点的信息,因此语义之网的大部都是 unspecified。如果面对的是大数据,这些语句所代表的碎片化信息,通过信息融合(如果是unification系统,信息融合用合一操作),慢慢丰富起来,但最终还是存在很多模糊地带。

白:
话说,模糊和笼统还是不一样的。歧义是集合明确、元素糊涂;模糊是集合明确、子集糊涂;笼统是集合糊涂、超集明确。

李:
这个要得。
wait, 我要说的是:(严格意义的)歧义是集合明确,元素也明确(元素就是 value,是标注)。人和机器就是要按照元素指向去标注,来消歧。如果我说“吃肉”,你非要消歧,说这肉是猪肉还是牛肉,那就不对了。因为我的语言是模糊的,没有留下消歧的空间。

白:
元素糊涂,说的是不知道是哪一个标注,集合明确,说的是知道哪些是可能的标注。

李:
我以为集合是定义 how many (the scope) in a set,元素是 the list of members.  Anyway, 歧义是元素明确:知道答案,看谁的算法牛了。如果不知道答案(元素模糊),那就是语义模糊了:这里面还可以再分为,语义模糊,但是边界清楚。就是白老师的子集的意思吧。从常识、本体知识带来的边界不算,那个是“元”层次给定的,没有语言什么事儿。

“我吃了午饭。” 时间的边界是到说话为止:这个边界是语言学的,是时体小词“了”所传达的。

“我吃肉” 常识说,不外呼是牛猪羊鸡…肉。不会是人肉(饥荒年代不算)。这个边界就不是语言学的。

白:
外媒:区块链战略上的延迟 将是公司的“灭顶之灾”
这个标题有歧义。一个意思是,一个公司,如果在区块链这件事上不做战略布局,将会面临灭顶之灾。另一个意思是,区块链这股力量,如果在战略上动作迟缓,将使相关公司面临灭顶之灾。

我:
多数人、一般人感觉不到、读不出也不在意这种歧义。因此,即便通过语法的细化和逻辑的分析慢慢能够区别两种路径,最终还是要研究怎么回到普通人的理解,或模糊语义去,除非对于某一个特定的应用,这种区别有重大意义。后者也是有的。譬如昨天说的,限定性与非限定性定语的区别,其中有不小的一块灰色地带,大部分人也搞不清限定还是非限定,也不在意这种区别,就是这么糊里糊涂地表达,糊里糊涂地理解。可是这个区分对于 sentiment 意义重大,因此 sentiment 做到一定火候,就不能不着手对付它,尽管有灰色地带,也还是要尽量把不是灰色的部分模型好,而不是糊涂混日子。

自然语言的表达与理解-董老师说过这个意思,很多时候是包容歧义的,听者说者都不在意那个歧义,甚至大多时候根本就无感,虽然细究起来歧义的确存在。人类有这个模糊的本事,直到某个关节点,那个歧义模糊不下去了,人的对话才会就模糊点予以澄清。通常,大家都是在一知半解中彼此理解的。

例外是法律文书,专利文书,技术手册(波音的受限语言的说明书),这些东西通常经过反复打磨,有特别的手段在表达的时候就把歧义降低到最低限度,堵死误解出差错的可能。但是日常会话,包括谈恋爱,大家都在将就模糊着,也没觉得缺了啥,误会发生的概率也很低。

 

【相关】

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

《朝华午拾》总目录

《立委科普:NLP系统语义模块的任务》

本篇旨在探讨NLP(Natural Language Processing)语义模块的任务,尤其在知识图谱应用中。探讨之前,我们先站在万米高看俯瞰一下语义模块在语言学和NLP的主要模块的架构中位于何处。
语言学的教科书通常把语言文本研究从浅入深划分为这么几个分支:词法(morphology)、句法(syntax)、语义(semantics)和语用(pragmatics)。还有另一个维度的分支,叫篇章研究(discourse study),是跨句进行,其他的研究一般限于句内。词法句法的研究成果在 NLP 中表现为 parser,可以自动把线性字符串的语句分析为句法树结构,千变万化的语句因此化为有限的句型或 patterns,为语言理解和应用提供了坚实的基础。语义处于句法之后、语用之前,我们叫它为语义中间件 (middleware),因为它是领域独立的语言研究的终点,支持的是依赖领域和应用的语用。这个语义中间件的任务也可以留到语用阶段在语义落地(semantic grounding)的时候根据语用对语义的要求来一起做,但是理论上,总有一部分语义工作有足够的领域独立性,值得提前做好,来支持种种不同的语用场景和应用,减轻语用模块的负担。
如此定义的语义模块(语义中间件),主要是寻找 hidden links,譬如隐含的逻辑主语、宾语 等。这些在句法阶段没有显性表明,但是有足够证据去确定如何填补。填补的时候,一个是利用句法(显性的links),一个是利用 ontology,通常是二者的结合。词驱动(word-driven)来做,是一个很 tractable 的任务,是比parsing更琐碎但难度较低的工作,因为要结构有结构,要ontology有ontology(包括动态形成的ontology节点,譬如NE专名的分类),条件比纯句法分析模块只有线性的pattern可用,是成熟多了。其有用性还是不太清晰: argument 之一就是,如果 hidden 的语义重要,人为什么不用显性句法手段?即便在一个句子的选定的句法结构中,某个重要的语义难以显性表达,如果足够重要,人就会换一种句法结构在另一个句子显性表达出来。如果上述 argument 有一定的道理,那么不做 hidden 语义,对于大数据挖掘,应该不会有太大的损害。至少在大数据挖掘这样的场景,信息的冗余性足以弥补 个体 hidden 语义的不全。在句法结束的时候,有些句子提到的 arg(s) 并没有到位,可以说是不饱和(unsaturated)。语义中间件的任务就是把句法没有做全的不饱和的坑填得饱和,hidden links 建立了,于是就饱和了。如果句法模块和语义模块以后,仍然不饱和,就应该在 discourse 中去找。如果 discourse 中还是没找到,那么理论上是应该通过常识去饱和它。
回到万米高空俯瞰,昨天还在想所谓“语义计算”到底包含哪些呢。从 community 来看,相关的方面有:(1)WSD(Word Sense Disambiguation); (2) FrameNet (role labeling); (3) IE(Information Extraction)。“经典”IE (MUC IE 传统)里面一般分 NE、relationship、event,外加 Coreference,等任务。从结构图的角度看,NE 和 WSD 是做 node 的语义计算;FrameNet 和 IE Template (for relationship or event) 是做 arc (link)的语义计算。这样来看 community 定义的几个任务和方向,可以发现,(1) 和 (2) 都是学究式的任务,不实用。(3) 是最接地气的东西,是应用(apps)直接需要的。但是 IE 是针对领域的,直接为产品服务的,不好抽象,那么就可以想想什么东西是句法之后,语用之前,最能帮助 IE。其中之一就是 Coreference,这个任务已经被 IE 收编了,但它实际上是独立于领域的篇章(discourse)尺度的语义计算,是为了支持 IE 的跨句整合的。
沿着这个思路,我们还可以细化,根据实际需求,我们定义过三个任务,觉得应该在语义中间件里面做,它们应该可以惠及所有的应用:第一个是 同位语关系,这个可以看成是 Corference之一种;第二个是 部分和整体的关系(譬如,苹果和iPhone);第三个 原因和结果的关系。上述三个关系不限于句法短距离,也包括远距离的,甚至跨句的这类联系。我们一直在这三个关系,加上代词的coreference (包括专名的 aliasing) 上下功夫,比在 hidden 逻辑主谓宾方面更多,因为前者直接服务于 local IE 以后的 IE,以便整合成图谱,是整合的粘合剂,后者大多可以通过信息冗余去做弥补。
以上说的是实践中摸索出来的体会,就是自然而然这么走下来的。local IE 在抓取信息填 IE Template 里面的坑的时候,所看到的都是局部的信息,所填坑的材料经常很“虚”。虚的极端例子就是代词(“它”,“这个”),或者 一些指代性的名词(“这台电脑”),这些东西只能作为桥梁,不能真正导致图谱。这时候语义模块在上述四个方面所做的工作,就可以帮助把这些虚的材料,变得实在,这是通向图谱的一个很重要的支持。
大而言之,语义中间件做到什么程度合适,有很大的争论空间。在确定应用之前,不少细线条语义进一步伸展没有太大意义,或者劳而少功。就是说在句法把结构的框架搭起来以后,在语用层面的具体应用确定之前,到底要做多少语义计算,不是容易说清楚的,直觉上和经验上,不赞成做得太多。从某种意义上看,费尔默创立 FrameNet 就是想把语义中间件进行到底。理论上,他的深入是有道理的,因为在 arg structure (句法subcat的拿手好戏)之后,如果要深入,domain independent 的 Frame hierarchy 是通向语用的深度桥梁。起码理论上如此。但是我们做了18年的 IE 以后,结论是,费尔默那个语义计算的路子基本是歧途。没感觉到啥好处,却带来了很大的 overhead,可操作性很差,也并不省功。IE 领域用 Template 定义语用领域的需求,没有人主张把这些 Templates 定义在 FrameNet 的 hierarchy 上面,因为感觉不到需要,而且也不现实。100 年后,也许 FrameNet 可以被重新发现,因为那时候的语用落地已经太多了,需要组织组织了。FrameNet 正好提供了一个组织和整合的框架,如今的语用落地都是零星的。
立委牌 NLP University 中,能看懂上面这些参杂了些假洋鬼子话(术语)的“高阶科普”的后学,是可以授予学位的。这个学位是硬通货。看不懂也没关系,可以视为狂人乱语,或者是误入迷宫,不隔行也如山,耽误了你玩深度学习(dl)的宝贵时间。

【立委科普:NLU 的螺旋式上升以及 open知识图谱的趋向】

宋:
汉语有些动词,其核心概念其实是事件。对于这种动词V,SV中的S可能是施事,也可能是受事、与事,反正是事件V的参与者。比如,张三上课呢。张三可能在讲课,也可能在听课。张三动手术呢。张三可能是动刀的医生,也可能是病人,还可能是麻醉师、护士。遇到这种动词,填坑比较麻烦。

我:
宋老师 可以换一个角度看。
把 “上课” 看成是 “听课” 和 “讲课” 的上位概念,把 “动手术” 看成是 “施行手术” 和 “挨一刀” 的上位概念。然后 在这两个上位概念的 subcat 中确定其主语填写的是 involved role 或起个其他合适的名字。这个 involved 的角色 在逻辑上 是 【施事】、【受事】和【与事】 的上位概念。这才是合理的分析和系统设计 因为语言事实的模糊性得以合适地被model和保留 不多不少。

宋:
@wei 确实合理。

我:
我们应该改变勉强机器和自己在模糊地带做黑白划分的思路。

宋:
进一步问,这些动词是哪一些呢?有什么特征呢?

我:
以上是引子。这个“设计哲学”我们从前在前知识图谱时代的图谱项目中用过。
那是 15 年前在水牛城给政府做 IE(Information Extraction) 和知识图谱(当时叫 Profile,还没有图谱这个术语)的项目的时候,我们意识到 IE 及其知识图谱 按照 community 的标准定义 都是 pre-defined:所有的关系和事件都是事先定义好的一张空表格,等着 IE 去填写、等着 IF (Information Fusion) 去熔合成图谱,然后利用图谱去做应用。
这个传统有历史的积极作用,IE 因此使得 NLP(Natural Language Processing) 和 NLU (Natural Language Understanding) 有了聚焦,有领域针对性,走出了实验室。
但是随着图谱的发展,我们觉得这样做图谱不够,漏掉很多相关的但事先无法精确定义的重要事件。
我们因此定义了一个概念 叫 GE (General Event),以动词的 arg structure 为核心,里面的 args 在 图谱中的语用角色 就命名为 Involved 这是因为其 event 的语义事先是没有清晰定义的。对于一个 arg 来说,它牵涉到的 GEs 叫 Involved-events,对于一个 event 它的 args 叫做 Involved-roles,这个思想实际是延迟具体角色的确定,先把相关的东西绑在图谱再说,可以不变应万变。(《钩沉:SVO as General Events》)。

回看历史,这是一个典型的螺旋式上升的过程:前IE时代的NLU基本都是 toys,原因之一是自然语言太复杂,NLU试图把语言的千变万化parse成无所不包的语义表达,这是眉毛胡子一把抓,boiling the ocean,完全不切实际。结果就是, NLU 的学者成了象牙塔里面研究各种零星而复杂语言现象的腐儒,做不来实用的东西。

IE 开创了新时代。

美国 DARPA 开启和推动的 IE 从一开始就是语用制导,从实际需要定义目标,从 MUC-1 (1st Message Understanding Conference)到MUC-3 开始定义领域事件(名叫 Scenario Template,ST,”火箭发射”、“高管变动” 等 ),到后来定义的实体以及实体之间的具体的关系,这就把语言处理和理解的任务聚焦了:语言不再是大海,而是海洋中的一个个岛屿。这个扭转是划时代的。

因为语义落地的目标在IE中聚焦了,这就给了机器学习(ML)施展拳脚的机会:ML 把 IE 的任务作为端到端的黑箱子,利用浅层的NLP(譬如本质是 ngram 的关键词models),而不是深层的 NLU,做 IE 抽取和知识图谱。这逐渐成为IE的主流。在IE的community 的 MUC 各个会议中,可以看到直到 MUC-6,两条路线的系统还都有参与和报告,但 MUC-7 以及后续的 IE 的学界(譬如,ACL 的一些 workshops,以及 MUC 后影响和规模小得多的 ACE Automatic Content Extraction program)报告中,规则学派完全彻底地退场了。这与 NLP 整个领域(不仅仅是 IE 这块)的历史趋势完全一致。

统计一边倒到了这个地步,IE 这块肥肉被 ML 在学界独吞了,虽然实践中没有任何理由证明 ML 在 IE 能够真正胜过 deep parsing 支持的规则系统(其实恰恰相反,后者精度更高)。白老师说的,门户之见是不需要理由的,这就是学界的现实。以后也许会改变,但现状就是如此。

但是工业界做类似 IE 或 图谱 工作的,却远非学界那般极端地一刀切,火种尚存,有NL经验的语言学家仍然得以生存,星火燎原的希望也不是没有。如今,NLU 技术已经发展到了大海不再可怕,deep parsing 面对语言大海,无论精准度(precision)、召回率(recall)、鲁棒性(robustness)还是速度(speed),都已经达到了实用的高度,以至于当年的 IE 必须预先定义的框框,在新的知识图谱的设计中成为了一个束缚。突破 predefinition 有利于 open 图谱做大和多用途。历史可以、而且正在开始向这个方向回转。独立于领域的“一般性事件”(GE)与传统的事先定义的领域事件(PE,Predefined Event)开始汇合和互补。

我们作为 GE 和 知识图谱的先行者,早就看到了这个趋向,相信可以看到这种汇合开花结果。在这个过程中,deep parsing 的作用更加凸显。General event 因为目标没有事先预定,对于浅层分析为基础的黑箱子技术路线构成了挑战。GE 的核心就是 arg structure,简称 SVO,是 deep parsing 的自然结果。当年我们给的定义在 GE 里面附加了语用的限制条件(譬如 ignore 指代性 nominalized 的事件),为的是防止把不重要的事件全部喽进来,系统不必要地过载和鱼龙混杂。但那些不过是对 deep parsing 的过滤而已,不改变 GE 立足于 deep parsing 的本质。

NLU 从象牙塔的 deep 起,历经 IE 的 shallow,现在到了可以回归 deep 的图谱时代。这就是 NLP 螺旋式上升的鲜活实例。

 

【相关】

知识图谱的先行:从 Julian Hill 说起

《新智元笔记:知识图谱和问答系统:how-question QA(2)》

《新智元笔记:知识图谱和问答系统:开题(1)》

《泥沙龙笔记:知识习得对本体知识,信息抽取对知识图谱》

【泥沙龙笔记:再谈知识图谱和知识习得】

【语义计算沙龙:知识图谱无需动用太多知识 负重而行】

【立委科普:信息抽取】

《朝华午拾:信息抽取笔记》

泥沙龙笔记:搜索和知识图谱的话题

《有了deep parsing,信息抽取就是个玩儿》

【立委科普:实体关系到知识图谱,从“同学”谈起】

泥沙龙笔记: parsing vs. classification and IE

前知识图谱钩沉: 信息抽取引擎的架构

前知识图谱钩沉: 信息体理论

前知识图谱钩沉,信息抽取任务由浅至深的定义

前知识图谱钩沉,关于事件的抽取

钩沉:SVO as General Events

Pre-Knowledge-Graph Profile Extraction Research via SBIR (1)

Pre-Knowledge-Graph Profile Extraction Research via SBIR (2)

【关于知识图谱】

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

《朝华午拾》总目录

 

 

【关于知识图谱】

泥沙龙笔记:搜索和知识图谱的话题

《知识图谱的先行:从Julian Hill 说起》

《泥沙龙笔记:知识习得对本体知识,信息抽取对知识图谱》

【泥沙龙笔记:再谈知识图谱和知识习得】

《新智元笔记:知识图谱和问答系统:开题(1)》

《新智元笔记:知识图谱和问答系统:how-question QA(2)》

【立委科普:信息抽取】

《朝华午拾:信息抽取笔记》

《有了deep parsing,信息抽取就是个玩儿》

【立委科普:实体关系到知识图谱,从“同学”谈起】

前知识图谱钩沉: 信息抽取引擎的架构

前知识图谱钩沉: 信息体理论

前知识图谱钩沉,信息抽取任务由浅至深的定义 2015-10-30

前知识图谱钩沉,关于事件的抽取

钩沉:SVO as General Events

Pre-Knowledge-Graph Profile Extraction Research via SBIR (1)

Pre-Knowledge-Graph Profile Extraction Research via SBIR (2)

“大数据与认识论”研讨会的书面发言(草稿)

言多必露,文本挖掘可以揭示背景信息

大数据NLP论

【立委科普:所谓大数据(BIG DATA)】

文本挖掘需要让用户既能见林又能见木

【立委科普:信息抽取】

《朝华午拾:信息抽取笔记》

 

关于 NLP 以及杂谈

关于NLP体系和设计哲学

关于NLP方法论以及两条路线之争

关于 parsing

【关于中文NLP】

【关于信息抽取】

【关于舆情挖掘】

【关于大数据挖掘】

【关于NLP应用】

【关于人工智能】

【关于我与NLP】

【关于NLP掌故】