《李白112:白老师秘密武器一瞥(1/2)》

立委按:两载设计,三载实现,白老师的自然语言秘密武器日前曝光。十载孕育,如水流年。挑开面纱,犹抱琵琶,先者为快,一睹芳颜。

白:坑之交响曲:

脑补进行时:

李:白老师的符号给个说明啊,L是左 R是右。LMo 是左成分 不占坑 属于 mod/adjunct,LMa 是左成分,是填坑的萝卜,属于 arg,是不是?

一个及物动词挖了两个坑 2N,左边填坑的叫 LMa 右边填坑的叫 RMa,什么时候确立他们的逻辑主宾呢?

Me 是个什么?条件结果的谓词之间“(如果)选择,(那么)看好”是 Me,动补合成词内部的“哭-肿”也是 Me,所以这是个表示并列或接续的二元关系,不分词法句法 也不分短语还是从句。

二元关系图里面 层次扁平化 结构层次没看见有反映。X-bar 这类层次信息一多半属于语言 一小半属于逻辑。属于语言的可以扔掉 属于逻辑的应该有个表示。起码 “哭-肿” 的二元关系 与两个谓词结构的因果关系 在层次上天差地别。对于 dependency graph 表示,如果不允许逻辑交叉的“飞线”,层次信息可以从子树中 derive 出来,短语就是子树的 parent node 所下辖的节点范围。以此反映思维中的复合概念与单纯概念的区分。但是,现在我们允许 dependency 可以交叉,甚至允许循环(dag 丢掉了 acyclic 特性,成了 dg),以此来挖掘语言中隐藏很深的 hidden dependency (譬如 “眼睛” 与 “肿” 的主谓关系)。这虽然使得深度解析更加深入,同时也带来了层次交叉以后的副作用。复合概念的边界和范围模糊了。逻辑概念的层次没得到应有的表示。图中的主次不再分明。

结构(表示)应该是由关系和层次两个要素构成,否则就难以担当语言的模型和思维的模型。其实 关于 graph representation,以及利用 graph matching 落地到应用,里面很多机制性的东西,还是没有探索清楚。属于深水区,摸着石头过河会不会不小心淹死,也不好说。

白:树是现成的,只是没有做展现而已。

回顾一下五个操作:Ma代表Match,也就是填坑,除了左右填坑还有中填坑,就是分子向分母上的残坑填坑。Mo代表Modify,也就是修饰。Me代表合并,不仅有S(谓词)的合并,也有N(体词)的合并。谓词的合并在传统句法看来那么多种情况,在我们看来其本质都是分子合二而一,分母尽可能共享,在结合的优先级上也刚巧非常合理地靠在一起。Up和Down是升格降格。在扁平表示中,采用了新增虚拟节点和方式,原节点汇聚入边,新节点汇聚出边,新旧节点间则是单一的升降格边。

这些范畴非常“冷血”,非常地就形式论形式,但不代表不能转换成主谓宾。但是,第一,我不认为主谓宾的叫法在句法上比我更科学;第二,句法标签只是个过渡,对接语义标签时,这套标签不仅不会输给传统标签,反而映射更直接,比如话题、大小主语、总分关系、谓语动词周边非逻辑主宾语的地位尴尬的NP。第三,这套标签不是不分词法句法,而是词法句法的边界在一些地方有异于传统认知,特别是紧定中式名词(如“红太阳、好朋友”等)和动结式动词(如“打伤、哭肿、染红”),由于在我们的体系下微结构和句法(比如动趋式、动介式)并无不同,所以放到句法里并没有违和感,也并不因此多费什么手续,完全是搂草打兔子,顺手的事儿。

这个体系会不会乱?我们用了将近两年的时间建立它的what,接近三年的时间建立它的how,经过了无数的推演、测试和复盘。在这样高强度的打磨下,传统语法书里的绝大部分难句都不是问题,也没有因此把普通句搞得不普通,基本结论是结果(what)可用、过程(how)可控。

解析结果保持歧义的能力也有独特风格,比如“鸡不吃了”是传统歧义句,但在我们的表示框架下,句法无歧义,一个左填坑,一个右修饰,如此而已。歧义是语义层面的,鸡不小心即是Animate又是Food而已。这两个角色在句法上都是左填坑的N,并无区别的必要。

如果落地要的是语义标签,我们可以直接去对接。如果一定要传统标签,我们可以做转换,但这就像高清晰度的视频向低清晰度的视频转换一样,我们并不认为它是一种成就,而是一种无奈。比如“这件事我有意见”里面,“这件事”和“意见”有直接的填坑关系,跟“有”没有一分钱的关系。你让我标注出“这件事”是“有”的什么角色,我当然是很不情愿的。


我们说动结式动词的微结构和松耦合的述补结构在本质上是同一类结构,都是分子合并、分母尽量共享坑,但坑的共享是有相谐性前提的。刚才说到的“哭肿”就没有相谐的坑可以共享,所以只好各填各坑,但是分与合,都是在一个机制下的不同子模块而已,并不是说一个很好把握另一个很难把握,都在可控范围之内。

李:落地要的语义标签是逻辑语义,还是语用的标签?语用标签譬如信息抽取里面的事件角色。

白:公共服务落地是逻辑语义标签,应用落地是语用标签。中间隔一层适配。

李:这个落地模块 需要多少额外的知识呢,包括语义相谐。

白:适配具有行业特点,不懂行业没门儿。

李:逻辑语义原则上是行业独立的。

白:也不可能一家公司包打,一定会发展出众多的落地服务商和落地适配包。主打逻辑语义的公共服务,在足够精准的前提下是有独立商业空间的,如果再做几个示范的语用落地,表明生态效应和层次衔接机制work,后续还会有大发展。就好比,逻辑语义提供面粉,应用落地提供面包蛋糕包子馒头。面粉的供应商有自身的商业空间。面粉也需要好的面包蛋糕包子馒头来背书自己的质量。

李:说这些 道理上站得住,听起来好遥远。parser 要独立成为生意,感觉很难,NLP component technology 定位的,迄今几乎没有成功案例。不是没人尝试,而是没人成功,除非今后几年有突变发生。(满世界只知道端到端呢,最近加了个普遍看好的预训练,离开符号语言学更遥远了。)

如果句法就3种关系,嫡系 Ma,庶出 Mo,哥们儿 Me,从数目上看 这不仅比 100种逻辑语义、也比 五六种传统句法关系(“主谓宾定状补”之类)要粗线条。说这个 what 是高清,感觉还不够。

白:这个标签体系显然不是逻辑语义,但它可以直通类似知网的逻辑语义体系。说直通的意思是,拓扑基本上都对,只是需要细化。谁跟谁有关系基本都对,什么关系需要细化。不像有些拓扑都不对的,细化起来遇到的麻烦大得太多。

李:从这个 what 匹配到逻辑语义,是一对n,必然需要更多的知识和做功。

对于短句,标签集很小的时候,凭着词典的预示信息,句法基本不是问题。到了长句 可能挑战就来了。短句不是问题 就好像过去社交圈小 但每个人都必须结婚,谈恋爱就特别容易有结果,因为没得选。很多时候 门当户对以后 候选只剩下一个 那就ta了。

白:结构就是用来拉近距离的。依托结构拉近的距离,比望文生义拉近的距离,更为精准。

李:词典在类别基础上所给的那些subcat预示信息,譬如 S/2N,这类 subcat 也是粗线条。即便原子化 平铺开来 也没有多少,估计 20 个左右。

白:这不算subcat,只是POS

李:上面的标签 S/2N 传统词典是 vt,属于 V 的 subcat,不过叫什么名字无所谓,总之是预示一个潜在 pattern 的词典标签。这类标签的集合 感觉20个可以收住。在 20 个标签以内做句法,结果的关系是 3,这应该还算是粗线条的。

让人眼亮的是这种颗粒度 的确是句法最核心的部分,在回答 “谁与谁发生 directed 关系” 的问题上,是一个不错的抽象。

短句容易做粗线条句法是显然的 因为没得选,“这件事 我 有 意见”,一共两个潜在萝卜 n1 n2,正好有两个坑 空着,“我” 被 “有” 抓走以后,“意见” 的 【对象】 只剩下 “这件事”,不是它 也是它了。

白:还有另一面,明明空着,也不进来。下例中,“今年”,“食堂”,明明是最贴近坑的萝卜,但不是你的坑,打死不填。宁可降格做状语。这就不是那么简单了。还有前面“这碗猪”也不能谈婚论嫁,要等“汤”拉近,这背后有玄机。绝不是一个村里没婚没嫁就可以拉郎配的。

李:这里面玄机如果不论 how 就没法评论了 只能说不明觉厉,特别是“食堂” 不填坑,句法上有点天理不容。

白:所以这样的结果,转换成主谓宾,得多憋屈。那是后退。前进一步,就是精准的逻辑语义。拓扑都对了,就差一个相当于知网的基础设施。

李:可是反过来想,“吃” 与 “食堂” 发生了关系 是肯定的,这个关系中 “吃” 是老爸 也是无疑问的。为什么要把 arg 与 mod 的区分负担,强加给句法,而不是留到语义或语用呢?

“鸡不吃了”里面的主宾歧义句法都可以包容,为什么不可以包容 arg 和 mod。如果句法最好轻装 那就听乔姆斯基的,彻底排除语义,现在看来 这个 “食堂” 的降格 是带入某种语义了。反正 map 到逻辑语义的时候 还是要调用语义约束,想不出为什么一定要有选择地把部分语义前置。

白:语义arg无边无际,句法管不过来。我的原则是:标配的语义arg走填坑,非标配的语义arg走修饰。

李:“我吃月亮” 呢? 现在也降格吗?

白:是。

李:感觉是得不偿失。因为不降格做引申意义的宾语情形,应该比降格做状语的现象更加普遍。

白:“这场火”,也降格。月亮可以是处所啊。怎么非常识了?

李:比起传统的svo句法解析,个人感觉这样做是得不偿失。要是我,就宁肯放宽语义约束,得到一个非常识的解析,也比过早实施语义约束合算 命中率会更高。 这当然只是感觉,还需要数据调查和统计来验证。“把月亮吃了”,就是“非常识”,而非常识的说法 语言中也没有那么罕见(“一片乌云飘来,吃了月亮”)。原因是 非常识为语词的 引申,创造了条件和手段。说话者是用不相谐 来倒逼听话的人去联想 引申。

白:修饰,只是非标配的语义坑而已,不明属性,并不是语义层不能再入,这个修饰的标签并不给语义分析设置篱笆墙。只是说他非标配,非标配的后续,既可以脑补缺失的非标配格标记,也可以作为修辞手段再入标配格标记。两个可能性都存在。并不存在“失”,只有“得”。

李:设不设篱笆墙,说到底还是 句法输出以后,后续工作量 是增加了还是减少了。把“食堂”和“月亮” 都降格了,后续工作量 感觉是增加了 而不是减少了。因为 月亮被吃这类的表述 比 “吃食堂” 这类表述 数量为多,何况 吃食堂其实已经词典化了,本来就不该参合进来的。关键在 它不应该在歧义区分的雷达上,属于常识例外。词典绑架 没商量。

白:工作量不是唯一标准,有利于精准才是最终标准。再入,实际上你可以认为引申受事和常规受事是两个格标记。

即便词典化,微结构仍然是修饰。吃七食堂,吃教工食堂,并不是词典化的,但我们不怕。

李:那种叫成语活用,在词典绑架的延长线上。实现一个成语活用的机制 也就可以不来参合了。

白:吃勺园,吃全聚德。吃麦当劳 … 也不是成语活用,但背后是一个机制。它们如果走了不同路径,反而奇怪。

李:这是真歧义,“吃麦当劳” 作为地点和食品 均可。这其实也成语化了 真歧义也可以在词典绑架为歧义表述。

白:就算吃食堂是词典绑架,但其词典定义依然是S/2N,并没因为“食堂”的加入而变成S/N,这恰恰证明“食堂”填的确非标配坑。

李:话说回来,只要句法不必调用语义相谐的大数据,而只是使用语义标配的二值判断,那不过是查一下本体,也没什么可批评的。不过就是两种各有利弊的路线 择其一而行之。

白:不一定二值啊,可以连续值,折扣么。

李:如果折扣的话,

我吃月亮
我吃石头
我吃土疙瘩
我吃面疙瘩
我吃疙瘩

这些解析结果应该有区别,而不是都降格,或都是宾语。

白:对啊,看你Ontology怎么设计的了。这与分析器无关,取决于Ontology的返回值。

李:返回标配是二值,还是多值,多到什么程度。

白:连续值,看小数点精度。但是0.2和0.3的差别,估计不足以颠覆。能够利用梯度最理想。

李:哈 你这一球踢出去 倒是轻省了,对了是我的,错了是你的。

就是说,ontology 供应商的相谐颗粒度,不一定是二值 但也不要超出太多,多了反正也没有区别,也许三值 很搭/较搭/不搭。也许四值。ontology 供应商最好是婚恋交友网站的架构师出身,懂得如何配对。

我还是没理解 从设计上为什么句法要在 “嫡系/庶出” 上较真,非要劳动 ontology,而在 “主语/宾语” 上反而不较真。反正提供的是半成品。从逻辑语义角度 语义也还是不全的。

白:我觉得这太显然了,这事儿不正是Ontology该做的吗?要站在比它们俩都高的视角看他们俩。句法和本体,我们的方法论是,句法要给出对的拓扑。为此,Ontology、情感、事理都是必要的补充。

李:细节不纠缠 逻辑语义可以算是一个唯一可以公认的语义理解的黄金标准了。arg 与 mod 的区分,本来就不是黑白分明的。这个对错 不好说。

白:但是构建逻辑语义层的输出,虽然也同样使用Ontology 、情感、事理,但是用得更重。这两个方向的用,不可混为一谈。

李:所以说是 双重使用啊,重复劳动。

说起 arg 与 mod 的嫡系和庶出 有点意思 可以展开简单说说。args 是计划内的婚生子女,主语、宾语、宾语补足语,名正言顺,所以受到父母特别关照。mods 属于计划外的秘密勾当。因此,总是 parent 去找 args,利用 subcat 的计划内指标。到了庶出的 mods 就管不过来了,只好是 mods 去找 parent。千里寻父 叫父亲太沉重。

可是这一切的句法区分都是世俗的角度,语义层面 嫡系和庶出并没有那么大的鸿沟,都是围坐在天父身边 各司其职 各有角色。所以说 句法费力气区分嫡系庶出 为的是服务语义和理解,可是 语义那边偏偏对这种区别其实没那么敏感。为啥?因为语义在分配角色的时候,更加看重本人的资质,而不是看重 嫡系还是庶出的出身。“有成分,不唯成分论”,重在个人品质。个人的品质,就是你到底离我的本体要求有多远。

白:就是因为庶出的不加标记的情况太稀疏,句法留这么多资源给稀疏的庶出,不值得。

李:反正语义那边还要政审把关,用的也还是ontology 资质审查,为什么句法还要预审?

白:此地预审,方便彼地直通。

李:我是说 费力区分 Ma 与 Mo,没多大必要性。如果这种区分 不需要劳动各种知识 那当然。如果需要费力 就不值得了。

白:从基础设施建设的角度,只为一个中间步骤建,当然越轻越好。如果建了既可以为一个中间步骤服务同时更可以为有独立商业价值的最终步骤服务,那就可以建的重一点。即使重,也包办不了落地适配。落地适配是一个既统一规划又独立实施的环节。也就是说,从一个必建的基础资源里顺手提取一些信息就可以搞定正确的拓扑,这算不得什么费力。劳动的方式非常清晰和标准化(相谐度查询),也算不得什么劳动。我们目前的算法也并不是对所有候选邻对都进行相谐度查询。只有当前动态优先级最高的邻对才做相谐性检查。

这个,显示还有点小bug,但是揭示了一个现象,就是嫡出的萝卜出现位置太远,需要许多中间步骤拉近。但一旦拉近,那个位置还是人家的,庶出的没脾气。远近并不构成威胁。把“你”挪到“食堂”后面,也是同样结果。“要是这个时间吃食堂你就只剩下包子了”,用传统句法范畴分析这个“你”,就很莫名其妙,它跟“剩下”是主谓关系吗?但是论坑,一点关系没有。它跟“吃”是主谓关系或者述宾关系吗?论坑是的,但是形式上却完全不在那些位置。甚至跑到了另一个从句的辖域里面,要多尴尬有多尴尬。谐我坑者,虽远必填。

李:好例。改造一下:

“要是这个时间吃食堂你就只剩下二厨了 大厨早就自己躲一边吃包子了”

“二厨” 比 “食堂” 如何? “包子”更远 但相谐,为什么不能虽远必填?

“要是这个时间吃食堂 大厨早就自己躲一边吃包子了。”

白:后面又出现了“吃”,截胡了,“包子” 第一次就近填坑。

李:填 “剩下”,与 填 “吃”,不都是劫持了吗?

白:“剩下”的坑,抽象度比较高,万金油。我们的说法是“置换”,就是把首次填的坑从占名额的调整为不占名额的,后续填的坑再视情况决定占不占名额。

李:就是说 对于远近两坑,还要做比较计算,来决定截住没有?

“要是这个时间吃食堂你就只剩下二厨了 大厨早就做完一屉包子回家休息了”

“做完” 与 “剩下” 差不多,都是万金油 vt,截住没有?

白:这个还真可以有。但前提是,子句之间得有依据是连接的。大厨做完了包子,不一定卖完。

李:人的理解,首选不是包子,而是二厨做的档次较低的食品。大厨做的包子 轮不到。

白:如果两个子句只是最低档次的连接(next),还真未必建立坑的共享。但是用连接词连接的,肯定可以共享。

李:有一万个理由否认,因为说话语气是可惜和后悔,想吃大厨的口福 你享受不到。谁叫你迟到呢。共享与共产共妻类似,是高危操作。

白:你那里只有空格,没有上句和下句的明确锚点,不在我们的共享白名单里面,不能建立Me,所以坑里的萝卜是带不过来的。跨小句需要白名单制。前提是:1、甲小句不饱和、2、乙小句有供给、3、两小句连接方式在白名单中。

李:嗯,虽远必填 限定在句法关系圈内,也是一说。

“要是这个时间吃食堂 厨师都出去买海鲜了。”

这个应该是 Me,因为符合 “要是…就…”句型。

白:对。

单从本体看海鲜就是加分的,但是事理是减分的。吃在买前,不符合事理。不符合事理的会减分,就看二者抵消成啥样了。

李:这个事理如何用 感觉漫无边际,“先买后吃” 这样的常识事理,何止以万计。

白:但是人就是这么判断的。这是长尾,攻击到本体的概率有限,不到落地肯定不做。

李:所以 句法一般不带入事理常识,语义语用才考虑用。

白:句法只是中间产物,又不是产品。加了边还可以砍啊。砍了边再加就不那么简单了。有一万种方法砍。一个公司既做句法也做落地,没必要维护句法的面子。整体可以就OK。句法提供的这些边,送神容易请神难。

李:就是大体了解句法模型,用到几个维度的知识,用到的维度 颗粒度如何。之前论过 维度多了就是一锅粥。如果符号逻辑最终还是一锅粥,那就不如索性舍弃符号。因为一锅粥最终丧失了符号的优势。可解释性不再清晰,可定点纠偏也丧失了。

白:还是要区分表示和控制。表示是符号的,控制是符号与神经结合的。这没什么不可以。

(未完待续…… 《李白112:白老师秘密武器一瞥(2/2)》

【相关】

白硕:人工智能的诗与远方,一文读懂NLP起源、流派和技术

文章来源:https://read01.com/AJGzNQN.html

《一日一析系列》

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

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

《朝华午拾》总目录

《语义沙龙:“让机器学习思考的人”》

白:“让机器学习思考的人”

wang:1.让 机器 学习 (思考的人) 2.(让 机器 学习 思考)的 人 3. (让 机器学习 思考)的人

李:你的2是hidden ambiguity,里面其实还有两条hidden路径,“学习”的对象或目标是“思考”,还有一条,“学习-思考” 并列,逻辑上是,“让机器-学习、让机器-思考”。但面对专业术语“机器学习”的紧密性和高频度,那些 hidden ambiguity paths 都被掩埋了 …… 也应该掩埋,除非遇到必须唤醒的时候。

parse parse 看:

这个 therefore 可能是个 bug,语义模块做因果关系过头了,走火入魔了?深度解析其他该有的关系都在 though。

wait a minute,好像也对,说的是,因为 X 促成了 event,X 是因,event 是果。这就是语义模块本来的因果关系逻辑,落在这句就是,thanks to “人”, (therefore)ML thinks now。这符合 “有多少人工 有多少智能,人是一切机器学习的原始发动机” 的因果本质。乍一看有点绕,是因为赶巧这一句不是一个 statement,而是一个定语从句修饰的NP。其结果,这个因果关系虽然不错,但实际上是隐含的因果(hidden causal links)。如果是一个NE,更加容易理解一些“”让机器学习思考的图灵大师“。因为图灵, 所以机器思考。我思故我在,图灵在故机器思。

白:“坛坛罐罐走不齐”正好可以借这个例子现身说法。当“机器学习”和“机器/学习”同时进入parser的视野时, 下一步优先级最高的动作却不长在“机器学习”和任何其他成分之间,而是长在“学习”和“思考”之间。换句话说,非最佳分词方案在这个局部激活了最佳句法方案,梦游了。

“学习S/NX”和“思考S/N”之间,有三种结合途径:一是填坑,二是合并,三是不作为。各自优先级不同。在外部,“让-机器”、“机器-学习”、“思考-的”、“的-人”也同时参与竞争。最后结果是“学习-思考”合并最优先。就是“并列结构”那一个解读。

“学习”和“思考”能不能组成并列结构,这个事情是有不同做法的,可以白名单制,也可以黑名单制。个人主张白名单制。但是无论黑白名单,我都不主张做成同一层内部的细化规则,而主张把细化规则折合成优先级的调整量(增量或减量),统一纳入一个优先机制处理。也就是说,当条件不满足或不那么满足时,你不应该再赖在原来的优先层级不走,你落草的凤凰就是可能不如鸡,不是高高在鸡上面的“亚凤凰”,而是货真价实的“不如鸡”。

但是如果外部没有“鸡”竞争,落草的凤凰也还有机会折桂。就像colorless ideas,虽然被相谐性打了折扣,依然是四顾茫茫无对手。这个时候,机会还是它的。所谓的“句法自治”和“语义的反作用”在这种“坛坛罐罐走不齐”的策略下完美地统一了起来。不是“亚凤凰”跟“真凤凰”比,而是“亚凤凰”跟“🐔”比。鸡厉害,鸡就先走一步,坛坛罐罐于是就走不齐了,体现了包容不确定性的差异化前进。不同的解读不等速推进,可能一本道,也可能此起彼伏,明争暗斗,柳暗花明。

梁:@白硕   赞同!或许不同解读(歧义)在彼此争斗,此消彼长,最后一种解读胜出(消歧)。

李:多种因素综合决定消歧的理解过程,模型的时候 主要有这么几个对策。得出不确定性中间结果 就是带着瓶瓶罐罐往下跑。希望在下跑的某些阶段 条件成熟 可以帮助消歧。这里面又分白老师所谓“走不齐” ,就是说不需要把不确定性结果积聚到最后的消歧模块统一消歧。而是一边下行 一边伺机消歧 使得雪球不是越滚越大。

其实HPSG这类合一文法 就是这么做的,短语结构的任何结合 都是在对自然语言建模的数据结构里面“合一”。一旦任何一点合一失败 那条路就堵死了。句法的约束 语义的约束 还有种种其他的 constraints 全部定义在一个为语言符号建模的名字叫做 sign 的复杂特征结果里面,在同一个平面 同时起约束作用。这与传统句法先建立句法结构关系 然后留到语义模块去过滤减枝的瓶瓶罐罐一路带下去的做法显然不同。但实践证明 合一文法的做法 并未解决伪歧义泛滥成灾的问题 实际上还加剧了这个 PSG 学派所共有的历史难题。原因出在复杂特征结构的设计上。以前论过。

除了完全的非确定性和“走不齐”外,第三种办法就是所谓休眠唤醒。这是确定性路线。原则上不带瓶瓶罐罐跑 坚持确定性的中间结果表示。起码是看上去是确定性结果的数据结构,等待后期唤醒、改正。(这个里面还有很多技巧,譬如可以违背逻辑 利用确定性数据流承载非确定性结果 然后配备一些逻辑清理tricks 来为非逻辑性擦屁股 不好看 但很管用 以后可以细论。)

白:基于合一的消岐,错不在what,而在how,不在带着坛坛罐罐跑,而在“剪枝”。谁说带着坛坛罐罐跑就一定要“剪枝”?难道不可以“生芽”?

李:what?PSG呀,特征结构怎么定义 也还是 PSG,大的框框在那儿,复杂特征结构的做法加重了病情。

白:“生芽”的意思是,过河不拆桥,但也无需一下子搭建所有可能的桥。不达到当前最高优先级的渡口,绝不搭桥,但渡口的优先级是随着建起来的桥而动态变化的。这些达到当前最高优先级的渡口,就是“芽”。

渡口和渡口之间不是绝对互斥、你死我活的。一切按照优先级的指挥棒走,优先级要你保留歧义,你就保留;优先级要你梦游,你就梦游。没有谁绝对醒着,大家都有权睡觉,也都有权梦游。但是必须按优先级排队。

李:动态变化决定优先级和成熟度 对于多层系统是自然而然的事儿。第10层不愿意勉强的事儿 到20层的时候就很坦然了。同样一个句型规则 可以化成宽窄不同的变体 部署在多层。以前做模块是根据功能做,说是这是 NP,这是 PP,这是VP,这是 Clause。这样表面上清晰,实际上应对不同歧义及其出现的不同情势的能力,降低了。没有多少真正的理据必须把同一种功能放在一起做。这样做的问题是,如果遇到相互依赖的现象,就真没辙了。根据功能做模块,模块排队,这样的pipeline无法应对相互依赖。这是多层经常遭遇的经典批判。无解,还是回到单层吧。

但是,如果同一个功能,可以散开来,譬如VP中的动宾关系,做它一二十层,相互依赖的现象就逐渐消解了。大不了就是冗余。没有冗余,怎么能滴水不漏?

wang:顺便一提,@wei 我对你的海量规则对系统的comment,回复一下写得有点多,发微博上了。

李:很好,拷贝留存如下

昨晚在一个群里就李老师说的内容提了一些问题,今天看到李老师详细回复,本想简单写写再发回群里,写完一看,这篇幅好像不适合放微信群里了,不如单发微博作为回复。李老师若觉不妥,告知我则立删。

@wei 中午看到李老师的后续回应, 现在正好有空这里回复一下。

看了李老师的后续内容,很是详细,而且前前后后已经考虑到很多方面,说明早有备货。大体勾勒一下:虽规则总量数万条,但通过分层(分组),就可以每组千条左右,规则之间的博弈也就在一个组内范围,即便组内的内斗激烈也不会引发组外的群组混战,这的确是“局部战役隔离解决”的最经济策略。另外,既然已经见识了规则系统的越大越不好对付的教训,想必肯定是避开了这个陷阱。一个组内至少再采用了共性+个性的两种及以上分支处理,先个性(词典)规则先前拦截,然后再共性来兜底,这样以来,一个组内可能内斗的程度又减轻不少,从走向来看,基本上是走大词典+小语法的组合路线,词典虽大但有索引方式来保速。如此以来,就把庞大的规则库,通过条块分割,把规则有序执行限制在了一个狭小的隔离河内,维护者在这样一个窄河里“捉鱼”确实容易得多。当然还有若干辅助策略,通过控局堵漏来进行加固。当然也看到“我是县长派来的”和“我是县长蹲点来的”有了不同的解析。这肯定不是一个简单“V”解决的,想必一定是词典策略起了作用。这词当然有丰富的语义信息了,我认为采用合适的语义范畴比词会有更好的覆盖性,尽管采用词准确性更高。

下面说下感受,必须承认之前本人还停留在规则系统教训的层面,另外,就是顾虑要扯入的人工工作量大的问题。若是李老师通过这样的俯瞰语言,化繁为简,调整规则能达到信手拈来,那么在机器学习满天飞的当下,这存量稀少的规则派之花,自有它的春天。如今是个多元的世界,允许各路英雄竞技,只要有独到之处,更何况人工智能皇冠上明珠,尚无人触及,怎下定论都是早。也曾闻工业界很多可靠的规则系统在默默运行,而学术界则只为提高小小百分点而狂堆系统,专挑好的蛋糕数据大把喂上,哪管产业是否能现实中落地。当然对于人工规则系统 VS 机器学习系统,能有怎样的结局,我确实没有定论,要么一方好的东西自然会好的走下去,要么两方都走得不错而难分输赢,或者发现只有结伴相携更能走远,那谁还能拦着么!

百花齐放,百家争鸣,各自在自己的路上,走出自己的精彩就好!世界本身就不是一种颜色,也不是一直就一种颜色

李:很赞。工作量大是所有专家编码、程序员编程的短板,自不必说。在一个好的机制平台架构下,规则应该可以非常容易编写和调试。规则应该看上去简单、透明,而不是需要玩精巧。像集成电路一样,能力不是每个单元的精巧,而是大量单元的组织集成。其实,半个世纪的持续探索,这种类似人海战术的规则海量快速编码迭代的路子是有了端倪了。说到底是数据制导,可以半自动进行,这与机器学习的海量数据训练,理据是相同的。昨天说自然语言是猫矢,应该学猫咪目标导向,反复迭代,不在一时一地的得失,不怕冗余,也不怕零星的中间错误。说的就是要创造一个环境,把小作坊的专家编码,变成可以工业化的规则流水线。以规则量取胜,而不是靠专家的精雕细刻。这条半自动的海量规则路线还在探索之中,但是前景已经相当清晰。

最后,符号规则不必争雄,游兵散勇也无法与正规军打遭遇战,但差异化总是优势与短板并存。寸有所长就是这个意思。大家在同一条路上跑,遇到困境与天花板都是类似的。这时候有人在另一条路上,保不准在最痛的某个部分,突然会有突破。原因无他,因为这力气使得角度不同,世界观不同,设计哲学不同。

据说,NLU是AI皇冠上的明珠,是珠穆朗玛峰。老友周明一直在为NLP鼓与呼,认定今后10年是NLP的黄金10年。AI似乎每天都在翻新,每周都有新闻,每月都有突破,浪头一个赶一个,新的算法、突破的model层出不穷,很多人惊呼“奇点”就要来临。为什么周老师还要提10年,对于AI进步主义者,这听上去简直是宇宙尺度了。为什么?无他,皇冠自有皇冠的难处,登顶珠峰绝非儿戏。唯此,有什么招使什么招吧,武器库还嫌武器多吗?

【相关】

《一日一析系列》

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

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

《朝华午拾》总目录

Interview 1/10: Critique of Chomsky’s Formal Language Theory

Q: Lao Li, I have been paying close attention to your academic track. I deeply admire you for more than 30 years’ in-depth study of symbolic logic in the field of natural language understanding with your unique innovation. On your NLP Channel, I notice that you’ve been critical of Chomsky. Chomsky is the representative figure of the rationalist school. Like many others, I admire Chomsky. As far as I know, you are also a rationalist. So why do you, as a linguist who practices rationalism, criticize Chomsky?

A: First of all, although I have criticized Chomsky, pointing out his theoretical issues and objective misguidance in the field, these are “criticisms within the school”. There is no doubt that Chomsky is the father of computational linguistics and the banner of rationalism in the field of artificial intelligence. His theory of formal language is the cornerstone of computational linguistics. All of us computational grammarians, as practitioners of the symbolic logic of rationalism in language, are his disciples. When we criticize him, we still use his formal mechanism as the frame of reference.

From the perspective of language formalization, Chomsky, who has a deep mathematical background, brings mathematical rigor into the formal study of language. At least in terms of formalism, Chomsky unified human language with computer language to have achieved a highly abstract symbolic system no others could dream of reaching. Without Chomsky’s formal language theory, computer science could not develop high-level languages, and all the achievements of the information industry would be unimaginable.

On the other hand, it can be said that Chomsky’s negative impact on the field is as big as his revolutionary contribution to linguistics and computer science. His formal language hierarchy is a theory of pure genius, which lays the foundation of language formalization. This formalism has become the theoretical basis of computer high-level languages and their compiling algorithms. It is used at its best to create, parse and compile computer languages as a perfect guide. However, perfection is sometimes only one step from fallacy. Chomsky criticizes the finite state machine as not suitable for modeling natural languages due to a lack of recursion mechanism. Too many people are misguided and fall into the so-called “more powerful” context-free mechanism.

Such an intelligent and powerful figure, if he misleads, can impact an entire  generation. The generation that was affected was my direct supervisors and predecessors when I entered this field (in the 1970s and 1980s), their work in natural language understanding was almost exclusively toy system confined to labs, difficult to scale up and demonstrate in practical applications.  This directly led to the rebellion of the next generation. This is the piece of history in artificial intelligence, the famous competition between rationalist symbolic school and empirical statistical school, with long struggles between the two paths. The rationalists of the old generation were at a disadvantage in competition and gradually withdrew from the mainstream stage.

All the advance of the statistical school over the last 30 years has been a practical critique of Chomsky because almost all of these models are based on finite state models, which he repeatedly criticized as inappropriate for natural language. The context-free grammar he advocates has achieved limited success in the field of natural language.

Q: Now that everyone is advocating neural networks and machine learning, is there still room for the symbolic rule school? Rationalism has lost its voice and visibility in the natural language community. What do you think of the history and current situation of the two?

A: Well, machine learning has been on the rise in natural language processing since about 30 years ago, with the rapid development of data and computing resources. Especially in recent years, deep neural networks have achieved breakthrough successes in learning. The success of empiricism, in addition to the innovation in neural network algorithms, also benefits from the availability of unimaginably big data and big computing power today. In contrast, the rationalist school of symbolic logic, due to its implacability,  gradually withdrew from the mainstream stage of the academia after a brief upsurge of phrase structure grammars with innovation based on unification about 20 years ago. There are several reasons for this situation, including Chomsky’s long-term negative influence on computational grammars, which deserves serious reflection.

Looking back at the history of artificial intelligence and natural language, the pendulum of empiricism and rationalism has swung back and forward, but the pendulum of empiricism has been on the rise for the last 30 years (see the red dot in figure 1). In his article “Pendulum Swung Too Far”, Professor Church  predicted and called for the resurgence of rationalism and presented an illustration below:

At present, due to the breakthrough of deep learning, empiricism is still in the limelight. Although rationalism has been accumulating efforts by itself for many years, it has not yet reached the tipping point where it can compete, head-on, with empiricism. When one school becomes mainstream, the other naturally fades out of sight.

Q: I have a feeling that there is some confusion in the community and outside the community at large. Deep learning, which is a method of empiricism, now seems to be regarded by many people as equivalent to artificial intelligence and natural language processing. If the revolution in deep learning sweeps through all aspects of artificial intelligence, will it end the pendulum swing of rationalism? As professor Church says, the pendulum of empiricism has swung too far, but it looks far from falling back.

A: My definite answer is no. These are two different philosophical bases and methodologies, each with its own natural advantages and disadvantages. Although there are reasons for the status quo of the existing one-sided empiricism in the current academic world, it is not a healthy state. In fact, both schools are competitive on one hand and also highly complementary on the other hand. Some older generation mainstream pioneers like Church have been warning about the disadvantages of one-sidedness in empiricism, and some new scholars in deep learning have been exploring the integration of the two methodologies to solve the problems of natural language.

Yes, much of the current surge in AI is based on breakthrough performance from deep learning, especially in the areas of image recognition, speech processing as well as machine translation, where AI systems have reached or exceeded human quality. This is an unprecedented amazing achievement indeed. However, the fundamental limitation still exists with deep learning, as well as all the other successful empirical methods at present, that is, the dependence on massive annotated data, what we call the knowledge bottleneck. The reality is that in many fields and application scenarios, such as natural language parsing, machine translation of e-commerce data, data of massive annotation or domain translation do not exist. This knowledge bottleneck severely limits the performance of the empiricist school in natural language understanding and other fine-grained cognitive tasks. There is simply not enough annotated data in many sub-fields, and without, it is almost impossible to make bricks without straw for learning. This is especially true for deep learning, which has a much larger appetite, like insatiable, than traditional machine learning.

Q: So it seems that deep learning is not an all cure. Rationalism has its place. You said the two schools have respective strengths and weaknesses. Can you compare and contrast them? Why are they complementary?

A: Let me summarise the merits and demerits of the two for a serious contrast.

The advantages of empirical statistical models include: (1) good at coarse-grained tasks, typically, document classification, for such tasks, statistical learning is naturally better to draw the overall conclusion; (2) robustness; (3) high recall: due to the lack of structures and understanding, many tasks might face a ceiling for accuracy, but recall-wise, learning usually performs well; (4) development efficiency: it can quickly scale to a real application scenario of big data.

The main limitations of the statistical school are: (1) the dependence on massive annotated data: this is the biggest knowledge bottleneck; (2) it is difficult to make targeted debugging: the statistical system is more like a black box, a big defect for maintenance and iterative incremental enhancement of a software system; (3) lack of interpretability: whether the result is right or wrong, it is difficult to explain, which affects the user experience and confidence. The main reason is the lack of explicit structural representation and symbolic logic in the algorithm that people can follow.

The rationalist approach simulates human cognitive processes without relying on massive labeling data to imitate on the surface strings. Rationalism directly formalizes the experience of domain experts and uses the explicit rule system from symbolic logic to simulate human intelligence tasks. In terms of natural language understanding, the grammar school formalizes the rules summarized by linguists so as to parse natural language in detail at all levels and achieve deep syntactic-semantic analysis. In this respect, rationalism has its natural advantages.

To sum up, the advantages of rationalist rule-based school include: (1) good at tasks of fine-grained tasks: very detailed analysis, such as the deep parsing of syntactic semantics with logical reasoning; (2) accuracy: the rule system written by experts is easy to guarantee high accuracy, but the improvement of recall is usually a long iterative process; (3) debuggable in error correction: the basis of the rule system is symbolic logic, which is easier to trace to the root of the error in debugging; (4) interpretable: this also benefits from the understandable symbolic logic basis.

The main defect of the rule school is the low efficiency of manual coding, and the dependence on expert coding is the knowledge bottleneck of the rule school. Supported by the same platform and mechanism, different levels of expertise determine different levels of quality. The two paths have their own knowledge bottlenecks, so to speak. One is to rely on a large quantity of “low-level” labor, labeling, though very monotonous,  is work that can be assigned to ordinary students with a little training. The other is to rely on a few experts of “high-level labor”,  much like software engineering, for coding and debugging rules, the knowledge engineer training costs are high, making it more difficult to scale up to the real world. Finally, the talent gap can also be regarded as a realistic severe limitation of the rationalist school. 30 years is exactly one generation, during which empiricism has occupied the mainstream stage, and attracted almost all newcomers, causing a generation shortage of talents in the rationalist camp.

As for the recall, it cannot be simply concluded that high precision is bound to have a low recall rate for rule systems. The actual situation is that, on the one hand, it is not at all difficult to achieve a balance between precision and recall, by deliberately relaxing rule conditions and sacrificing accuracy. On the other hand, while high precision can also be maintained, the more rules added to the system, the more phenomena will be captured, hence the recall rate will come up naturally and incrementally in the iterations as time moves on. In other words, recall is a function of time and development resources put in, without having to compromise precision.

Q: Since each has its own strengths, as the rationalist pioneer and father of computational linguistics, why doesn’t Chomsky exert its due influence in the field of natural language processing? His impact has been waning, and the newcomers to the field hardly hear of him.

A: Indeed it is. Although I am a rationalist, I also see that there is a considerable historical burden from this school that needs to be seriously reflected on from the perspective of formalism architecture.

Chomsky is the founder of modern rationalism, but the theory and practice he developed also involve some misconceptions. We must recognize these so that we can move forward the linguistic rationalism in symbolic logic steadily and deeply for natural language. In fact, after decades of theoretical exploration and practical experiments, the grammar school has seen fairly clearly its own theoretical limitations. Those who stick to the symbolic rule systems have broken through the path of innovation in the inheritance of rationalism, and have made their own breakthrough in deep parsing, the very core of natural language understanding, and in its scale up to big data for real-life information extraction and text mining applications. That’s what we’re going to focus on in this series of interviews.

Q: I know you have great faith in rationalist symbolic approaches in general. However, you have also seen a number of misconceptions in Chomsky’s theories. which are the most critical?

A: On his formal language theory, there are two fallacies to my mind, one I would name Recursion Fallacy and the other Monolayer Fallacy.  On his linguistics theories, one of the very basic propositions in his linguistic revolution is “syntactic autonomy” or “self-contained syntax”.  It involves serious potential consequences in the analysis of certain languages such as Chinese.  His phrase structure grammar tree represenation with his X-bar theory in syntax is also worthy of reflection and criticism, especially when it is put in the comparative study with the alternative dependency grammar and its representations for NLU. Let’s look at Recursion Fallacy first.

In my view, Chomsky’s greatest mislead was to use the so-called recursion nature of natural language to criticize pattern matching in finite states. His cited English examples of center recursion are far-fetched and rare from real life, making it difficult to argue for its being the nature of natural language. Nevertheless, a generation still chose to believe in his theory, taking it for granted that finite states had to be abandoned in order to be able to parse natural language.

Q: Isn’t it generally accepted that natural language is recursive? How to say it is a fallacy?

A: Exactly because it is widely accepted, it is of the more misleading nature and consequences, hence requiring more serious critique.

Recursion in natural languages typically comes in two types: (i) right (branching) recursion and (ii) center recursion. Many people don’t consciously make that distinction, but in computational theory, they are two very different things. Right recursion is linear by nature while center recursion is nonlinear, a completely different monster, of much more computational complexity. In natural languages, right recursion is fairly common and can at times be as many as seven or eight levels nested, which still reads natural and easily comprehensible. For example, the VP nesting example:

(to request A (to beg B (to ask C (to do something))))

For right branching recursive structures, we usually do not feel a burden in the communication. The reason is that, although the right recursive left boundary is in an uncertain position, they all end at the same poin for the right boundary, like this: (… (… (… (… (…… ))))). Thus, we do not need a “stack” mechanism in memory to deal with it, it remains finite-state.

Chomsky cannot criticize finite-state devices with right recursion, so he needs to base his argument on center-recursion, a rarity in language. The fact is that natural languages have little manifestation of center recursion. Center recursion is much like matching parentheses. You want the parentheses to match each other so  you can express and understand the proper nesting structures, like this: { … [ … ( …… ) … ]… }. After as many as three levels of center recursion, our brain can no longer cope with the pairing complexity, which is why it’s hard to fine such phenomena in real life language data.

Q: I remember some examples of center recursion in English:

      The man who the woman who had lost all the keys was calling all day finally came…

A: Is this “human” language? Chomsky repeatedly attempt to teach us that not only this is human speech, but it is the very nature of human language, hardly any hypotheses about language as far-fetched as this to my mind.

Q:  Let me try to understand what you mean: center recursion does not exist, or does not exist over three levels, so natural language is finite-state?

A: Well, not that it does not exist, it’s so rare and far-fetched, and it’s never more than three levels deep unless you’re pulling a prank. Therefore, it can by no means be the “nature” of natural language.

The very idea of unbounded center recursion in language, far from the observable facts, in effect violates the limits set by the short-term memory following psychology. Where in the world do people talk like that, like, keep opening the doors without closing them behind, in a maze-like complex castle, with nested sub-structures after substructures? A path of 3 doors opened, an average person will get lost in the maze. Even if you’re a super linguist, and you can stand it, your audience will be bound to be trapped. Is natural language not to communicate, but deliberately making difficult for people to follow you?  This is not in accordance with the consensus that language is born for communication and serves the ultimate purpose of communication.

Using pranks and verbal games as evidence of linguistic competence and the nature of language is one of the most misleading aspects of Chomsky’s recursion theory. This recursion trap leads many people to automatically accept that natural language is recursive and therefore we must discard the idea of finite states. The people who believe in him, on the one hand, are influenced by his authority as the father of modern linguistics; on the other hand, they often mis-regard the more common and deeper right recursion for center recursion as evidence in support of Chomsky’s recursion hypothesis. Chomsky himself is intelligent and rigorous as not to use readily available right recursion as evidence, he only uses center recursion as an argument.  But he’s in effect misleading.

Q: I guess this is a typical behavior of mathematicians and philosophers: they pursue formal perfection. As long as it is theoretically impossible to exclude multi-level center recursion, it is required that the formal mechanism must have a built-in recursion mechanism. But practitioners of natural language understanding do not have to be bound by that theory, do they?

A: after all, the foothold of the theory should be based on the real-life natural language object and data, right?

In fact, in the research of corpus linguistics, some scholars have conducted a very extensive survey and found that the so-called center recursion in natural language never exceeds three levels, and the occurrence of three-level recursion is extremely rare [reference]. The phenomenon of natural center recursion beyond three levels is simply not found in a very large running corpus, not a single case found. So why boil a very limited center loop down to what seems like an infinite level of recursion, and furthermore consider it the essence of natural language, and use it as an argument to determine the choice of the formal model for natural languages? This has had serious consequences for computing and NLU going beyond labs for applications.

In order to deal with theoretically infinite center recursion, the human brain, or computer memory, must have a “stack” device and a “backtracking” algorithm. Without going into the technical definitions of these computer terms, computer science studies have demonstrated that stack-based backtracking is expensive for computation. Using it as a basic device for natural language severely impedes language parsing from leaving the laboratory. Specifically, Chomsky’s “context-free grammar” with built-in recursive devices is theoretically bound not to have corresponding linear speed algorithms. The absence of linear algorithms means that the computing time is beyond control, so when entering big data out of the lab, this kind of thing is one limiting factor in practice. This is one of its fundamental flaws in his formal language arguments for natural language.

Q: I agree with you: there are only very limited levels, we don’t have to stick to recursive grammars. But I still have a question. Short-term memory is a psychological concept, and most of us in computational linguistics believe that psychology has no place in linguistics. Don’t you agree?

A: I don’t agree. The limitations of psychology have a direct effect on real linguistic phenomena, that is, psychological effects are reflected in linguistic phenomena. Real language phenomena, not imaginary phenomena, are the goal and final foothold of our natural language study. What we’re dealing with is a data set with a psychological constraint, and it’s obviously not appropriate for us to adopt a mechanism to deal with it based on a hypothesis that disregards psychological constraint.

Q: But even with the addition of psychological restrictions, don’t real corpora still have recursion? If yes, without the formal recursion device, such as the finite state machine, how can it handle the actual existence of the center recursive structure as long as it is not a non-existence?

A: Not a problem at all. As long as the recursive structure is bounded, the finite states have no problem in dealing with it. All we need is just cascade a few more finite state machines. Since you have at most three levels of center recursion, then it is 3 machines with 3x time needed, which is still linear. Even 10-level center recursion is not a thing, just add up 10 finite state automata. In our deep parsing practice, we have once applied up to 100 cascaded finite state machines for very deep parsing, in high efficiency. This kind of finite state pipeline systems, often called cascaded FSAs, is essentially the same concept of the pipeline as used in software engineering.

Q: Chomsky Hierarchy, named after Chomsky, is the most famous discovery in Chomsky’s formal language theory, which divides grammars into four types, type 0 to type 3, corresponding to different automata. What do you think of his hierarchy?

A: Chomsky’s formal language hierarchy is like a hierarchical castle with four enclosing walls safeguarding inner cities. Each formal device is like an internal forbidden city. Here we particularly recommend and quote an insightful study of Chomsky Hierarchy by Prof. Bai, which I call  a “caterpillar” theory of natural language (S. Bai: Natural Language Caterpillar Breaks through Chomsky’s Castle):

If we agree that everything in parsing should be based on real-life natural language as the starting point and the ultimate landing point, it should be easy to see that the outward limited breakthrough and the inward massive compression should be the two sides of a coin.  We want to strive for a formalism that balances both sides.  In other words, our ideal natural language parsing formalism should look like a linguistic “caterpillar” breaking through the Chomsky walls in his castle, illustrated below:

Prof. Bai also clearly sees that Chomsky’s recursion theory is too far away from linguistic facts, so he puts special emphasis on “real-life natural language”. After all, formal systems serve as formalized models for natural language, that is, they need to provide an appropriate framework for what natural language looks like. The common answer shared by Prof. Bai and me is that a suitable natural language model needs to get through the walls inside the Chomsky Castle. Any single device in Chomsky’s existing formalisms, when used to model natural language, is either too small to fit, or too large lacking appropriate restrictions. In both theory and practice, it is necessary to penetrate the walls of Chomsky Castle and form an innovative formal system, so as to lay a good foundation for the revival of grammars in natural language modeling. In the formalization process of penetrating the walls, Mr. Bai has his own innovation, and I have mine. My proposition is to extend and overlay the finite-state mechanism, so as to establish a shallow and deep multi-layer rule system for natural language deep parsing and understanding.

Do not look down upon finite state machines, which seem to be a very simple mechanism for pattern matching. When they are added layer by layer in the architecture of a reasonable pipeline system, they can cope with very complicated structures and phenomena and reach the depth of language parsing that is never before made possible by traditional context-free grammars or other devices. Of course, the mechanism itself can be reinvented and recrafted, such as incorporating the unification operation in handling language reduplications, e.g. in Chinese, “看一看”: V 一 V (literally look-one-look: “take a look”).  There are also rules for pattern matching that can effectively eliminate ambiguities by adding post-context conditions, similar to the “look ahead” effect in backtracking algorithms, to the pattern matching device.

It is worth emphasizing that maintaining the linear nature is the premise of any formalism innovation. No matter how we extend the mechanism of finite-state devices, this one remains an unchanged goal, that it must retain the essential characteristics of finite state to ensure the “line speed”. We use a multilayer cascade to bypass the recursion trap, hence eliminating the biggest hidden trouble that hinders linear speed. Since the linear multiplication remains linear, the cascaded finite state system does not change the linear benefit of the system. Computationally, the processing speed required for three-layer recursion is only 3x, which will not affect the scalability potential of the system. In fact, we have deployed multi-layer systems, usually with more than 50 layers. Our Chinese system sometimes cascades up to 100 layers in the architecture, where capturing recursive structures is just a relatively simple task inside.

Q: That’s fascinating.  And very imaginative, too. It is apparent that you and Prof. Bai have both accumulated years of practice and deep dive into natural language so you two have such insights as summarised above in breaking through the internal walls of the Chomsky Castle. Ok, so the first issue with Chomsky formal language theory is the recursion fallacy, what’s the second fallacy?

A: The second major problem with the Chomsky formal language theory is briefly mentioned above, which I call  Single-layer Fallacy.

Turn to the chapter on parsing in the computational linguistics textbook, the typical algorithm for parsing, known as chart-parsing, is often introduced on the formalism of a context-free grammar (CFG). CFG contains recursive calls in its rules for covering recursive structures, a point emphasized by Chomsky as the key feature for natural language. The implementation of this rule system is carried out in the same search space on the same plane, thus the so-called chart-parsing can be illustrated on a flat chart. Successful parsing is represented by one or n search paths that cover the entire sentence.

[consider a chart parsing sample.]

The essence of single-layer parsing is like cooking a hodgepodge.  Everything in an input string,  from morpheme to word, from word to phrase, from phrase to clause, from clause to a complex sentence, all are carried out in the same space.

Q: So Chomsky wants to solve everything at once. Isn’t that good?

A: Problem is, there are three main disadvantages. First, there is no linear algorithm. Many people have tried, but they just can’t find a linear algorithm, it’s a combinatorial explosion.

The second disadvantage is that it is not suitable for modular development, because the surface or shallow level language phenomena and the deep language structures are all mixed on one plane.

The third disadvantage is the so-called “pseudo-ambiguity” issue. “Pseudo ambiguity” is in contrast to true ambiguity. If there is one true ambiguity in the input sentence, the correct identification is for the parser to produce two parses to express the ambiguity. “Pseudo-ambiguity” means that a sentence is not ambiguous in people’s understanding, but the parser still outputs several parses, which are all considered to be grammatical.

The problem of pseudo-ambiguity is a recognized challenge in single-layer parsers. Even for a simple sentence, traditional parsers based on context-free grammars often produce dozens or even hundreds of parses. Most of the time, the differences are so subtle that they don’t make difference in communication. The consequence is that very few true ambiguities are hidden among many false ambiguities. In effect, the parser loses the ability to parse ambiguity completely. Of course, such a single-layer grammar approach is difficult to be truly deployed in parsing and semantic decoding of big data.

Q: Lao li, I think I have now started understanding the drawbacks of the single-layer parsers you discussed. Could you elaborate on why it is not a feasible model for real-life applications?

A: Too big a search space, and too many parses.  In essence, the system makes explicit all possibilities, low probability events as well as high probability events all in the same search space,. The whole idea is that it makes sense in theory, that any small possibility is a possibility, and then from a perfect theoretical model, you can’t block any path in advance. This way, you have to save all the search paths until the global path is complete. And this leads to the fact that the space where the resolution is, in fact, a combinatorial explosion space, so there’s no efficient corresponding algorithm.

Q: why isn’t a single layer suitable for modularity?

A: there is no modularity at all in a single layer. The approach of a single layer means that the whole resolution is a module, and a single layer means non-modularity. Its theoretical basis also has some truth. It says that language phenomena are interdependent, and a complete language analysis scheme cannot completely separate them. As low as participles and as low as the boundaries of basic phrases, these shallow structures are difficult to determine outside the overall structure of the sentence. This is because a locally sound structure can always be overridden in a larger context.

(for instance)

From this interdependent, locally subordinated global perspective, structural analysis, once cut up, creates a chicken-and-egg problem. To deal with this problem of interdependency, theoretically, a single-layer model makes sense. In a single-layer system, all the interdependent phenomena are explored in the same plane according to the global paths as solutions. That forms, of course, an argument against multiple layers, that language phenomena are interrelated, so we can hardly treat them by first cutting them into multiple layers.  Interdependency in a modular pipeline is very susceptible to “premature pruning” of branches. To be honest, if we leave aside the pseudo-ambiguity problem and the non-linear speed from the single-layer system design for a moment, it is quite difficult to refute the above argument against the multi-layer system design. However, single-layer is not very feasible in practice. The consequences of a single layer far outweigh the benefits, and the concern on premature pruning in a multi-layer system actually has its own countermeasures.

Q: Your point of view is not quite the same as my understanding of modularity. In my understanding, a module is actually a concept without hierarchy. Just like with bricks, you can build roads, it’s like a complete horizontal jigsaw puzzle of bricks. Of course, you can also build a wall in which case bricks are hierarchical. It goes up one level at a time. So, in my understanding, modularity and hierarchy do not have to be correlated. Does it make sense?

A: Yes, you’re right. Modules are bricks. They do not have to have layers. If there are layers, like building a wall, then there has to be a sequence architecture of modules. But it is also possible that there is no sequential dependency between the modules and the layers. The modules are defined from an angle beyond layers, which is like paving a road. Road paving does not have to be serial, which can be parallel. In practice, they may as well still be arranged in a uniform pipeline, combining the style of road paving with the style of wall building.

Modularity itself is a seasoned practice that comes from software engineering.  That is, when building a complex system, we always attempt to divide tasks into subtasks and sub-subtasks. Modularity makes the development process more tractable and easier to maintain. Natural language is undoubtedly a fairly complex system. Faced with a complex object like language, a good way is to emulate the approach that has worked in engineering for years. That is to say, the task should be reasonably decomposed and cut into modules as far as possible to implement modular development.

Thanks to http://fanyi.youdao.com/ based on which this translation is revised and polished by the author himself.  This is the first chapter of our book on NLU which consists of 10 interviews on key topics of AI symbolic logic as used in natural language parsing. Stay tuned.

[References]

S. Bai: Natural Language Caterpillar Breaks through Chomsky’s Castle

 

转载:白硕:关于基于规则方法的反思(2)

关于基于规则方法的反思(2)

【问3】基于规则方法的主流技术路线是什么?它的主要贡献是什么?

【答】追溯历史,可以发现:基于规则方法起源于结构主义语言学派,伴随生成语言学派在语言学界占据主导地位而在计算语言学界达到鼎盛,伴随因特网的兴起而被基于统计的方法逐渐趋于边缘化。因此,谈到基于规则方法的主流技术路线,特别是作为基于统计方法对立面的基于规则方法的主流技术路线,一定是生成语言学派的核心学术思想及其在计算语言学中的实践和发展。在总结基于规则方法的主流技术路线的得失的时候,我们必须不带偏见地肯定它对语言学和计算语言学的主要贡献。

如果以为生成语言学派的主要贡献是搞清楚了哪一门具体语言里有哪些具体规则,那就大错特错了。笔者认为,生成语言学派最大的贡献,在于以一种可证伪的方式告诉我们,表示规则的形式化框架应该是什么。通俗地说,就是告诉我们“规则应该长什么样”。一条具体的规则不好,你可以在这个框架之内废了它。一个具体的规则体系不好,你也可以在这个框架之内另起炉灶。只要在原有表示规则的形式化框架内做有限的改良有成功的希望,一般来说就不要去动这个框架。但是如果表示规则的形式化框架离开语言现实太远,局部的修修补补难以充分适应语言现实,我们就必须考虑废掉这个框架了。看看乔姆斯基的学术轨迹,可以发现,几十年来他一直在对“规则长什么样”进行着调整,在战略上不断用新我否定着旧我,但在战术上,他却很少就一门具体的语言到底该有哪些规则发表看法。即使关于英语说到了一些规则,那也是为了解释他的普适原则和理论而举的例子。

那么,在生成语言学派看来,规则究竟应该长什么样呢?在笔者看来,他们对规则有如下一些基础假设:

    1、  存在有限个基本的句法范畴作为规则表示的基本单位。它们既包括词类,也包括词组的类。同一句法范畴下的实例,在组句能力(分布)上必须有共性。

    2、  句法范畴从左到右的线性排列模式,决定对这个模式的“重写(rewrite)”结果。

    3、  语言的合法成分都是有限次匹配上述从左到右的线性模式、施用重写的产物,依照对重写的限定不同,分为不同的规则体系类型。比较常见的是上下文无关类型的语言及其规则体系。

    4、  句子是一个特殊的句法范畴,它的实例都是目标语言的合法语句,目标语言的合法语句都是它的实例(all and only)。

   很遗憾的是,有些人在用统计方法的优点来批评基于规则方法的缺点的时候,并没有分清楚他们批评的是生成语言学派的规则表示形式化框架本身,还是批评这个形式化框架下构建的某个具体的规则体系。比如,有人说“打扫卫生”不能解释为“把卫生给打扫了”,因此述宾结构不成立,因此规则方法不成立。这样的论证是可笑的。

    “规则长什么样”是基于规则方法的最核心问题。如果具体规则错了,可以替换以新的规则;如果关于规则长什么样的假设错了,要调整的则是这种形式化表示框架本身,同时也会连累到许多个基于这种形式化表示框架的具体规则体系。

    关于“规则长什么样”的一般性假设一旦确定下来,就有了对其在计算上予以实现的理论和实践。具体说就是相关的形式语言、自动机以及算法理论。这些理论是生成语言学派关于规则长什么样的一般性假设在计算领域的推论,对于基于规则的自然语言处理系统的实现有一定指导意义。

    但是,在计算语言学领域,对生成语言学派关于“规则长什么样”的一般性假设,也并非照单全收,你假设,我实现。实际上,为了更加贴近语言实际,在计算语言学领域发生了多次对“规则长什么样”的局部修正。词汇功能语法(LFG)、广义短语结构语法(GPSG)、中心词驱动的短语结构语法(HPSG)、依存语法(DG)、树嫁接语法(TAG)等等,都可以认为是对生成语言学派关于“规则长什么样”的假设的修正案。“次范畴”和“合一”的概念,已经成为基于规则阵营中人尽皆知的概念。“依存”的概念则在一定程度上突破了模式必须是句法范畴从左到右依次排列的假定,允许一定的不连续性。它们到底把生成语言学派关于“规则长什么样”的假设向前推进了多远,也许今天评价还为时尚早。但是,所有这样一些局部性的修正案并没有触动基于规则方法的根本缺陷,应该是许多仁人志士的共识。

转载:白硕:关于基于规则方法的反思【连载1】

【立委按】今天才发现白硕老师的这个很久以前的NLP系列问答,相阅恨晚,叹服其洞见远见,拍案叫绝。一开篇就心有戚戚焉,字字珠玑。

“败的一方是基于规则的方法吗?我认为不是。最多只能说,是基于规则方法当中的某种主流技术路线。但是,这种主流技术路线,不足以概括基于规则方法的全部,也不足以决定基于规则方法的未来。特别是,基于规则方法和理性主义不存在必然的逻辑捆绑。人们对基于规则方法有诸多误解,基于规则方法的主流技术路线也有诸多弱点和缺陷,值得一切尊重语言事实、尊重规则的人进行深入的反思。我们这个问答系列,就是试图在对基于规则方法进行深入反思的基础之上,探索基于规则方法未来发展道路的一个尝试。笔者认为,基于规则方法的处境前所未有地艰难,但也正在孕育着巨大的机会,“抄底”在即。”

特转载学习。

关于基于规则方法的反思【连载1】

 

【问1】:基于规则方法和基于统计方法,被称为自然语言处理的两大“阵营”,并且上升到理性主义和经验主义“之争”的高度。请问,这个概括是否准确?两大阵营“之争”到目前为止是否已经见分晓?

【答】:确实有两种技术路线之争。从上个世纪九十年代初阵营划分确定以来,从主流杂志、主流文章、主流技术、主流产品等各方面看,其中一种大获全胜。这是一个基本的事实。任何进一步的讨论,都首先要基于这个事实。

进一步追究,胜的一方,确实是基于统计的方法。那么败的一方是基于规则的方法吗?我认为不是。最多只能说,是基于规则方法当中的某种主流技术路线。但是,这种主流技术路线,不足以概括基于规则方法的全部,也不足以决定基于规则方法的未来。特别是,基于规则方法和理性主义不存在必然的逻辑捆绑。人们对基于规则方法有诸多误解,基于规则方法的主流技术路线也有诸多弱点和缺陷,值得一切尊重语言事实、尊重规则的人进行深入的反思。我们这个问答系列,就是试图在对基于规则方法进行深入反思的基础之上,探索基于规则方法未来发展道路的一个尝试。笔者认为,基于规则方法的处境前所未有地艰难,但也正在孕育着巨大的机会,“抄底”在即。

【问2】:那么,语言是有规则的吗?语言是可以用规则来描述的吗?

【答】:语言有多个层次。为简化问题起见,以下“规则”仅指词法和句法规则,更深层的语义语用规则暂不考虑在内。

首先让我们看一看“规则”及其对应的英文术语rule的含义。在英语中,规则(rule)与尺子(ruler)是同根词。在汉语中,“规”是圆规,“矩”是角尺,二者都是依据某种标准产生几何图形的工具,而“则”具有“明示的条文”的含义。英语中Rule还兼有统治的意思。在现代汉语中,作为名词的“规矩”和“规则”同义,但“规矩”比较口语化,“规则”更具书面语风格。“规则”的意思是“对一个社会群体有强制约束力的明示的条文”。

规则的强制约束力来自于两个方面。第一个方面是来自社会的约定。所谓约法三章,所谓社会契约,说的都是有人来制定并遵守规则。不方便拿到台面上但在台面下仍然被讲究和遵守的是“潜规则”。第二个方面是来自自然规律的强制。由人类社会中热衷科学的人士发现自然规律,用人类的概念体系表述出来,在应用科学知识的场合比如工程设计中遵守。规律是客观的,规则是人类用自己的概念对规律作出的表述。囿于人类认知能力所限无法清晰表述但仍在暗中起作用的是“隐规则”。

具体到语言,语言是人们约定俗成并与时俱进的符号交际系统。既然约定俗成,那语言就是靠口耳相传,本质上就不需要什么明示的条文,也不需要人们协商产生,把小孩子放到一个现成的语言环境,小孩子自然就能学会。一些部落只有语言没有文字,一些社会缺乏甚至全无学校教育,但这都不妨碍他们自发地形成和传承语言。既然与时俱进,那语言就确实在社会的发展中改变着自己的模样,一些词死了,另一些词新生出来;一些现象淘汰了,一些现象新冒出来。旧瓶也可能装新酒,老树也可以发新芽。一些网络新词层出不穷,一些语言在经历了不同历史时代后形式上出现了巨大变异。

这样看来,语言是一种不以单个个体的意志为转移的客观存在。作为单个个体只能适应而不能约定,因此语言的规律性有跟自然规律相像的一面;语言又可根据群体行为交互作用“涌现”新要素,因此具有大时间跨度下、大群体流通中产生的人为约定性的一面。在人们对一种语言的认识能力不足之时,拿不出有关这种语言的完整的明示的规则体系,但这不表明不存在暗中起作用的“隐规则”。

因此,语言和规则,从语言诞生之始,就注定存在一对深刻的矛盾。任何所谓的语言规则,都是人(语言学家)总结出来的语言学知识,又要求人(语言使用者)去遵守的。理论上,人不总结这些规则,原则上也不妨碍语言的传承。人不把规则明示出来,这些规则也会隐性地发挥作用。仅仅从这个角度看,人总结的语言规则,确实显得可有可无。但另一方面,语言的相对客观的规定性又持续稳定地发挥着不以人的意志为转移的作用,人类求知好奇的天性总会催生一些语言学家,试图用明示的语言学知识来揭示这种作用的奥秘,而人类跨语言交流、人机交流、机机交流的需要则进一步昭示这种语言学知识的巨大社会价值。

所以,语言有客观的规定性,人类有必要总结语言学知识,语言学知识采用规则的形态,是人类对自身语言规律好奇心发展的需要,也是人类为解决人际和人机之间以语言为媒介进行沟通的需要。至于规则长什么样,完全要根据语言的现实来确定。任何先验确定规则长什么样的行为,都是不足取的。在最广泛的意义上,不仅生成语法的规则是语言规则,统计模型、转移概率、词性标注,也都是语言规则。

 

from http://blog.sina.com.cn/s/blog_729574a0010134bq.html

 

《马修·赫松梅:人工智能研究人员声称机器学习是炼金术》

《人工智能研究人员声称机器学习是炼金术》
在领英上分享
马修·赫松梅。2018年5月3日上午3时

梯度下降依赖于试验和误差来优化算法,目标是3D场景中的最小值。亚历山大·阿米尼丹尼拉·鲁斯。麻省理工学院

Ali Rahimi是加州旧金山谷歌人工智能( AI )的研究人员,去年12月,他的研究领域受到了猛烈抨击,并获得了40秒钟的掌声。拉希米在AI会议上说,计算机通过反复试验学习的机器学习算法已经成为一种“炼金术”。他说,研究人员不知道为什么一些算法有效,而另一些算法无效,他们也没有严格的标准来选择一个人工智能体系结构而不是另一个。现在,在4月30日于加拿大温哥华举行的国际学术会议上,拉希米和他的合作者发表了一篇论文,记录了他们所看到的炼金术问题的例子,并提供了加强人工智能严谨性的处方。

拉希米说: “这是一个痛苦的领域。我们中的许多人都觉得我们在使用一种外星技术。”
这一问题与人工智能的再现性问题不同,后者由于实验和出版实践的不一致,研究人员无法相互复制结果。它也不同于机器学习中的“黑盒”或“可解释性”问题: 解释特定人工智能是如何得出结论的困难。正如Rahimi所说,“我试图区分机器学习系统是一个黑盒,而整个领域变成了一个黑盒。”

他说,如果不深入了解构建和培训新算法所需的基本工具,创建AIs的研究人员就像中世纪炼金术士一样,只能依靠道听途说。加州山景城Google的计算机科学家弗朗索瓦·乔莱特补充说: 人们被货物崇拜活动所吸引,依赖于“民间传说和魔法咒语”。例如,他说,他们采用pet方法来调整他们的AIs“学习率”——每次出错后一个算法能自我纠正多少——而不理解为什么一个算法比其他算法更好。在其他情况下,人工智能研究人员训练他们的算法只是在黑暗中跌跌撞撞。例如,它们实现所谓的“随机梯度下降”,以便优化算法的参数,以获得尽可能低的故障率。然而,尽管有数以千计的关于这一主题的学术论文,以及无数应用这一方法的方法,这一过程仍然依赖于反复试验。

rahimi的论文强调了可能导致的浪费精力和次优性能。例如,它指出,当其他研究人员从最先进的语言翻译算法中剔除了大部分复杂性时,它实际上更好、更有效地从英语翻译成德语或法语,这表明它的创造者并没有完全理解这些额外的部分对什么有好处。相反,伦敦Twitter的机器学习研究员费伦茨·胡塞尔说,有时候算法上附加的“铃铛和口哨”是唯一好的部分。他说,在某些情况下,算法的核心在技术上是有缺陷的,这意味着它的好结果“完全归功于应用在上面的其他技巧”。

rahimi为学习哪些算法最有效以及何时工作提供了一些建议。首先,他说,研究人员应该像翻译算法那样进行“消融研究”:一次删除一个算法的一部分,以查看每个组件的功能。他呼吁进行“切片分析”,其中详细分析算法的性能,以了解在某些领域的改进可能会在其他方面产生什么成本。他说,研究人员应该在许多不同的条件和设置下测试他们的算法,并且应该报告所有这些算法的性能。

加州大学伯克利分校的计算机科学家、拉希米炼金术主题演讲的合著者本·雷希特说,人工智能需要借用物理学的知识,在物理学中,研究人员经常把一个问题缩小为一个较小的“玩具问题”。他说:“物理学家在设计简单的实验来找出现象的解释方面很了不起。”。一些人工智能研究人员已经采取了这种方法,在处理大的彩色照片之前,对小的黑白手写字符的图像识别算法进行测试,以更好地理解算法的内在机理。

伦敦DeepMind公司的计算机科学家csaba szepesvari说,这个领域还需要减少对竞争性测试的重视。他说,目前,如果报告的算法超过了某个基准,发表论文的可能性要比论文揭示软件内部工作原理的可能性大。这就是花哨的翻译算法通过同行评审取得成功的原因。“科学的目的是创造知识,” 他说。“你想生产一些其他人可以接受和利用的东西。” ”

不是每个人都同意拉希米和雷希特的批评。纽约Facebook首席人工智能科学家yann LeCun担心,把太多的精力从前沿技术转移到核心理解上,可能会减缓创新,阻碍人工智能在现实世界中的应用。“这不是炼金术,而是工程,” 他说。“工程总是凌乱的。”
雷希特认为这是一个有条不紊的冒险研究的地方。“我们都需要,”他说。“我们需要了解故障点在哪里,以便我们能够建立可靠的系统,我们必须开拓前沿,以便我们能够拥有更令人印象深刻的系统。”

张贴于:技术

搜狗MT(https://fanyi.sogou.com) 译自(translated from):
http://www.sciencemag.org/news/2018/05/ai-researchers-allege-machine-learning-alchemy?utm_source=sciencemagazine&utm_medium=facebook-text&utm_campaign=aialchemy-19247

 

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

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

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

陈:
有了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: 主流的傲慢与偏见:规则系统与机器学习

《一日一析系列》

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

《朝华午拾》总目录

【李白100:Parsing 的休眠唤醒机制】

尼:
十几年前给两个台办主任送过美凤光盘。

李:
主语施事是侬?

 

这是一个疑问句。

迈:
这是给中纪委举报的分析图吗?

白:
为啥“主任”没当actor?under是“两个台办”,actor是“主任”多好,不用向外借context里的“尼克”了。“台办主任”难道进词典了?N+N结构难道比缺主语还优先?

李:
没进词典,“台办+主任”是rule合成的。为啥主任要做那个actor?“给” here 是个介词,是“送”的 subcat 要求的,作为 dative,不是逻辑主语,就是双宾语句式的 human 对象,光碟才是 undergoer。

白:
说错了,“两个台办”是介宾,“光碟”不变。“主任”单拎出来,做actor。

李:
why?还只是理论上的可能性?有两个台办么?文革中的确有过两个司令部,但那是非常时代。

白:
我是好奇,为啥一个无主的选择会优于一个有主的选择。难道你是推理了没有两个台办才往后走的么?

李:
没有推理,I was kidding。合成词:台办+主任,优于被 determiner 直接修饰。汉语中合成词的构成优先于句法上的chunking;不仅汉语,这是语言学一般原则:合成词处于 morphology 和 syntax 之间。

白:
也就是说,局部的优先关系已经把别的可能性扼杀了?不把其他选择往外传?

李:
这个原则上是对的。

白:
比如“听说发文件的是台办主任吓坏了”,肯定分析不对了?

李:
这个…人理解也有歧义。
不怕献丑了:

白:
不太通

李:
的确不大通。这个 parse 是说,“是台办主任吓坏了”,“听说发文件”是一个诱因。不是完全不可能,但对里面的小词 “de” 和 “是”,parsing 有点走偏了。做这些小词,分寸很难掌握,稍不留心就过火。

白:
“去了趟台办主任更神气了”如何?没有小词了。

李:
白老师不要逼人太甚 :=)
没有小词了,但你为啥不加逗号,不加标点也罢,给个 SPACE 也好。

白:
学意识流。

李:
存心难为 parser:

wrong,as expected

白:
意料之中,构词法一上,木已成舟。

李:

see 你若规矩 便是晴天!
一个小小的 space 有那么难么?为啥意识流?ADD 了么?做系统的人都知道,没有没有软肋的。

白:
对。只是好奇。因为之前交流过能带着多种可能性往下跑的事情。

李:
只是分寸火候而已。原则上,合成词前置是合理的,好处远远大于副作用。理论上可以保留哪怕微小的其他可能性,待后处理。实践中,当断不断, 终于自乱。哪些带着往下跑,哪些当断则断,也是一个火候的掌控。PP-attachment 这类我们是往下带的。太低的模块,一路带着往下跑,瓶瓶罐罐的,非常难缠。

白:
所以,先休眠再有条件唤醒,也是一策。当然这就要允许逆行。

李:
带着往下跑本质上也是一个组合爆炸问题,除非一边往下跑,一边卸包袱。
休眠唤醒是一个好主意,对于某些现象。我也试验过,用得好是有效的。

白:
段子大都是休眠唤醒模式。

李: 譬如一个 NP,内部的关系难以全部穷尽可能性,那就保留部分关系,然后到最后,可以重新进入这个 NP,根据需要决定重建关系。在这种情形下,问题已经缩小了,重建不难。甚至 PP-attachment 也可以循此道。譬如,一律让 PP 挂最近的 XP,成为 deterministic parse,到了语用和抽取的时候,再去重建其他的 parses,这时候语用的条件进来了,先前被休眠的可能 parse 就可以复活。

白:
武断和文断的区别…… 武断是效率的保证,休眠唤醒是兜底的保证。

李:
段子的休眠唤醒说明,人的大脑认知也是先入为主的,很多时候是武断的,不过是允许反悔罢了。这种反悔有类似以前的 backtracking 的地方,但是实践中并没有那么大的 costs。

白:
看是哪种实践了

李:
因为在语用层面做反悔,基本上是已经聚焦了以后的反悔。这种聚焦最经常的方式是词驱动,因此,需要反悔重建的现象大大缩小。

白:
不同商业模式下,价值取向有差异是正常的。

李:
如果大海一样全部来反悔运动,还不如一开始就全部保留。幸运的是,绝大部分应用,语用与语法是可以分清界限的。

白:
反悔是白名单驱动,武断是标配。

李:
标配就是统计可能性大的,或者是遵循普遍原则的,譬如合成词前于句法。

白:

李:
任何原则或 heuristics 都有例外,到了例外,如果有一个反悔机制最好。

白:
给一条反悔的通道,但是慎用。

李:
与此相对应,还有一个例外排除机制,就是先堵住例外,然后做标配。这个办法比反悔更费工。只有在具有类似 Expert Lexicon 的词驱动的例外机制的时候,才好用。

白:
提醒一下,词驱动是取决于双因素的,不仅要看trigger是啥,也要看休眠的是啥。另外休眠的东东即使不参与分析,也可以自己做弥漫式联想(不同进程或线程),类似认知心理学说的阈下啥啥啥。这样trigger就可以提高命中率

李:
弥漫联想再往下就是弗洛伊德了。

白:
对。
词驱动这种“相互性”我举个例子就明白了:我家门前的小河很难过。
“难过”具有长词优势,“难/过”休眠了。但是,“过”弥漫式联想,激活了“过河”,于是开始反悔。直到“难/过”翻案成功。

李:
好例。“过河”与“洗澡”一样是分离式合成词,属于动宾结构。凡是可以词典化的单位,休眠重启不难实现。因为词驱动的可能性都是有限的,而且可能性都可以预先确定。以前提的“睡过”的歧义也是如此。

白:
trigger有外因有内因。外因就是更大整体的句法、或语义、或语用产生不匹配等,内因就是当事的成分自己或静态、或动态地展现出结合的可能性。休眠情况下,静态不可能。动态,相当于休眠的成分梦游了,在梦游中邂逅了。那个“夏洛特烦恼”,也是上下文给了“夏洛”独立成词的某种强化,回过头来唤醒了“特”作为副词的已休眠选项。或许,作为副词的“特”正在梦游。

说了半天,还不是为了尼克

李:
对了,忘了尼克究竟是不是actor了,丫保持缄默,怎么讲?贿赂完三X光碟,在一边偷着乐吗?

(i)  “这是我与领导的聊天记录”
(ii)“我与领导的聊天记录得详详细细”

两个休眠唤醒策略:

其一是,“聊天记录”做合成名词,到第二句的某个阶段,把“记录”分离出来做谓语。
其二是,“NP【我与领导的聊天】VP【记录】” 先做成句子(CL:Clause),然后,在第一句解析的某个阶段,再改造这个 CL,成为 NP,主语于是成了修饰语 M:

得字结构无动词谓语可以附着,是 trigger 休眠唤醒的契机。

NP +【得详详细细】:把 NP 内头词的潜在动词性唤醒,分离出来做谓语,非常有道理。新媳妇嫁错人家了,可以抢出来再嫁,没必要嫁狗随狗。

白:
得 向左还是向右,是一个问题

李:
虚词而已,左右无所谓,反正是敲门砖,用完了就扔(X)。

 2016-1-27 15:46 |首发 科学网—《泥沙龙笔记:parsing 的休眠反悔机制》

 

【相关】

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

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

【一日一parsing:休眠唤醒的好例子】

【NLP随笔:词法内部结构休眠,句法可以唤醒】

【李白91:休眠唤醒需要打离婚证】

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

《朝华午拾》总目录

【李白95:走在路上……】

李:
走在路上,琢磨句法的事儿。

句法任务如果要分解的话,可以这样来看:

1. 谁与谁发生关系?
2. 关系中谁主谁副?
3. 发生关系的次序。
4. 发生什么关系:进一步可分
4a)词法的;4b)句法的;4c)(逻辑)语义的;
4d)话语的(discourse:譬如 话题);4e)领域的(譬如 IE)。

自然,到了领域,其实已经超越了句法范畴,进入语用了。但语用本质上还在句法的延长线上,正如 discourse 关系解构也是句法的延伸一样。逻辑语义通常被认为是句法深度解析的终点。

白:
2可以推出3?被吃掉的就是副的。除非多爹的情况,一副多主。这时出现交叉,画括号也不都管用。没做成主做了副的邻居,会把做主的额度过继给自己的主。

李:
这四点相互关联,但也不妨适当分开,各个击破。

1+3 的任务可以定义为打括号,找分界点。有了 1+3,2 就可以推出来。反之,有了 1+2, 3 也应该可以推出来。

关于1,我们通常的(PSG式)思维定势就是,看哪类词与哪类词发生关系:

S –》 NP VP
NP –》 Det N

之类。这是预设邻居不发生关系,除非发现了关系。可以叫做【兔子不吃窝边草预设】。 其实,我们的语感和大量的语料事实告诉我们的,是与语言学家和乔姆斯基相反的一个预设:邻居总是发生关系,除非发现他们老死不相往来。日久生情是人之常理,语词也是如此:远亲不如近邻,做邻居自有做邻居的道理。摩肩擦踵坐怀不乱,是例外,不是常态。这个预设可以叫做【邻里友爱预设】。这个预设的一个强有力的证据就是,即便是所谓语序自由有丰富形态的语言如俄语、世界语,发生直接关系的语词仍然在邻里之间为多,真正的远距离勾搭很少,并不比语序固定的语言相差太多。

根据【邻里友爱预设】这个原则去做 parsing,可以第一步只找例外,也就是找分界点。譬如中文里面的 “也/都/还” 这些词就是:这些词往往是主语谓语的分界标志。它们对左邻居没有丝毫兴趣,总是像个门卫守护着右邻居。比较下面的 minimal pair:

你走好
你走就好。

可见“就”这个小词的分界作用是如此之大。对于“你走好”,可以假设 “你-走” 发生关系,“走-好” 发生关系,这个不需要规则,这是标配,形式化标注可以是下列三种之一,都大同小异:

  1. PSG1:((你 — 走)– 好)
  2. PSG2:(你 –(走 — 好))
  3. DG:(你 –(走)– 好)

重申一下【邻里友爱预设】:只要挨着,不分阴阳男女,都会发生关系,除非遇到了 “就” 这样的 outlier:“你走就好”。(你 — 走) no problemo,*( 走 — 就) 就不行了。(就 — 好) 可以发生关系,但前提是 “好” 没有其他可能了:

你走就好运作了。

(你 — 走),OK;“就” 挡道,跳过。(好 — 运作)与(运作 — 了) 都可以,对于 DG 无所谓。

((好 — 运作)– 了)
(好 — (运作 — 了))

“朋友买的”,的字结构 OR 语气小句?

A:朋友买的
B:朋友买的什么?

小句 desu。等价于 “(这是)朋友买的”。

A:朋友买的 ……
B: 朋友买的难道不好?

搞不清是小句还是名词性的字结构,如果是前者,等价于 “朋友买(这事儿)难道不好?”。如果是后者,说的是 “朋友买的(东西)难道不好?”。虽然说有差别,但人好像不 care,而且也的确多数时候无法区分。所谓变色龙即是如此:CL_or_NP(CL:clause)。

“烤白薯”的故事,以前说过,NP OR VP?

A:我吃了烤白薯。
B:吃了白薯啊,好羡慕。

NP desu,因为“吃”的只能是“物儿”(NP),不能是“事儿”(VP)。

A:我喜欢烤白薯。
B:  你喜欢烤白薯这事儿呢,还是喜欢烤过的白薯这物呢?

这儿的变色龙形式化就是:VP_or_NP。

白:
只在的字结构反填“买”的残坑这个环节有微妙差别,外部没差别。的 升格是一样的(自修饰)。填 的 的坑的萝卜是一样的。

李:
一个是V(事儿)一个是N(物儿),与“烤白薯”有异曲同工之不妙:“喜欢烤白薯”。究竟喜欢烤还是喜欢白薯?关键是 who cares,90% 的时候听到上面的句子,听者不觉得有歧义,也不感觉诧异,只有语言学家逻辑学家这两家,吃饱了喜欢咀文嚼字瞎琢磨,感觉不舒服。

当年玩HPSG的时候,最喜欢 unification 系统的 typed structures 中的一条,就是 unspecified。做老实人,不知道就不知道,也不care。信息 unspecified,等到合适的时机,自然就被补上了。这是信息融合(fusion)的理想世界。太理想了,以至于很难落地,现如今是昨日黄花,无人问津了。

白:
不一样的就在于是不是回填“买”的坑。回填是在第三层了。第三层确实可以不 care。

买的 回填 买,也有不同解读。“买的是次品”vs“买的不如卖的精”。关键是“买”是双宾动词,标配坑太多了。一个被省略的成分还原回来已经是够脑补的了,再进一步脑补她带不带谓词性的坑,这会伤元气的。烤白薯 毕竟真实的坑和模式在,无需脑补。

买的不如卖的精,租的比买的合算,这时是需要care的。

李:
买的(东西)不如卖的(东西)精吗?
买的(人)不如卖的(人)精吗?

买的不如卖的精明。
买的不如卖的精致。

白:
精到底是什么的简称,有标配的。非标配特征必须显性出现才激活。unspecified是保守策略。先标配,有trigger再翻盘是激进策略。难说保守策略就一定好,也难说两种策略就不能在一个系统里和平共处。

李:
unspecified 与 default fillers 可以也应该共处。

 

 

【相关】

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

《朝华午拾》总目录

【李白92:自然语言漏得筛子似的,未必要补漏】

李:
火车上要注意安全,贵重物品随身带,行李箱放在能看到的地儿哈!贼春节不放假

乍看 以为贼是修饰语 一愣 还有骂春节的呢。要是改成小偷就好了:“小偷春节不放假”

严格说 放假是个复合概念 它挖了两个坑: 【谁1】 给 【谁2】 放假,就是
【谁1】 放 【谁2】 的假。小偷是谁1 还是 谁2 呢?好像既是谁1也是谁2 小偷通常是单干 不成组织 自己给自己放假。如果是盗窃团伙 也许应该是谁2,需要头儿批准才能放假回家过个年。

梁:
“红杉树最便宜的是多少钱一包? “ 新春快乐!!!

白:
咋不说中南海呢……

“睡觉我喜欢开着空调”“牛肉我喜欢三分熟的”两例中,“睡觉”和“牛肉”的句法功能相同吗?

宋:
什么是句法功能?主谓宾定状补吗?

白:
@宋柔 如果是,该怎么定?

李:
句法不如逻辑语义容易有标准答案,因为句法是形式归纳,而形式归纳有不同的形式角度,所以句法学家特别爱吵架 历史上甚至著名的语言学家之间也针锋相对,充满了不毛之争。逻辑语义则较少争议:人类趋向于有一把共同的尺子。

从词序的形式角度,从discourse的话题的表达,二者是相同的功能。从逻辑语义角度,则差别很大。

这个句首的 Topic 与 句末的“的字结构” 是回指的关系,因为 的字结构里面的 AP 与 NP 有逻辑修饰关系。

白:
相同之处都是把被修饰语前移为话题,不同之处是一个体词一个谓词。只画树,难以体现话题跟谁关联。

“那些字帖我只临了王羲之的。” “王羲之的”并不修饰“那些字帖”而只修饰“字帖”。

树藏起来了很多东西,不能作为讨论的基础。

李:
句首谓词比较讨厌,可以说是话题,但具体逻辑语义可以表示条件、时间、伴随情况等。

睡觉的时候,我喜欢开着空调。
睡觉的话,我喜欢开着空调。

白:
关键是,谁睡觉?至于睡觉和开着空调什么关系,在句法层面才真的不重要。二者搭上扣(有关系)即可。但是谁睡觉,过这村就没这店了。

李:
不重要。
甚至谁开空调 也不重要。非谓语动词省掉主语是有道理的:我喜欢(我 or 别人为我 or 机器自动)开着空调。

白:
“着”表遗留状态,谁造成状态确实不重要。“门开着”天生就是自足的,不需要额外萝卜。睡觉不同。“墙上挂着画”谁挂的也无关紧要。

李:
一般认为 主语可以顺着梯子下:“我喜欢游泳”。

白:
穿透

李:
谁游泳?尽管是个很无聊的 “理解” 问题,大家通常认为是 “我”:我喜欢我洗澡(其实加了“我”逻辑语义是全了,听上去反而别扭,或增加了言外之意:我喜欢自己洗澡,不喜欢人家给我洗澡)。

可是:“我喜欢下雪”。谁下雪?老天、上帝,反正不是“我”。

白:
下雪❄已经针插不进水泼不进了。来个老天也只能是状语。

李:
我喜欢反右。谁反右?其实是组织 群众 最终是领袖。
md 我其实恨透了反右。自己就是个右派 只不过生不逢时 没下地狱。

白:
“我恨透了做家务”,好象不是恨别人做家务唉。

李:
如果省掉 “做”呢?“我喜欢家务。”

白:
没有做,就没有穿透的问题。

李:
这个“做”都无关痛痒 更崩提“谁做”了。总之 语言不像逻辑那样完整 自有其道理。逻辑不必分轻重主次 讲究的就是完备 自洽。而语言漏得筛子一样 却有效传达了语用的需求。

白:
各坑有各坑的权重。算术往往比逻辑聪明。应该有相应robust的逻辑联结词,没有是逻辑不尽责。比如我上次说的,超过三分之二的布尔变量取值为真。还应该有不拘泥于语序的符号连接运算。这些都需要改造逻辑、改造形式语言理论。可以有不刻板的逻辑。可以有允许灵活语序和自由省略的形式语言。

李:
自然语言最大特点还不是歧义 而是不逻辑 常省略 含糊其辞。交流的常态就是说者糊里糊涂说 听者糊里糊涂听,奇的是二者还不觉得糊涂 可以一样谈得热火朝天 酒逢知己。

梁:
对,使用语言,是为了有效传达信息。你已经知道的,我就不说了。什么不知道,你问我呀,等会我补上就行了。

李:
除了语言学家和段子手 没人在乎细节 不 care 语义模糊。正常交流中 90% 的含混之处 双方都不感知,只有少数的细节感兴趣了,于是发现含混,要求澄清。

于:
@wei 日常谈话语义并不模糊。@wei 省略并不意味含混

李:
省略和歧义都是含混的缘由。省略了,就有个默认标配。而标配在共同体宏观上有一个约定的填补 但在个体之间未必一致。省略在语言学上叫零形式,因为形式为零 理论上无法不导致含混,至少是留下了争论的余地。段子当中很多这种例子,捧哏的突然不捧了 处处别扭,把所有的标配推翻。

白:
一般是抬杠的余地。对标配不合作,总是可能的。

李:
是啊 显性形式就堵塞了这个漏洞 没有含糊的余地。法律文书很讲究这个,结果读起来就不像人话。

日常对话:

a 打败了 打败了
b 好哇 好哇 真太开心了

a 你开心啥?
b 不是打败了吗?

a 是啊 你们队打败了
b 好哇。对了,打败了谁家?

a 我们队打败了
b 好哇 一样值得庆贺

a 你们队败了 我们队打败了你们队 快快 喝一杯
b ……

于:
@wei 省略是因为对方知道。如果把所有信息补齐,就太啰嗦了,对话根本进行不下。

李:
子非鱼啊。你怎么知道对方知道 即便你以为对方知道?

于:
@wei 如果对方不知道,大多对话就结束了。 当然教育除外

李:
上面的多轮对话 互相并不知道 也一样没结束

白:
有sentiment,一样可以做出猜测,只不过猜测一直在动态修改。
胜败,与喝彩,的传导路径。谁是哪一头的,可以顺着这个传导路径慢慢明晰。

【相关】

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

《朝华午拾》总目录

【李白91:休眠唤醒需要打离婚证】

李:
以前说过,local n元组搞定分词,通常认为n等于5足够(5-gram 平天下,见【李白71:“上交所有不义之财!”】 )。今天有个例子,可以看看 bigram trigram and 10+ gram 的各自说法:

这所以自由 时尚 叛逆和反潮流著称的学校 连塔也不得雍容。

Bigrams: 这所 所以 ……
trigram: 这所以 ……
10+ gram: 以 …………著称;这所…………学校

毛估估一下这场分词拔河赛的力量对比:“这所” 和 “所以” 单算的话,大概势均力敌,感觉 “所以” 稍微更强一点。 到了trigram “这所以” 形势基本明朗了。 【这所/以】 (or 【【这/所】/以 】)远远强过 【这/所以】,虽然小概率反例会永远存在。 到了 10+ gram,由于框式结构的搭配要求, “以 ……著称”(介词动词搭配)和“这所……学校”(量词名词搭配), 【这所/以】的分词及其解析,占绝对优势 可以板上钉钉了。

可是谁等得起 10+ 呢?或者我们找到一个投机取巧的算法 把搭配距离缩短,或者咱就将就在 ngram (n 小于等于5)里面玩分词。原句(from yours truely today)以及插图(courtesy of yours truely too)是:

“一直觉得作为地标 这塔缺了点啥 想来是太过苗条。这所以自由 时尚 叛逆和反潮流著称的学校 连塔也不得雍容。”

白:
还有“所……学校”之间的chemistry。强化所/以分离

李:
都是远距离。所以得有个合理的距离缩短机制:

白:
距离拉近时和平分手即可。

李:
和平分手很难 有一屁股屎要擦:(i)“所以” 先成了连词后,要保证里面的两个词素 仍然看得见 这是其一。(ii)尝试分手的时候 要一分为二,数据结构 凭空要多出一个 token 出来。(iii)一分为二 各就各位以后,要重新查词典 得到各自全新的特征。(iv)然后才是参与到 parsing 去,该搭配搭配。哪里那么容易分手啊,离婚证也不好领。如此“休眠唤醒”(???),对平台很有要求的。

一个方案是,所有的多字词在一开始就把每个字当成 token 进入数据结构,然后把初步的词典为基础的分词当成是合成词的“绑架性”黑箱组词(组字成词,而不是切词),组词以后,由于黑箱原理,立马屏蔽下层的词素 使不见天日,让其休眠,以防添乱。这样的话 休眠唤醒一分为二的时候 就不需要从根基上动土。但这种处理 在单字层做了太多的虚功。不是完全不可行,但也没见人真地践行到 real life 系统去。

白:
退一张北京到上海的票,可以卖北京到济南和济南到上海两张票。12306都能搞定的数据结构,很难么?“所/以”这一近距离无优势而有远距离呼应可能性的分词方案,相当于分别挂两个订单,如果这两个都找到买主,我就退票。

所不是量词的情形也有可能:“他所以为荣的那点本事,早就过气了。”

所有认准一条标配的道儿,但不准备走到黑的,都可以挂出反悔订单,外面时机成熟了,立刻造反。

组合订单(多笔交易要么同时成交要么同时撤销)必然引入同步,同步必然损失效率。所以一定是trigger驱动,而不是挂单驱动。无 trigger则无时间开销,至于空间开销,那是毛毛雨。

李:
trigger word driven?以前我主张的休眠唤醒之术,就是trigger词驱动(见【歧义parsing的休眠唤醒机制再探】的“难过”)。

不过,关于时间空间开销 其实好像都不是事儿。fact of life is 比起图像 比起语音,比起当今有如军备竞赛一样地使用计算资源的那些 monsters,动辄成百上千的GPUs集群,目前的 NLU 太小儿科了 简直像过家家。 给个 high end pc,就乐颠颠地研发或耍弄 deep parsing。老朋友那天跟我说,现在的问题是 给你100万倍的计算资源 你能做什么?我懵了 打死我 我也用不了这多资源。只会螺丝壳里做道场 玩具一般。还梦想着建通天之塔 探究人类语言最微妙的奥秘。

郭:
机器翻译,用的计算资源也不少。

李:
那天说了 神经mt与语音转写同理 已经不是 nlu 了:都是鹦鹉学舌 离开理解越来越远。看看这篇分析:

The Shallowness of Google Translate

It’s pretty lengthy. Pointing the fact of no understanding in deep learning.  We all know it is true.  What we did not know was how far a system can go without understanding or parsing on an end to end deep neural network modal.  All criticisms here are valid but still MT has never been this impressive and useful in practice unless you make the wrong choice to use it for translating literary works or for translating domain documents where it has no human translation data to learn from.

他说 机器不过是处理了符号序列 它根本就没有丝毫 reading 的真实能力。reading、 parsing 和 comprehending 及 understanding 在英语都是一个意思。是 Elisa 效应让我们以为它理解了 就跟领导在家老跟宠物牛顿说话 坚信牛顿能听懂 也能表达 尤其是肚子饿的时候 牛顿表达能力惊人的丰富。牛顿的表达能力 虽然只是 meow 的不同变体 领导声称可以解码。

“传统” AI 和 NLU 就是理解了吗?也难说 因为符号体系内部也是人类自己跟自己玩。好的符号体系更像是好的助记符 摆弄出貌似逻辑的推理链条来 具有算法过程的透明性 如此而已。但起码 这看上去还在模仿人类的理解和思维。

理解的根基是举一反三 高度概括 以有限对无限 所以不需要大数据 大计算 大记忆。建立在三大基础上的深度 其实是靠蛮力。不是举一反三 而是举一百甚至上千 也未见得就能返一。

 

【相关】

【李白71:“上交所有不义之财!”】 

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

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

【一日一parsing:休眠唤醒的好例子】

The Shallowness of Google Translate

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

《朝华午拾》总目录

【尼沙龙笔记:宁顺不信,神经机器翻译的成就和短板】

大赞了神经机器翻译的革命性进步以后,提到两个短板 其一是不忠:无中生有或化有为无 以假乱真 指鹿为马 胆大包天。其二是依赖领域数据 没有数据的领域 立马傻眼。

李:
我用有道app里面的口译功能测试了一下字正腔圆的做节目的人,【文昭談古論今】, 一边在 youTube 上看他的视频,一边把有道打开做现场口译,几乎完美无缺。

毛:
同声传译,以后是不需要的了。

李:
识别我的口音还是有误:识别我的英文比中文似乎更好一些。上面的那位是自媒体里面的很受欢迎的一位,文科背景,出口成章,比播音员说话还清晰。

语音识别的两个明显错误:neural network 错成了 neutral network,text 成了 tax(税),大概是我的英语发音的确不够好。但总体而言,句子蛮长,一口气说一大段,它也一样即时翻译(通过wifi接云端,立等可取)。

哈,text 与 taxi(出租车)也打起架来:

从这些人类不会犯的错误看,神经 MT 的巨大成功,与语音转写的巨大成功,完全是一个道理,都是在真正的海量数据中模仿,而没有任何“理解”。不合逻辑 不合事理的句子 会以一种蛮“顺耳”的方式呈现出来。

尽管如此,我们当年还是没想到,在没有解析和理解的前提下,这条路能走这么远。很久以来,我们的信念是,没有理解,无从翻译。鹦鹉学舌,可以学几句零碎的片段,但绝不可能把如此复杂的自然语言,学得如此栩栩如生。但事实上,“鹦鹉学舌”方式,在强大的数据和运算能力支持下,的的确确可以做到在很大的范围几乎可以以假乱真。

短板也是显然的,没有数据的话,再强大的运算也培训不出一只鹦鹉来。譬如,电商场景的机器翻译,由于缺乏汉英对照的大数据,就寸步难行。

下面是我说中文,让有道口译为英文的试验:

“二次大战”先转错为“20大战”,继而又错译为 “20th centuray”。这个错误很值得评论,说明了神经翻译为什么求得了“顺畅”牺牲了“忠实”。我说的是“大约是在二次大战以后”,虽然转写就错了一个字,成为“大约是在20大战以后”,翻译却错得离谱:这不是原来意义上的错误放大(error propagation),而是目前神经翻译“乱译”趋向的一个表现,by design:这种乱译的确在很大程度上克服了上一代统计机器翻译“不顺畅”的致命缺点。

“乱译”(或者“顺畅”)的根子在,目前的机器翻译里面有专门针对目标语的语言模型在,不仅仅是双语对照模型。目标语的模型里面“beginning of 20th century”一定是足够的常见,被记住了,所以尽管原句是“20大战以后”,它也一样无视(“大战”居然摇身一变,成了 century,是为指鹿为马,“以后”弄成了其反面 beginning,这简直是颠倒黑白),如果是前一代统计翻译(statistical MT),或者前前一代的规则翻译(rule-based MT),这种错误绝不会出现,应该是译成 “20 wars later”或 “after 20th war”之类。可是 目标语训练数据中根本就没有这个 “20 war” 这样的提法,与其忠实而别扭,不如化有为无或无中生有,甚至指鹿(20 war)为马(20th century),以求“顺畅”。这是目前机器翻译的短板,已经被很多人察觉和批判,研究界也在研究对策。

也就是说,为了“顺畅”,目前的系统可以无视原文中的一些材料。同样为了“顺畅”,译文也可以无中生有加一些材料。这对不懂原文的人可能非常误导:批评者说,找翻译本来就是因为不懂原文,结果你翻译出来,听上去那么顺畅,让我不得不信,可其实你暗度陈仓,居然敢于胡编乱造,这也太搞了吧。

这种批评当然言之成理,信达雅,信是基础,信求不得,达雅何用?无信,达雅反而更加迷惑人,不如不译。你无中生有了一个地方,让我怀疑你整篇都不可信了。这种想当然的胡编乱造真是害死人。

不过,其实了解历史和经历过机器翻译不同阶段的人,会有不同的角度。实际是,前两代机器翻译的译文大都惨不忍睹,在可读性和顺畅上没有根本的解决途径(点滴的积累式进步还是有的),虽然意思也能勉强传达(就是说不会在“信”上胆敢无中生有或化有为无)。这个问题是如此严重,以至于影响了很多人使用机器翻译的意愿,除非是不得已,因为看机器译文实在是太别扭,太难受了。

毛:
能把谎说圆,这不正是逼近了人的智能吗?

李:
@毛德操 问题是,鹦鹉学舌,哪里有什么“把谎说圆”。机器不会说谎,正如机器不会说真;同理,潜艇不会游泳。无中生有是真的,但“胡编乱造”不过是个比喻说法。机器没有歹心,正如机器没有良心。因为机器根本就没有心。有的不过是记忆和计算而已。硬要把计算说成智能,硬要把比喻当成真相,那也没辙。乔姆斯基的态度是,不理睬。还好,当年创造的是“人工智能”这个词,脱不开“人工”、“人为”、“模仿”的涵义。如果先驱们当年达特茅斯开会,不小心起个名字是“机器智能”,那可就糟透了。

Nick:
@wei 英国最早的说法就是machine intelligence。大概到七十年代才开始被美国带成人工了。

李:
达特茅斯会上呢?

马:
达特茅斯会上,还有一个词是复杂信息处理,不过最后还是AI占了上风。

李:
先驱们蛮“接地气”啊。其实,“复杂信息处理”很中肯,符合术语命名的严肃性。AI 还是太过“性感”了。

机器翻译更惨,很长时间是 “自动翻译”、“机器翻译” 混用,后来基本统一为机器翻译,因为自动翻译有多种用法 什么全自动翻译 半自动翻译等等。当然 较真的话,自动翻译比机器翻译还不堪。其实应该叫做随大流翻译,或者叫做 NLU-free translation,简称无智翻译,and I was not kidding.

Nick:
自动/机器 定理证明。mt就不太好说artificial translation,中文更不能说 人工翻译。artificial本来就有点 瞎编 的意思。

李:
其实还真就是 artificial,本来就是仿造啊。译成汉语是仿人翻译。没有人的翻译样本,大量的样本,当今的MT根本就不可能。

马:
AI翻译

李:
人工智能其实应该翻译为人造智能。人造翻译(或仿人翻译)与人工翻译可大不相同。但取法乎上仅得其中的古训不大灵了,古训忽略了量的概念。被取法者足够大量的时候 所得不止于中。AI 代替中庸 势在必行。取法乎众 可得中上,这是事实。但最好的机器翻译不如最好的人工翻译,这也是事实。因为后者有智能 有理解。而前者虽然号称神经了,其实连“人造的理解”(譬如 NLU)都没有。

现如今人工智能好比一个性感女郎,沾点边的都往上面贴。今天跟一位老人工智能学者谈,他说,其实人工智能本性上就是一个悲催的学科,它是一个中继站,有点像博士后流动站。怎么讲?人工智能的本性就是暂时存放那些机理还没弄清楚的东西,一旦机理清楚了,就“非人工智能化”了(硬赖着不走,拉大旗作虎皮搞宣传的,是另一回事儿),独立出去成为一个专门的学科了。飞机上天了,潜艇下水了,曾几何时,这看上去是多么人工智能啊。现在还有做飞机潜艇的人称自己是搞人工智能的吗?他们属于空气动力学,流体动力学,与AI没有一毛钱的关系。同理,自动驾驶现如今还打着AI的招牌,其实已经与AI没啥关系了。飞机早就自动驾驶了,没人说是人工智能,到了汽车就突然智能起来?说不过去啊。总之,人工智能不是一个能 hold 住很多在它旗下的科学,它会送走一批批 misfits,这是好事儿,这是科学的进步。真正属于人工智能的学问,其实是一个很小的圈圈,就好比真正属于人类智能的部分也是很小的圈圈,二者都比我们直感上认为的范围,要小很多很多。我问,什么才是真正的恒定的AI呢?老友笑道,还是回到前辈们的原始定义吧,其中主要一项叫做“general problem solver”(西蒙 1959)。

马:
是这么回事。11年写的一篇博客:人工智能,一个永远没有结果的科学_马少平_新浪博客。

李:
好文。马老师科普起来也这么厉害啊 堪比白居易写诗 老妪能解。有说服力 而且生动。

“11年写的一篇博客”。走火入魔 第一眼看这句 我无意识把自己变成了神经网络 网络里面是这样编码的:“11 years ago 写了一篇博客”,宁顺不信。我的大数据训练我首先排除了 2011 的选项 然后无中生有加了个 ago 以求顺畅。摩登时代,忠实值几个钱?忽悠才是摇钱树。

马:
用时11年,😄

洪:
人工智能是江湖,八仙过海都威武。武侠人物不绝出,很多虚晃都诈唬。

AI像狗头前置棍,棍拴骨头引狂奔。确实因之人前进,精髓却总不得啃。

李:
洪爷的诗没治了,大AI无疆,无处不诗啊。

回头说宁顺不信。两相比较,平心而论,对于多数人多数场合 还是顺畅的权重似乎更大。只是需要记住三点:(1)认真使用前,需要人工核对:机器译文只是提供一个快速浏览,了解个大概的选项,虽然总体的忠实比例其实不差,但任何一个点都可能错得离谱;(2)翻译工作者如果不学会利用机器翻译,与机器合作提高效率(要善于做核对和后编辑),很可能不久会淘汰:实际上翻译的工作市场已经急剧萎缩中,有道本身提供的人工翻译已经快速便宜到不行,可见能够生存下来的少数人工翻译一定是学会人机合作的工作模式的。(3)AI 还在飞速发展中,让我们拭目以待,看今后的系统能不能在信达雅三者之间做更好的平衡。可以想象的一个可能是,将来的系统至少可以让用户在“忠实”和“顺畅”中做权重的选择:根据偏好的不同,系统应该可以做不同的翻译:偏重忠实但生硬一点的选项(就是鲁迅曾经践行过的“硬译”),或者偏重顺畅却可能局部不忠实的选项。

The Shallowness of Google Translate

It’s pretty lengthy. Pointing the fact of no understanding in deep learning. We all know it is true. What we did not know was how far a system can go without understanding or parsing on an end to end deep neural network modal. All criticisms here are valid but still MT has never been this impressive and useful in practice unless you make the wrong choice to use it for translating literary works or for translating domain documents where it has no human translation data to learn from.

【相关】

【校长对话录:向有道机器翻译同仁致敬】

人工智能,一个永远没有结果的科学_马少平_新浪博客

谷歌NMT,见证奇迹的时刻

The Shallowness of Google Translate

有道的机器翻译http://fanyi.youdao.com/)

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

《朝华午拾》总目录

 

 

 

 

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

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

 

 

【相关】

语义三巨人

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

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

《朝华午拾》总目录

【NLP答问2:实体语义和逻辑语义】

新人:
就是觉得自己的问题有些太外行了,不太好意思随便问

答:
外行内行,都是一个过程,只要有兴趣就好。《李白对话》 天马行空,属老人促膝恳谈; 也可以来一些答问对话,为缩小代沟做点实事。

嗨,上篇《NLP答问》刚贴到微博不到两小时,就2.4万阅读量了哈。可见答问的话题还是很符合公众兴趣点,人工智能教授马少平老师等有推荐和评论:https://weibo.com/2316531634/profile?topnav=1&wvr=6&is_all=1

你们说得都对//@南大周志华:目标代码吧,不是数据结构 //@马少平THU:用计算机实现不这样还能怎样?//@第五逻辑:所有的场景应用都是转化为计算机可执行的一种数据结构,这就是现阶段所谓的AI
@立委_米拉【NLP答问:关于parsing 和自然语言理解】 
立委_米拉
7分钟前 来自 微博 weibo.com
不争论 不争论。小平连大是大非姓社姓资都不争论,咱数据结构和目标代码有啥争论的。重要的是面对冰冷的现实,“这就是现阶段所谓的AI”,与自主机器人或机器智能没有一毛钱的关系,都是人类自己跟自己玩,机器不过就是玩具(或者也是吹牛的道具)而已。没霍金之流吹得那么高大上。

新人:
目标代码和数据结构不是一体的吗?

答:
CS的标准说法是: 程序(目标代码)= 数据结构+算法

我们在讨论的时候,侧重点是“理解”的表达形式(representations),就是结构树(tree),或图谱(graph),强调的是数据结构的一面。“理解”作为(智能性)动词,当然有算法的一面。所以周教授说是目标代码,才全面。

新人:
这样啊,受教了

答:
数据本身不一定是可执行的代码。结构树不过是“理解”的一种内部表达,无论是达成这个理解的过程(parsing),还是利用这个理解去落地到应用(semantic grounding to applications),都有一个NL算法的事儿。

前者(parsing)在我这里就是 cascaded FSA++ 的实现算法,后者(落地到信息抽取和数据挖掘场景)就是一个 subtree matching 的算法。这是就关涉算法的机制(formalism)而言,其实利用这个算法机制对系统各个模块以及模块中问题的处理过程,也还有个语言学算法的思路在内,不仅仅是在多层系统里面先做什么后做什么,还有各种数据流接口的设计等,如何防止错误放大,如何协调共性和个性,都与算法有关。

新人:
结构树是“理解”的一种内部表达,这个内部表达中已经包含语义的部分了吗?还是说语义包含在另一种内部表达的形式里,多种结构组成了“理解”的形式?

答:
结构本身就是最重要的语义部分。这是语言学的常识,也是多数计算语言学家的共识:学界术语叫 semantic labeling,在中国的NLP界,由于董振东前辈30年前的创新研究,这个语义被命名和普遍接受为“逻辑语义”。理解了一句话,最关键的就是要搞清楚一句话里面的那些语词概念的逻辑语义角色:【谁】(逻辑主语,施事)【对谁】(对象补足语)【做了】(谓语)【什么】(逻辑宾语,受事),【何时】(时间状语),【何地】(地点状语),【如何】(方式状语),【为什么】(原因状语)等等。

深度解析(deep parsing)所建立的结构树或图,就是要填写这些逻辑语义角色,填写好了也就是达成了语言理解的核心。

新人:
实体语义对于理解一个句子不重要吗?好像绕回了之前说的WSD那篇…(【NLP 迷思之四:词义消歧(WSD)是NLP应用的瓶颈】

答:
什么叫实体语义?实体对应的是NE或NP,在句子中就是一个元素。在知识图谱里面,表达成一个画像(profile),uniquely 对应了真实世界的一个实体。

实体语义的重要是在领域落地的时候,而在领域独立的语句分析阶段,只要知道类别就好了,实体的语义或歧义(如果有歧义的话)可以先绕过去的。譬如,“约翰”这个实体,知道他是一个人名(NE)就够了,至于他究竟指的现实世界哪个实体,对于理解一个里面提到“约翰”的那个句子,并不重要。

但是如果要建立领域的知识图谱,实体语义就重要了,否则描述这个约翰的事件,张冠李戴到另一个约翰头上,语义落地的偏差就会把领域知识图谱(事件场景以及个人画像的语义网络)搞砸。

我这篇【NLP 迷思之四:词义消歧(WSD)是NLP应用的瓶颈】)文的本义是说:WSD 一般来说不是 parsing 的瓶颈,而是可以推后到落地的时候去做区分。

新人:
是,想了下,只有在具体场景下,才能讨论实体语义。

答:
换句话说,语言学意义的理解首先看到的是结构和角色(“项链”),然后才是角色里面的每颗“珍珠”。所以说 deep parsing 是自然语言理解的皇冠和核心,是自然语言落地的核武器。

新人:
感觉清晰了很多。终于不纠结实体了…

答:
关键是,实体的歧义通常不影响结构和角色定位(即逻辑语义),而一个语句与其他语句的语义区分,主要就是结构和角色定位。这里面细究的话,逻辑语义结构里面有核心和边缘的区分。核心就是所谓 argument structure,这是以谓词为核心挖的几个“坑”,需要实体参与者(萝卜)来填坑的的结构,表达的是语义主干:【who】 DID 【what】 【to whom】这类。边缘的语义主要是可有可无的状语,可分为一二十种,表达的是语义的细节:时间,地点,条件,原因,让步,结果,程度,等等。

新人:
昨天插入语的那个badcase,是不是属于边缘的语义的部分?

答:
插入语当然是边缘语义,非常的边缘,提供某种语气。

新人:
感谢您愿意回答我这些基础的问题。我得赶紧补补课

答:
不必拘束。在你这个年龄段,保持好奇心和兴趣最重要,不要怕吃苦,一头扎进去几年,才能真正体味。我有个n万小时定律(《聊聊 NLP 工业研发的掌故》),虽然夸张了一点,但说的就是必须要有足够历练,才能一览众山小。

 

【相关】

【NLP答问:关于parsing 和自然语言理解】

NLP 迷思之四:词义消歧(WSD)是NLP应用的瓶颈】

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

《朝华午拾》总目录

【李白洪87:人工智能,真的该让这样的哲学家走开】

李:
白老师在朋友圈转了一篇题目很吸引眼光的《人工智能研究中的“母语意识”刍议》,看了一半 看不下去,太经不起推敲了。 原来是哲学教授 社会科学战线的。难怪。(说这话总有点对不住我社科院母校的感觉。)

白:
量词携带语义标签,与“条”搭配的一般是两维差不多短、一维明显长的物体。所以,苗条品种的狗(狼狗、牧羊犬等)论“条”,臃肿品种的狗(京巴等)论“只”才是地道的。要想挑战远距离相关的量词搭配,必须把干扰项放在合适的句法位置才有意义,文中构造的“条-狗”搭配虽然隔了21字之远,但干扰项“只”却并不处在合适的句法位置,也许正常的词法或句法处理就可以把它消化掉,从而起不到任何干扰作用。

李:
他是假设量词搭配的实现者没有 parser 和 合适的分词系统,盲目寻找最近的直接量搭配。哲学教授的这种人工智能评论 让人啼笑皆非。文中似是而非 漏得像筛子一样的论点还有不少。譬如 常识的自然语言偏见,要说常识与文化偏见还有可能有那么一丝丝纠缠的可能的话,说自然语言偏见带入常识 就扯太远了。他还举例说计算机语言因为用了英语的一些词汇符号,因此也带入了英语偏见,这真是匪夷所思的论点。计算机语言的本性已经使得其词汇系统对任何自然语言偏见脱敏了。至于借用英语还是借用数字编号,不过就是个助记符的考量而已,与偏见何干?

洪:
@wei 作者徐英瑾 复旦哲学教授,最近也写过篇评价尼克ai简史的文章

李:
@洪涛Tao 徐教授怎么评价的?无论臧否,凭他上文那样的见识,忍不住想到的就是,歪评三国。

谈人工智能,还是人工智能专家靠谱。哲学家 企业家 媒体人士 包括名人(霍金等) 很多不值得认真对待。最近有:CCCF:周志华 | 关于强人工智能 ,周教授这篇言简意赅 是人工智能专家的科学普及。

洪:
徐英瑾评《人工智能简史》︱人工智能,真的能让哲学走开吗?_上海书评_澎湃新闻

李:
哈哈, quote:“该书的第九章《哲学家和人工智能》主要就是为了挤对哲学家而写的,特别是为了挤对那些对人工智能有话要说的哲学家。这很大程度上也是基于国内大多数理工研究者对哲学的某种深刻的偏见,即:咱们的地盘,哲学家少插嘴。”

看完了。这个长篇评论蛮好玩,作为拼命要介入AI的哲学家的百般自辩,首先气势上矮了半截。@Nick Zhang 终于惹怒了哲学,而且在哲学界得到了免费marketging的效果。

这样见识的哲学家 挤对都多余了。但愿还有其他的哲学家高人在。读到最后,我倒是同病相怜地欣赏他的结句:“一切逆风而行者的坚定,均来自对风向转变的信心。”  但仅此一句而已。

 

【相关】

【关于人工智能】

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

《朝华午拾》总目录

【李白86:这是最后的斗争?】

宋:
“严正指出”中,“严正”有歧义;“严正说”中,“严正”无歧义,一定是人名。

李:
宋老师观察真切。这里面有什么说法 怎样实现?

“说” 挖了个 【human】 的坑,人名就跳进去。“指出”也挖了个 【human】的坑, 所以,“严正”作为可能的人名也可以跳进去,是为歧义。

但作为副词的 “严正” 为什么可以修饰 “指出” 不可以修饰 “说”呢,虽然二者是同一个动词子类。通常的说法是,搭配使然。搭配说的是比类别(包括子类)颗粒度还要细微的词汇之间的语义相谐。“严正” 就是喜欢修饰 “指出”, “指出” 就是喜欢被 “严正” 修饰,对上眼了,之间有化学。这个倒也不罕见 也有词驱动的实现方式。难点(或痛点)在为什么 “严正” 不可以修饰 “说”?

相谐的事儿 一般认为是软约束,能谐自然好,不能特别谐的话,也可将就着,凑合一辈子的夫妻有的是。难道我们不仅仅要记住搭配,还要记住不搭配?实现的话, 就是有无必要,既有搭配的白名单,也要有不搭配的黑名单(谁谁与谁谁就是互相看不上 不共戴天)?开了这个黑名单的口子 无疑给电脑处理 也给人脑记忆增加了负担 到底必要性如何?

当然 还是大数据好说。如果大数据玩得转 容易无缝连接的话,大数据中 “严正指出” 就是个 4 gram 出现频次很高,而 “严正说” 频次很低。但怎么知道 前者是歧义 后者不歧义?

“严正指出” 频次高 因为副动组合出现多,外加少量的主谓组合。“严正说” 频次低 是因为副动组合在这里遭遇不搭配陷阱,只剩下少量的主谓组合了。这些东西不是没有统计根据 但要理清这些 感觉好难。

白:
这里的搭配是词对词的,而不是特征对特征的。比如“老实讲”就没有办法为“严正说”的可接受性做任何贡献。虽然前者在大数据中频次不低。

李:
是 搭配说词对词。
词与词搭配 背后的关系怎么解?无监督大数据看得见搭配,看不见关系,除非变成有监督 让人标注。如果 a 与 b 搭配 只有一种可能的关系,当然就无需标注。有两种 单看统计就难。

白:
有词典就可以看得见subcat,用不用subcat,(词对subcat或者subcat对subcat)由什么决定。

弹钢琴、弹琵琶、弹三弦、弹吉他、弹曼陀林

李:
打-酱油,吃-亏,…… 这些都是搭配,不用讲道理。

白:
这又离合词了。离合词不需要subcat。但是系统性的词对标签或者标签对标签,不一样。你词典里都有了,就是个拿来用的问题,也不用讲道理。

李:
所有词对词搭配 离合不论 都是词典绑架,要不要一个不搭配词典?里面全是例外 是黑名单。好比两人结婚前请八卦先生算命,看相克不克 如果克夫或克妻,坚决不能成婚。

标签对标签 就是抽象语法条例。我们都知道那种东西就跟筛子一样 到处是眼,但没有它也不行。要鲁棒 要召回 就要靠它。

白:
不要人来写

李:
于是可以把颗粒度变细,在抽象条例周围 ,前堵后补。也可以在条例里面 做黑名单约束 用逻辑与加逻辑非, 难看一点 但管用。词对标签同理,如果引入黑名单,也可以。这样来看 似乎没有必要单单来个 词对词的黑名单(不搭配词典)?

白:
否定的统计判断,是排除歧义用的。当没有歧义可以排除,这种东东还应不应该起作用,值得怀疑。

李:
我也怀疑。回到原问题:问题1,是 要不要考虑加一个不搭配词典。问题2是,无监督情况下 统计上相谐的词 如果有歧义 统计本身如何消歧?理论上 后者也不是非监督就束手无策了。理论上,通过对类似的但不歧义的词与词的统计数据作为参照,可以计算出歧义词的歧义程度和歧义偏向,甚至不排除可以通过某种 propagation 来无监督地消歧。

白:
就算没标记,还可以根据embedding干点啥,还可以协同推荐。

李:
哈 正是我想说的。
现如今 embedding 就好像上帝之手,啥事儿都可能,什么戏法都难保变不出来。

今天路上与郭老师还在说这些神奇事儿,翻译如今也不需要平行语料了,就在两个独立的语言语料里面训练,然后把句子一 embedding,二者就相互翻译了。(据说,一个双语的儿童就是这么学会两种语言,并自然切换或翻译两种语言的,儿童并不需要有翻译样板才学会翻译。)

更神奇的是 翻译两端也不一定是自然语言, source 可以是语言,target 可以是图片,反之亦然。根据啥 ? embedding。这么神奇的媒介语表达 难怪人看不懂,人脑只能看懂 symbolic 的东西。

embedding 到底是不是真的这么神奇美妙 先放一边,问题是其不可解释性 看不懂 怎么办 怎么掌控 怎么纠错。郭说 谁让你看懂了?看懂了的东西怎么可能神奇?蚂蚁看得懂人类语言吗?人类读得懂上帝旨意吗?

也许我们天天鼓捣这些看得懂的符号逻辑,算计来 算计去,全部是瞎操心,最多也就是过家家 儿戏一样。

想想怪悲凉的。

白:
咋改抒情诗了?

李:
30年前入行的时候 我们语言所有三拨搞 AI 相关的,每一拨都是中国AI的开山人物(现如今的中国AI史似乎抹去了这一页,其实这些老教授都是让人景仰的大师):

第一拨是我的导师 两位刘先生 搞规则mt的,第二拨是范继淹先生的自然语言理解,是传统 AI 那套常识推理的符号逻辑,第三拨是语音合成,吴老先生和杨顺安。 当年听马老师同学杨国文学姐介绍范先生小组的那套AI符号逻辑,心里很不以为然,觉得常识和推理很不协调,推理链条又显得太小儿科了,太脆弱(fragile)。无法与我们同属符号逻辑派的mt规则路线比,我们这边不用常识用语言学,接地气多了,而且分析语言也深入多了。那种 AI 果然没成气候 几乎绝迹(很长时间 AI 成了一个笑话),规则派苟延残喘 算是活下来了,但退一步想 我们当年诟病试图利用常识推理的AI符号逻辑,也许就是(或者还不如)50步笑百步呢。符号也许根本就不是必要的手段,更不必谈什么两派大团结大融合。国际歌很悲壮 说这是最后的斗争,等价的说法就是 这是垂死的挣扎—— 如果世界的本质根本就不是符号的话。

白:
世界本质是波粒二象性

 

【相关】

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

《朝华午拾》总目录

 

【李白刘董85:汉字优越吗?】

李:
想到一个事儿,关涉词素这个议题,语言学基础课里面已经说得清清白白。但在大众认知中,甚至在专业人士的讨论中,还是常常概念不清。表现在那些流行的“汉字优越论”的各种演讲中。

汉字优越论因为与文化自信和民族自豪感搅合在一起,天然政治正确,因此无论怎样拔高、夸赞,无论符合不符合语言学基本原理,都容易大行其道 深入人心。其中最流行的说法是,几千个汉字可以表达的概念,比几万个英文词汇表达的概念,还要丰富。

这种说法不能说完全没有道理,但本质上似是而非,经不起语言学基本面的推敲。

要害在,这是苹果与梨子在比较。

汉字是语言材料的最小单位,是词素(又叫语素,morphome)。英文词汇表中的词不一定是最小单位,里面也有复合词(compound:black-board),也有派生词(work-er)。如果是词素与词素比较(这才是 apple to apple comparison),语言之间在数量上的差别绝不会如此悬殊。上面的 blackbooard(黑板)和 worker (工人)就不是两个单独的单位,而是跟汉字一样,一一对应,应该分解为四个语素。

正确的符合语言学常识的说法是,几千个常用的汉字对应西方语言几千个词素(词根或词缀),它们可以合成几万个常用词汇,代表了日常语言中所需表达的概念的绝大部分。

这样一来不就是半斤八两了吗。显现不出汉字的优越性,还是心有不甘。

其实,真要深究,还是可以更加合理地为汉字优越找到一些语言学的根据,而不是人云亦云地拿自家的“字典”(词素表)与人家的“词典”做粗暴比较。

虽然世界上演化这么多年到今天的主要语言,无论东方西方,无论汉藏还是印欧,在这个信息飞速流转的地球村,都有足够的语言材料来表达所需要的概念了,但是汉字为词素的中文还是有一些额外的方便。这额外的方便可以算在汉字优越头上,只是要表达清楚这个优越性,需要一些语言学。

比较英语的词素(词根 词缀),汉字为词素的中文,其造词法更具有产生性。

换句话说,国人可以更轻易地“造词”。这也可能是缺点,反正语文老师对小学生“生造词”一直是很不以为然的,过犹不及。他们的责任就是约束学生的造词能力,怕学生没必要地造出太多的词出来,行文不规范。但是,原理上说,这是语言的灵活性和适应性的体现,应该算是优越的语言学特点。

今天听中文网络广播,听到一个超出我的词汇范围的词(术语叫OOV,Out of Vocabulary,其边界因人而异,我的OOV词对于我来说就是“生造”词)“区隔”(后来查了万能的互联网,发现是一个被共同体已经接受的词),因为这词于我是第一次听到,我愣了一下,但很快就从汉字及其关联词汇(“区分”、“分隔”)意会到其语义。这说明什么,说明汉字组词有很强的随意性(明明有常用词“区分”,也不妨再造一个几乎完全等价 的词来),对于听者和说者的顺畅交流通常不构成障碍。增加的是灵活性、多样性,以及从灵活性而来的新鲜感(谁愿意老“墨守陈词”)和从多样性逐渐带来的细微差别(nuance)。

为什么同为语素,汉字组合成词,比起英语语素组合成词,更加能产呢?

要起床了。先停下,以后再聊(老话说,且听下回分解……)。

刘:
@wei 我对汉字优越论也持怀疑态度。不仅仅是你说的原因。我觉得汉字的表义性对词义的理解有好处也有坏处。好处当然是可以减轻学习新词的负担,看到新词也容易猜测意思(如你所说英语词素也有类似作用)。但从另一方面来说也会带来坏处,就是容易望文生义。有些词义仅从字面解释容易造成误导,另外一个坏处我觉得是带来翻译的困难,这一定程度上阻碍了外语新词的传入。

白:
“电脑”的命名跟汉字的优越性不知道有没有关系。

刘:
前不久还见周志华在微博上吐槽把Robot翻译成机器人使得这个词在中文里面的意思发生了变化

白:
还有,intelligent和smart都翻译成智能,中国凑AI热闹的人群一下子大了好多。

魯:
嗯嗯,Robot建议翻译成“若博”,信达雅…. 哈哈哈哈

白:
“肉薄”貌似也可以。

董:
把翻译中出现的瑕疵或缺陷,都算在汉字的“不优越”头上,欠公平。别人也许会举出“可口可乐”、“出水芙蓉”等来说“优越论”。其实,一种语言都有自己的特点,有好的地方,也会有不足的地方。汉语重义,英语重形。在思考和研究语义时也许可以更多地借重汉语。

姜:
有个机构试图把“Internet”翻译成“因特网”并强力推广,但大家都不认,都觉得叫“互联网”好。“互联网”易于理解,不必另造新词,民间其实也早就一直这么说了。

李:
@刘群 很同意,这正是我想要说的。

构词的灵活是很大的优点,也有副作用。不过,正反比较,我还是觉得,好处大于缺点。我这么说,除了源于汉字这个现象的思考,还源于我对世界语构词法的观察和研究。柴门霍夫对于构词法的设计,与汉字构词非常贴近,但更加“优越”。其结果是,学会几千个语素以后的世界语者,都可以随心所欲造词。副作用是,每一个造了新词的人,都留下了争论的空间。

根子在:新词所对应的概念到底是黑色的(必须最终通过词典注册来绑架),白色(透明)的(完全是compositional),还是灰色的(介于二者之间)?

譬如,电脑不叫 komputero,可以临时造一个词 叫 kalkul-ilo(calculator),留下的争论空间就是,你到底是指的 “电脑” 还是 “计算器”?

再如 筷子不叫 kuaizio,可以生造为 “mangh-ilo”(用餐工具),留下的争论空间就是,到底是 “筷子” 还是 “刀叉” ?

白:
我觉得望文生义出现误差是免不了的。

李:
对啊。
好在在说话的现场,这些误差和副作用会自然消解,所以,富有造词法灵活性的语言 譬如汉语和世界语,还是长处大于短处。对于严谨的场合,譬如学科论文 专利文书,这种灵活的透明造词法,常常让位于黑箱的新词,所以专业术语最好是音译(等价于生词)或直接用外文,或者起码在透明翻译后面再括号里注明外语的等价物,凸显其黑箱子特性。因为是黑箱子,留下的争论空间没有了。必须先给这个新词做一个定义,杜绝了望文生义的可能性。

白:
临时词就没有是否“地道”一说了。比如“马桶抽子”,是不是一定叫“抽子”不重要了,指出是疏通工具,就够了。

李:
所以,我同意董老师,汉字的表意性,及其汉语的自由度很大的造词法,大面上看是一个很大的长处。不求甚解,一般比两眼一抹黑好,至少对于人这点可怜的脑记忆量。到了电脑,再大的词汇都不是问题了,但词典是要“绑架”才有定义的,这个绑架的工作就不得了。好在最近有个深度神经的好东西,word embedding,有点神奇,可以在定义绑架这件事儿上发力。前提是那些个生词要有足够的大数据垫底。

白:
辅助望文生义的话,战斗机器人叫“肉搏”,对话机器人叫“若博”,那啥机器人………、

李:
需要的不是带标大数据,本质就是 clustering ,非监督的,所以还不真正构成太大的知识瓶颈。原理上属于 propagation,自动从有知推展到无知。

白:
非监督是正解

董:
说到翻译,还有“马桶”。一个不好的翻译例子是“抽水马桶”(flush toilet)–别误解为用来抽水的、像抽水机那样的用具。因为V+Nde结构,多数可以是用来V的N.

白:
往里抽不是往外抽

李:
马桶幸好是常用登录词,每个人的词典都内在绑架了,所以看上去透明的,其实是黑箱子。万一一个老外新学汉语,或者一个儿童第一次接触,就糊涂了,这与 马 这个词素有什么关系呢?

白:
@wei 跟“扎马步”不知道有多少关系。

李:
马桶为什么不给马用 而是给人用呢?好处是半透明,即便老外不懂为什么有马在里面,起码能蒙对这是一个桶一样的物件。

沙发 和 软椅 也是如此。后者黑箱子,必须扩大词汇量。前者不用,但。。。

白:
从“马拉松”到“半马”“全马”“北马”“厦马”,洋词儿变地道的土词儿了。
不是捆绑那么简单,有内生的能产性最恐怖了。

李:
“半马”“全马”“北马”“厦马”等,对于我还是要登录(记忆)捆绑才能理解。大概谁开始说 大半马,也许我们不用捆绑也悟出来了。

白:
捆绑+派生+简化.

有了例子,后面就是泛化了。京巴,也有点这个感觉,其实“大巴、中巴、小巴”究其根源也是这种类型。

 

【相关】

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

《朝华午拾》总目录

 

【李白王董84:再谈POS迷思,兼论 PennTree 的误导】

王:
动词名化确实不好处理的难办事,以前做词性标注,准确辛率不高,就栽在这,n,v,vN上了,还有区别词b。当然现在语法理论,一个小小助词“的“就有管住核心谓词的能力,使之由V变N。

白:
A、“粉红凤凰”,B、“红绿色盲”,C、“真假和尚”。
A、粉修饰红,粉红修饰凤凰。
B、红绿并列,但并不是用本意的叠加修饰“色盲”,而是用不能区分这两种颜色来定义色盲的具体类型。
C、真假并列,通过分配律把共享中心词“和尚”送给二词修饰,表示“真和尚、假和尚”。
修饰成分间的关系很不简单呢。

李:
我对 b 的第一解读是 c 的并列
看了讲解才悟出来 也许还有 nuance
感觉差异已经细微 微妙到很少需要在意区分的程度了

@wei wang 中文中的所谓动词名物化 nominalization
很大程度上是一个伪问题 一个语言学迷思
强加到 POS 模块 作为其难点 更是一个自找的麻烦
工作 学习 睡眠 吃饭 下雨 打雷
这些词 类别很清晰

王:
@wei,对此我也迷惑

李:
(逻辑)动词 万变不离其宗 没有 POS 区分的必要性

Wang:
这点我同意李老师。所以,我说现代语法理论,是否需要调整一下?只是不敢妄论。
如果都能走对,倒无妨,就怕转得有对有不对,就确实是问题了

李:
在 POS 先于句法的通常架构里
把句法的不同用场 强加到 POS 标签去 是真实世界的天下本无事 x人自扰之。
真有好好的路 硬是自己挖个坑 然后就自己跳进去 然后抱怨路不平。

王:
当然,我现在已经跨越POS这个,不使用POS而直接走句法了。不过对别人而言,这词性标注依然存在。即便标注,我也认为动词体征的,就一直动词体征走向去,比较好。

李:
汉语语法学界上世纪50年代的词类大争论,大争论当年没争出结果来,是时代的局限。

王:
我的看法是,也不去争论。

李:
词无定类(“词无定类 入句而后定”)走向一个极端,无法服人,但其思想有闪光之处。

王:
而是拿到系统中去跑,能跑得好的,自然就是好的,至少这正是我们所需要的

白:
结构强制在技术上一点不复杂,问题是算句法还是算词法,但这都不是技术问题,是旗号问题。旗号与我何干?

王:
至于语言学方面,那是另外的一回事

李:
对于具有 consistent ambiguity 的词,
本体上就是无定类,但是一说“词无定类”就扩大化了,以为所有词都是必须要句法,要上下文,这就陷入了鸡和蛋的死循环,当然不能服人。
这个迷思从哲学上不难看穿。可是实践中却坑了人太多 太久 而且还继续在坑人。

王:
@白硕 说的是,确实不是技术问题

李:
如果一个东西 在有些场景下看着是 红色 有的场景下看着是 黑色
自然的结论就是给个 X 的本体标签,让 X 统辖 红 黑 两个标签,至少这个信息的外延是清晰的,是红黑的区域,不是蓝 不是绿 不是紫 等等,这才符合事实 恰如其分。

王:
这是否分两种情况?
1)本来是多义词,兼有多种词性的;2)已经定了就一种(比如纯动词),走着走着,变了,

李:
不说多义词。多义词(细微差别不算)那是两个词,凑巧长得一样了,其归属自然也可能不同。

王:

李:
只说 2)
2) 没有 POS 半毛钱的关系。
汉语中的 POS 任务中 纠缠了几十年,原来一开始就把任务定义错了。

王:
请问,那么怎么“ X 统辖 红 黑 两个标签”

李:
对于我们讨论的动词名物化,这个 X 就是 V,可以读成逻辑动词。这个 V 是词典给的,没有歧义,何用区分?

王:

李:
到了结构里面做了主语或者宾语,它没有改变 V 的本性:词义没变,归属自然也没变。所改变的是句法 role。

王:
同意

白:
没有X统辖那么简单。以“出版”为例,被赋予了动词特有的零碎,比如加“不”,仍然可以再通过“的”强制为名词;但是反过来,已经被名词特有的零碎强制过的,不可能再被强制回动词。
本性是动词,强制为名词,然后就凝固了,不接受变回动词的再次强制。

李:
没问题啊。
这些个细节 与标签没大关系,标签还是 X。只要词义不变,标签就没有道理变,这是本体 taxonomy 决定的。词义变了,标签有可能变。在同一个词义下给不同的POS标签,对于汉语这样缺乏形态的语言,是不合理的。

王:
我的看法是,不去改变词性
这本书的出版,—-出版依然是动词,—可以看作是一个成句中谓词
这个成句,是一个小句(子句),可以做主语,或宾语,这样,句法上也顺上了,而且,词性也没去改变

李:
换句话说,汉语这样的语言,POS 应该用的是逻辑类

白:
问题是啥叫词义变。“真孙子”里面的“孙子”,我感觉词义变了。

李:
世界上所有的语言的词汇,都有逻辑类。这是语言共性。但是形态语言 在逻辑类之上,经常使用形态变换,把逻辑类穿上不同的衣裳。穿得好的话,可以脱离场景做句法。例如 俄语,morphology 很大,句法就简单了。极端来说,别说 POS 标签,就是本质上是上下文结构决定的 role,也可以脱离上下文 在词上反映:宾格就是宾语 role。

王:
同意@wei 在同一个词义下给不同的POS标签,对于汉语这样缺乏形态的语言,是不合理的。

白:
填坑使用的不应该是逻辑类,应该是角色。比如“这本书的出版怎么没通知我”当中,“这本书的出版”填坑时就是N。“这本书出版怎么没通知我”当中,“这本书出版”填坑时就是S。

王:
这本书的出版—-看作一个小句 ,小句也相当于名词作用。出版–作为一个事件出现
事件—>没通知我。

李:
填坑不外两点:
1. 句法上要的是什么形式(包括标签或子类,或直接量),这是输入条件;2. 语义上是什么 role,这是输出角色,是“理解”的形式化。不能混淆输入和输出。输入条件用逻辑类,没有问题。句法的工作,起点就是词典信息。逻辑类是词典信息的重要方面,是词典本体信息体系里面层级最高的那几个标签。

白:
但,“通知”的内容那个坑,就必须是个X,混儿。见人说人话见鬼说鬼话。

李:
“出版”的坑:
(1)第一个坑
输入条件:publication (本体链条属于逻辑名词)
输出角色:【受事】

(2)第二个坑:
输入条件:human_or_organization
输出角色:【施事】

这才是 “出版” 的真实面貌。至于语言应用中,上述类似 HowNet 定义出来的 subcat pattern, 应该如何松绑输入条件 来应对鲁棒与活用,那是另一层面的勾当。

王:
就是说,不能因为一个“的”字,把本来清晰骨架,垫走了样。

李:
“通知”的坑:

(1)
输入条件:thing_or_event

(这就是白老师所谓变色龙,其实本体链条上,不过是在逻辑n与逻辑v上,再抽象一个统辖的 n_or_v,thing 就是逻辑名词的通俗表述,event 就是逻辑动词的通俗表述)

输出角色:【content】

(2)第二个坑是施事【谁】
输入条件:human (具体语言还有格、词序、介词类的条件制约)
输出角色:【施事】

(3)第三个坑是对象【向谁】
输入条件:human (具体语言还有介词、格、词序类的条件制约)
输出角色:【对象】

回来总结一下:坑里面使用逻辑类或者逻辑类下辖的子类 甚至 直接量(等价于具体词义搭配)是天经地义的。至于这些条件的松绑,所谓 preference semantics 那是语言应用中的窍门。为了鲁棒必须松绑,松绑会一步步从具体逻辑子类,向高层的逻辑类去。

王:
同意李老师

李:
HowNet 是独立于语言设计的,它的最上层 top 节点 其实就是逻辑类,event 就是 v
thing 就是 n。其实还应该再往上走一步,thing_or_event,但反正有 OR 算符,所以走不走也无所谓了。

白:
可以看成一个lattice,and就低不就高,or就高不就低。

李:
HowNet 其实是两个东西在里面。第一个是本体,董老师对人类认知和常识体系的总结和设计。第二个是语言落地(汉语,英语,……)。这第二步是通过给汉语词汇标注 HowNet 本体标签的方式实现的。这时候的本体已经落地到具体语言了。

白:
修饰语隐含的被修饰语和真实的被修饰语做or

李:
PennTree 在英语NLP中已经很多缺陷,时代的局限,误导了很多人。

白:
总感觉HowNet不完全满足这个架构

李:
PennTree 的那一套标准用到汉语更是误导,不如直接用 HowNet 来作为标准。

白:
想都不要想,肯定不会用PennTree

李:
至于选取 HowNet 顶层或者中上层的哪些标签作为中文 POS 的任务,可以再议。POS 选得细了,就几乎等价于 WSD 任务了(事实上,白老师很多时候在讨论中就是把二者看成同一回事儿,道理很显然,WSD 说的是词义区分,词义的taxonomy 链条就是逻辑词类)。

王:
现在很多评测都是以宾州树库来做基准的。我也想过,就算那个F值即便很高,那么真实应用就是那么高的吗。

李:
HowNet 在语义领域可以独树一帜,能够站得住,相信也能够经受时间,其中原因之一,是由于董老师是中国人,讲的是“裸奔”的汉语。裸奔的汉语与逻辑最贴近,有自然的亲密关系。这对排除语言的干扰,从逻辑的高度审视语义,有天然的好处。如果要讲中国人对世界文明作出自己的独特贡献,HowNet 可以是一个代表。

王:
李老师对其他语义词典是如何评价?

李:
哪些?

王:
比如wordnet ,同义词词林

李:
早就不用 WordNet 了,麻烦比好处多。擦不完的屁股,以至于用了两年后,不得不全部推翻,宁肯自己零敲碎打,不完备,增量积累做语义标签,也不愿意陷入 WordNet 泥坑。

王:
主要是想说直接是树状,而非网状的这类

白:
标签体系必须是DAG

王:
分类体系做得不好,还是后期建设不好,比如冲突出现?

李:
其实 WordNet 是可以改造得好一点的 好用一点的,但只听说有人说改造,但没见到有人愿意坐冷板凳去真地改造它。

白:
标签体系的数学基础,一是type theory,一是lattice。lattice解决单类型的上下位问题,type解决复合类型的构造问题。

王:
上下位好理解,这复合类型就不好理解了,请白老师讲解

白:
@wei wang 带坑呗

王:
明白了,我还以为复合类型,穿插把不同上下位的分支。又结成了网

白:
上下位是为不带坑的type准备的,带坑的都是复合type。

王:
@白硕 带坑是一个词带n个坑,这几个坑是另外的词

白:
@wei wang 对的

王:
是否有的词,本身就自己萝卜和都带了,这样的词如何分类?比如一些成语

白:
标签也分层。微结构,比如“扫地”,合起来是一个坑,微结构又可析出一个萝卜一个坑。

李:
subcat 既是子类(atomic 的标签),也蕴含了潜在的结构pattern,说 vt 其实是说有这类动词子类 挖了个宾语的坑。

白:
地不扫,何以扫天下

王:
@白硕 那看成一个整体,仍在统一分类体系,

李:
HowNet 开始用的时候也有问题(有些问题与 WordNet 类似,没那么严重),给董老师反映过。问题的根源在 董老师需要一个逻辑完备自足的义元体系,为了这个自足和完备,标注的时候就务求细而全。

HowNet 中的一个个单字的标签特别丰富,特别细,把这个字(词素)各种可能语义都反映了,甚至包括只存在于 idiom或合成词 中的词义。这其实给使用带来很多噪音。我一开始是试图 删减。后来发现对于单字的标签,删不胜删,最后决定索性单字的标签不用。要用的自己临时增量式加入,宁肯 under labeling,不能 over

王:
@wei “后来发现对于单字的标签,删不胜删,最后决定索性单字的标签不用。”
单字,是义原的核心,就是不用单字最基本的,而直接使用信息能独立的,更有代表性?更便于处理?

李:
不好用啊。很多汉字 看上去不过一两个词义,结果里面标了五六个词义,仔细想 确实都存在。但是用起来就是眉毛胡子一把抓了。

王:
嗯,我觉得建造体系可以这样建,想怎么用就是应用来选了

李:
如果这五六个词义的确都是自由语素的词义,虽然统计上出现频率不同,但逻辑上这样标注没有问题。但有些词义从来不作为自由语素的语义出现,只存在于合成词中,那就没有理由标注了。这个问题,董老师后期版本有了 config,可以筛选。做了弥补。这个问题在 WordNet 中更严重。

王:
嗯,谢谢李老师,白老师的解答。时间不早,明天上班,我先拜拜。

李:
晚安 @wei wang

王:
晚安!真的我还没聊够的感觉,特别是,语义分到什么类别,很关键,对系统有很大影响,也深有体会

白:
据我的经验,先别说具体类别,先说长什么样,更容易把握。数学上什么样,计算机里什么样。实体、属性、关系、值,这是一个层面。事件是另一个层面。时间空间因果模态,又是一个层面。知网中很先知先觉地引入了“变关系、变属性、变状态”等事件子范畴,相当高明。真的很赞.

董:
讲一个真实的故事。1988年由日本发起的五国机器翻译项目正在进行。在一次饭桌上,日方的项目负责人内田裕士谈起该项目的语义研究落实问题是说:”这个项目的语义研究,是不是请中方负责,具有中华文化背景的人对于语义有更高的敏感性。”
只是觉得只要由中方来负责,总归是好事情。我就表示同意了。可是对他的那句有关“中华文化背景”的断语,还真没有完全理解,但饭桌上也不适合讨论下去。后来时隔近20年,内田先生来北京,那次我们只是几个人一起吃饭。我问他:“你还记得20多年前,我们在讨论MMT的语义研究时,你说过一句话。你说’具有中华文化背景的人更适合做语义研究吗?我一直想问你你为什么会这么说呢?’”
他说的很简单:”因为是你们有汉字”。那时候我已基本完成了HowNet的研究和开发。HowNet正是以汉字为理念依据的。前两天我跟李维讨论。说到洋人不懂汉语,跟他们讲深了他们不理解。

白:
这些要是落在知识图谱里,不得了。

 

【相关】

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

《朝华午拾》总目录

【李白宋83:点评 “人工智能的诗与远方”】

Me:

NLP:人工智能的诗与远方
好像是白老师的最新指示。刚在微博看到。金句连珠,隆重推荐。行文如流水,简洁 干净 深刻。

无论使用什么样的句法分析技术,有一点必须明确,就是句法本身是不自足的。细粒度描述的句法不具备鲁棒性和可行性,而粗粒度描述的句法往往必然带有伪歧义。

“粗粒度描述的句法往往必然带有伪歧义”没疑问,为什么“细粒度描述的句法不具备鲁棒性和可行性”?是的,细粒度描述的句法不具备完备性,但鲁棒性与细不细的关系何在呢,可行性就更可以商榷了。

细颗粒的极致就是“词专家”,没有看到不鲁棒或不可行的问题,就是琐碎,劳动量大,概括性弱。

“句法本身是不自足的”,是反乔姆斯基的论点,反得好。但与鲁棒和可行不是一类概念。白老师自己给的简要定义是:鲁棒性(对灵活语序和修辞性失配的适应性)。

鲁棒与规则层级体系(hierarchy)关系大,与规则本身的颗粒度关系小。语序说到底是(显性)形式条件,语义适配(语义相谐)也是(隐性)形式条件, 所有的形式条件都有弹性(优选语义),可松可紧,这就是层级安排因而鲁棒的根本原因:紧的条件精确但不鲁棒,松的条件鲁棒但不精确,配合得好,就可以又鲁棒又精确,或者至少维持在一个兼顾鲁棒和精准的准入门槛之上。

白老师的《NLP:人工智能的诗与远方》值得咀嚼。标题好文科、浪漫。但这是一篇严肃的高阶科普。一如既往,白老师的文字,举重若轻,高屋建瓴。

wang:
在我看来,李老师最后这一段描述,和白老师对句法所描述的,是一致的,并不矛盾。只是选的视角不一样罢了。完全同意李老师的弹性适应,这一点我也是这样做到

白:
1、琐碎到不合算就是不可行;2、一头扎进细粒度,一定会失去对灵活语序和修辞性失配的宏观把握;3、分层就是在粒度方面保持弹性的good approach之一。顺便说一句,这个是节选版本,原稿比这干货多得多。

李:
原稿在哪?

wang:
期待白老师,合适时机放出

李:
1. 琐碎到不合算其实很少存在:
如果是狭窄domain(譬如天气预报),琐碎是可行的,也就谈不上合算不合算。

白:
狭窄 domain甚至不需要deep parsing

李:
如果是 open domain,几乎没有琐碎单打一的。总是在一个大的框架下(better,层级体系的设计中),利用琐碎(细颗粒度)做增量修补。

白:
这就是分层了

李:
换句话说,琐碎不可行,最多是一个吃饱了不饿的真理。这也就回答了第2个问题:一头扎进去,单打一,做系统没人这么做。

白:
不是人人如伟哥般真理在握的。从外面搬来开源系统就想比划的不知道有多少,伟哥这是高处不胜寒。

李:
“3、分层就是在粒度方面保持弹性的good approach之一”, I cannot agree more

期待看原稿:这篇稿子太过简洁,很多地方真地是点到即止。

好,再精读一遍,摘录一些当面请教白老师,摘录可classify 为:1. 可圈可点;2. 可商榷;3. 没看懂

鉴于自然语言丰富地表现了人类的认知、情感和意志,潜在地使用了大量常识和大数据,自身在算法和模型上也多采用各种启发式线索,目前一般均把自然语言处理作为人工智能的一个分支

“算法和模型上也多采用各种启发式线索”:heuristics?

白:

李:
这个总结直感上很精到:无论什么模型,规则也好,统计也好,联结也好,其实都是反映 heuristics,英语没问题,汉语读者大概搞不清“启发式线索”的不在少数,这个术语以前论过,从来就没有好的译法。

白:
启发式这个翻译,在中国大陆的大学里正式的人工智能课程里应该是比较通行了的。

李:
第一张图,机器翻译和人机接口作为NLP的现实代表,很合适。但什么叫“纯人机对话”?

白:
就是没有任何grounding的人机对话。

李:
哦,以前是玩具 bot,现在是聊天机器人,将来可以落地(grounding)到老人陪护或心理疏导。

落地艰难:非良定义

什么样叫非良定义?点解?
不能完备定义,只能例举,或就事论事?

白:
说不清标准,说得清答案。ill-defined
知道输入对应什么输出,但不知道依据什么得到输出。

李:
我其实想问:这里想说明什么?是说NLP落地很难,主要是因为目标不明确吗?

白:
非良定义和落地艰难是并列关系不是因果关系。

李:
这句赞 赞:对于各种自然语言来说,大体上占到2型的很少但很不规则的一部分,但部分现象呈现上下文相关性,会在局部对2型有所突破。这就是笔者所说的“毛毛虫”现象。

其实2以降“很少”到几乎可以忽略(或绕道而行)。“突破”一般不必是着力点。

0型语言是翻译为“递归语言”吗?文法上,0 型是短语结构文法。这个其实也很 confusing,因为层级体系是蕴含关系的:3 也属于2,1和0,但窄义或另义的 PSG或短语结构图,是相对于 DG 而言,PS 是 constituency 的同义词,讲的是“兔子吃窝边草”的路数,而不是 DG 的兔子不必吃窝边草的逻辑跳跃的路数。

白:
PSG的原始定义就是0型。窝边草是对的,但窝边草怎么来的有玄机。把一堆窝边草重写为另一堆草,这就是0型。

李:
从语言类型学角度,一般而言,PSG 适用语序相对固定的语言,英语、汉语等;DG 适用自由语序的语言(如 俄语)。0 型 从复杂度角度,不是没有章法么?爱怎么整都行。因此,最有章法的正则自然也属于0型,有限制的一定落在没有限制之内。

白:
只是对重写有不同的限制,依据都是窝边草

李:
但学习这个层级体系的不少人,可能本能地把层与层隔绝在互不包含的院墙里(也许只是文科生容易这样陷入?)

白:
这篇文章不是讲给没学过类型分层体系的人的。计算机专业学过形式语言与自动机或编译原理的都应该不陌生。

李:
不懂:“实际上,鉴于欧氏空间具有良好和丰富的数学工具可用,语言/文本的向量化努力是跨越统计和联结两大阵营的”。

不过,这不是行文的问题,应该是受体的知识缺陷,可能讲解了还是不懂。

白:
欧氏空间这段,详解被删了。统计的典型是LSI,联结的典型是词嵌入。

李:
word embedding 最近体验了一点,是有点神奇。

可圈可点:这段时期之所以NLP既远离“人工智能”的招牌,也远离“计算语言学”招牌,是因为人工智能招牌在当时并无正面贡献,而语言学家在经验主义范式下不得施展甚至每每成为负担。

这是对历史的精确描述。AI 曾经像个丑小鸭(或瘟神),人人避之不及。计算语言学名不副实或有名无实,久矣。

白:
原来这杆旗下的人还要继续混日子啊

李:
后面一段是革命乐观主义和浪漫主义,蛮鼓舞人心的:

深度学习技术以摧枯拉朽之势横扫语音、图像识别和浅层自然语言处理各类任务,知识图谱技术为语义知识处理走向各行各业做好技术栈和工具箱的铺垫,人工智能招牌强势的王者归来已经在所难免,自然语言处理技术也自然地成为了这王者头上的王冠。这是因为,语音和图像识别大局已定。自然语言处理已经成为一种应用赋能技术,随着实体知识库的构建、知识抽取和自动写作在特定领域的实用化和对话机器人从对接语料到对接知识图谱的换代,正通过新一代人工智能创新创业团队,全面渗透到人工智能应用的各个角落。

其中强调两个支柱:(i)深度学习的算法;(ii)知识图谱的表示。
其实有点格格不入:前者是经验主义的极致,后者是理性主义的表现;前者显得高大上,后者显得平庸但实在。

白:
所以波粒二象性啊

李:
by the way, “对话机器人从对接语料到对接知识图谱的换代”这是在下目前的重点课题或挑战。

知识图谱的概念被谷歌炒热以后,其实稍微拔高一点看,没有多少“新意”。不过就是“结构化”的具象而已,结构的图示(visualization)化、大众化而已。图谱早就植根在乔姆斯基符号体系以及其他种种语义流派的传统里,通过MUC的信息抽取的语用落地,导致谷歌利用搜索把它活生生展示给亿万受众,激发了大家的想象。

白:
而且只是一小部分。被删掉的部分讲了哪些地方是“一小部分”不能涵盖的。

李:
对的,被炒热的知识图谱就是结构化中的一小部分。也是最简单的一部分。知识图谱是很平民化的东西,讲到底就是一个烧钱烧资源的知识工程。典型代表就是一个多少亿的三元组,还不如 tree bank,从数据结构看。更不如各种规则 formalism,最简单的产生式规则也有 if then。

白:
挑战性的东西不少,看不到就没办法了。不能光看表达力,还要看技术栈、工具箱。后者丰富前者贫乏,仍可以做大事情;前者丰富后者贫乏,只能做玩具。

李:
是 是:“后者丰富前者贫乏,仍可以做大事情;前者丰富后者贫乏,只能做玩具。”

自然语言处理从浅层到深层面临范式转换,还处在对接情感计算与常识计算的战略性要地的关键位置。谁能拔得头筹,谁就能在当下的人工智能“军备竞赛”中处于有利地位。

深层解析需要常识计算我们在本群讨论中见过无数例证了。需要情感计算也见过一些。

基于统计的范式繁荣了近二十年,终于在2010年前后被同为“经验主义”学派的基于联结的范式所全面取代。这是深度学习算法显现的巨大威力,也是数据和算力积累到临界点的一次综合性的爆发。

据说,有一代人有失落感,他们当年横扫千军如卷席,各种算法花样翻新,从朴素贝叶斯,HMM,CRF,MaxEnt,。。。各种参数设计身怀绝技,突然九九归一,以前的绝技似乎不再闪光。这种失落不亚于语言学家面对统计学家长驱直入而带来的边缘化的失落感。历史循环还是报应?真是 30 年河东,20 年河西。

白:
没那么不堪吧,有啥用啥,干嘛一定站队。

李:
目前,基于联结的范式风头正盛,但“深度”自然语言处理的需求压力之下,“理性主义”学派以某种方式再度回归,实现“波粒二象性”的有机结合,也是可期待的。

这个有机结合,NLP老司机呼吁较多,新一代的联结主义者似乎无暇他顾。当然,无暇不仅仅是“攻城掠地忙”(毛委员打土豪那阵,农民革命就曾“分田分地忙”),也因为这种“有机”结合,真心不容易。

看今后10年吧。

词法分析领域绝非基于词典的分词这么简单,这个领域还有大量有待攻克的难关,有些难题已经与句法分析搅在一起,非统筹考虑是无法单独推进的

这个观察到位,但真认识到的人不多。特别是汉语,在进入句子结构之前,基本分词之后,还有一个广阔的地带。其中不乏难题。有些是致命的。领域化在这个方面也有很大的挑战。譬如,看电商的标题,那种 sub language 简直就不是汉语。

白:
这一节删掉甚多。提到了词性标注、命名实体识别、形态还原、构词法。形态还原中特别提到了离合词。

李:
的确删太多了。

还有一个可以探讨的事儿:觉得 DG 和 CFG不好相提并论。DG 本身不是算法,只是表达法。

白:
都不是算法

李:
CFG 比较直接地蕴含了算法,譬如 chart parsing,DG 不蕴含任何方法,也许隐隐蕴含了自由语序的匹配方式。从表达法(representations)角度,DG与PSG并列,是两套表达体系。声称 DG parsing 的人,其实用的 formalism 与做 PSG parsing 的人无异,逃不过乔姆斯基的佛掌。anyway,只是感觉大家在讨论中这方面有时候似乎容易概念混淆。从表达法来看,也没有单单的 CFG,CFG 属于 PSG,所以表达法只有 PSG 与 DG 之别。

Nick:
白老师这篇要认真学习

李:
@Nick 咱有样学样啊。。。

最后要说明,即使语言的结构表示模型是基于理性主义(符号或规则)路线的,但语言解析过程本身仍可以采用基于统计的或基于联结的方法。比如PCFG就是基于规则的结构表示与基于统计的过程控制的有机结合。

PCFG 是有机结合的先行,但不算成功,文章似乎不少,但没见多少实效。今后几年看白老师的了。

词典化(免规则)、单子性(免复杂层次)、局域化(免跨成分关联)和鲁棒性(对灵活语序和修辞性失配的适应性),是自然语言句法分析技术未来的发展趋势。

“局域化(免跨成分关联)”不大明白,其他几方面可说是有相当共识,所见略同。

知识图谱的技术栈里算力充足工具齐全”:这个需要检阅一番。

白:
PCFG不见实效的关键原因,一是CFG先天不足,二是标注成本过高。如果不能变为非监督或弱监督,必死。

李:
对,P 要到位就要超大数据,否则怎么个概率法?可是结构标注根本就不是人做的的活儿(PennTree 这么多年成长也很有限,增长部分大概是语言学研究生的苦力)。

quote 此外,人类的语义解析过程充满了所谓“脑补”。可见,借助知识图谱,智能化地完成这类需要“脑补”的语义理解过程,是语义分析技术走向实用和深化的必然要求。

这段话群里的人 可能会理解,但对于大众,无异天书,必须要有相当的 illustrations,脑补的是常识,专业知识?是常识中的默认选项,etc. etc.

白:
这里也删去几百字。

李:
知识图谱的好处是为结构化张目。很久以来,没人尿结构化这壶,一草包词 多厉害啊,鲁棒到极致。用于搜索,不仅鲁棒,还特擅长长尾,tf-idf,越长尾 关键词越灵 要什么结构劳什子。连词序都可以舍弃,何况结构?

到了 ngram,词序带入考量了,算是对语言结构的一个看上去拙劣粗鄙 但实践中颇有效的模拟近似,因此也不用着急蹚结构这个浑水了,来个 bigram or trigram model,还有个 viterbi 的高效算法。

现在好了,趁着图谱热,结构化的旗帜高高飘扬。终于可以理直气壮、名正言顺地大谈结构化乃是自然语言理解的正道,乃是人类智能的基石。为这一点,要感谢谷歌。就好比我们应该感谢苹果,通过 Siri 把自然语言接口送到千家万户,教育培养了用户。

下面这些都是字字真理:
自然语言处理能力以平台化方式提供服务,是广大自然语言处理技术提供者求之不得的事情,但目前还受到一些因素的限制。现实中,更多的自然语言处理技术是融合于一个更大的行业应用场景中,作为其中一项核心技术来发挥自己的作用的。

NLP平台化迄今没有大规模成功案例。趋势上是必由之路,但今后何时真地可以平台化广泛赋能,真地是一个未知数,我们从业人员都在努力 。。。。

除了法律、医疗、教育等先行行业之外,金融证券行业对自然语言处理技术业有很迫切的落地需求,但往往必须结合专业领域知识和私有数据才能构建有价值的场景

就是。

熬了一夜,精读了白老师最高指示。
两个等待:一是等着看原文(非删节版);二是等着看白老师的系统。

宋:
读白硕的文章,的确高屋建瓴,分析得透彻。我觉得还应该补充一点(也许是简本删掉了的),就是语言学研究的必要性。具体来说,就是语素、词、词组、小句、句子(小句复合体)的定义,以及相关属性(如词性)及关系的定义。对于英语等西方语言,似乎一切都很清楚,不言自明,无需当回事儿去研究,但是论及到汉语一切就都糊涂了。不能适用于汉语的语言学概念的归纳,都是偏置的。基本对象及其属性、关系的概念不清楚,相应的模型和计算就不可能完全适用。

白老师的全本中会讲离合词,这个概念就是其他多数语言中没有的。但是,如何从人类语言的高度看待离合词,期待看白老师的全本。

白:
@宋柔 我感觉语言学并没闲着,只是节奏慢了点,在NLP这边是没人理睬,而不是挑出很多毛病。挑拣的才是买主。挑拣才能让语言学加速。

宋:
语言学方面的问题是没有照着机械化的可操作的要求去做研究。

白:
@宋柔 光算法层面的机械化,语言学家或可手工模仿;扯进大数据,连手工模仿都不可能了。

宋:
基本概念的定义,比如词的定义,应当适用于大数据中的所有样本,语言学应当做这件事。

白:
只要承认运用中可拆解,词的定义不难。@宋柔

宋:
不仅是运用中拆解的问题,还有一个粘着性的问题。

白:
粘着性倒是真的可以大数据说话

宋:
你说的有道理。语言学的基本概念的定义。真的不能是静态的,需要在大数据的环境中定义。基本原则是这样。定义的结果,哪个是词哪个不是,要看参照哪一堆文本。

白:
“以国防部长的身份”当中的“以”,可以是介词,也可以是名词的拆解物(“以色列”的简称)。这个拆解物当名词用。

宋:
即使数据集定了,也还有模糊性、两可性。那又是另一个问题,即符号的歧义问题。

白:
承认可拆解的另一面就是承认微结构。宋老师说的粘着性,可以从词根与词缀结合的微结构角度来考虑。

宋:
微结构的节点应当有波粒二象性,既是词,又不是词。

白:
拆解出来当词用,封在里面就是词素。

宋:
微结构可能会有相当大的跨度:这个澡啊,从来没洗得这样舒服过。语言学理论必须把这些现象包容进去。

白:
必须的

宋:
这样的澡我从小到大,再到老,还没洗过。

李:
离合词是可以解决到很完美的不再是问题的问题,关键就在词典与句法的接口上。大规模验证过的。

【相关】

白硕:知识图谱,就是场景的骨架和灵魂

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

《朝华午拾》总目录

【尼沙龙笔记:从AI那点事儿聊到知识图谱】

洪:
老尼八卦真是勤快:
红利扑克:王劲其人-好色、背信、拍马屁

陈:
到了百度,他带去了得意手下Alex(新加坡人),某丽(美籍华人),还有旧部某栋,还接管了金牌得主大牛戴某渊。他咋啥都知道。还好没说洪爷。

洪:
的确道听途说,许多因果都颠倒了。某栋是我拉进去做凤巢,老王来了就跑路了

陈:
你也是坏淫啊

洪:
老尼八卦忒勤奋,
道听途说扒某劲。
天地或真显冥冥,
有绳有网施报应。

行:
老尼看来就主要对x劲来劲

李:
老尼不是尼克吗?
AI那点事儿,非尼老莫属,有道是:

尼老老尼拧不清,
AI 八卦两争雄。
一神一鬼一冰冰,
老道洪爷说分明。

洪:
我以前跟人总结说,某栋来助一臂之力做凤巢(其实他原来是edward chang下面做social network机器学习推荐算法的,也不是做广告的),某度尝到了招谷里人的技术甜头。过了一年凤巢都上线了。隔壁老王带俩管理的人他们才来,本来老王允诺要来的技术专家某Paul被腾讯截胡抢走了。就这样,技术甜头成了管理毒药。

“尼”真是好字,谁粘谁

李:
洪爷不出山写本英雄传,正本清源,可惜了。看尼克形单影只孤身奋战,谣言比八卦远行 —- 唯冰冰永存。

洪:
都是江湖破事,不值得写书。悠悠万事,唯此为大,还是AI为重。

李:
认真说,我对历史八卦兴趣不大,倒是非常好奇这一波AI热如何收场,我们都是不同程度的吹鼓手。泼冷水偶尔为之,但总体大多推波助澜,可三年、五年、八年之后究竟如何呢?有点害怕。“谨慎乐观”感觉上甚至都太乐观了一点。万一历史循环,AI 打入冷宫,不受人待见,我们这拨人要想等下一波的AI热,是没戏了。到时候,我们人人都可以学个星座,做八卦家,把酒话桑麻,对着资深女神冰老太,哼着AI小曲儿:商女不知亡国恨,隔江犹唱后庭花. …..

唐:
以中国干大跃进的精神,这次AI肯定吹过了。

李:
问题是:这次大跃进可以不可以软着陆?省得鸡飞蛋打,大家伙儿都成了殉葬品。

张:
现在政府把AI作为政绩,如果谁谁引进国际知名专家(比如太湖洗澡蟹从阳澄湖捞出来)然后成立一个联合研究中心,各大园区可以给几千万到一个亿。各位大咖赶脚的,过这村没这店了。

洪:
AI落到实处就跟数据库似的,休要担惊少要害怕@wei

唐:
AI都经历过两次寒冬了,第三次来了也不怕。尤其是打算做AI芯片的,寒冬时做才能踏在前人的血迹上前进。

洪:
年轻人挣房钱奶粉钱,院士们挣名利,政客挣中国梦,……,各得其所

尼:
@唐 寒冬时也没见你做啊。

唐:
我上次做的也是NPU。

洪:
NP了您啊。

李:
@洪 AI落到实处就是知识图谱,可不就跟数据库似的。我心戚戚呀。洪爷火眼。

董:
@洪 真正的明白人,深刻、看得透。

唐:
知识图谱不是很难表达有条件的知识吗?要想快速落地,我觉得还是规则库靠谱。

李:
那就结合呗,横竖都是库。 库啊、谱啊就是个筐,啥 AI 都可以往里装。

唐:
关键还是几个数据库之间的join比较难做?在工程实践当中还是有点难度处理的。

李:
现如今图谱好听,就叫图谱,里面可以有 unigram 知识,bigram 的关系,if then productions (所谓产生式),甚至 prolog backtracking,……

董:
如今流行的“知识图谱”是怎么告诉计算机:“什么是‘有/‘have’’?

唐:
Prolog缺的是现在大数据最擅长的统计学知识。很多知识是动态的。例如:过去五天工作日的平均值,这个知识图谱无法表示,需要动态地计算。

李:
唐老师的视角还是太技术细节,太工程,技术上的实现与打通终归是可行的,只要哲学不错,实现上有的是能人。认真说,从万米高空俯瞰知识表达,没结构的知识就是传统词典,里面除了入口词,output就是各种features,那是通向ontology的门票。有结构的知识统统可以叫图谱(graph,广义),包括 svo(open domain 的碎片事件),包括 ontology,里面分常识 (HowNet,cyc)与领域知识(譬如“产品目录手册”),再里面可以区分简单知识,与经验型推理知识,后者也可以涵盖从大数据挖掘出来的 if then scenario,以及 hidden links,它们不再是碎片化情报,也不是大数据显性表达的事实(已知信息),而是蕴含在千千万万事实里面的 correlations,是 derived 出来的新知识,积淀为领域场景经验的形式化,这是对领域本体知识的一个动态补充,可算是图谱事业最前沿的研究了。大数据挖掘出来的过往trends,可以是对未来预测的很好的输入。

最后,也是最核心最基础的,就是情报类知识(知识图谱的本义,或窄义),也是静态语汇为基础,不过入口词大多为实体名(named entities),里面就是实体间关系(relationships),然后就是事件(events),事件串起来就成了story ……

唐:
大体上就是这些知识。 综合起来是一项复杂的工程实践。

李:
有了story 就好说事儿了。有句名言(到处都是这大标语),云:抬头讲故事,低头思故乡 ……
oops 低头干实事儿。

唐:
我们现在就在做。领域知识+安全情报的结合。 发现这主要是数据清理的活。

李:
清理极端重要。不过听上去不够高大上,给人感觉就是个扫大街的。唐老师是实干家。

唐:
被逼无奈,以解决问题为主。

李:
知识(图谱)的事儿 的确是一个巨大的系统工程。这方面 还真应该赞佩一下 IBM,他们懂得怎么把混杂的知识捏在一起,成就一个计算机博物馆里的里程碑事件(博物馆有几个AI里程碑展厅,其中一个就是IBM花生系统在知识问答TV竞赛中击败人类)。当然 人家也有那个财力和底气。

洪:
@wei 这两天我献给你一个打油偈子。

李:
打油在哪儿?我不怕打油 ….. or 被打油。

洪:
@wei 我还在酝酿啊,从你翻译的ken church的钟摆开始说起。

李:
从来没有耐性做翻译,但那篇太经典,是@董振东老师给我特别推荐的,最后下定决心翻译出来。以对经典的虔敬心理,字斟句酌,旬月踯躅,有些细节反复与 Church 电邮请教商榷。董老师也做了审阅 ,终于成篇。【计算机通讯】发了后,貌似没有动静,毕竟与主流的调子不合拍。后来被一个叫《机器之心》的转载,才似乎传播开一点。人智八卦大师尼克也点了赞,NLP 的钟摆,就是 AI 起落的实例。

NLP主流反思的扛鼎之作: 立委译《Church:钟摆摆得太远》(全)

郭:
@wei 这篇现在看,写的早了些,缺乏对深度神经的洞察,因而现如今不容易触动人心,还不如一句“炼丹术”激起千层浪。

李:
天不变道不变,天变了道亦不变,是为经典。

其实 Church 写完后颇落寞,根本没啥动静呀。新锐不理他(机器学习老一辈不吃香了,新一代深度学习小牛成长起来,此一时彼一时,长江后浪推前浪啊)。他是统计派老革命家,我写信问他深度神经与AI钟摆的关系,他回说:看样子钟摆的理性主义回摆还要延宕10年,这波深度神经热潮够他们忙一阵子了。

是啊,人类本性,不触礁,不回船。现在呼吁两派革命大团结的,大多是老司机了。他们辉煌过,也触过礁,知道AI和NLP的深浅,而且忧国忧民,不像初生牛犊那样高歌猛进无暇他看。

写这句结语的时候,在我心中,老司机就是李航这样的,而初生牛犊 我也见过几个 那真是满满正能量,AI 乐观主义,很感染人:新锐AI技术领军,单气势就招人喜爱。在他们面前,老朽不知道说啥好了,先道天凉好个冬,再道冬至饺子香(南湾有个同同手工水饺,昨晚去那叫一个门庭若市)。

在最近的中文信息学会年会上,李航和我都被特邀做了报告,我谈中文NLP的迷思及其化解之道,顺带批判乔姆斯基搞砸了符号逻辑和规则系统,李航强调的是知识记忆,觉得这是AI的未来,因为目前AI主流大多是端到端,老熊掰棒子,没有知识积累,知识都是从带标大数据现学的,换一个项目,一切重来。李航 argue 说,这不是人类的知识学习方式。我问他,难道知识图谱不是知识积累和记忆吗?他说,也许我说没有记忆和积累是 overstatement,知识图谱的确是积累并且可以跨项目重复使用的。但他又 added 说,但大多数系统是不用知识图谱的。他说得对,知识图谱作为话题虽然很热,但真正用知识图谱做系统应用的人目前很少。但我个人认为,未来应该是个大方向。

 

【相关】

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

《朝华午拾》总目录

 

 

【李白毛洪80:驯兽散记】

李:
@毛德操 说点做开放系统的真实体会,这个体会你可能有呼应。

毛:
我一直都赞同你的呀。所以我劝你写成书,经验之谈,加上理论上的洞见,对后进学子将大有帮助。特别是,当钟摆又摆回来的时候(见【立委译《Church:钟摆摆得太远》(全)】),你这个就宝贵了。

李:
先说针对封闭系统做模型,因为对象是封闭集,可以做到逻辑的完整性,现象 cover 的完备。面对开放集,尤其是自然语言这样的monster, 情况有所不同。大的思路框架和方法论是需要讲究的,但架子里面填血填肉就无法“搞计划经济”。不说摸着石头过河,也差不了太多。很多时候就跟拼图游戏似的,拼拼凑凑,蚕食桑叶一样试图分而解之。

今天从方法论上认真想了一想,觉得拼图或蚕食的路数还不是很确切的比喻,因为二者都没有“厚度”和冗余,只是把一个二维空间填满。实际的情形还有一个pipieline的时间维度,一个“数据流”的顺序在内。

毛:
好啊,要是把数据流的思想和技术结合进去,咱俩就更有话可谈了。

白:
RNN比较体现这个“流”

毛:
有道理。而且RNN不是那种DAG形式的简单数据流。

李:
为了把自然语言这个其貌不扬的毛毛虫(参见【白硕- 穿越乔家大院寻找“毛毛虫”】),模型出个比较逼真贴近的人模狗样来,实际上的工作更像是用橡皮泥在“流”里面一层一层贴面。

每贴一块,重复无用功居多,有用的就是那么一小块儿。可是不能因为有无用功在,就不做这个重复面很大的活儿。换句话说,从方法论上,面对一个 monster,斩不了他的胳臂,就剁他的手,剁手不成先伤其一指也好,活不厌细,活不厌早,最终才能征服他。

在一个pipeline中,条件总是慢慢具备的。不能因为条件只有越到后面越完备,前期就碌碌无为,因为在有限条件下做活儿本身,不仅是完成了部分任务,也同时贡献了条件。因此勿以善小而不为。

白:
i-1肯定不是也不如i,但是i-1不作为就肯定没有i。

李:
正是。具体说就是,如果一个现象在早期可以处置,但是因为条件不好,需要严格限制其范围才不至于 overkill,同样的现象在后期条件好的时候,可以放开一点,做得漂亮一些,做得更具备逻辑完整性和完备性。经验告诉我们,不能因为后期的工作貌似可以涵盖前期的limited的同类工作,因此就不做。面对一个不复杂的对象,当然不必做这种重复而且也做不全的前期工作。但是面对魔鬼,我们还是尽早能做多少就做多少,机不可失,即使时可再来。因为这个貌似重复的小工作也许的确是涵盖在后期的工作中,但是我们其实不知道:(1)在前期到后期的过程中有没有什么幺蛾子出来;(2)即使这本身是完全的重复工作,几乎肯定会在下一步或下几步被涵盖,这件工作对其他相关的周边的事儿可能是有用的,起码增加了确定性(规整性,行话说减少了系统的内熵)。

人有一种精简和概括的冲动,人也总是希望自己不被看成傻瓜,避免重复就是精明的一个表现。但是,面对魔鬼,用力上傻瓜一点其实有好处。当然前提是,那个傻气的活儿是增加了确定性。换句话说,早期工作只要心里觉得是 high precision,不管 recall 多低,都值得去做。high precision 最简单的办法就是把条件收紧,在早期说白了就是一个 local ngram 的拿捏。爱吃红烧肉的毛老最清楚,虽然吃一点肉末不如吃一块完整的红烧肉那样鲜美,但肉末也一样解馋和营养。关键是肉末就好比开胃前菜,吃了它为后来的红烧肉大宴做好了前期试点。

总结一下,能做多少做多少,能早做不晚做,不怕重复,不怕冗余,不厌其烦。毛毛虫就好比一个窟窿,可以用橡胶泥反复去补,层层叠叠,最后把这个窟窿补得严严实实(recall 最大化,但不损伤 precision),虽然窟窿的有些地方是补丁摞补丁,不知道被泥了多少遍。这看上去绝对不是一个漂亮的系统,但却是现实的鲁棒的,敢于面对复杂对象的。

毛:
毛毛虫模型的核心,就在于虫子的长度大于乔姆斯基的直径,即使把它盘起来也容纳不下,总归会露头露尾。所以,问题在于怎样分而治之,乔姆斯基的归乔姆斯基,露在外面的就归别的方法(深度学习是其中之一)。但是我认为抛弃乔姆斯基肯定是不对的,关键在于如何补上用来对付露在外面那部分的方法,并与乔姆斯基整合。@wei 的深度解析就是走在这条道上(白老师也是),我认为很有价值。

李:
@毛德操 其实我的体会是,毛毛虫模型的核心是毛毛虫的扁度超出乔姆斯基及其追随者的想象。乔老爷挥舞大刀,风驰电掣,貌似凭空垒了这么个大院,实际的效果是让许多人画地为牢,以为自然语言就是牢的模样。那太粗线条了,而且院子显得空荡荡的,就好比一个瘦子穿上了宽大的衣服,怎么看怎么不像。

白:
慈禧穿的衣服也没型

洪:
语言工程不唯美,
泥瓦工匠汗水挥。
修补老乔也不累,
茅庐破屋别递归。

毛:
我认为,纯粹的深度学习只能训练出文盲老太太,阅人无数,也知道一些新名词,但没上过学,不懂推理。人总得上学,而学校教的就是符号推理。老太太再是阅人无数,也不会懂 f=ma。

白:
伟哥说的这个时间,是针对开发而言的时间,具体体现就是版本。其实针对运行,也同样有时间维度和流进行迭代的“微版本”。

李:
应邀到北大做了个纯学术的演讲。北大在我们小时候的心目中是何等高贵,从来都是仰望。年轻时进去拍照留念过,羡慕死里面的才子佳人了。进了社科院,貌似与北大近了些,同学同事中北大人越来越多,开始沾上仙气。进象牙塔论道,入乡随俗,就西装革履一些散发点书香味道吧,绝不敢拿大数据忽悠。大数据可以忽悠哈佛(几年前曾应邀去哈佛医学院讲过大数据),却不能忽悠我心中的圣地北大。还有北大的三角地。

【内容提要】
乔姆斯基1950年代末提出的形式语言理论及其层级体系是计算语言学的基石。然而,长期以来,计算语言学界的自然语言处理(NLP)践行者,越来越远离乔姆斯基学派。演讲回顾计算语言学的历史,分析该领域一分为二渐行渐远的足迹。过去30年是NLP主流学界以经验主义取代乔氏理性主义的一代。乔姆斯基对于 n-grams 的批判,没能阻止统计学派利用 n-gram 模型在自然语言领域取得的巨大成功。另一方面,学界的理性主义符号学派日渐式微,究其原因,这与乔姆斯基理论的负面影响有关。乔姆斯基对于自然语言的所谓递归本性的论述,以及对有限状态机制的鄙视,深深影响、束缚并牵累了一代学人。在深入梳理乔姆斯基体系对于自然语言模型的关系之后,演讲最后论述并展示了符号规则学派对于自然语言深度解析和理解的创新和实践。

毛:
最好能有个录音,这样我们也可听听。不行的话退而求其次,整理一个文字稿。

李:
毛老知道,一个演讲哪里会深过两年的恳谈?对于您,这都是立法委员的陈词滥调了。说话已经在尼克群和白老师群促膝整两年了。

毛:
我刚才出门了没看见。立委你真的应该好好整理出一份东西来(叫什么并不重要,讲稿/讲义/概论/指南/导论),系统地讲讲你的见解,然后找个出版社。@立委 你上面的内容提要就很好啊

李:
不知不觉就讲了两个小时,结果只有时间回答一个问题。我本来是要留半小时以上做答问的,想让讲座 interactive,结果一开了话匣子,就忘了时间,很对不起听众。卫东老师主持,也没好意思打断我或提示我。下次类似讲座要小心了,其实还是答问更有意思,也更容易发挥,或借题发挥。很多年不上讲台了,还是经验不足。

邓:
你干货太多。现在这么讲的人不多了。

马:
@立委 你讲座太有激情了。

白:
伟哥讲的一定比发出来的多多了。

李:
@白硕 借用推介了白老师的毛毛虫理论。

Nuva:
内容太多了,每张slide都需要细读

郭:
@立委 你讲座太有激情了。+++
你一定又觉得“我没讲几分钟啊”。

李:
尼克的书我最爱读,尤其是冰冰助理过的。

好多年不读纸质书了,但尼克的《哲学评书》和《人智简史》除外:那是可以一边品茗,一边遐思的。

尼:
@wei 多谢捧场。此冰非彼冰。

施:
为了突出冰冰把白老师和吾等一概屏蔽

李:
羡慕啊。有样学样,哪一天我要是撞了狗屎运出书了,也要来这么一桌酒宴。就怕到时没人捧场,我就拉@毛德操 做炮灰。毛老是本本主义的信奉者。

马:
先预定一个位置

李:
马老师不可食言,这可是动力之源。

马:
@wei 绝对的

李:
山不在高,有仙则灵。酒不在醇,有书则赢。一本书主义与一杯水主义,有的一比。当然,尼克和毛老都是n本书主义了。

毛:
@wei 早就劝你动笔,你这扭扭捏捏的。到时候,席上必得有红烧肉伺候,俺连干三杯。书名都给你想好了: 《Ruminations on NLP》

虎:
我给伟哥定个书名:tame of NLP 驯服自然语言处理,俗称你老婆驯火记

毛:
本本主义不能一概而论,这有两种不同的情况。第一种是功成名就意气风发,于是嬉笑怒骂皆成文章。我二师兄就属于这一种,伟哥当然也是如此。第二种是穷极无聊,看着别人发财的发财,成名的成名(也有升官的升官,但是较少),自己却什么也干不了,唯独在自己电脑上打几个字还是可以的。我就是这种情况。

洪:
伟爷驯服NLP,
狮吼河东至河西。
Deep Parsing深见底,
看破老乔卖手艺。

李:
洪爷好诗,句句受用,飘飘然也。

 

【相关】

【NLP主流反思的扛鼎之作: 立委译《Church:钟摆摆得太远》(全)】

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

【李白之39:探究自然语言的毛毛虫机制】

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

《朝华午拾》总目录

【李白76:跨层次结构歧义的识别表达痛点】

李:
一个困扰我的问题是跨层次结构歧义的表达:“他要整个高大上的节目献给全国人民”:

“整个”分析成定语。但口语中,它还有动词谓语的可能:“整个”=“整出(创制)一个”。上面示意了一下,为表达识别出来的歧义,这里需要打破 base XP 的框框。第二条依存关系路径是:“要”是谓语“整个”的儿子(情态),“节目”也是“整个”的儿子,是其宾语(O)。值得注意的是,这个歧义表达要求短语内部的定语跳出来做句子的谓语。

白:
其实,有了从句,树已经成了DAG。既做得初一,索性做十五,大面积地画DAG好了。

李:
如上图所示,加上这两条路径,基本就算在同一颗树里面表达了两个 parses 的路径。昨天一直在想这事,感觉与白老师初一十五一样,可以做。不就是需要一个表达手段么?也不影响 formalism 本体。

白:
还是有点两张皮,不是个一贯的东东。

李:
层次纠缠的结构歧义的表达,如果不生成多颗全树,而是表达在一颗树里面,的确不是一个一贯的东西,是两张皮。但是好处也是明显的,经济实惠,共享了句中大部分与歧义无关的依存关系。句法识别这样的结构歧义原则上不难。有“整个”这个词去drive的话,总是可以识别的。

白: O前是表示生产、制作、呈现意义的动词,O后是双宾动词的情况,可以激活“整个”的分解语义。

李:
先不说排歧,因为排歧很多时候人也有难处。咱们先讨论清楚结构歧义的表达。识别完了,怎么表达?需要一点斟酌。因为只有表达合适了,后去才可以用(无论是后去的排歧,或者不排歧提供给人去互动或干预)。关键是,这个表达要好用。后去觉得不好用,那就白表达了。因为大多数其他的依存关系是可以共用的,所以结构歧义,是可以在同一颗依存树里面表达的。

结构歧义在不牵涉 base XP 层次纠缠的案例中,我们已经常用。PP-attachment 就可以把PP既连接到前面的NP也连接到前面的VG谓语。因为所谓的base NP, 这个base是把后面的PP定语排除在边界之外。这样一来,表达起来完全没有层次(xbar)的纠缠问题。还有我以前显示的一个NP既接成VG的S,也连接为O,这些都好办。汉语的兼语也可以表达为前面VG的宾语(O)和后面VG的主语(S)。

在多年的实践中,发现在依存表达中,加入 base XP 的短语结构,会带来很多很多便利。结果就人为地在本来应该没有非终结节点的纯粹的以词为基础的依存树里面,强加了这个 XP 的表达。这样一来,就出现了结构歧义的层次纠缠问题。如果当时决定从base XP更进一步,允许XP的短语结构有嵌套,那么PP-attachement中的PP就可能成为一个扩展的NP里面的成分。这时候,PP再拿出来做谓语的状语,就同样面临层次纠缠问题。这表明,这一切都是人为的。是我们为了方便做了权衡的一种表达方法。关于这种baseXP 短语结构与依存关系的 hybrid 的好处,新来的朋友参见:《新智元笔记:基本短语是浅层和深层parsing的重要接口》。在多数时候,它的确是方便的,短语这一刀给我们带来了极大的便利,但在层次纠缠的结构歧义表达时候也给我们带来一些不便。不便之处,花点功夫可以克服。人为的东西都是可以人为克服的。

对于结构歧义在同一颗依存关系树上的表达,后续的应用,需要专门为这种表达写一个歧义检索程序,用起来就没有问题了。这个检索算法,我昨天想了一下,也不难。你从任一个节点出发,一路遍历它的子子孙孙。如果其结果是树上的所有节点都访问到了,那么这个节点就是天王老爷。如果有多个天王老爷,就说明有结构歧义。就这么简单。因为依存关系的结构原则是,有且仅有一个天王老爷。多了,就是歧义。在我们的“整个”的那句案例中,从“要”出发可以遍历。从“整个”出发,也可以遍历。其他的所有节点都不具有这个遍历终结节点的可能。白老师,这样有问题么?

这个方案纯粹是一个所谓 side effect 的工程,不牵扯 formalism 本体。只要想做,找一个不笨的工程师就可以做:歧义结构的依存关系表达,以及歧义结构的依存关系检索。至于检索后的应用,那是下一个系统(IE或其他语用模块)的问题,不是句法的问题了。句法合适地识别了歧义,又提供了检索接口,可以说是仁至义尽了。

这一讲的题目可以叫做NLP中“跨层次结构歧义的识别表达痛点”。

其实,也不算太痛。就是messy一点,做总是可以做的。Note:这里讨论的问题与传统 parser 生成了许多个伪 parses,鱼目混珠、沙多珠少的情形不一样,这里说的是具有相当确定性的结构歧义。不是伪 parses 成堆的传统 parser 里的那些 false alarms。这些歧义的识别大多是细颗粒度或词驱动的句法都可以预示和搞定的任务。如果上述方案实施了,就引导句法开发者多在识别上下功夫,而不要浪费资源做那些搞不定的排歧任务。前者是 tractable 的任务。

前几天提到的“一张嘴”的词启动歧义识别也是如此:

后一个 parsing 由于词驱动的 hidden ambiguity 没有表达,现在是错的。 但是如果照上面的方案解决了歧义识别表达的问题,就可以把另一个可能挖出来。

刘:
我是一只特立独行的猪,这个结果会是咋样呢?

李:

“结果”取了副词的用法,也说得过去,但错过了其名词的用法,虽然总体语义无大碍。

这个也有一个错,“树”应该做定语的,可是分析成“看”的宾语了,大局没错。

这些漏掉的歧义结构,从道理上都可以识别,如果歧义表达和检索按照今天说的方案那样到位的话。不过做起来还是有些繁难,以后再说吧。要点就是,对于一个已经基本对于 false parses 免疫了的细颗粒 parser 而言,与其追求不大切合实际的结构排歧,不如把下一步的重点放在歧义识别、表达和检索上。

首发科学网 《新智元笔记:跨层次结构歧义的识别表达痛点

【相关】

Chomsky’s Negative Impact

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

《朝华午拾》总目录

 

【李白洪毛75:乔姆斯基批判】

【原立委按:微信泥沙龙,谈笑鸿儒,高朋满座,信马由缰,言无所忌,摘之与同仁分享。】

李:
今儿个咱要吐槽乔老爷,不吐不快。

开题:乔姆斯基,对领域的误导,或负面影响,与他对语言学的革命性贡献,一样大。

他的hierarchy,是天才绝顶的理论,是不可泄露的天机,从而奠定了形式语言的基础,用来创造、解释,或编译计算机语言,是完美的指导。可是,完美往上走一步,就成谬误。乔姆斯基拿这套理论,硬往自然语言套,导致整个领域,在所谓自然语言是free,还是sensitive,还是 mildly sensitive等不靠谱的争论中,陷入泥潭。太多的人被引入歧途,理所当然地认定,因为自然语言复杂,因此需要 powerful的文法。这个 “powerful”,是世界上用的最误导的词。

工程师发现,有限状态好用,但经不起理论家的批判:你那玩意儿太低级,不够 powerful,只能拿来凑合事儿。实际上,做过大工程的人都明白,对象的复杂,并不是使用复杂机制的理由,有本事使用简单机制对付复杂的对象,才是高手。

乔姆斯基最大的误导就是,用所谓自然语言的center递归性,一杆子打死有限状态,他所举的center递归的英语实例,牵强和罕见到了几乎可笑的地步,绝非自然语言的本性。结果一代人还是信服他了,彻底地被洗脑,理所当然以为必须超越有限状态才可以做自然语言深度分析。

为了所谓语言的递归性,人脑,或电脑,必须有个堆栈的结构才好,这离语言事实太远,也违背了人脑短期记忆的限制。世界上哪里有人说话,只管开门而不关门,只加左括号不加右括号,一直悬着吊着的?最多三重门吧,一般人就受不了了。就算你是超人,你受得了,你的受众也受不了,无法 parse 啊。说话不是为了交流,难道是故意难为人,为了人不懂你而说话?不 make sense 嘛。

既然如此,为什么要把不超过三层的center循环,硬要归结成似乎是无限层的递归?

毛:
递归成了他的宗教。

李:
不错。乔老爷的递归误导语言学,坑了NLP太久。我对他的语言学不感冒,对他对NLP的误导,更感觉痛心。一个如此聪明强大的人,他一旦误导就可以耽误一代人。被耽误的这一代是我的前辈一代(上个世纪70年代80年代),他们在自然语言理解上的工作几乎一律为玩具系统,在实际应用上无所作为,从而直接导致了下一代人的反叛。老一代被打得稀里哗啦,逐渐退出主流舞台。

在过去30年中,统计NLP的所有成就,都是对乔姆斯基的实际批判,因为几乎所有这些模型,都是建立在ngram的有限状态模式的基础之上。

洪:
从乔姆斯基的所作所为,就能分出构造机器智能和解构人类智能难度上的差异。他五十年代略施小计就把形式语言夯成了计算机的Cornerstone,可是穷毕生精力,总是在重构其语言学理论。

毛:
如果没有乔老的那些理论,人们能做出计算机语言编译吗?)

洪:
语法mapping到语义,总是要做的,不必须用形式语言,就像现在做nlp的人也不必须懂语言学。还是 David Marr,David Rumelhart 等立意高远,总想找到人机等不同智能实现上的共通计算机制。

刘:
Marr 也是人神级别的

毛:
跟上面问题类似的是:如果没有图灵和冯诺依曼的理论,人们会造出计算机么?

洪:
Babbage的分析机可行,Ada的程序/算法也早可行。其实,问题不在于出冯诺依曼还是马诺依曼,问题在于,不管他们的理论表面上如何不同,可能都受同样的约束,能力上可都能都等价。而Chomsky 研究的是这些约束能力。

毛:
那图灵不是更加么?

洪:
Turing 从机器一侧,Chomsky从人一侧。)

李:
洪爷说的是事实,过去三十年不懂语言学做NLP的占压倒多数。但那不是健康状态。不过,语言学里面也很混杂,进来的人很容易迷糊。但是,语言学里面确实有一些指导性的东西,了解与不了解大不一样。比如索绪尔,就值得琢磨。索绪尔说的大多是原则性的,有哲学的意味,是传统的非科学性的语言学,特别具有宏观指导意义,可以提醒自己不至于陷入细节的纠缠,而忘记了方向。他谈的是共性与个性的关系,语言和言语,规则与习惯,共时与现时,都很洞察、到位。

白:
我觉得线速、柔性很关键,多层次递归和远距离相关必须搞定。方法不限,八仙过海。

李:
那些已经搞定了,伪歧义也不是问题,都搞定了。有一种叫做cascaded FSA的方法,与软件工程的做法极其类似,就能搞定这些。前提是指挥者架构者不能失去全局,要胸怀索绪尔,而不是乔姆斯基。架构和interfaces设计好,下面就是模块的开发,匠人的干活,可以做到很深,接近逻辑表达,比典型的chomsky CFG文法深透。传统规则系统受乔姆斯基CFG影响太大,很不好用,而且也无线性算法,所陷入的困境与当年神经网络以及一切单层的统计系统类似。正如多层的深度学习被认为是AI的突破一样,有限状态一多层,一 cascade,以前天大的困难,递归啊远距离啊伪歧义啊,就消解于无形。

白:
数学上的函数复合。

李:
就这么一个简单的道理,结果至今批判规则系统的人,还在打稻草人,以为规则系统都是CFG那么愚蠢和单层。

乔姆斯基对nlp的误导,还在于它的短语结构的表达法。那个phrase structure破树,叠床架屋,为了追求所谓语言共性,太多的assumptions,既不经济也不好用,却长期成为 community standards,误导了不知多少人。起码误导了 PennTree,通过它误导了整个领域。,

白:
某种意义上,nlp是应用驱动的。与应用匹配,Ngram也不算误导。与应用不匹配,HPSG也算误导。抽象的误导不误导,让语言学家掐去吧。一个topic问题,扯了这么多年。)

李:
语言学家打烂仗的事儿多了,说起来这与乔老爷也有很大关系。有个 self,相关的所谓 Binding Theory也是论文无数,大多垃圾,这与老乔的负面影响直接相关。为追求 universal grammar,和脱离语义的generalizations,走火入魔,大多是无谓的口水战争,既不能推进科学,也不能推进应用,唯一的好处是帮助了很多语言学博士的选题,培养出一茬接一茬的语言学博士。可是,毕业了还是找不到工作。老乔由于其超凡的智力和名气,帮助提升了语言学的地位,但他没有能力影响市场,结果是全世界语言学家过剩,懂得茴字五种写法的落魄腐儒,如过江之鲫,谁能给他们就业机会?

这里面的要害在,所有的语言分析,不可能为分析而分析,都是为了求解语义的某种需要,可老乔强调的语法纯粹性,要脱离语义才好研究终极的机制,这个argument有历史的革命意义,有某种学术价值,但非常容易形而上学和片面化,结果是语言学家脱离了目的,脱离了需要,在争论一种分析,或一个模型与另一种的优劣。其实这些相争的方案,只要系统内部相谐,都大同小异,根本就没什么本质区别,而且没有客观的可量度的评判标准,那还不打成一锅粥。

刘:
摆脱语义,直接进入语用?

李:
哪里,乔老爷是要直接进入共产主义,要世界大同。他对语义不感兴趣,更甭提语用。语义在他属于逻辑,不属于严格意义的语言学。句法语义是分割开来的两个范畴,句法必须自制。

白:
句法自制是错误的。

李:
对传统语言学完全不分家的那种分析,老乔有革命意义,也确实推进了结构研究,但凡事都是过犹不及。句法自制推向极端,就是本末倒置,失去方向。

我做博士的时候,在一个小组会上,举一些汉语的例子,作为证据反对一刀切的句法自制,说老乔有偏差,看到的语言事实不够,结果被我导师劈头盖脸批了一通,言下之意,不知天高地厚。我当然口服心不服。问题是,我一辈子只思考一个问题,只要醒着,头脑里除了语言,就是文法,除了词汇,就是结构,突然有一天觉得自己通达了,看穿了语言学上帝,乔姆斯基。原来,智商高,不见得离真理近,智者乔老爷,也不例外。有人说老乔外语不大行,看到的现象大多局限于英语,偏见难免。的确,懂汉语的人很难完全信服什么句法自制:句法形式的约束和语义的约束很难截然分开,否则连“我鸡吃了”和“鸡我吃了”都搞不定。

说起外语,到了我们的年代,俄语退居其后了,所以我本科的二外选的是法语,到研究生才选了俄语做三外,不过全还给老师了。虽然语言是还给老师,体悟到的语言学却长存,所以也不冤。到 30 年后的今天主持 multilingual program,带着参考书,我还一样可以指导法语和俄语的 NLP 研发,语言的不同,换汤不换药也。

洪:
老乔不是上帝,他只是让咱看到来自造物主的理性之光。

李:
形式语言理论,非人力可为,绝对属于天机,单凭这,乔就是人神。吐槽乔老爷,一次抱怨完,明儿依旧是偶像。

不管我怎么批判乔姆斯基,我还是服他到不行:他老人家的威望可以把 Universal Grammar 这种乍听很荒唐的观念,转化成一个让人仰视的语言哲学理念。UG 的真理之光由此不被遮蔽。当然最厉害的还是他的 hierarchy 形式语言理论,那几乎不可能是人的理论,那是上帝之光,尽管乔老爷在描述的时候,不免机械主义,hence 造成了极大的误导。

话说回来,没有自然语言的数学化研究和启示,他老人家也提不出形式语言理论来。至少从形式上,他能把人类语言和电脑语言统一起来,达到一种人力难以企及的高度。如果没有乔姆斯基,电脑理呆们打死也不会对词法分析,句法分析,语义求解,parsing 等感兴趣,并如数家珍地谈论这些语言学的概念。这是其一。

其二,正因为乔老爷自己也知道他的形式语言理论的抽象过头了,难以回到自然语言的地面,才有他穷其一生在自然语言的语言学方面的继续革命,革自己的命,花样翻新,试图找到一个终极的普遍文法的自然语言解构。这次他就没有那么幸运了,虽然在学界依然所向披靡,无人能敌,但却与电脑科学渐行渐远,被连接语言学和电脑应用的计算语言学领域所抛弃。也许不该说抛弃,但是自然语言领域大多把他当菩萨供起来,敬神鬼而远之,没多少人愿意跟他走。

首发科学网 【泥沙龙笔记:乔姆斯基批判

【相关】

Chomsky’s Negative Impact

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

《朝华午拾》总目录

 

《立委随笔:做一条程序狗,外加哲学猫》

最近脑海里老浮现卓别林的摩登时代的镜头。软件工程的摩登时代就是大数据迭代。我就迷信这个迭代。

自从工程架构师把 pipeline 转起来以后 我就可劲儿往里面填数据(raw data),填鸭似的 反正是 raw 的,领域数据不嫌多。 结果就造成摩登时代的再现。Server 不用吃喝 连油都不用加,24 小时在那儿转呀,人停机不停。人就被赶着去看结果 做 regressions 测试呀。人的本性,眼里揉不得沙子。只要醒着,看到毛病就冲动,忍不住会动系统,就好像是本能迭代。气还没喘匀 新一波结果又出来了。好奇心杀不死科学家 ,但能杀伤码农呀,赶紧去看结果。real world 大数据嘛 啥都有 结果肯定是喜忧参半。看到高兴处 可以得意片刻,更新 baseline,让进步消失在数据海洋中。不高兴呢,就本能要改进系统,于是陷入人机交互的迭代“死循环”。

人被数据赶着走 等于是被 bug reports 赶着走,只不过缩短了 reporting 的过程 把客户的可能抱怨化为开发者自我的反省。只要数据真实对路(来自应用领域),量足够大不怕 over-fitting,bugs 至少是扎眼的 bugs 就会消灭在萌芽中,消灭在摩登时代的开发工程流程中。在如此流动型连续迭代中提升品质,多么爽,时时刻刻都有成就感。

只不过累得成了狗。程序猿成了程序狗。


但累,并且快乐着。

聪明的 AI 科学家希望这个迭代过程是全自动的。这边只要不断喂粗饲料 (raw big data),那边就无数次迭代出来一个智能理解系统,多么美丽的神话。据说机器认识猫 就是这么出来的,的确非常激动人心。希望某一天机器理解语言也能这么给整出来,比儿童学语言,效率高亿万倍。在那一天到来之前 我就做条狗 跟摩登时代拼了。

胡乱感慨一句。

昨天跟老搭档聊天谈做研究的人与做产品的人的不同。他非常感慨 特别是年轻人 说这些年轻人大多名校毕业 特别聪明 做 AI 大数据 算法玩的很溜。可就是不懂工程迭代的必要性 也没那个耐心。老以为 AI 产品可以一蹴而就。


大哲牛顿(Nutan)啊 在深思。

猫和狗很有比照 懒猫勤犬。但一个埋头拉车;一个老在深思,做哲学家,路都不屑看,可脑袋并没闲着。

哲学,尤其是对体系架构以及机制(formalism)的设计哲学(design philosophy),其实是极端重要的,否则程序狗再勤奋,也成不了大事。哲学猫架构好了话,程序狗多多益善。否则就可能叠床架屋,知识越多越不堪重负,最终导致系统报废,这是有前车之鉴的。

记得某年某月有个面试官问过我,假如经费没有限制,你希望做什么?这种所谓考验想象力和创造力的题目听上去很弱智:你说老实话吧,显得没高度,说大话吧,譬如学着谷歌说要解决人类长生不老的终极问题,或者学着扎根伯格的口气说要彻底根除人类疾病,或学 Elon Musk 说要帮助地球人移民外太空的话,又有些痴人说梦,因为这个世界只有不到10个超牛才有说梦而不被视为白痴的资格和本钱。其实心里的答案也是有的,就是:假如经费没有限制,我就做个50% AI 哲学猫和50%的 NLP 驯兽师,然后雇佣并培训 1001 条程序狗,买断天下的领域大数据,每天就指挥程序狗做各个领域的语言理解的迭代,扫平语言障碍,建成世界大同的巴比伦通天塔。

 

【相关】

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

【李白之39:探究自然语言的毛毛虫机制】

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

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

《朝华午拾》总目录

 

【李白宋毛72:NLP的测不准与追求完美】

李:
这两天琢磨中文词的扩展中的交叉现象,很有意思:

1. 选择疑问句谓词(P)模式 【P 不 P】: 学不学; 能不能;好不好
2. 动补(V-Buyu)词的可能态模式 【V 得 B】:学得会;可能态否定式【V 不 B】:学不会

12交叉: 学不学得会 ?
回答是:学得会 / 学不会 (或者:能学会 / 不能学会)

上述两个扩展模式也可以倒过来交叉,于是我们有 21 交叉:

学好
–> 学得好; 学不好
–> 学得好不好?

回答是:
学得好,学得不好,而不是 学得好, 学不好

后一种交叉,实际上用的 更多的不是“得”而是“的”:

学的好不好?

谓语重心落在“好”上,而不是“学”上。这与前一种交叉不同。很有意思的现象。

白:
得字后面的补语,有定性定量之分。“接不接得住”可以,“接得住不住”不行;“打不打得倒”可以,“打得倒不倒”不行。所以“住”、“倒”是专司“定性”的,是一个二值的状态,没有程度之分。另一方面,“扎不扎得紧/扎得紧不紧”“拴不栓得牢/拴得牢不牢”都能说,但补语“紧、牢”对应的是一个连续度量,但又有一个预期的极化状态阈值。所以,面临可能补语与程度补语的句式竞争时,可能补语占优势。第三种情况是“长不长得高/长得高不高”,补语“高”并不见得一定是预期的极化状态,“高不高”只是一种关于程度的中性的疑问,这时,程度补语就反过来压制了可能补语。第一种,纯定性,只能是可能补语;第二种,强定性弱定量,可以是程度补语但是与可能补语紧耦合;第三种,弱定性强定量,程度补语与可能补语松耦合。

长不长得高,和长得高不高,完全两回事。

李:
长没长高
== 长高了没长高
== 长高了没有

但是: * 长没长得高

白:
长高,相对于自己;长得高,相对于平均水准。程度补语。

可能补语的“长得高”,对成年人是梦想,对小孩是废话,除非侏儒症。所以可能补语义微弱。否定形式“长不高”则信息量大。对小孩,形同诅咒。或者,是成人身份的一种变相认同。

“没”是现时的未然,程度补语无论肯定否定,都是现实的已然,语义上也不相谐。可能补语与“没”结合,参照时点一定移到了过去,如:“谈没谈得拢”。现时已经出结果了,只有过去某时点上这还属“潜在”。

所以,“学得好不好”本来是关于程度补语的疑问,到了“学没学得好”,就变成了关于可能补语的疑问了。

李:
分析得好 细致入理。

谈没谈得拢 只有天知道
谈不谈得拢 就看你本事了。

上次白老师说分词 (大意):分词不仅是切 还要粘。至理名言。
句子就跟西瓜似的 可以拿着刀🔪来切;但字就跟珍珠似的 也可以拿串子来粘它、串它(concatenation)。结果都是 词,我们建筑语言大厦的砖瓦。这砖瓦必须有来路出身 有档案背景,因此目标也算是明确,即,所谓词应该是“词典的词”。词典就是档案 背景全部可在其中绑架,才能支持语言理解。

最有意思的是离合词,因为离合词不仅要串,而且还要跳着串。“谈不谈得拢”, 这个 5-gram,需要分词分出 “谈拢” 来 才算分词到家。

谈不谈得拢 == 谈得拢谈不拢 == 能谈拢不能谈拢 == 能谈拢 还是 不能谈拢

说到底 都是围绕着动补词 “谈拢”。 其他的小词(function words)或重叠(reduplication)手段,不过是给这个核心谓词语义添加语法意义而已: 诸如 疑问(选择问句)、时体、情态。

宋:
年满18岁,具有本地户籍,在本地居住满十年者

汉语的现象说明,词不一定是单向连续的短字符串,不一定边界清楚。非词语素和词的界限并不是绝对的。

李:
这个quasi-后缀“者”, 以前论过,它要求的是 VP,而不是 V。严格说不是 VP,而是 谓语 Pred。如果主语 NP 后面接谓语 VP 的话,那么总可以把主语去掉,加上这个“后缀”,来构成一个带有定语从句的 NP:VP者 == VP的人,这个 “的” 带的是定语从句 VP 。

当然实际语料的分布中,会发现 80%(?) 以上的“者”之前的 VP 其实就是一个 V ,所以把它当成英语的 -er (-or)一样看成是词的后缀,可能会带来一些便利,但必须留个 VP 的后门,来对付 定语从句的 VP 很长很复杂的状况。

宋:
手工业者

李:
“手工业者” 算是 另一个用法 看扩展性决定是细线条的规则 还是直接枚举入词典。

白:
者—N/S
关键是辖域、分配律。

李:
“者” 翻译成英语应该是 whoever+VP,不是简单成为 V-er 就可以顾全的。Whoever 是主语的形式,放在谓语前,与中文的结构关系类同,“者” 不过是放在谓语后而已:

年满18岁,具有本地户籍,在本地居住满十年者有资格报名。
–》
Whoever VP(年满18岁,具有本地户籍,在本地居住满十年) is qualified to sign on

白:
“子女不服管教者,配偶不在本地者”

不是主语,是领项,反填至N/N的残坑。

李:
fun,then,those who/whose

汉语的大主语(或 Topic 或“领项”)是一个中文里蛮独特的句法语用混杂的现象,对应英语的结构,错综复杂一些。

白:
其实从填坑角度看就是一个纯句法现象:一坨,有个坑,萝卜可填。至于这个坑怎么来的,最初长在谁身上,不重要。其实就是一个纯结构现象,无关语用。只要摆对解读结构的正确姿势,它就自然浮现。

李:
“子女不服管教”,这话听上去感觉不完整 虽然主谓齐全 因为有个坑没填萝卜:“【谁(的)】 子女不服管教?”

“心脏病不好治。”这话听上去感觉是完整的,虽然也可以问,【谁的】心脏病不好治?

白:
有隐含的logical quantifier

李:
“心脏病” 有坑没坑?还是说 这坑有强弱之别?
“子女”对 【human】 的坑,强过 “心脏病” 对 【human】 的坑,后者信息量也更大,更需要满足。

宋:
老王的子女不服管教。老王的子女不服管教者被老王打了一顿。

李:
这里,“老王的子女”是全集,“【其中】不服管教者”应该是个子集。

“子女都是不服管教的。” 这话就显得完整了: 因为全称小词“都”虽然 mod 的是 VP,但却作用于 NP“子女”,使得其坑显得没有必要填了,因为隐含的坑就是 “【所有人的】子女”,与 “心脏病” 同:“心脏病”的坑隐含的默认萝卜也是“所有人”。

老年人的心脏病不好治。
心脏病其实不难治,但老年人的心脏病除外。

上句的第一个分句,默认萝卜是 for all human;第二个分句 做了显式的限定,修改了默认值。

回到原问题:到底坑有没有必要区分强弱?

作为对照:及物动词肯定是有强弱的。有的必须要宾语(“善于”,“赢得”),有的最好有宾语(“喜欢”,“看见”),有的可有可无(“呼吸”,“诊断”),没有的话,大众心理就补足了一个默认值,从本体(ontology)来的默认: “呼吸【空气】”,“诊断【疾病】”。

白:
“心脏病不好治。心脏病不会治。心脏病不去治。” 谓语不同,对“心脏病”的坑有影响。第三个例子,最不完整。

李:
心脏病不去治,【你】不想活了? == 【你】心脏病不去治,不想活了?
心脏病不去治,【你】治啥?== 【你】心脏病不去治,治啥?

第一个【你】应该是病人,第二个【你】可以是医生。第一个【你】直接填“心脏病”的坑。第二个【你】作为医生,与“心脏病”的坑没一毛钱关系。

白:
是。对举可以削弱“萝卜的坑”。本来有一毛钱的入账,又有了两毛钱的债务。结果欠了一毛钱。成了别人家的坑

李:
最近想,退一步才好进两步,可谓真理。一辈子能够退一步的时机不多,总是忙忙碌碌,随波逐流,人在江湖,身不由己。如果因缘巧合遇到了退一步的机会,那么一定要惜缘。追求完美,不留遗憾,其实是常态生活的奢侈,但也可以是退一步的境界和机会。

为什么退一步反而可以追求完美不留遗憾呢?因为在高歌猛进的人生中,没有时间喘息和反思,难有机会从根子上改造,肩负的是历史的负担。只有在退一步的时机,才有可能重起炉灶,把历史负担当成经验教训的积淀。虽然慢了一拍,但磨刀不误砍柴工,最终可以更加完满。历史上,苹果公司的操作系统就在乔布斯的指挥下重起炉灶大放异彩。可怜的微软就总没有这样的机会,补丁摞补丁过了一辈子。

胡乱感叹一哈。

量子力学有个测不准哲学,其实对于语言学很适用。语言作为交流的工具,宏观上的可理解性是没有问题的。但是,测不准原理表明:从本质上来讲语言学不能做出超越统计学范围的预测。语言理解系统无论怎样逼近,永远也不可能在微观上 capture everything。那天白老师给了一个很妙的例句,是:“马可波罗的海上旅行”,让通常认为非常坚固的 4-gram 词 “波罗的海” 被另一个 4-gram “马可波罗” 遮盖了。可以设想一个分词系统的第一版本是 assume 4-gram 词以上就是正确的(实践中,匹配上 tri-gram词就相当靠谱了,这可算是一个分词的经验公式 heuristic),可以 identify 词及其概念。但对于上例,这个系统从最左向右匹配,赶巧就对了;若从右向左走,就错了。

毛:
有道理。这个例子确实巧妙。

李:
咱们进一步扩大疆界来逼近真实,就算搞定了 6-gram “马可波罗/的/海” (Note: 前一篇李白对话【李白71:“上交所有不义之财!”】中说过,其实搞定 5-gram 就可以认为是搞定了汉语分词,因为 5-gram 几乎是 local context 的极限了),咱们这就突破这个极限看看……。我要说的是,我们总可以找到一个context,使得以前的任何分词(及其分析)无效。

“我的朋友生了个双胞胎,绰号很奇葩,先生出来的叫千里马,后出来的叫波罗的海。我告诉他绰号也是有讲究的,有的可有的断断不可。千里马可波罗的海不可!(Note: 千里马/可/波罗的海/不可)。”

“朋友问为什么,我说因为有个测不准原理。千里马本体毕竟是动物,与人不远,可用。波罗的海本体自然物体,无法联想到人,故不可用。”

“马可波罗”乍看何其强大,甚至大过“波罗的海”(毕竟里面藏了一个万能小词“的”,是它的硬伤),也逃不过测不准的限制。最后大胆假设一下,立委牌中文深度分析器(deep parser)神奇地利用 long distance 句法或 休眠唤醒机制 帮助突破 local context,搞定了“千里马/可/波罗的海/不可” 的分析理解,so what?总还是会有“测不准”在,譬如:

“我舰/日航千里/马可波罗/的/海/不可/阻挡。(或曰:固有波罗的海,哪里有什么马可波罗的海?曰:先生一叶障目,知其一不知其二。马可波罗的海,乃印度洋别称也。)”

牵强?然而场景合理,语句合法,概率不是0。

想一想测不准,咱们搞AI,搞NLP的,怪丧气的:系统完美,只在梦中。但反过来想,其实是对完美主义者的有益警示:追求系统的完美和静态高指标从来不(应该)是核心目标,领域化能力和动态指标才是系统打遍天下的硬通货。不要想完美的事儿,只是要问:给你领域大数据,你多快可以让系统进入角色,让它上线转起来服务业务,然后对于 bug reports 的反应和修复速度有多快,系统在使用中日臻完善,虽然永远不会完备。

所谓追求完美不留遗憾,正解应该是对于架构和formalism的近乎受虐的追求,为的是到用的时候,到领域化的时候,到修复 bugs 的时候,可以庖丁解牛游刃有余。

毛:
你这个事情的性质不属于测不准,而属于词法/句法的不完备。测不准是对每个粒子而言的,每个粒子的位置和速度都有测不准的问题。而你讲的这个情况,是说不管什么样的词法/句法都有对付不了的特例,这就是不完备的问题。

李:
资源的不完备(不可能完备),在我就是系统的测不准,貌似也就是原观测对象的不确定性。

白:
@毛 是进出不同层次没有违和感导致的。一个字当作一个字,和一个字当作语言中的词的部件,是处在不同层次的。人偏偏要搅和在一起玩。这样会闹出悖论的,不过,NLPer似乎并不关心。

【相关】

【李白71:“上交所有不义之财!”】

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

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

《朝华午拾》总目录

【李白董冯吕64:NLPers 谈 NLP 渊源及其落地】

董:
冯老师,姜博士,李维,白硕,宋柔老师,这个系统正式上线前,想先请各位看看,横挑鼻子竖挑眼。这个系统是去年6月开始开发的。时间短。最近几个月更是忙得厉害

李:
刚发朋友圈了。“中国nlp老前辈董老师的知网支持的平台 值得关注 推荐。世界上自然语言理解的深度 董老师是最深的了。逻辑语义的开创者。三十多年的智慧和知识积累 董振东老师是 让我辈高山仰止的语义巨人(见 科学网《语义三巨人)。【语知科技】多语种NLP平台正式上线。  demo.keenage.com

冯:
董老师,语义理解,还是要依靠规则。深度学习不行!

李:

Manning 教授昨天座谈时说 最近三年是他一辈子做nlp感觉进步最大的三年 他主要指的是深度学习。曼宁是一位一直强调语言结构和理解的老教授 NLP最知名的权威了。他的感受应该是真切的 不过来不及细问他 这种感受多大程度上是基于深度学习在语音处理以及mt方面的突破性进展,文本方面其实目前很难说深度学习引发了革命。不过 word embedding 还有什么 adversary 学习方面 开始在词汇语义级发力 有些结果令人印象深刻。parsing 要等到深度学习能把 parsing 落地为应用 才值得侧目以待 目前不行。曼宁教授还是很学究 甚至有些腼腆的气质 现在火得不得了 也是时势使然。ai 一热 nlp 就热。病急多投医,nlp各路 也跟着提升了在ai中的地位,I guess。

董:
@李,你说的让我脸红了。我在研究上是个工匠,做学问认死理。我研究语义,是叫当年的机器翻译研究逼出来的。什么是理解?什么是常识?什么是知识库?人的知识是如何建构的?我后来的感觉人是用“少”,而非用“多”来计算语义的。你常说起的Cyc,是“多”的典型。语义的关键是“关系”,而分类只是语义关系的一种。近年我们开发了基于知网的翻译,最近一年开发了中文分析,从学术的观点看,是为了考验知网,是为了给自己30年前的设想做个交代。这个交代既是给自己的,也是给别人的。告诉人们哪些努力是值得的,哪些努力是仍然无法圆满成功的。

李:
董老师退而不休 能够完成心愿 给我们留下的这笔知识财富 我们需要时间咀嚼 消化 但我坚信这种影响是深远的。潮起潮落 有些东西是不变的。语义及其语义研究的一些方法 具有相对恒定的价值 好比金子 总会发光 这个没有疑问。ai 中真正懂 nlp 特别是 nlu 的人不多,好多声称nlp的专家 只是做过自然语言的某个端对端的应用 专家做 text NLP与他做Visual 做 audio 做生物DNA 是一样的路数和算法,不过是数据不同而已。没有啥语言学。

白:
佩服董老师的执着和务实。如果说哪里还差点什么,就是对于“多个爹”的刻画机制问题。

董:
白硕说的对。“多个爹”是我们想做的新的探讨。两个问题我们遇到的:一是“是不是个“爹””,如何在文句中正确的确定那个“爹”。

冯:
有的作自然语言理解的人不关心语言学。词向量效果不错,理论机制不清楚。

李:
戏不够 词来凑。语言的分析理解主要有两个支柱,一个是词汇 吕先生称为珍珠;一个是结构 称为串子。传统说法是没有串子 做不了语言理解的项链。

白:
@冯志伟 词向量是保运算的降维,数学上是清楚的,但是跟理解搭不上钩。

李:
所以我们这些擅长 deep parsing 的人就开始看不起只看到珍珠的人,但是 其实二者的 overlapping,从完成nlp任务的角度 作为两种证据源 其实是相当地大。因此善于把 词模型 词向量模型用到极致的人,有时候的确产生了让我们意想不到的结果。

冯:
珍珠和串子是缺一不可的!

白:
如果每颗珍珠都有插销插座,确实可以不用串子。或者说,寓串子于珍珠之中。

李:
我的意思是 我们多少有些老古董了。虽然可以继续执着下去 也的确可看到一些我们擅长的nlu工作 词模型似乎根本就没有可能赶上来。但还是应该保持一种 open 心态。

白:
开开脑洞还是必要的。
词负载结构是好东西。

冯:
我们要关注词向量的成果,更要问一个为什么?

李:
对 应该探究这种表达的背后。

白:
设想回到老乔刚冒泡的年代,那时的语言学家怎么看老乔?

李:
其实我最早读乔姆斯基的转换生成语法的介绍的时候,非常看不起,觉得就是儿戏。那还是在 1982 年备考语言研究所刘老师的机器翻译研究生的时候不得不临时抱佛脚,了解一些计算语言学的基本概念。此前我做过英语教学多年(包括插队做民办教师),从中学做学生的时代就教别人的英语句法分析,主动语态被动语态等转换烂熟于心。觉得老乔演示的那些转换生成案例,太低级 太常识 太机械 乏味,太不具有神秘感。直到后来学形式语言理论 才生出崇拜感。

白:
说实话,如果知识结构跟不上老乔,恐怕根本没有跟老乔PK过招的可能。

李:
人岁数大以后的一个好处是,可以直抒己见,没有啥顾忌。我其实在读博士做汉语形式研究的时候,就对乔老爷的句法独立句法自足论极为不满,就在 seminar 指出乔老爷错了,离开语义,汉语句法形式分析搞不定。被我的导师劈头盖脸一顿轻蔑,大意是:你不知道天高地厚,一边去。被哑口很多年过去,我还是发扬光大了当年的批判。

冯:
我在57年读到乔的三个模型就开始崇拜他了!

李:
是啊,一个理论把自然语言与电脑语言形式上统一起来,使得电脑语言编译越来越像语言学,这种抽象让人震撼。震撼过后的很多年 就是对乔老爷的不断扬弃和批判,批判的主要点还是源于他的抽象:是赞也抽象,批也抽象。的确 他把电脑语言带进了语言学,居功至伟 。同时他也把自然语言带进了坑里面,误导了太多的人 整整一代人。(详见:《立委:乔姆斯基批判》 )。

白:
@wei 你那不算是语言学的批判,只是工程视角的批判。他是语言学家,但从未承诺过NLP什么。NLP掉坑里也是自作多情

李:
我们下意识还是 认定他应该引领nlp 和 cl,结果是他越走越远 越走越邪门,nlp 已然与他无关了。

白:
他不管工程,不管技术,只管数学。

李:
结构分析中的叠床架屋 使得过程中夹杂了太多的 assumptions,看上去高度抽象 追求共性 实际上是越来越像空中楼阁。当然 我肯定戴了有色眼镜,做了一辈子nlp 对纯语言学很难批评得中肯 只是一种感觉而已。老乔的语言学 对于绝大多数NLP践行者包括在下,都是供在菩萨庙里面的 只膜拜 不 follow。

白:
如果从工程角度批判,估计人家看都不看—-关我什么事。

李:
老乔的思维高度自然不看 也不用看 这种批判。但是老乔下面的语言学家我认识很多,我就是这堆人里面混出来的,从他们身上我能感觉到他误导的后果。这些人很多时候就是在老乔的框架里面 自己跟自己玩游戏 没有理论创新 只好在语言数据上玩游戏,而且是一点都不感觉高明的游戏。说的是一批 或一大批语言学家。(也有一些绝顶聪明的纯语言学家让我叹服的,为数极少。)

洪:
做计算机编译的,没人认为老乔误导 Knuth和老乔貌是惺惺相惜。

吕:
赞@wei , 很多看法深有同感

李:
编译的理论基础 编译的祖师爷,电脑界理应崇拜 给10个图灵奖也不过分。当然 乔老爷哪里在意什么图灵奖。@吕正东 有机会咱俩坐下来谈。你最近的大作(见 独家|专访深度好奇创始人吕正东:通向理解之路)中我最不满意的就是一句话:说什么 符号逻辑规则路线没有成功的(大意,查原文是:“这三点都导致至今没有成功的规则系统”)。我得让你见识一下符号系统,没有深度学习的任何一家目前可以做到这个NLU的,无论深度 广度 速度 鲁棒 迁移度 可行性 还是其他指标 (It is untrue that Google SyntaxNet is the “world’s most accurate parser)。

吕:
@wei 惭愧,改日一定当面请教。

白:
说这些其实是在以史为镜。今天语言学界看DL、看词向量的心态,跟当初老语言学界看老乔的心态,有没有几分相似?

吕:
我的意思是说规则系统很难做到我所期望的NLU,不是说现在最好的规则系统弱于DL的系统。当然我对规则系统确实了解不够(现在正在补课),不免贻笑方家。

李:
不知道你去期望是什么。如果期望是现实的,很可能已经接近你的期望,如果期望是科幻,不谈。开玩笑了。王婆卖瓜而已。

吕:
我那篇访谈其实更多的是反对generic DL system 搞定一切的天真想法…

董:
@吕正东 你所期望的NLU,能否举个例子。

白:
里面有些模块可以是神经的,这有啥。

李:
所以我说我其实只有一点不满。你的访谈很好,

吕:
当然是现实的… 我们有现实的语义理解的项目

李:
@白硕 前乔姆斯基时代的老语言学界,陷入了田野工作的泥坑,是老乔把他们带出来的,革命了这个领域。纯粹的田野工作的确也是没大意思 比码农好不到哪里去。

吕:
@董振东 董老师,比如从一个偏口语的对事件的描述中得到对该事件的(“法律相关”)事实的表示…. , 当然这个定义是不那么严谨的

白:
其中一些方法,包括《降临》主角跟外星人沟通并试图破译其语言的一些方法,其实和主动机器学习很像了。

李:
一辈子也常陷入事务主义 没完没了地田野作业 自得其乐,但好在自我感觉好像心里还有某种哲学的俯视。有如神授:在田野工作的间歇 在某个高远的所在 有指引着道路。我是 语言工程师 knowledge engineer 的一员 毫无疑问。而且90%的时间都是。但是一辈子感觉这些田野作业的乐趣的本源却不在田野,而是在于架构。所以自我定义为架构师是最感觉自豪和 job satisfaction 的所在,否则与一头驴有啥区别。

白:
就是说,理想的田野工作一定是遵循某种算法的。而且算法不仅包括学习,还包括主动采样。

李:
所以在自我兜售的时候,强调 hands on 的田野作业,只是不想让人觉得飘在上面。但实际上卖的还是哲学。

Nick:
@wei 你就是自作多情

李:
我就自作多情 怎么着,你一边去 给冰冰多情去。@Nick  还想垄断哲学,搞什么哲学评书,不许我们搞哲学。王老五的桌子里面还有哲学呢,何况我辈语言学家。

董:
《福州晚报》7月15日报道,针对日前在日本横滨被证实遭杀害的福建姐妹一事,记者了解到,两姐妹均为福清江镜镇文房村人。
该报记者采访了该对姐妹花的父亲陈先生,陈先生回顾了得知姐妹被杀害的过程,并称女儿对父亲说的最后一句话是“谢谢爸爸”。

这一段事件,nlu 是什么呢?

吕:
@董振东 好难… , 实际上我们关注的是更加“冷冰冰”的事实,但即使这样也很难

白:
这里最大的问题,就是产品经理。

李:
同意,应用场景和应用角度 做技术的人很难看准。

白:
nlu是一层,但不构成核心服务。核心服务是另外的东西,让你贴近客户的东西。
相对称呼对身份一致性形成干扰,但相对称呼的谜一解开,倒也不是很难。姐妹花、姐妹,语境里的意思都是互为姐妹。

董:
我一直困惑:什么叫“我懂了”,“我明白了”。我觉得是高度抽象的关系。

李:
董老师30年前的论文(董振东:逻辑语义及其在机译中的应用)不是一再强调,所谓我懂了这句,核心就是懂了这句的逻辑语义吗?董老师的这个“理解”的教导,是一辈子遵循的指针。

白:
这得举例子吧……几何题的证明思路也可以“我懂了”“我明白了”,确定那也跟nlu相关?

董:
“姐妹花”,做为一个词语,可能合适。因为它就是“姐妹”,而且不见能产,如“母女花”

白:
“母女花”输入法里都有

李:
婆媳花 可能不在,但可以想见。

白:
我刚才意思是说,懂,明白,具有比nlu更宽泛的外延,nlu里面说的懂、明白,要窄、狭义。

董:
这样就可以依靠大数据了。对吧?
比“懂”、“明白”,要窄、狭义,那是什么呢?我如何在系统里体现呢?

白:
我们先说逻辑语义包括什么。我的观点:一包括symbol grounding,二包括role assignment。这两个搞定了,就是nlu的u。最狭窄了。茅塞顿开什么的,那种“懂”,跟nlu毛关系没有。可以说不在讨论范围内。在系统里体现,如果是role assignment,其实很好办,就是知网啊。如果是symbol grounding,那就要看系统的对接能力了。对接电话本、位置、天气、颜色、声音、实体知识库,都属于symbol grounding。

吕:
怒赞白老师1024次

白:
对接网页,往好里说属于兜底,往坏里说属于耍赖。一看见对接网页,我基本上可以判断系统黔驴技穷了。这都是在系统里能体现的,不知道入不入董老师法眼。

董:
是的,说得明白。我们的中文分析归根结底追求的就是你说的这两件东西。用逻辑语义和深层逻辑语义(多个爹),表示你说的role assignment,用ID No来落实实体知识库的symbol,即概念。所以判别歧义是不得不做的事情。

白:
我现在的方法处理“多个爹”已经成体系了。直接在句法分析阶段就能拿到“多个爹”的结构。

李:
Node to concept,Arc to logic semantics。很多时候 词到概念可以不做,wsd 绕过去,到了应用场景 再定 哪些词需要落地 其实多数根本就不用落地。

白:
这是parser提供商的思路。但是这思路在商业上有问题。不现实。比如,阿里的parser,为啥给京东用来落地?

李:
商业上就是 落地也做 当成 Professional services,量身定制,利用 parsing 的结构优势。 parser 不卖,内部消化。

白:
内部消化的本质还是深耕行业,而不是什么通用性。当你定位为深耕行业者,恭喜你做对了,但是牺牲通用性是板上钉钉的。

李:
卖components或平台基本没有做大的,还不如卖服务 做承包商。

白:
卖服务我判断也是不成立的。场景不长在你手里,实体数据库落不下来,图啥?跟通用系统如董老师的系统,根本不存在可比性。

李:
其实 目前为止 卖工具 卖服务 都没戏。实际上nlp还是寄生在产品应用。技术人的命运掌握在产品老总手里。赶巧遇到好产品 就一起飞。其次不死不活 这算好的。更多是陪葬。

白:
这不叫寄生,应该叫赋能 enabling

李:
一个牛的技术 可以降低陪葬 增加不死不活的可能  譬如我过去的二十年,但是无法让产品飞起来。

白:
除了产品经理,还有nlp之外的其他技术,也不是吃素的。到底谁贡献最关键,有得扯

李:
就是啊 使不上力 只好拼运气 看根誰搭档了。

白:
深耕行业定位下的nlper要时刻警觉的三点:1、你已有局限,不要和学术界比通用;2、你只是一个方面的enabler,服从、配合产品designer是天职;3、从产品全面看,其他方面的enabler或许贡献更大,nlp不见得一定是这个场景下最具杀手性质的技术成分,心理该平衡还是要平衡。

李:
让不让人活啊。
白老师所说极是。

吕:
谨记白老师教诲

刘:
赞 @白硕 @wei @吕正东 白老师关于nlp应用要语义落地的说法我深以为然。现在我的一些工作的motivation就是把基于NN的一些NLP的工作跟落地的语义结合起来,我希望能在这方面做一些通用性的工作,而不是仅仅局限于具体的应用。这应该是一条很长的路,有很多事情可做。

梁:
@wei nlp 不是“寄生”于产品,是“add value”, 正面去说。在最终产品的增值链上,nlp 只是其中一环。Me too. 谨记白老师教诲。

李:
寄生是负面说法 赋能是正面激励。

张:
主动学习、主动适应、主动釆样~~~白硕老师的“主动学说”给当年在MT创业的我极大启示@白硕

董:
关于研究与产品、通用与专用、寄生与赋能,我的想法和做法是:这些是对立且统一的。研究要通用些,要深,而应用要专门,要浅。研究可以关起门,应用就必须是开门的。这就是“深研究,浅应用”。就像一个老师,备课不怕深、广,但讲课要深入浅出。我经历过多次处理研究与应用间的关系的机会。

白:
@董振东 董强这次展示的系统,感觉还是学术性质的。@董振东 “备课”工作的一部分,确实可以用大数据、机器学习来做,全都人来做,周期太长,对灵魂人物的要求太高。

董:
@白硕 欢迎多多指教。我们希望有人帮助我们走向非学术性的。

白:
伟哥说大树吃小树,这话对的,不过涉及到时空的错乱。是吃了小树的树自然而然地成为了大树。

洪:
应该这样“全国猪人工智能受精关键技术研讨会”

吕:
猪AI会议可以撸出小猪来,不少国内的人AI会议,只能撸出更多的傻叉和骗子…..

冯:
近年来计算语言学的发展迅速,越来越工程化,文科背景的师生有的难以适应,海涛和他团队明察秋毫,迅速由计算语言学转入计量语言学,用计量方法来研究语言本体,这是聪明的做法。希望他们在这个研究方向上作出更多的成绩。海涛是我的博士生,浙大外国语学院教授。他是院士,世界语研究院院士。我仍然坚守在计算语言学的阵地上,没有转入计量语言学。我老了,不中用了!

李:
白老师说的大树吃小树 背景在这里:《科研笔记:NLP “毛毛虫” 笔记,从一维到二维

冯:
学习了。毛毛虫有道理。

李:
@冯志伟 洗脚池转文总是漏掉后面的 相关文章 现补上白老师这篇奇文:【白硕 – 穿越乔家大院寻找“毛毛虫”

 

【相关】

董振东:逻辑语义及其在机译中的应用

立委:乔姆斯基批判

独家|专访深度好奇创始人吕正东:通向理解之路

科学网《语义三巨人

尼克:哲学评书

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

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

It is untrue that Google SyntaxNet is the “world’s most accurate parser

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

中文处理

Parsing

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

《朝华午拾》总目录

【李白雷63:做NLP也要见好就收,适可而止】

白:
“那个假流氓真流氓”
“这种做法不禁令我们大吃一惊”

李:
前一句有意思 等我回头试试,第二句没看到 catch 啊。

白:
分词和句法的相互作用,“禁令”是名词,“令”是类介词的动词。“不+名词”即使不是严格禁止的,至少也是极其低概率的。

李:
这个知识在多数切词程序里是没有容身之地。当然还有别的办法。人在伯克利 没法测 第一眼居然没看到切分歧义。刚回家第一件事就是测试白老师的句子,悲喜参半啊:

第一句出来了,第二句果然切分错了,当然前面说过,“不+名词”的规则通常在切词的时候没地方容纳。还是用更简单的ngram的头疼医疼的办法吧。于是改正如下:

不过话说回来,如果真要难为系统,总是可以的:譬如,假流氓真流氓我管不着。

果然中招:

分了真假 就做不好并列;做了并列 就难兼顾真假。

白:
按下葫芦起来瓢

李:
如果鱼与熊掌一定要兼得,就太过精巧 君子不为也。不是不可以做 但不能这样做。维持现状吧。

白:
对NLP没感觉的人很难理解是什么让顶尖高手不得不妥协。

雷: 哈哈哈。顶杆

李:
妥协是因为吃过亏 吃过自作聪明的亏 精巧的亏

白:
问题不在于你解决了什么,而在于你解决了“这一个”的同时,不影响你已经解决的“那些个”。

雷:
不可调和?not even by bribery?

李:
哈,那要看量

雷:
工程上可以

李:
没有不可以的事儿

白:
不是技术问题,是商业问题

雷:
理论上顶在那里

李:
但懂得什么时候选择不做 有时比做 更重要。见好就收吧。这是不同维度的纠缠。

白:
里维和外围的纠缠

我:
平行并列是一个维度。“真”“假”的词性和用法的不同是另一个维度。“流氓”的名词形容词歧义又增加了一个维度。事不过三原则(见【系统不能太精巧,正如人不能太聪明】) 说的就是当多维纠缠的时候 你可以随风起舞 跟着去绕 但不要绕进去太深 要有适可而止的智慧。

梅:
@wei 是啊,不必去fit noise。

李:
不仅是 noise,更主要的是要皮实,不能让系统内部相互依赖太多。“精巧”的系统今天把一个拐角处的“艰深”问题解决了,而且通过了 regressions 测试,似乎没有副作用。可是明天呢 后天呢?系统在前进过程中,一定会打破动态平衡,凡是太过精巧的地方最终会在前进中遭遇困扰。于是我们就被拖进了两难的泥潭,把注意力放到了不该放的犄角旮旯。两难是:

那个 case 是 tested case,进入了 regressions baseline,因为精巧而脆弱,因此常常成为 regressions testing 的红灯区。红灯一亮,我是去对付它呢,还是放过它呢,真地两难啊:

对付它就要耗费资源,耗费我的时间,为了维护的是一个小概率的case,不断地耗费资源,不值得。如果放过它呢,这就等价于我们一开始就不该做,不该精巧地“解决”这个问题。后一个选择是明智的,但还是不如一开始就坚持事不过三的原则来指导系统的开发。系统的鲁棒性比解决个别的长尾问题要重要。

首发 2016-06-02 【新智元笔记:做NLP也要见好就收,适可而止】-科学网

【相关】

【系统不能太精巧,正如人不能太聪明】

【立委科普:美梦成真的通俗版解说】

【立委科普:语法结构树之美(之二)】

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

中文处理

Parsing

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

《朝华午拾》总目录

【李白梅宋62:工程语法与深度神经】

李:

汉语的类后缀(quasi-suffix)有不同的造词程度,“-者” 比 “-家”强。
“者” 是 bound morpheme,“家(home)” 通常是 free morpheme,突然来个“冷笑家”,打了个措手不及 @白老师。
不敢轻易给这种常用的 free morpheme 增加做类后缀的可能性,怕弄巧成拙。即便是人,乍一听这句子中的“冷笑家”也有点怪怪的感觉,怎么这样用词呢?如果硬要去模拟人的造词和理解合成词的功能,倒是有 heuristics,不知道值得不值得 follow:“冷笑”是 human 做 S 的动词,-家 是表示 human 的可能的后缀(“者” 比 “家” 更宽泛一些,可以表示机构或法人),这就为“冷笑家”作为合成词增添了一点语义的搭配证据,但还不足以站住,于是还有另一个 heuristic:“冷笑”的 subcat 的 human 语义坑不仅仅是S,其 O 也是 human: “张三冷笑李四”。而另一条路径(上面输出的 parse)是:”冷笑” 的 O 是”赞成“, 不搭。  这两个 heuristics (一个morphological,一个 syntactic)是如何在人脑里合力促成了正确的理解的,是一个可以想象但并不清晰的下意识过程。机器可以不可以模拟这个过程,利用这种合力做出逼近人类的语言理解呢?道理上当然可以。既然我都可以描述出来,那么硬做也可以做出它来。但是,在遇到这样的语料的时候,说句实话,通常选择不做。原因就是我以前说的:编制一个 NLU 系统,不能太精巧。【科研笔记:系统不能太精巧,正如人不能太聪明

白: 赞成有俩坑,一个human,一个内容。就算被“的”强制为名词,这俩坑仍旧在。

李:
是,我还没来得及加上 “赞成” 的坑的考量进来,问题的复杂度更增加了。精巧的路线是老 AI 的人和语言学家最容易陷入的泥潭。老 AI 陷入精巧还不当紧,因为 老 AI 做的都是玩具,domain 极为狭窄,精巧不至于造成太大偏向。

白:
“这本书的出版”和“冷笑家的赞成”异曲同工,都是用填坑成分限定有坑的临时名词。所以,两个坑其中一个是human,会给“-家”结构加分。
这是系统性的现象,与精巧无关。

李:
我就怕聪明反被聪明误。在 data driven 的NLU开发过程中,对于偶然出现的“怪怪“ 的语词或句子,我通常是无视它的存在(除非这个现象反复出现)。白老师总说是系统性的现象,但举出的例子常常是 “怪怪”的,是那种介于人话与“超人话”之间的东西,超人指的是,这类话常常是语言学家从头脑里想出来的,或者是高级知识分子抖机灵的作品。白老师宋老师,还有 yours truly 都擅长写出这样句子,可是普罗不这样说话。用白老师自己的话说,就是这类现象处于毛毛虫的的边缘毛糙的地方。虽然是毛毛虫的一个部分,没有它其实无碍。我指的是 “家” 作为类后缀的现象。

白:
对付这种既没有截然的肯定也没有截然的否定,而只是“加分”/“减分”的逻辑,统计比规则更在行。关键是模式长啥样。

梅:
Deep learning 死记硬背,套模式,有了training data,做第四层,第五层,做不出吗?

李:
我对这个统计的能力,好奇多于怀疑。统计或深度神经,真有这么神吗? 连毛毛虫的毛边、灰色地带、长尾,也都恰好能学出来?

梅:
那就需要多run experiments,机器多。一部分靠知识,一部分靠实验。应该能的。

白:
模式过于稀松平常,深度学习或可用上,但效果很差。模式过于稀奇古怪,深度学习可能完全没有用武之地。

李:
“家”作为后缀的产生性不强,基本属于长尾。而“家(home)”作为自由语素则是压倒性的。统计的系统不会看不见这一点。

白:
在找到合适的模式之前,过于乐观或过于悲观都是缺乏凭据的。

梅:
中文的data多啊。再sample一下

白:
都不知道模式长什么样,sample啥呢?我们的关键是看模式长什么样

梅:
做语音识别深度学习的,也是做很多实验,然后发现模式的。

白:
语音的结构是扁平的,拿来套语言,未必灵。假定了扁平再来发现模式,说不定已经误入歧途了。

梅:
不是100%灵,但有analogy

白:
实验不可能对所有模式一视同仁,一定有先验假设的。也许藏在心里没说出来,但是模型会说明这一切的。

李:
科研笔记:系统不能太精巧,正如人不能太聪明】里面有事不过三的原则。事不过三,无论是中心递归,还是我文中举的否定之否定之否定的叠加。表面上是程序猿的经验之谈,其实属于设计哲学。

梅:
哲学有用的

白:
如果藏在心里的先验假设是错的,多少数据也救不了你

梅:
先验假设 不是不好-立委的知识都可以用到深度学习上

白:
都能用上就好了。问题是他的知识长的样子,深度学习消化得了么?

梅:
那就combine啊

白:
在使用深度学习对付语言结构这件事情上,1、有迷信;2、有办法;3、迷信的人多半不知道办法。combine会引发什么问题,不做不知道

梅: 深度学习一点不迷信,又有定律,又有实践。

李:
哈,曾经遇到一个“超级”猎头,说超级是说的此女士居然对AI和NLU如数家珍的样子,包括人工智能符号逻辑派与统计学习派的两条路线斗争,不像一般的IT猎头简单地认为AI=DL。她的最大的问题就是(大体):你老人家是经验性的,骨灰级的砖家了,你能简单告诉我,你怎样用你的经验为深度学习服务呢?
(哇塞)无语。语塞。
全世界都有一个假定,至少是目前的AI和NLP领域,就是深度神经必然成事。只有在这个假定下,才有这样的问题:你无论多牛,不靠神经的大船,必然没有前途。

白:
深度学习假定的空间是欧氏空间,充其量是欧氏空间的时间序列。万事俱备,只差参数。这个假定要套用到语言结构上,还不失真,谈何容易。其实就是把目标空间的判定问题转化为参数空间的优化问题。

梅:
没说容易啊。现在的深度学习当然有局限性。还要懂data science,the science of data

白:
目标空间错了,参数空间再优化也没有意义。

李:
非常好奇,这么深奥的深度神经是怎样做的 AI marketing 洗脑了全社会,以致无论懂行的、不懂行的、半懂行的都在大谈深度神经之未来世界,把深度神经作为终极真理一样膜拜。
第一,我做工程语法(grammar engineering)的,句法分析和主要的语义落地场景都验证非常有效了,为什么要服务深度神经?本末倒置啊。他本来做得不如我,无论parsing还是抽取,为啥反倒要我服务他成就他呢?不带这样的,当年的希拉里就被奥巴马这么批评过:你不如我,为啥到处谈要选我做你的副总统搭档呢?
第二,深度神经也没要我支持,我自作多情什么,热脸贴冷屁股去?据说,只要有数据,一切就自动学会了,就好比孩子自动学会语言一样。哪里需要语言学家的出场呢?
最奇妙的是把一个软件工程界尽人皆知的毛病当成了奇迹。这个毛病就是,学出来的东西是不可理解的,很难 debug 。假设学出来的是一个完美系统,不容易 debug 当然可以,因为根本就没有 bugs。可是,有没有 bugs 最终还是人说了算,数据说了算,语义落地的应用说了算。如果发现了 bug,在规则系统中,我一般可以找到症结所在的模块,进去 debug,然后做 regressions,最后改进了系统,修理了 bug。可是到了神经系统,看到了 bugs,最多是隔靴搔痒。

张: 感同身受

李: 要指望在下一轮的训练中,通过 features 的调整,数据的增加等等。幸运的话,你的bugs解决了,也可能还是没解决。总之是雾里看花,隔靴搔痒。这么大的一个工程缺陷,这也是谷歌搜索为什么迄今基本是 heuristics 的调控,而不是机器学习的根本理由之一(见 [转载]为什么谷歌搜索并不像广泛相信的那样主要采用机器学习?),现在被吹嘘成是深度学习的优点:你看,机器多牛,人那点脑量无论如何不能参透,学出来是啥就是啥, 你不认也得认。是缺点就是缺点。你已经那么多优点了,连个缺点也不敢承认?牛逼上天了。

梅:
不是这样的。内行的不否认深度学习的长处,但对其局限性都有认识的

李: @梅 这个是针对最近某个封面文章说的,白老师不屑置评的那篇:【泥沙龙笔记:学习乐观主义的极致,奇文共欣赏

梅:
我的观点:There is nothing wrong with 1) and 2), in fact, they have helped advancing AI big time. But 3) is a serious problem.

李:赞。
宋:自然语言处理 不同于图像处理和语音处理,相当一部分因素是远距离相关的。词语串的出现频率与其长度成倒指数关系,但语料数据的增加量只能是线性的,这是机器学习的天花板。

李:
宋老师的解释听上去很有调性。
image 不说它了,speech 与 text 还是大可以比较一下的, speech 的结构是扁平的?怎么个扁平法?text 的结构性和层级性,包括 long distance 以及所谓 recursion,这些是容易说清楚的,容易有共识的。

宋: @wei 什么叫“调性”?

李: 这是时髦的夸赞用语。:)

宋: tiao2 or diao4?

李: diao4,就是有腔调。
深度神经没能像在 speech 一样迅速取得期望中的全方位的突破,这是事实,是全领域都感觉困惑的东西。全世界的 DLers 都憋着一股劲,要不负众望,取得突破。终于 SyntaxNet 据说是突破了,但也不过是达到了我用 grammar engineering 四五年前就达到的质量而已,而且远远没有我的领域独立性(我的 deep parser 转移领域质量不会大幅度下滑),距离实用和落地为应用还很遥远。

宋:
在不知道结构的情况下,只能看成线性的。知道有结构,要把结构分析出来,还得先从线性的原始数据出发,除非另有外加的知识可以直接使用。

李:
这个 text 迄今没有大面积突破的困惑,白老师说的是模型长什么样可能没弄清楚,因此再怎么神经,再多的数据,都不可能真正突破。宋老师的解释进一步指出这是结构的瓶颈,特别是long distance 的问题。如果是这样,那就不复杂了。将来先把数据结构化,然后再喂给深度神经做NLP的某个应用。这个接口不难,但是到底能有多奏效?

宋:
SyntaxNet宣称依存树的分析准确率达到94%。也就是说,100个依存弧,平均有6个错的。n个词的句子有n到2n个依存弧。因此,10几个词的句子(不算长),通常至少有一条弧是错的。即使不转移领域,这样的性能对于机器翻译之类的应用还是有很大的问题,因为每个句子都会有翻错的地方。

李:
错了一点弧,只要有backoff,对于多数应用是无关大局的,至少不影响信息抽取,这个最主要最广泛的NLP应用,对于不完美parsing是完全可以对付的,几乎对抽取质量没有啥影响。即便是 MT,也有应对 imperfect parsing 的种种办法。

宋:
这个数据的结构化不仅是clause层面的,而是必须进入clause complex层面。首先需要人搞清楚clause complex中的结构是什么样子的。就好像分析clause内的结构,要让机器分析,先得让人搞清楚clauses内的结构体系是什么,还需要给出生成这种结构的特征和规则,或者直接给出一批样例。

李:
现在的问题是,到底是是不是因为 text 的结构构成了深度神经的NLP应用瓶颈?如果真是,那只要把结构带进去,今后几年的突破还是可以指望的。结构其实也没啥神奇的。不过是 (1) 用 shallow parsing 出来的 XPs 缩短了 tokens 之间的线性距离(部分结构化);(2)用 deep parsing 出来的 SVO 等句法关系(完全结构化),包括 reach 远距离。这些都是清晰可见的,问题是深度神经是不是只要这个支持就可以创造NLP奇迹?

宋:
把结构带进去了再机器学习,当然是可能的。问题就是怎么把结构带进去。什么都不知道的基础上让机器去学习是不可能的。

李:
以前我们就做过初步实验做关系抽取,把结构带进ML去,是有好处,但好处没那么明显。挑战之一就是结构的 features 与 原来的模型的 features 之间的 evidence overlapping 的平衡。

宋:
clause complex的结构与clause的结构不一样。google把关系代词who、what往往翻译成谁、什么,就是没搞清楚层次区别。

首发 【新智元笔记:工程语法与深度神经

【相关】

科研笔记:系统不能太精巧,正如人不能太聪明

泥沙龙笔记:学习乐观主义的极致,奇文共欣赏

[转载]【白硕- 穿越乔家大院寻找“毛毛虫”】

[转载]为什么谷歌搜索并不像广泛相信的那样主要采用机器学习?

《新智元笔记:再谈语言学手工编程与机器学习的自动编程》

《新智元笔记:对于 tractable tasks, 机器学习很难胜过专家》

《立委随笔:机器学习和自然语言处理》

《立委随笔:语言自动分析的两个路子》

why hybrid? on machine learning vs. hand-coded rules in NLP

钩沉:Early arguments for a hybrid model for NLP and IE

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

中文处理

Parsing

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

《朝华午拾》总目录

【李白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博文一览】

《朝华午拾》总目录