【李白之68:NLP扯着扯着还是扯到萝卜填坑】

李:
发现 “引进” 与 “引入” 可能方向不同 虽然应该是同义词。读【李白之29】(“依存关系图引入短语结构的百利一弊” ),突然觉得不对劲 这不是我的原意。原来想说的是,“依存关系图引进短语结构的百利一弊”,或者,“短语结构引入依存关系图的百利一弊”。a 引进 b,语义主体是 a 而 b 是逻辑修饰成分;b 引入 a,a is semantic head while b is modifying element。不知道这个语感对不对 是不是语言共同体的 还是语言学家的走火入魔?

另 并列排比的力量很大 汉语为最 英语也有:

“One in the morning and one afternoon”

力量大到了可以生生把 one afternoon 拆散,棒打鸳鸯 可 NLP 界对这种现象研究和应对却远远不够。排比句式的自动处理及其与parsing 的无缝连接 可以做一些博士课题 排比是并列的延伸,而并列现象早就公认为是nlp的拦路虎之一。

白:
何以见得?程序员会首先说,编译通不过

李:
万一编译器鲁棒通过了呢。

两个什么?论最近原则 是两个西红柿。但还有一个更大的力量,就是前面说过的排比的力量:一个x ……两个【 】。

白:
通过的那种编译不叫鲁棒叫自作多情。如果论排比,那“一个啥啥”前面也得加“如果啥啥”。

李:
排比的力量真地很大 感觉强过距离 虽然这几句不 make sense.

白:
“孩子”是称呼对方还是指称对方子女,这是个问题:

白:
“拍的一手好照”……第一次见到这个说法。

李:
洗的一把好澡
吃的一桌好饭
拍的一屁股好马
吃的哪门子醋
吃的一坛好醋 双关 嘲讽

白:
你那些统计频率够高,这个不行

李:
露一手
拍一手好照片
踢一脚好球
踢的一脚好球
想一脑门心思?

“脑门” 与 “心思” 搭配,“一手” 却与 “照片” 并不怎么搭,“一手” 与 “拍” 似乎搭。

白:

如果“所”负载“他所说”,那么“他所说的”就是“所”填“的”坑。交叉了不说,感觉有点怪。
“所”是个纯粹的逻辑宾语提取算子,“的”则广谱一些,既能提取逻辑宾语,也能提取逻辑主语,而且接名词能构成定语,不接名词自己就升格而名词化。

李:
小词负载结构 也负载语义吗?我想请问的是 白老师系统如何区别 “所” 提取宾语的标配,与 “的” 既可提取宾语 也可以提取主语?这个区别如何在语义上实现?体现
在 pattern rules 里面的话,这个区分很容易实现。

白:
词负载语义结构,使用的是subcat类型演算。也就是说,“所”和“的”的提取对象,在cat层面不做区分,在subcat层面做区分。“的”提取“剩下的那个不饱和坑”所携带的subcat,“所”提取“代表逻辑宾语的那个不饱和坑”所携带的subcat。如果两个以上坑不饱和,如“卖的”,则取两个坑的subcat的最小公共上位(上确界):sup(human,human,object)=object。等待一旦其他成分做出更加specific的限定,比如“买的不如卖的精”或者“卖的都是假货”,再图改变。

李:
那是 unification 的本来意义:unspecified until more specific

两个小词提取(代表)的不同,在 subcat 演算上实现。这个 subcat
是谁的 subcat,又是怎么做 subcat 演算的?对于实词,cat 决定句法(萝卜与坑 以及 mods),subcat 决定语义(semantic lebaling 解析逻辑语义),我们可以想见。
对于小词呢?

白:
小词要具体分析

李:
从哪里看出来 “所” 指的是宾语。

我的所爱在高山。
我所爱的在高山
我所爱在高山
我所爱的人在高山。
我所爱的东西在高山。
我爱的在高山。
爱我的在高山
*所爱我在高山

白:
上面讲的“所”和“的”,我们用的词是“提取”,意思就是说它的subcat是copy来的,在copy之前,它是一个指针变量。说清楚了,谁填你的坑,你提取谁的哪个坑所要求的subcat

李:
“爱我” 只剩下一个萝卜 所以 “爱我的” 就是那个萝卜(代表)。为什么 “所爱我” 不成立?“所我爱” 其实也不成立,只有 “我所爱” 才成立,这个体现在哪里?

白:
我不管什么不成立啊,又不做生成只做理解。做生成也不这么做

李:
哈 这总是少了一个 leverage。赶巧了 词序不对的序列 不会出现 因此把词序 leverage 从 parsing 中扔开 貌似多数时候可行。但总是会遇到某种时候,词序的条件恰好就起到了帮助 parsing 的作用。

白:
subcat完全相同才会考虑次序,这时逻辑宾语右侧填坑优先。但是“所”提取逻辑宾语是硬性的,比只是“优先”来得更加强大。所以有了“所”,就轮不上这些右侧优先了。

李:
这种优先度的调整 听上去是宏观算法的考量,而句型subcat里面所规定的词序(如果词典规定的话)则是微观的。后者比前者更加精准。

白:
前者更加robust。我之所以放弃pattern,就是因为它管了不该管的事儿。

李:
动词句型的subcat,管得恰到好处呀,句型里面说在左边,那就一定在左边。

白:
好好说话是生成该管的事儿。而在各种糟糕语序下尽可能猜测对方意思是分析的事儿。

李:
句型里面的词序规定,与对小词的规定,以及对实词的规定(强搭配规定实词本身,弱搭配规定实词的本体)。所有这些规定都是一以贯之的。不管是分析还是生成,一个句型长什么样子 是植根在句型 subcat 的词典里面的。这是词典内语言知识。至于这个知识用于分析,可以适当放宽而鲁棒,或者用于生成,适当收紧而顺溜,那是知识的实用层面的考量,而不是知识本性发生了变化。

譬如 “邮寄” 带三个坑,其句型就是:

1. [human] 邮寄 [human] [object]
2. [human] 把 [object] 邮寄 (给) [human]

白:
理想的词负载结构,是可以100%把句型语序再现出来的。使用刚性方式(override)还是柔性方式(优先级),只不过是实施当中的工程选择,与理论无关。如果我愿意,也可以都采用刚性方式。但是我不愿意。比如及物动词六种组合语序,双宾动词24种组合语序,其中有多少种是合法的,我不需要关心。也不会用罗列的方式去挑出合法的组合。

李:
不同策略的选择 如果信息无损 当然无所谓。说的就是,在采用优先级柔性方式对付词序的时候,至少在词典化的句型信息方面,条件是受损的,词序这个显性形式没有得到充分利用。弥补它的手段包括中间件的查询。但是中间件的查询,其本性是隐性形式的使用,而词序是显性形式。

白:
没看出来受损。

李:
受损在:本来是由谓词本身来决定萝卜的词序,作为条件之一来填坑,现在却交给了谓词以外的东西。交给了算法中的优先级 and/or 中间件的查询。这个损失蛮显然的,对于所有把谓词本身与其句型的词序规定分开的算法。

白:
搞混了吧,这是谓词自带的,不是交给了算法。

李:
谓词自带词序??

白:
第一个坑、第二个坑谓词自己是有指针的,自带优先序。

李:
NP1 eat NP2:NP1 NP2的词序是词典决定还是……?至少 S/2N 貌似没反映词序。这个2N 里面没看出词序信息。

白:
说的就是第一个坑优先左侧结合,第二个以后的坑优先右侧结合。句法不管而已,subcat管。但是句法和subcat是时时刻刻互通的啊。不相谐时看后续选择。

李:
第一个坑优先左侧结合,这个东西,是对于所有 2-arg 的谓词有效,还是可以对于不同谓词有不同?如果是前者,就不能说是词典信息决定词序。

for another example:

1. translation of NP1 by NP2
2. translation by NP2 of NP1

这类词序原则上都是谓词 translation 在词典就决定好的,到了具体句子坐实其中之一而已。

白:
比如“饭我吃了”,1、吃是S/2N。2、“我”最先从左侧遇到“吃”。3、“我”与其中一个坑相谐。4、锁定human,留下food。

“我饭吃了”:1、同上。2、“饭”最先从左侧遇到“吃”。3、查相谐性,发现是第二个坑subcat相谐。4、锁定food,留下human。

至于查相谐是否必须从左到右遍历,这纯粹是一个算法问题。数据库还允许做索引呢,我为什么一定要遍历?“饭”都有了,跟“吃”的第二个坑匹配为什么必须先查第一个坑。

李:
句型规定词序的做法有下列特点:
1 在词序占压倒优势的句型里面,根本不用查语义和谐。就是词序绑架。
2. 在词序不能决定语义的时候,可以明确提出是哪两对发生冲突:然后让语义在这两对中去比较力量来求解(消歧)。白老师的上述做法貌似在情形1的时候,不必要地查询了中间件,多做了功来锁定。

白:
总而言之,在部分分析树上匹配目标句型,是我N年前使用的方法,现在已经放弃了。放弃的道理是在分析环节追求更好的鲁棒性。在生成环节,有另外的做法。

李:
在情形2的时候,不知道是不是也是查询中间件的力量对比(牵涉两个可能的二元关系),还是只查询一个关系?

白:
没有。一步到位。 说的就是没有使用遍历的方法。只有一个匹配结果就是第二个坑,第一个不用出现都。

李:
遍历也不是“遍”历,n个元素并没有理论上的所有词序排列,而是句型决定了哪些词序排列是可能的,哪些排列根本就不可能。而这些决定都是那个词的知识。

白:
白名单制。
有点对不上频道,我说的遍历是查询时对坑的遍历,不是对可能语序的遍历。我的结论就是,不需要遍历。

李:
这二者在句型实现或坐实中是相交的。譬如两个坑加一个谓词,句型的所有排列是:

1. 谓词【1】【2】
2. 谓词【2】【1】
3. 【1】谓词【2】
4. 【1】【2】谓词
5. 【2】谓词【1】
6. 【2】【1】谓词

当然对于一个特定的谓词,其句型就是这里面的一个子集。

白:
3!

李:
对。如果牵涉小词,上述句型还要扩展。

白:
我现在是一个句型都不写。

李:
然后加上省略,也要扩展:

7. 谓词【1】
8. 谓词【2】
9. 【1】谓词
10. 【2】谓词

白:
嗯,你这充分说明了我不写句型的优越性。

李:
看上去很多,但第一很清晰,第二具体到谓词,只是一个子集,有些排列被句型一开始就抹去,第三,每一个这种句型排列都可以确定性地决定,是歧义还是不歧义,从而决定是不是要求助或留给后面的语义模块。所谓文法,主体也就是这些句型。没了句型,文法也就差不多消失了。

白:
专制的文法消失了,民主的文法还在。中心化的文法消失了,去中心化的文法还在。拉郎配的文法消失了,自由恋爱的文法还在。

李:
很多年前我们的英文文法大体稳定在 600 条规则左右,其中大约有 400 条就是这些句型排列。400 条还在可以掌控的尺度之内。为什么 400 条就可以包揽呢?这是因为上帝造语言有个仁慈的设计:args 不过三。以前说过这个。args要是过了三,排列就至少是5!,必然引起句型爆炸。自然语言的谓词绝大多是是 2 args or 1 arg,只有少量的 3 args or 0 arg。决定了机器人通天塔并非不可能建造。如果当年设计语言的上帝忘了人脑的有限,弄出不少 4-args or 5-args,就傻眼了。一个事件往往关涉很多成分。但人在描述这个事件的时候,总是碎片化描述,每个句子遵循 args不过三去描述,然后利用冗余和合一,最后在篇章中才拼凑出完整的语义图谱出来。这就是自然语言简约有效、与人类脑容量相匹配的奥秘之一。

白:
这就是老话说的,一碗豆腐豆腐一碗,本来不需要区分的,语序一成刚需,得,不区分也得区分了。

一碗豆腐和豆腐一碗,语义上没差别,差别在语用上。数量词后置,是“报账”场景专用,可以让人联想到饭馆里跑堂的。如果将来都用移动终端触摸点菜,“二者的语用差别”就会成为历史。跟自称“奴婢、在下”一样,只能在文艺作品里看到听到了。用于分析的句法,不适合画“毛毛虫”的边界,画出毛毛虫的“包络”就很好了。

 

【相关】

【立委科普:及物、不及物与动词subcat 及句型】

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

【Parsing 的命根子是subcat,逻辑的和语言的】

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

《朝华午拾》总目录

【李白67:带结构变量的词驱动模式注定是有限的】

白:
(1)小林差点哭了。(2)小林差点没哭。(3)谁说小林哭了?(4)谁说小林没哭?(5)没有人说小林哭。(6)没有人说小林没哭。

小林哭了?没哭?小学一年级暑假作业

李:
从词驱动模式而言 这些都是小菜 谈不上挑战。其实小学生语文出此题 背后也是因为这些模式很简单 小学生下意识记住了模式:

差点 没 v == 差点 v 了
谁 说 S v 了 == 谁 说 S 没 v
谁 说 == 没有人说
没有人说 s v == s (应该)没 v

差点 v 了 == 》 【Did not v but almost did】没有人说 s v(negative)== 大家都说 s v 了

没有人说 s v(negative)== 大家都说 s v 了
==》s (应该是)v 了 【舆论推测】

That’s all. These types of oral Chinese patterns look tricky but they are short and finite. Very easy to memorize and highly tractable.   However, they are a challenge to key word systems.   Not very sure if they are a challenge to an end to end deep learning system ……

类似的现象还有:究竟好还是不好?

谁说iPod好。               【不好】
谁说iPod不好?           【好】
谁不说iPod好。           【好】
谁不说iPod不好?       【不好】
没有谁说iPod好。       【不好】
没有谁说iPod不好。   【好】
没有谁不说iPod好。   【好】
梁:

@wei 我也挺喜欢这种短语pattern, 中间夹着 Vp 或 a 之类。

李:
词驱动patterns是在“成语”的延长线上,加一些小结构的变量而已。这类现象适合词驱动的专家词典。小菜。而经典的关键词系统 一看就傻了,stop words 一去除,就是一包烂词 一锅糊粥,a bag of shitty words for BOW systems,但估计拦不倒神经系统?

Identifying and parsing these patterns are a piece of cake. The corresponding semantic representation is a little tricky, but as we all know, the semantic representation is output and is only a system internal toy for NLPers.  As long as we identify the pattern, however, we choose to represent it depends on the design of semantic compositionality and on the system internal coordination of such representation design and its semantic grounding to NLP applications.  The input matching pattern is key.  The output representation is whatever is good for the purpose.

有谁可以确定性地回答这个问题?对于这类简单的 patterns(虽然涉及到一点语言结构 但没有long distance挑战),现如今的深度神经是不是通过隐藏层、word embedding 等,可以轻易捕捉呢?能够捕捉,对于一个强大的神经 是预期中的。倘若很难捕捉 那就很尴尬了。

白:
用没有variable的词典定义绑架,剩下用什么方法都没有太多悬念。真正成问题的,一是“已定义”相对于“未定义”的高原效应问题,一是从“无变元”到“有变元”带来的泛化问题。

李:
什么叫 “没有 variable 的词典定义绑架”?那不就是成语或合成词或ngram黑箱子吗?
高原效应是什么效应?

白:
plateau:已定义效果特好,未定义效果骤降。词典定义,不必然连续。可以不连续

李:
无变元 到 有变元 是儿童学习语言的过程,道理上也是机器通过线性数据训练平面结构的过程,不管这种结构是symbolically显性表达还是某种方式隐藏地表达。

可以不连续的词典定义 白老师举例说明一下?已定义 我的理解是大脑或系统已经形成模式了,未定义 是尚未形成模式 还没学会。如果是带变量的词驱动模式 注定是有限的。小小的人类大脑都可以学会,就断断不构成数据科学家及其电脑的挑战。做一条 少一条,“而山不加增 何苦而不平”?何况数据驱动的学习或制作,总是从常见模式开始,罕见的长尾最后对付。

总而言之 言而总之,不是挑战,更像是玩儿。谈笑间灰飞烟灭的语言学游戏罢。所有这一切的信心来源于两点:一是人脑容量小得可笑,二是结构让无限变成有限。从结构看语言 NLP想不乐观都找不到理由。

很多所谓的 #自然语言太难了#,都经不起琢磨。多数所谓 NLP 难点,仔细一瞧,或者是 piece of cake, 或者是 人类自己根本就没有标准或答案的。后者是强“机”所难。

白:
静态和动态看到不同问题。捆绑定义,最没技术含量,最有所谓惊艳表现。根本就是给外行说的。问题都在捆绑定义之外。

李:
就这类问题来说,本身就很简单,老妪能解,要什么含量呢?要的就是work :if the work works then it is all fine.  我们以前常举的例子是:

The iPhone has never been good.
The iPhone has never been this good.

白:
动态看,从未定义到已定义的过程,从无变元到有变元的过程如何自动化,如何偷懒,才是真正有意义的。这里谁都能work的事儿,不说也罢。

李:
对于有限的对象 这个自动化过程没有多少实践意义。

白:
实践意义要实践的人最终判定。给实践添砖加瓦的人还是虚心点好。

李:
如果证明了所列举的现象是无限的,才有自动化的说法。至少我们现在谈论的现象 它不是无限的,而是相当有限的模式。不过是说个大白话而已,这里没有虚心的理由。当然肯定还有其他现象 性质不同,到时候碰壁了再虚心不迟。

抽象地说,一切学习,归根结底是泛化的自动化问题,因此研究这个问题才是高大上 才有真正的突破。但具体到现象 就不总是这种高级泛化的问题。也有低级泛化,譬如带变量的模式。技术含量属于不高不低,这个变量牵涉到词典与句法的接口,不是随便一个NLP新手就可以搞定的。因此有技术门槛,但的确也不是火箭技术,所以也可以说没太多的技术含量。

白:
就像某翻译系统,play piano 能翻译成弹钢琴,play mandolin 就不会翻成弹曼陀林。这里弹拨、键盘、吹管、拉弦乐器的标记体系是自动化的关键,一个一个组合去捆绑是傻瓜做法。乐器虽不是无限的,但多到一定程度就值得自动化。柳琴、琵琶、月琴、中阮、大阮、古筝、古琴,冬不拉、热瓦普、琉特、齐特、吉他、竖琴 ……

李:
subcat总是要做的。从 piano 泛化到包括长尾的曼陀林,的确是一个有意义的课题。word embedding 也好, HowNet 加 大数据 也好,都是要捕捉或搞定 nodes 的边界条件。自然语言说穿了不外是图谱中的 arcs 和 node。两路泛化 现在看来,arcs 的泛化更容易搞定,nodes 泥淖一点。当然二者还有一些互补和 overlapping,戏不够 词来凑。

白:
隐形标记体系,针对封闭的词典。不寄希望于个体词汇的低概率统计分布兑现。这就是我说的subcat embedding,

李:
subcat 为基础的泛化,当然是更高级的泛化。它与 word 为基础的泛化 构成一个 hierarchy,就好比词驱动结构与抽象文法结构构成 hierarchy 类似。前者是做工 nodes,后者是做工 arcs。这样来看自然语言可能就比较清晰了。当然 深究下去 这两个泛化还有很多交错和结合的变种。但万变不离其宗 词汇与结构总是语言的基石。subcat 泛化 比较tricky。也许 HowNet 结合大数据也是一途:拿 hownet 做 subcat 的种子。

 

【相关】

科研笔记:究竟好还是不好

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

中文处理

Parsing

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

《朝华午拾》总目录

【李白66:“青春期父母指南”的语义计算】

李:
朋友圈看到一本书书名是:【青春期父母指南】(副标题:如何和谜一般的青春期孩子相处呢?)定语青春期不是指向父母的,而是指向父母的儿女。

有意思的是,定语“青春期”不是指向“父母”的,而是指向父母的孩子。书名的结构是 NP:N1+N2+N3:N1 is neither semantic Mod of N2 nor of N3, but of something only implied yet not mentioned in text.  Grammatically we might still label N1 as Mod of N2, not of N3, N2 is grammatical Mod of N3, and semantic Obj of N3.

当然也不能完全排除这个指南是给处于青春期的父母(teenager moms or dads)

白:
青春期有坑,父母有坑,指南有坑。没有“的”的填坑关系和修饰关系互斥。父母填青春期的坑,是一解。青春期自己升格(处于青春期的某某human子类型),再填父母的坑,是另一解。

李:
后一条路不好掌控。凭什么升格,什么时候不升格?

白:
后面没有相谐的被修饰语,又有人需要这个被修饰语。升格也是有准入条件和优先顺序的。“是什么”是语言学,“选什么”是NLP。讨论语言学和讨论NLP,不是一股劲儿。当父母填青春期的坑的时候,父母自身的坑也只能借助升格来处理。不在这里升格,就在那里升格。要么父母处于青春期,谁的父母没交代;要么父母的孩子处于青春期,孩子是谁没交代。那个没交代的对象就是升格升出来的。

李:
没交代是常态。记得当年学句法课,教授花了很长时间讲解 complement 与 adjunct 的区别,说前者是需要交代结构(及其语义)才算完整,后者是可有可无(可多可少)的附加语。但其实在语言中,需要交代的常常不交代 不出现;可有可无的 往往具有语义的重要性。这道线很难划。语言不是按照逻辑设计的。

白:
语言也不是按照树设计的。多爹、非树是常态。

李:
几乎所有的及物动词都能省略宾语。省了以后,那个没出现的宾语,或者需要根据常识去理解,或者是根据上下文去理解,或者你知我知地通过心灵感应去理解,或者误解。也或者根本就不去(充分)理解:糊涂说 糊涂听 也一样交流。人类交流中 unspecified 的信息太普遍了 大家熟视无睹了。貌似交流也没受到阻碍。

白:
允许名词有坑,这都不是事儿。像上面例子,好像就逼着听话人选择哪个是没交代的。而不能是两个都没交代。

李:
青春期的坑是【human】,父母是【human】,这就算对上了。交代了。至于【父母】的坑,标题上下文里没见着,只好拉倒,stay unspecified。没有升格的理由。

白:
你这是从左到右思想作怪。那我问:“多动症父母指南”呢?

李:
从右到左试试?

“父母”的坑是【human】,左边的“青春期”不是【human】,但是青春期的坑里有一个尚未出现的【human】。如果要让正解出现,不仅需要从右向左,而且还要从别人的坑里面挖出一个根本没见影子的萝卜来。就算挖出来了,填进去的是谁还是一笔糊涂账,最多只能以常识默认推测之。

白:
把“青春期”处理成N+,不存在挖别人坑里萝卜的问题,但前面一些不严谨的表述需要修改。

对前面一些表述的修改:1、“青春期”是修饰语,无坑。2、“父母”取N输出,不在乎/N坑是否饱和,不是“升格”,而是正常的萝卜输出。图上两个方案,(2)的饱和度更高

 

【相关】

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

中文处理

Parsing

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

《朝华午拾》总目录

【研发随感:情感分析的沟沟坎坎(catches)】

A sentiment analysis catch:冤枉:1 [human]-A 冤枉 [human]-B 2. [human] 冤枉

冤枉:1 [human]-A 冤枉 [human]-B 2. [human] 冤枉

in (1), human-A is adversary and human-B is victim; in (2), human is a victim
in sentiment analysis, if the adversary is the topic, it is always a negative mention.  The catch is about the victim: if the topic is an event, or unknown, then sentences mentioning victims or actions or states involving victims are negative in tone; but if the topic is the victim, it is difficult to classify.  By human nature, when unfortunate events happen to victims, the natural sentiment is sympathy.
Sympathy is not negative at least; and it cannot be classified as positive either. It does not seem to be neutral. So it is tricky in the two-way or three-way sentiment classification.And in

And in text, we have tons and tons of expressions involving victims or victim-events, making sentiment classification difficult to conform to a traditional standard. For another example, John was ill.

For another example, “John was ill”.  Most people would classify John as being mentioned negatively here, which sounds right, after all, unhealthiness is not a desirable state.  But on second thought, we would find it inappropriate to have such a sentiment analysis: John did not want to be ill; it was very unfortunate that he fell ill, and it was not his fault to be ill so how can we conclude him simply to be a negative mention?

情感分析在不幸事件和受害人角色方面,该怎样确定一个合适的标准呢?大拇指或中指显得不够了。请各位语义计算的老师指教。1. 指责的对象(中指);2 赞扬的对象(大拇指);3 (理应)同情的对象算什么呢?当然我们可以考虑增加一个标签。这个标签是 Victim 【受害者】】还是 Sympathy【同情】?前者是描述事实;后者带有情感。但是不是对于每个提及受害者的文句,里面都必然有同情意味呢?如果不是,Sympathy 的标签就有点强加的味道,不符合语言理解和情感分析的本义。

对于好人好事和坏人坏事的情感分析 并不对称。做好事的人是 benefactor 【做好事者】自然是正面的,这件好事惠及的人是 beneficiary 【受益者】,也无疑是正面的
相对应的做坏事的人 自然是负面的。但坏事伤及的对象 如上所述 却不能总是不分青红皂白划归负面。虽然很多情感系统的确这么做 但会出现与事理不合 让人难以接受的场景或啼笑皆非的舆情分析结论。

倒霉的确带有负面语气 但倒霉的人通常是无辜的弱者 应该引起同情 而同情心是人类正面的情感。就这么点事儿 要说也没那么复杂 但在情感系统落地为应用的时候 常常闹出笑话。

索性再分享一些情感分析的坑。这些个沟沟坎坎,搞 thumbs-up-down 分类的人通常无感,也无能区分,却是细线条真实情感分析和应用绕不过去的。表达需求的说法,如何做情感分析呢?“小姑娘需要一台 iPhone7”,正面还是负面?对于品牌 iPhone7,这是一个很正面的事儿。品牌被人需求,这说明它受欢迎。但是对于“小姑娘”,这是负面的情形:她有这个需求表明她的愿望还没有得到满足。如果我们把主语从【human】改成品牌,需求的 statement 常常是:

“iPhone7 需要加长续航时间。”

这是很负面的表述:iPhone7 有很大缺点,续航时间不足。这是两种最常见的需求表述。对于细线条情感分析意义重大,涉及非常有用的市场和客户情报的挖掘。

顺着这个思路往前走一步,可以从直接表达情感的语句,进入表面上的陈述句,但背后却隐藏了正面负面的情报。譬如 购买,驾驶,使用等表述。得,打住,今儿个就分享到这儿。

 

【相关】

舆情挖掘

中文处理

Parsing

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

《朝华午拾》总目录

【李白邢65:“着”字VP的处置】

【立委按】 世界上很多事物都有不同的角度,对于一个现象的处理也有不同的考量。到了NLP,这就成了不同策略的优劣之争。对于老革命,战略和战术辩论的好处是各自说明白背后的理由,多数时候并不指望谁说服谁,更非争个高下。对于看客,行内人自可各自体会,根据自己的理解择优而行。对于行外人,看热闹之余可能得到的一个启示就是,世界往往就是,公说公有理,婆说婆有理。

白:
开着窗户睡觉,开着窗户是状语吗?
“砍了一刀没死”,砍了一刀是状语吗?

邢:
我理解您的分析方法中,是不是没有主语、谓语的概念,而是以动词为核心为其填坑,填坑的萝卜与其在句子中的位置关系不是很大,而与其在语义上的搭配关系更大。

白:
@邢 是的

邢:
还有“掌声欢迎”中的“掌声”是状语修饰欢迎,那“鼓掌欢迎”是否也可以理解为“鼓掌”修饰“欢迎”呢?

白:
“掌声欢迎”是“(用)掌声欢迎”,有一个隐含介词。所以可以把掌声这个N降格为S+,做状语。“鼓掌欢迎”句法上是两个S的合并,至于语义上是什么,留给语义去处理。合并不是修饰,句法上“鼓掌”不是状语。

邢:
如何实现“降格”这个操作呢?是否也需要大语料的统计做支持

白:
不需要

邢:
那如何区分“同学欢迎”和“掌声欢迎”呢?

白:
欢迎的标配坑有human,没有sound。检查subcat相谐性可以区分。

邢:
subcat确实非常重要,谢谢您!

白:
鼓掌欢迎,列队欢迎都是合并。夹道欢迎,其中的“夹道”已经成了专用副词了,不在其列。

邢:
我理解合并是有前提的,首先合并词都是动词,同时合并词共享某个坑

白:

述补、并列、连动、兼语、某些缩合复句,都是合并关系。

邢:
很受教,谢谢您!

白:
名词和名词也可以合并

邢:
是的,至少并列结构的词语都可以合并,无论属于何种词类。

李:
为什么不说省略了“用”呢:
(用)鼓掌欢迎
(用)列队欢迎
动词也好 名词也好 都是用某种方式,核心还是 欢迎。
“鼓掌欢迎” 与 “掌声欢迎” ,看不出实质区别来。 都有大数据相谐的证据。其实已经接近合成词了。

白:
在句法层面定核心,和在语义层面定核心,是两件事情。
开着窗户睡觉,也是有核心的,但是在句法层面就定,太早了

李:
不早,至少对于这句,句法痕迹还是很明显的。

白:
早不早,这是体系问题。

李:
带“着”的动词做伴随情况的状语,修饰紧跟其后的核心动词。这是一个合适的句法和语义一致的路线。

白:
没必要

李:
英语的 ing 作为伴随情况状语也是如此:He came here running,有某种语言共通性

白:
知道他俩有关系,句法上就够了。

李:
“[笑着]走进来”
“[哭著]说”
“[带着哭腔]恳求他”

这个形式痕迹不用白不用,看不出来推后的理由。需要或必须推后给语义的,是句法上缺乏形式痕迹。句法有形式的,自然是早做强过晚做。

白:
不一样,谁带,谁恳求,这里面首先有坑的共享问题。修饰语出现坑的共享,这是给修饰语找麻烦。

李:
修饰语是第一位的,坑是第二位的。修饰语里面的坑不坑 其实无关大局。从理解和语用看,语义重点不再是补全修饰语里面的萝卜(真要补也可以补,但语用和落地需要它的情形不多)。

白:
放下筷子骂娘
拿起筷子吃肉
开着窗户睡觉
穿了衣服出门

这些都是平行的。光处理“着”,只是图一时痛快。

李:
核心突出了,哪怕只是部分现象,总是好的。

白:
不同性质

李:
其他的句子其实核心开始模糊了,但带“着”的句子,核心基本是明确无误的。

白:
共享坑在机制上要更根本,有没有核心,在其次。共同的机制先放在一起处理,到里面再分道扬镳。不存在不处理或者处理错的问题。

李:
直感上,合并这把伞太大了,罩着太多的不同结构。

白:
这才好,说明共享坑足够根本。

李:
在后一个语义模块的解析策略不太明确的时候,很难判断这样处理的 pros and cons。区分或理解这些不同结构对于多数落地,是绕不过去的。而填坑对于落地有时候反而可以绕过去。

白:
语义上具有向心性,和句法上的修饰关系,是两个概念

李:
譬如说 MT,“着”字动词做状语 可以平移到英语,不填坑也可以平移。

白:
MT能绕的不止这些
那都不是事儿

李:
这种语义落地场景就表明 坑里没有萝卜也可以的。可是核心的识别 却是不可或缺的。

白:
不是没有,是两种语言的共享坑机制一致,这不是问题的重点。

李:
一般原则还是,句法管形式,形式不充分的留给语义。为什么介词短语做状语呢?因为有介词这个形式。同理,为什么“着字VP”可以做状语呢?因为有“着”这个形式。
这并不是说,没有介词没有“着”的就不可以做状语。而是说有了这些形式,可以放松对语义相谐的要求,不需要“意合”,也不需要大数据 ,就是根据形态(包括小词)基本就可以确定。

白:
后者可以不叫状语,叫连谓结构

李:
“好”的句法,应该把这些形式用到极限。这就好比有格变的语言,要尽量通过词尾格变确定句法关系。只有在格变有歧义的时候,句法确定歧义的边界,然后才把负担留给语义模块去选择。放着形式不用,先用大数据、常识或其他的模糊条件,是舍近求远。

白:
坑也是形式

李:
对,subcat 属于隐性形式。

白:
了和着在形式上也有诸多平行性。一个地方不平行,完全可以揣在兜里,到属于它的角落,掏出来该干啥干啥。那些有平行性的,大家共用高速公路。另外,进入这个车道的“着”,状语的标签已经是鸡肋,在这个形式下可以直接定位到“背景-前景”语义关系

带上水路上喝,带着水路上喝,带了水路上喝。

真的只有第二个才有形式么?每一个都带有形式,都带有时间标签。一旦确定相应的标签,回头再看“状语”这个大而无当的筐,算个啥?

带上干粮饿了吃,带着干粮饿了吃,带了干粮饿了吃。

“墙上挂着画显得很有雅兴。” “墙上挂着画还是仿制品。” “墙上挂着画居然上下颠倒了。”

这三个例子里,“墙上挂着画”都不能说是状语。“这种场合戴着帽子不够严肃。”当中的“戴着帽子”也不是状语。

李:
这些特地选出来的例句 的确具有强烈的平行性。但这只是语言事实的一部分。当我们说 “着VP”可以做状语 指的是另一批现象。“笑着说” 与 “笑了说” 并不平行,前者是【伴随状语】(adverbial of attendant circumstance),后者是【接续】,在“笑了”与“说”之间其实有个停顿或标点。再看,“带着干粮饿了吃” 与 “带了干粮饿了吃” 的确平行。但 “带着干粮去上访” 与 “带了干粮去上访” 就不必然平行。总之,的确有相当部分的“着VP”是做伴随状语(也可以说是做核心动词的背景 都是一个意思)。而这部分现象是可以在句法阶段搞定的。 处理的重要形式依据是 “着”,但也可能需要再附加一些制约做微调。事实上,我们系统有几条带“着”做状语的规则在句法有时日了,经过长时期的考验,发现很管用, 出状况的时候很少。几乎与 PP 做状语的规则一样好用。

汉语的痛点之一就是 动词成串 难分主次 搞不清核心。这与欧洲语言对比强烈 :欧洲语言有 finite (谓语动词)和非谓动词(不定式、分词之类)的形式区分。谓语中心很容易确定 句子骨架一目了然。既然是汉语的痛点,分而治之就是解决繁难痛点的一个不错的策略:各个击破。 自然语言另一个比较普遍的痛点是并列结构,我们起初总想毕其功于一役,但总搞不定。后来探索出来的有效策略也还是分而治之各个击破。

白:
伴随关系(前景-背景关系)是时间关系的一种。接续关系是另一种。目的关系,可以看成未然的或可触发的接续关系。平行上路,平行落地。人家自己完全井然有序,用不着这个状语标签分了一块去再横插一杠子。充其量只能说,在这一批从时间内在结构角度而言从句法到语义都充满了平行性的关系当中,伴随关系“碰巧”具有了向心性。但是在这么本质的语义关系都揭示出来的情况下,坑哧吭哧跑过来宣布谁谁是状语,不觉得蛇足么。就好像从集体婚礼中拽出一对儿,然后宣布,这俩是山东人,差不多。

笑着说,笑的区间包含说的区间;笑了说,笑的始点位于说的区间左边(笑的终点不确定)。怎么不平行?

语义计算里面,时间结构是重要的一块。有些动作的时间结构不是区间而是点状的,对其不能用“着”,比如“死”“开除”,这也是一种形式上的旁证。点状的时间结构不能包含区间状的时间结构,正如0不能做分母。

 

【相关】

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

中文处理

Parsing

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

《朝华午拾》总目录

【李白董冯吕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博文一览】

《朝华午拾》总目录

 

【生涯花絮:1989年的老照片】


1989 年荷兰 董老师、立委访问 BSO  机器翻译组,组长 Witkam 请客并合影

董振东老师翻出来一张老照片,让我想起往事。说话快30年了。1989,我不过是刚入行两年的初生牛犊, 而董老师已经完成了中国第一个实用MT【译星】产品的研发,风华正茂。

“出道之初的上世纪80年代,我为一家荷兰的多语机器翻译BSO项目,参照英文依存文法,设计过一个【中文依存文法】(Li, W. 1989. “A Dependency Syntax of Contemporary Chinese”, BSO/DLT Research Report, the Netherlands),概括了几乎所有的重要句型,纸上谈兵地画过无数的中文依存关系句法树。那应该是中文依存关系形式化研究的真正开拓期,如此说来 yours truly 也可以算是中文处理研究的化石级元老了。现在回看当年的图画,对照最近在机器上实现的依存句法分析器(dependency parser),一脉相承,感慨万千。年轻时就有绿色的梦,那么喜欢树,欣赏树,着迷画树,好像在画天堂美景一样体验着绿之美,梦想某一天亲手栽培这颗语言学之树,为信息技术创造奇迹。如今终于看到了实现的曙光,天时地利人和,研发的辛苦与享受已然合一,这是何等美妙的体验。”  摘自《中文之心,如在吾庐

“1989年夏天,我和导师刘倬去德国慕尼黑应参加第二次国际机器翻译最高级会议。此前,我跟荷兰BSO(Buro voor Systeemontwikkeling BV)公司的机器翻译研究组一直有联络,应约为他们的以世界语作为媒介语的多语机器翻译系统 DLT,编写了一部现代汉语依从关系的形式句法。他们听说我们要来欧洲,就邀请我和我的导师,还有中国机器翻译界知名人物董老师,会后顺道访问他们的实验室一周,做学术交流,共同讨论汉语句法里的一些疑难问题。这次活动,他们称作 Chinese Week.

“我们是应慕尼黑机器翻译峰会的召集人,西门子公司的S先生特邀,提交论文,介绍我们的JFY英汉系统。这是我第一次出国,一切陌生而新鲜。大会在大酒店的拱圆形讲演大厅举行,气派豪华。我的导师是俄语出身,所以派我上台宣讲论文。初生牛犊不怯场,我报告完后,回答了两个问题下场,正赶上中场休息时间。大概东方面孔的报告人很少,慕尼黑电台的记者现场采访了我,询问我的观感,还好没有涉及64的问题(当时64刚过,风声很紧,我们办到一半的出国手续,又重新审查一遍,险些泡汤)。

“游览阿姆斯特丹后,我们按计划去Utrecht的BSO公司访问一周。DLT 项目研究组十几个人,一半是语言学家,一半是工程师,看得出来,这是个气氛融洽的团队。德国世界语者 Klaus Schubert 博士是系统枢纽“依存关系句法”(dependency grammar)的设计人,在项目第二阶段继 Witkam 成为项目组长。71届大会后招进来的美国世界语者 Dan Maxwell 博士,负责东方语言的句法项目的承包、质询和验收,是我的直接领导(十年河东,十年河西,后来我成为他的 boss,这是后话,见《朝华午拾:水牛风云》)。Dan一看就是老实人,照顾我们客人殷勤有加。我看到他早上骑自行车来上班,笑着跟他说:“我在北京上班跟你一样”。

“研究组的骨干还有国际世界语协会的财务总监,知名英国籍世界语者 Victor Sadler 博士,我在71届国际世界语大会上跟他认识。作为高级研究员,他刚刚完成一项研究,利用 parsed (自动语法分析)过的双语对照的语料库(BKB, or Bilingual Knowledge Base)的统计信息,匹配大小各异的翻译单位(translation unit)进行自动翻译,这一项原创性研究比后来流行的同类研究早了5-10年。显然,大家都看好这一新的进展,作为重点向我们推介。整个访问的中心主题,仍然是解答他们关于汉语句法方面一些疑难问题。他们当时正在接洽欧洲和日本的可能的投资人,预备下一步大规模的商业开发,汉语作为不同语系的重要语言,其可行性研究对于寻找投资意义重大。

“期间,Victor以世界语朋友身份,请我到他家吃晚饭。他住在离公司不远的一栋公寓里,太太来开门,先跟丈夫轻吻,然后招呼我进来。太太也是世界语者,忘了哪国人了,总之是个典型的世界语之家,家庭用语是世界语。Victor告诉我,太太实际上会一些英语,但是用英语对她不公平啊。太太很和善,跟我说,他们俩非常平等,她做饭,Victor洗碗。我说,这跟我家的分工一样,我最爱洗碗这种简单劳动。她笑着说,“Victor, vi havas helpanton hodiau (你今天有帮手了)”。饭后Victor洗碗,并没有让我插手,我站在旁边陪他聊天,一边看他倒进大把的洗涤液,满是泡沫把餐具拿出来,用干布擦干。我告诉他们,这跟我的做法不同,我们总是怀疑化学制品有毒或副作用,最后必须用清水涮净才好。太太不解地问:“洗涤液如果有毒,厂家怎么能生产呢?” 这倒把我问住了。Victor夫妇和蔼可亲,我感觉在老朋友家一样,饭后一边吃甜点和水果,一边闲聊,尽兴而归。”  摘自 《朝华午拾:欧洲之行

30多年前,我在社科院硕士报考专业上填写了“机器翻译”四个大字,内心充满了敬畏和神秘感。刚入行的时候做的是外汉机器翻译,一直不大敢碰汉外,原因是汉语语法不好形式化,感觉太难了。
把酒话桑麻,再泡一壶茶,白头老机译,闲坐说研发,说一点儿机器翻译的掌故吧。曾几何时,机器翻译处于手工业研发时期,每个语言对(language pair)要手工开发两套系统,A 到 B 一套,B 到 A 一套,语言对一多就有一个类似系统数组合爆炸的问题。于是,怎样实现多套语言之间的相互翻译成为机器翻译领域的经典话题之一。各种探索和方案都有提出,主要有两类:一类是所谓基于媒介语的设计思想;另一类是合一文法(unification grammar,又叫 constraint-based grammar)支持的方案。第一种方案很动听,因为如果有一种比较中性可以表达意义的媒介语,那么每个语言只要编制两套针对媒介语的互译系统,就可以实现通过媒介语而成的任意语言对的翻译。这幅图画是如此美妙,为老一辈机器翻译宣传家门所津津乐道。由此而来又引发了媒介语设计和选择的种种争论和探索,有主张全新设计一套基于逻辑的形式语言(日本曾经联合亚洲其他国家实施过这个方案),有主张利用或者改造世界语(Esperanto,立委出道当年也曾著文鼓吹过世界语作为媒介语,荷兰一家公司BSO也曾尝试过),还有研究者坚持认为只有采用自然语言(譬如英语,或者简化版英语)做媒介语才现实可行。第二类合一文法的研究在理论上也很诱人,它的兴起伴随着新型计算机语言 Prolog 问世:合一运算是 Prolog 语言的内置特性。所谓合一文法,就是排除蕴含在传统计算文法(computational grammar)里面的语言分析和生成的过程性,在合一文法的旗下出现过一系列以后缀G(gammar)命名的形式化系统方案(formalisms),如 GPSG,HPSG(立委的博士课题就是在HPSG这个框架下做的机器翻译实验)等。因为语言规则不再具有单向性,那么分析文法和生成文法就可以是同一套语法,由这套文法支持的系统是做分析还是做生成,是在文法资源被调用的时候才得以确定。理论上,A 语言翻译为 B 语言,与 B 语言翻译为 A 语言,在语言资源上归一以后,开发系统的工程就节省了一半,对于多语互译的效率虽然不如媒介语方案高,省工一半也还是非常诱人的。长话短说,这两类方案都是传统的基于规则的系统,虽然都做过相当程度的研究探索,但最终由于局限于手工规则系统难以 scale up 而没成大气候,最终修成正果的还是后起的统计型机器翻译(statistical MT)。多语翻译的问题因此转化为海量双语对照语库的资源问题。同一个架构和算法,原则上只需要同一个双语对照语库对互译的两个方向训练两次即可生成两套机译系统,近几年也有对于缺乏对照翻译数据的语言对,通过语料更丰富的语言作为媒介语绕个弯的做法。
 
机器翻译(MT)是自然语言处理(NLP)领域历史最悠久的应用方向,从上个世纪50年代初发轫,承载了中外几代不知道多少人的青春和梦想,也包括青年时代的立委。如今,梦想化为现实,嵌入式机器翻译在互联网无孔不入,已经成为普罗大众手中招之即来挥之即去的便捷工具,每时每刻在默默服务着千百万互联网用户。女儿学汉语用它,学西班牙语用它,去日本动漫网页也用它,用到对它熟视无睹,把机器翻译视为理所当然。只在翻译错得离谱的时候才意识到它的存在,不时报以嘲讽:真笨。可机器翻译呢,谦谦君子,玉树临风,虚怀若谷,任劳任怨。对于已经天然成为女儿这代人生活一部分的机器翻译,我满腹机器翻译的历史和掌故,却不知如何给她诉说。耳濡目染,她从我断续的话语中似乎隐隐觉得机器翻译对于她父亲的一生具有特别的意义,可是我还是无法象对同辈人那样娓娓道来,如数家珍,传达出我内心深处的机器翻译所蕴含的那份厚重和神圣。不仅仅是一般意义上的代沟,是技术的跨越式发展造成了两代人迥然不同的视角,让人欣慰更感慨。摘自 《机器翻译万岁》

“学自然语言的人如果入行做的就是规则机器翻译,那是上天的赐福。新一辈这种人没有了,所以很多入行多年的人,看到的语言世界,还是一线天。如果你在没有平台支持下被逼着去做规则机器翻译,你有福了。你必须从头开始做词典、做 tokenization,做 POS,做短语,做 SVO 句法,你还要做双语结构转换、WSD 词义消歧,最后还有目标语的生成,包括形态生成、调序,修辞上的一些 final touches。总之,从语言分析到语言生成,方方面面你必须全部做到。如果没有平台 没有专用语言 像我们做硕士论文那样用 general purpose language (COBOL,ALGOL,BASIC,甚至汇编)做,那就是在太上老君八卦炉里炼,没得不炼成火眼金睛。现在的 CL 硕士博士呢,动不动就下载一个软件包,瞅准一个子任务 譬如切词,譬如 sentiment,譬如WSD,哪怕是做 MT, 也不用涉及那么多的层次和模块。

“索性把怀旧进行到底 《朝华午拾:一夜成为万元户》: 这是我为这个DLT项目所做的 Chinese Dependency Grammar 的故事。这篇汉语形式文法的原始版本有链接可以下载:Li, W. 1989. “A Dependency Syntax of Contemporary Chinese”, BSO/DLT Research Report, the Netherlands.  我的工作应该是中国做依存关系最早最完整的作品了。所谓 【美梦成真】 就是这么个来历,跨越近 30 年,纸上谈兵的 syntax 终于化为现实的 deep parser。刚才一边吃晚饭,一边琢磨这段MT外传,觉得还是有几点可以总结的,笔记如下。
(1) 荷兰这个多语 MT 计划本来是规则系统起家,用世界语作为媒介语,用的是依存关系文法的框架,实现的机制是 ATN (Augmented Transition Network),技术领头是德国语言学家舒伯特。
(2) 可是做着做着,剑桥出身的 Victor 博士想出了统计的路线,定义了一个在句法分析基础上、根据统计和记忆决定的可大可小的 Translation Unit (有点像我们用的“句素”的概念),做了实验验证了这条路线的创新,把整个项目在收尾阶段翻了个个儿。而这时候(1989年),其他的MT研究虽然也有 IBM 等开始的统计 MT,但没有一个达到这样的深度。
(3)事实上,直到今天,回顾这个科研创新可以看出,根据 parsed 以后的双语数据库的平行对比,从统计去找 Translation Units,比起后来多数缺乏结构、本质上是 ngram 记忆的 SMT,还是远高出一筹。(当然现如今的深度学习对MT的革命性推进,虽然仍然没有利用显式的语言结构,但真正海量数据的深度学习似乎有效弥补了结构的不足,不像此前的 SMT 那样捉襟见肘。)
(4)在 SMT 中加入 parsing 并不是每个人都有这个条件,DLT 赶巧是先做 parser 做了四五年,有了这个基础。现在和今后的方向从宏观上来看是,SMT和NMT 可以重温类似 BKB 双语parsed平行语料库的尝试,走带入结构的道路。深度神经是一种训练的算法,与语言的结构深度没有必然联系。事实上 迄今为止 对于 text NLP 的深度神经的尝试,除了专门做中间件 parsing 的 research 如 SyntaxtNet 外,对于 NLP 应用方面的任务,基本上还是在语言浅层端对端进行。”  摘自 《河东河西

 

【相关】

 

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

李:
“难得他认可啊。” 歧义句。有点类似于 、但也不同于“难过” 的歧义:

(1)他认可,难得啊(已然);(2)得他认可,难啊(未然)。

前者可以骄傲,是正面信息;后者是负面的畏难情绪,不自信,或的确客观上难以达到。

parse 的是 (1),如果想要(2),还是循“难过”的先例,去在语用层做休眠唤醒吧:  “难过”(“小河很难过”)见 【立委科普:歧义parsing的休眠唤醒机制再探

董:
我以前讲过,在实际语言交流中,人与人之间几乎没有歧义。如果真像nlp一步一个歧义,那还得了。类似范冰冰奶奶、咬死猎人的狗之类的句子是语言学家消遣自己的。上帝是为人准备的语言,不是为机器的。

白:
nlp大多数歧义是伪歧义。问题是,这些伪歧义,对人来说,是在哪个环节被干掉的。只要分析器在按照语言学家的思路做,语言学家消遣自己的把戏,就总有一天会消遣到机器的头上来。

雪:
common sense环节?人自身对于整个世界的建模

李:
CFG based parser,哪怕是 lexicalist 的语法 如HPSH,也有很多伪歧义 parses,可是多层的 parsers 就很少受到这个困扰。这个事实显而易见。可见 common sense 不该是 key,因为 多层系统里面 common sense 即便利用,也是零星带入的 不是主力。

我做博士的时候,导师的实验室里面有一个英语的 HPSG parser,parses 输出如此之多,如此地不能辨别真假,以至于最后在使用这个parser做MT实验的时候,我们不得不只选取第一个 parse,等价于随机选择。

层层递进的多层 parsing 虽然会偶然出现漏掉有效parses 的路径(过早删除),但比起其他 parser 的伪歧义成堆,还是境况好得多。此外,漏掉的有效 parses 在开发过程中,可以被重新补足,或被唤醒。

所以,白老师说 NLP大多数歧义是伪歧义,基本是针对单层搜索的 parsing 算法而言,而不是多层 cascaded parser 的真正缺陷。

梅:
可以说是“common sense”吧。人不是机器。

李:
一般来说,语言学的细线条知识 不划归 common sense 范畴。当然,细线条到一定程度,常识也就溜进来了,没有绝对界限。人类交流没有感觉到歧义,有几个原因:

(1)歧义休眠了,正常的场景不被唤醒,因此无感;
(2)有些歧义不影响大面的理解和主旨的交流,说的人也许本来自己就含混,听得人也没有理由去追究细节。保持某种语义模糊是人类交流相当常见的状态,但是一旦形式化,歧义就站在那里了,除非是做系统的人特地去把歧义中性化或模糊化。一个典型的 PP-attachment 的歧义是 for-PP,以前说过,在很多场合,这个 for-PP 做定语还是做状语,根本没啥大差别。

梅:
人要是想多了,说不定也有“歧义“,但人的“short term memory”是有limit的

李:
(3) 当然还有一部分所谓歧义是系统 “人造”的,本来无歧义,系统自扰之。譬如,在 HPSG 的数据结构 feature structure 的设计中,经常会出现这种歧义。由于过分强调 feature structure 的层次性、逻辑性和合一性,以至于当这个 structure 投入使用的时候,带来了大量的对于人没有区别意义,但对于结构具有区别的所谓歧义。这是与具体的系统formalism 的设计有关,是 system internal 的,与其他 formalism 无关,与人的理解无关,是模型化形式化过程中的产物。unification 是双刃剑,推向极端,系统就失之太过精巧,没有容错性。

刚才例行散步时仔细想了想了这个伪歧义的问题。为什么这么多 parsers,包括传统的 CFG-based 规则系统和统计训练出来的 parsers,陷入伪歧义的泥潭?

白:
没用盘外招呗

李:
得了 得了。我一肚子话还没说呢。白老师,I 服了 U!

白:
羊头+盘外招=狗肉

李:
白老师讽刺我是卖狗肉的

梅:
Spoken 和 written 应该有很多不同吧?@wei

李:
很多不同是对那些从 PennTree 训练出来的系统。对我们的系统,没有什么不同。spoken  的语言不太规范,transcribe 成 text 我一样 parse,质量会有降低,但那是与 spoken text 的随意性成比例的,绝对不会是直线下降。反过来,我以 degraded text 做我的数据制导,出来的系统一样对付正规文体。parse 新闻不会比专门从新闻训练出来的系统差。这是语言学家做系统的好处之一吧,我们是人,不是机器,不会被数据牵着鼻子亦步亦趋。

白:
光分层,不可能把伪歧义去的那么好。这里面太多只可意会 不可言传。有剪必有捡

李:
关于伪歧义,这么说吧:伪歧义太多是枝枝蔓蔓没有及时修剪的必然结果。理论上讲,修枝剪叶是危险的,实践中却不尽然。自然语言中的现象中有很多是相互依赖的,但也有很多现象是相互独立的。如果你设计的系统是以相互依赖作为基本的 assumption,祝贺你,你就跳进泥潭吧。跳吧,跳吧,不要往两边看。

如果你相信语言现象的 dependency 是有限的,可以调控的,即便剪错了也不是世界末日,你就可以在数据制导的开发环境里,逐渐把系统调适得恰到好处:该休眠的休眠,该保留的保留,该杀头的立即枪毙。你就不会为伪歧义所困扰。

白:
一个硬币的两面。靠剪对付标配,靠捡对付长尾。两手都要硬

李:
是的,可是怎么硬呢?硬必须要有语言学的sense,必须知道根据不同情况做不同的对待。缺乏语言学的人 把各种路径放在一个锅里炒,无论你有多大的数据,你也还是陷入泥潭。

雷:
@wei 不是秋后问斩,是斩立决

李:
白老师字字珠玑: 靠剪对付标配,靠捡对付长尾。

雷:
@wei 其实,即使没有歧义,语言理解也是如若有歧义,理解有多个

白:
把人际沟通中的各种暗示、言外之意都算进来,歧义不得了,但是核心的精神,剪与捡,是不变的。

雷:
每个人接受的模式决定了理解的样式

白:
比如站在严格逻辑的角度,从“该来的没来”,本不该推出“来的都是不该来的”;从“不该走的走了”,也不应推出“没走的是该走的”。但是人就是要听话听声。

李:
@雷,一码一码吧。语义落地到人或产品,那是 parsing 的后过程。

雷:
句法是语言学家的

李:
@白老师 盘外招 只可意会不可言传的 tricks 这些在学习系统中怎么去 model 呢?我怀疑学习算法不敌领域专家(对于 parsing 就是语言学家),根据的就是这个。我作为专家如果在迷宫里千辛万苦绕出来了,学习怎么恰好也能绕出来?

白:
@wei 同样的话,围棋高手们也问过。

李:
说的也是,围棋手也这么问过。不过,白老师其实只说了半句话。

白:
另半句,取决于学习模型长什么样。

李:
这个模型的定义至少不该排除领域专家的参与 无论以什么方式 除非设计者是个全才。

白:
标配是必然的,也不排除有个居高临下的模型,俯瞰N个领域,语言只是其中之一,但是人家从其他领域登顶了。就像控制论,把人、动物、机器里的反馈控制一网打尽了。生理学家、动物学家都买账的。尽管创始人是从机器出发登顶的

首发:【科学网:自动句法分析中的伪歧义泥潭

 

 

【相关】

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

《李白之零:NLP 骨灰级砖家一席谈,关于伪歧义》

【立委科普:语言学算法是 deep NLP 绕不过去的坎儿】

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

《NLP 系统的分层挑战》 

《泥沙龙笔记:连续、离散,模块化和接口》 

《泥沙龙笔记:parsing 的休眠反悔机制》

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

【泥沙龙笔记:NLP hard 的歧义突破】

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

《跨层次结构歧义的识别表达痛点》

中文处理

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博文一览】

《朝华午拾》总目录

【李白毛55:漫谈 NLP】

立委按:谈笑有鸿儒,泥沙龙写照也。毛白立三剑客,隔洋神交,日颠夜倒,天马行空,人生快事也。语言理解,人工智慧,软体硬件,万言不离其宗也。铿锵三人行,行迹可存,笔记于此,以飨同仁也。

白: 转:《夏洛特烦恼》我以为主角叫夏洛特 。原来男一号叫夏洛 ;接下来会不会有《郭敬明天见》《周立波很大》《吴奇隆胸记》《王宝强奸案》《郭富城会玩》《井柏然并卵》《黄秋生无可恋》《贾乃亮了》《奥巴马上来》《周润发财了》《权志龙虾壳》《金正恩仇录》。

李: 边界之争。夏洛特是词典一方 特+烦恼 是句法一方 作为一般原则 句法认输。所有的边界之争 你总可以找到一种语境 来支持任何一方,但是实际系统中 还是按原则办事 除非某特定语境出现频率大 而且可以形式化被捕捉为原则的例外。“郭敬明” 是词典,“明天”或“明天见”也是词典,词典与词典相争。 谁赢呢?要分不同情形。情形对应的是 heuristics。对于此情形,“明天见” 赢。因为有这么一条 heuristic:最少词数胜出。郭敬/明天见, 算两词。郭敬明/天/见 是三词。更深的理由是 音节数量的匀称的 heuristic:3 1 1 不如 2 3 匀称。

白: 无后坐力炮,经常被读成2 3节奏,按构词法,应该是1 3 1。可否不那么早定输赢,都打到上一层。

立:可,keep ambiguity untouched 的办法 也是一招,不过加大了后去 parsing 的搜索空间 也可能不妙。

白: 上层用Ngram也无所谓。看一个滑动窗口激活一个还是两个词袋。

李: 这就是拼积木,难的积木留在最后拼。拼积木ngram比cfg容易,没有爆炸的问题。

白: 正是。

李: 汉语的节奏对称还是很厉害的,举反例总会有,但是实际中发现,音节数的条件,比起其他的条件(词类、子类、语义分类)往往也很好用、可靠。另外一个相关的体会是排比句式,汉语(包括古汉语)排比句式的使用往往可以把本来占有统计劣势的 parse 变得有效起来。不过,至今没想到利用排比句式帮助消歧的好的实现办法。感觉排比的发现和使用是处于另一层,而且排比的 scope 不好事先确定。

毛: 对于汉语NLP, 二位觉得有什么好书可以推荐?不用很深,科普就行。

李: 我很多年不看书了,还是白老师推荐吧。最好的是白老师正在写的,这个无疑问,但你需要等。汉语 NLP 论文献,80% 谈的是切词,全领域走火入魔了,陷入细枝末节和烦琐哲学,很大程度上非常可惜的一种智力浪费。

毛: 等倒没关系,反正暂时也没时间看。其实我不太会有机会用到这方面的知识了,我这是“朝闻道夕死可也”。尼克,Unix的那些Utility,每个都是基于一个while主循环,这就是lambda的语义。Java8让你有一种简洁的方法来表达这种语义,然后它替你生成这样的循环。

白: 自然语言的语义,也有lambda的份儿。

毛: 是,所以我觉得数据流在 NLP 方面可以发挥一些作用。

白: 表函数、表关系、表部件的词(中点、姐夫、抽屉)都是。需要一个带坑的语义结构去定义。坑,就是约束变元。

李: semantic subcat?  Syntactic subcat specifies the form of roles in a frame,correspondingly, semantic subcat specifies the preferred semantic classes for the expected roles of a frame. 语义 subcat 都是必填的,虽然句法上还是可省略。

白: 坑有必填的和可选的两种

立:如果加上可选的,那就超出了subcat,而进入 cat 了。因为可选的角色一般针对大类,而必填的才针对子类。

白: 这点商榷一下,时间地点等,往往不是必填的。

李: exactly,时间地点等边缘角色针对的是大类。所有的动作、行为都适用。它们都在时间与空间中存在。而一元谓词,还是二元谓词、三元谓词,甚至零元谓词,这些都是子类的区别。天气动词语义上是零元的,虽然句法上可以加一个:It is raining 、老天下雨了。世界语最接近逻辑,语义的零元,句法也是零元,就不用加这种无意义的主语:Pluvas。

毛: 我觉得最有前景的可能是并行多路的parsing。就如你们刚才说的“无后座力炮”,如果系统能立马分出两个数据流分支,按不同规则加以解析,然后由高一层的规则判断何者为优,那效率就高了。这在NLP方面不是什么新概念,问题在于能否搭出这么灵活而高效的系统。

毛: 但是NLP所处理的原料不太可能是世界语的文本呀。

李: 只是说明语义和句法之间既对应,又不完全对应的情形。比较不同语言,这些不对应的部分反映了不同语言的应对策略,这是很有意思的对比。

白: 标签化的表达比函数式的表达,应对非必选的东东就灵活多了。

李: 英语用 it,谁知道这 it 是什么东西?汉语比较具体,用的是老天。

白: 相反吧,汉语不说。

李: 汉语也可以不说,“下雨了”。如果不说,那就与世界语一样逻辑了,躶体出境。

白: 不说不是省略,是比省略高明的模糊。

李:  这里不是省略,因为逻辑语义上没有这一元的地位。

白: 语义上就有0元谓词,但是句法上没有地位,于是搞了个貌似省略的充数。

立:”老天“ 直译过去就很可笑:The sky is raining, Mother Nature is raining, or, God is raining?

白: 比it还富有想象力.

高: 像黑格尔说的,Was ist Das.

毛: 可以用函数式的方式来处理标签,把二者结合起来。我相信在NLP这一边已经有了许多很好的概念和方法,问题在于怎样搭出好的系统来高效加以实现。所以数据流应该有用武之地。

李: 语言很有意思,可以从三层来看这种“坑”。Filmore 把这个叫做【格语法】,他写过 “Case for case”,许国璋教授翻的,叫《格辩》,得其神韵,很妙。《格辩》是与乔姆斯基唱对台戏,是反乔派中最有分量的历史文献了,高举的是语义大旗。对NLP有深远的影响。所以,“坑”(case)可以分三层来看。第一级是 morphology case,这是“格”的本来用法,主格、宾格、工具格等等的词尾形式所表达的。第二级是 syntactic case,刻画的是 subcat 对语言形式的条件要求,包括具体语言中每个 Role 的词序、介词等的要求。第三级是 semantic case,刻画的是输出框,这是各语言共同的,又叫深层格,是 Filmore 提出的概念,与乔姆斯基的逻辑形式(logical form)对应。要几个元(格)是由谓词的概念子类决定的,它反映的是自然的关系(可以包括常识)。可是每个语言在实现这些深层格的时候,会利用不同的句法或词法的形式,于是穿上了句法或词法的外衣。

毛: 好吧,你们先掐。

白: 毛老,函数式和标签式表达,只有一墙之隔。标签其实就是最高抽象类的里面的“准”全局变量,谁都可以继承来塞点私货。不塞也无妨。

毛: 所以,我认为应该重启五代机的研究。有人说现在神经元网络是六代机了,我认为不对,因为说到底总还是“人工智能机”。

李: AI机只是六代机的一个引擎?

毛: 至少是现在,通过图灵测试是计算机的上限,所以不应该有高于AI机的计算机了。

白: 把RNN、多层FSA、多层词袋这些东东做成硬件就是了。

毛: 神经元系统只是一种计算模型,它也要通过编程在计算机上实现。神经元网络的运转说到底还是程序的执行。

白: FPGA实现就很好,能做成NLP协处理器就更棒了,NPU。

毛: 对是对的,但是如果变化太多,硬件实现就太不经济了。另一方面,如果有很多这样的部件,那么如何灵活高效地加以调度,根据具体情况动态搭出合适的系统,这本身就是个问题,这就又要涉及数据流了。我们平时在碰到困难时说要 “换一个思路”, 实际上就是要换一种数据流。

白: 希望NLP能早日成熟到毛老可以对接上的水平。

毛: 我觉得很可能是反过来的, 搞系统的人何时能搭出适合于NLP的系统,NLP Oriented Systems。 问题是搞系统的人一般都不懂NLP。

白: 是NLP这边说不清楚。回头说格。 “把”在汉语里号称是宾格介词,但是遇到“把我累死了”这种例子,又找不到哪个谓词提供宾格的坑。实际上,“累”是“使累”,是一个使动用法。所以顺序很重要,先使动 ,后宾格,一切OK。先宾格,后使动,北都找不着。

毛: “我累” 怎么解析?

白: 主谓啊。但“我累死你”不是。

毛: 哦。那就是“我使你累死”

白: 虚线框内形成一个虚拟谓词(复合然后缩合而成),对于这个虚线框,“你”貌似它的宾语,所以也获得了使用“把”表示宾格的能力。在句法层面,“使”不见了,“把”却在横行。

毛: 那么这种“使动”的属性就作为标签加在“累”这个词上?

李: 累和死 先合成,然后针对宾格的坑就出来了。“累死”这样的算是合成词,不过这种合成词是 productive 的。

白: 气糊涂,饿疯, 都一样, “忙晕”, “乐坏”.

毛: 累死 应该是 累到死 累到要死的程度 的意思,这个死是补语吧?

白: 是补语,语义上对应一个程度标签,非必选的,所以不算框的正式坑。加标签是随手做,填坑是大动静。所以正规军和游击队,待遇就是不一样。

李: 累死我了 –》 把我累死了。符合正常的位移转换(movement/transformation)方式。累(V的某种子类)+死 就是一个造词小规则,是产生式合成词的规则。符合这个规则的合成词就带有如下特征:及物,具体说,是使动的及物,并有表示程度的结果(“死”,不是真死)在内。带“把”提前是及物的共性,不用管。只要这个规则成功的时候,subcat 标签加对了,后去就顺理成章,无需特别操作。

毛: 所以呀,面向NLP的系统应该很方便很灵活地让你动态挖个坑,而且是同时挖上好几个坑,可以并行去试试不同的坑。这样才好。

白: “这些馒头把我吃胖了”。这个复杂些,有主有宾,只是虚线框里面拧着,了的时态含义省略了。胖,有一个坑。使和吃,各有两个坑。复合后缩合的虚线框部分,只有两个坑,一主一宾。与“吃”相比,正好颠倒了。所以,这类补语不仅是表程度,而是具体表致使后果的程度。

毛: 期待白老师的科普书早日出来。你的书里会画这些图吗?

白: 会。一个框,本质上就是一个函数定义式,也就是lambda表达式。入矢代表输入(自变量),出矢代表输出(因变量)。复合的时候,正是玩lambda表达式的时候,而且都是带类型的。

毛: 对呀,我在想这些图应该能转化成DAG式的数据流。

白: 每个坑都有类型,譬如,吃,输入类型两个坑分别是有生命、食物,输出类型是事件。

立:对,坑有两个信息:一个是坑本身的类型(what role),一个是坑里面的东西的“格”条件。role 是坑的主人决定的(词典里面的 谓词 subcat 或者规则产出的 谓词 subcat),“格”其实也是  subcat 题中应有之意,规定好的。格是输入匹配条件,roles 是输出事件语义。

毛: 数据流,结合立委的多层 FSA 模型,如果能做成通用的系统,我觉得是个很好的进展。有没有统计过像这样的图大概有多少?(以复盖常用句型为度)

李: 常用句型几十个吧,10-100 的区间。

毛: 哦

李: 看定义的粗细,谓词 subcat 最多只有三元 (所谓 S【V】OC),元里面还可以细分,大体 < 100 可以搞定

毛: 这个就可以用上分层嵌套的方法。

李: 这段对话,毛老、白老师,要我整理出来么?你们定,如果要,我就整理成博文。这次是你们俩主唱,我只是敲边鼓的,纯粹语言学的边鼓。

毛: 那当然好啰,要从尼克提到lambda开始。

白: 没问题啊。

李: 我其实不懂数据流,函数式略懂皮毛。lambda 在学语义学的时候学过一点,但是一直没完全整明白过。

毛: 那是工具性的,NLP本身才是关键。

李: 不过 subcat 在产生式合成词中会有变换,是我在 Morphology 课上学过的,而且学过的案例相当多。复杂案例的变换也不少。白老师的后一个例子是复杂案例之一。语言学家很善于总结这些格框变换的模式。

毛: 尼克最喜欢搞锵锵三人行, 咱就来一下三人行。

立:毛老、白老师,想起一件可能与数据流相关的事来,先写在这里,省得忘了。信息抽取(IE)这个领域刚开创的时候(20年前,由 DARPA 主持推动的 MUC 启动了这个领域,是NLP的实用化努力,非常了不起的一个推动,把NLP从象牙塔拉了出来),主流统计派还没回过味来,因此IE领域中的规则系统并不少,因为规则简单直接好用。其中,规则系统中,比较有影响的是斯坦福研究中心(SRI)推出的所谓 Cascaded FSTs,现在想来就是毛老说的数据流了。虽然后来我领导的小组也一直做多层FSAs,有时也贴上 Cascade 的标签,二者区别是显著的,虽然本质相同。斯坦福做的 Cascaded FSTs(finite state transducers)是把每一层编译的 network 直接用“数据流”串起来的一体化流程,cascade 是编译(或运行?)内部的机制。而我们做的所谓 cascade 就是从外部叠加调用,这是传统软件项目中管式系统(pipeline)的模块化开发,然后在运行的时候,从外部来接口,是大路货的路线。
洪: 看看有没有modern Hadoop实现

李:  总之,昨天我还发懵,搞不清为什么谈多层NLP的时候,毛老非要强调数据流,今天醒过来,原来如此。不过,我个人的感觉是,那种内部数据流的 Cascaded FSTs 后来逐渐淡出视野,一定有它内在的局限或问题。而我走的外部pipeline系统的方法,却得心应手,开花结果了。尽管理论上,数据流的路线应该更容易高效,更容易固化,但是肯定是遇到了什么坎儿过不去。

白:关于数据流,一直感觉NLP涉及的比较细粒度,就算自动机的堆叠或者分层的词袋,仍然粒度过细,一个句子里就可能多次流动,更不要说RNN这种自己转着圈玩的了……把这么细粒度的流动用大数据处理的利器来玩,是不是有点高射炮打蚊子?请毛老指教。

但是,自动机堆叠一个实现上重要的架构就是pipelining。底层边吃进输入,边产生阶段性的输出,又变成上一层的输入。这个pipelining的框架如何在系统层面优化实现,很有油水。

还有,当数千个自动机协同工作时,它们当中一定有共享的数据结构和计算,如何进行优化,乃至硬件层面的优化,这里面大有文章可做。

毛: 白老师说的对,数据流运用于NLP有许多细节的问题,特别是粒度的问题,还要好好推敲,现在还只是个朦胧的方向。粒度的问题一方面取决于具体的业务逻辑,一方面也跟硬件有密切关系,例如有没有GPU这一点,就对数据流的粒度和形状都会有很大影响。
李: 毛老,这是 SRI 的 work,叫 FASTUS。我在找他们描述 implementation of casaced FSTs 的部分,好像言之不详。以前不求甚解,反正自己已经找到了一条顺风顺水的路子,管人家怎么实现的,用的啥数据流。
毛: 好,谢谢立委。Cascade肯定就是pipelining,这就是一维数据流。
立:这个数据流的概念上没有问题。我是想知道,他们是不是把一个模块的 network 与pipeline 线上的其他 networks 整合成一个 integrated 的 network?我想知道,是不是整个编译全系统,还是像我们一样,每个模块是单单编译,单单调用的?
白: 如果有同步的语义操作,我相信会的。
李: 我的印象是,他们是编译全系统的,所以我们一直承认自己是 external 的 cascade,我们只是外部连接。重点的重点是,里面有一个共同的数据结构,无论 Pipieline 怎么流,不外是对这个数据结构的更新而已。
毛: 所以立委和白老师得要多掐,我就在旁听着,边听边想数据流的事。
李: 唉,还是没看到实现细节,保不定他们所谓的 cascade 与我们的做法一致,不过是利用共同的数据结构作为粘合剂,一个模块一个模块的调用。

早年的文献中,最原始最愚蠢的数据结构是 string 进 string 出,然后他们描述怎么在这个一维的string上加各种括号和标签。下一个模块必须在模式匹配的时候要跳过这些人为的括号与标签,才能更新信息,那个愚蠢透顶,不可思议。我还真照文献说的实现过一个prototype,一边做一边骂这帮傻老帽。那个玩意儿根本做不下去,超过两层的处理就焦头烂额了。

后来有人(譬如英国著名的NLP平台 GATE)用 XML 作为模块间连接的标准接口,本质上也还是 string,不过是多了一些现成的工具,可以用来 parsing 这样的数据成内部结构。当然,在不同系统对接的时候,开发者和使用者是不同的组织,XML 作为标准接口往往是最少扯皮的一种方案,因为内部的数据结构不具有这种传递性。然而对于一个系统内部的各模块,用 XML 做数据传输几乎是胡闹。做个 prototype 也许可行,做应用肯定不行。

毛: 立委讲的外部连接和全编译的问题,我理解就是节点间动态局部连接的问题。全编译就是一次性把整个数据流搭好,以后就不变了。所谓外部连接,就是按需要把若干计算节点局部地临时连在一起,灵活可变。当然是后者更好,不过应该是全局框架中的局部变化。我说的要研究怎样根据NLP的特点灵活构筑合适的数据流,就是这个意思。

全局框架的保证就是一个共同的丰富的可扩展的数据结构。只要保证这个数据结构的设计是合理的,一切就好办了。

毛: 昨天群主一声吆喝,立委说话的风格还真的就变了,马雅可夫斯基的调调不见了。

李: 从善如流嘛。

设计一个NLP专项平台,就包括数据结构的设计,NLP语言的设计,该语言的编译和执行,以及数据流流程的配置和优化。这几个环节都是相互联系的,没有丰富的经验根本玩不转。

毛: 在数据流、即函数式程序设计中,不会由多个节点对同一份数据结构进行修改,这就是输入是否immutable和有没有共享变量的问题。不过对于NLP来说这属于实现细节。

李: 为什么不会由多个节点对同一份数据结构进行修改?每个节点都是单向递进的,数据结构因此变得越来越丰富,分析越来越深入,是为 deep parsing。简单的设计允许数据结构信息的增量更新,不允许或者制约了对数据结构的破坏性操作。譬如,推翻一个内部结构,进行重构(因为 patching 的需要)。但是聪明的工程师在实现的时候,不认为破坏一个局部的内部结构有太严重的问题,不过就是实现费劲一点罢了,屁股总是可以擦干净的。所以我说,只有想不到的,没有做不到的,我才不管他内部怎么实现的,只要用起来顺手就好。只有在实现影响了速度的时候,我可以做让步,允许工程师对我的操作做一些限制。

毛: 如果允许,那就有同步等等的问题,不同节点之间就会互相牵制,而且这样的系统是最容易有bug的。而函数式程序设计,其基本的要求就是:每一个计算节点都是数学意义上的函数,都没有副作用,这就要求:1)没有共享变量,2)所有输入都是immutable。把数据流系统设想成一个供水系统,如果水管在一个点上分支,那么在其中的一个分支上投毒,是不会影响另一个分支的。

李: 照这么说,只允许增量式更新是管式系统开发的安全原则?一开始是增量式的,后来是我坚持要多给我一个做 patching 的手段,打破了这个限制。如果不做 patching,我就只剩下一个手段,那就是先扫除例外,后做一般规则。如果允许 patching,我就多了一条路子,先做大路货,然后遇到问题或例外,再做修补。表面上,这两个办法不过就是数据流中个性与共性操作的位置不同而已,但是实践中总是多一条路子,用起来顺手。其实,做破坏性操作,我开始是有担心的,总怕屁股擦不干净。但是,好像还是在可控范围内。

毛: 对,你所说的对工程师们的能力要求,问题就在于那种结构模式本来就是很不可靠的,得要非常高明的人才能对付,所以一般都尽量把同步、互斥这些事情移到操作系统和语言编译器中解决,因为那些都是真正的高手才玩得。但是即使如此,对于复杂的系统,如果不采用函数式即数据流的结构和方法,难度还是很大。

李: 原因可能是,破坏的结构不过是中间的局部结构,还没到要用它的时候,只要最后系统出来的结构是合理的,就似乎没有问题了。

毛: 你挺幸运,手下有几个高明的工程师,要不然恐怕还做不出那么些成果。

李: 因为我是他们的唯一顾客,顾客是上帝。我一直是这么说的。

毛: 端着人的饭碗,就得听人管。

李: 好在我不懂系统,否则可能不敢这么大手大脚。

毛: 但是,这是有限度的,问题再复杂一点,他们可能就会对付不了。这时候就得考虑模式的改变。不走邪路,也不走回头路,咱走正路。

李: 同意这里面有个度。另一方面,系统太漂亮了不顶用。上得厅堂,下得厨房,这个标准对做系统也一样。正路就是厅堂,厨房就是我这样的实用主义,以邓小平思想为指针。

原载 泥沙龙笔记: 铿锵三人行 (2015-10-8 )

 

【相关】

【相关】

【立委科普:漫谈语言形式】

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

 

【李白雷54:句法语义纠缠论】

白: @wei 微博上的讨论很有代表性。

李: 看到了,这个错误放大(error propagation)的问题,我以前也讨论过。很多人是杞人之忧,包括雷司令。@雷 你上次说到,parsing 需要准确才好做知识图谱。还说差之毫厘失之千里,其实完全不是这样子的。估计你是深陷在你的 parser 里面,还没有真正放开手做知识图谱的工作。

说句实话,所有的抽取工作,对于 twitter 和微博这样的短消息的细线条的舆情抽取是最难的,知识图谱这样的工作比起前者简直就是 piece of cake. 我们跟舆情奋斗了这么几年,比较了一下里面的复杂度和tricky的地方,也比较了里面实现的规则,可以说,最难的果子已经吃过了,剩下的大量的知识图谱类的抽取挖掘关系,在 parsing 的基础上,就是一个单纯的工作量的问题,没有门槛,没有难度。

信息抽取中的两大类,一类是客观事实类抽取(关系和事件),针对的是客观语言(objective language),这就是知识图谱的主要内容。另一类是舆情抽取,针对的是主观语言 (subjective language),情绪和评价类。后者的难度高出前者太多。

客观事实类抽取包括:专名 NE, 这是做基础的工作。下面就是在这些NE之间找关系(relationships),找事件(events)。为了抽取出来的东西可以整合(fusion),为挖掘服务,里面还有一些 CO (coreference)的工作。

雷:  知道Watson是怎么抽取相当于100万书籍的知识吗?

李:  上次我就说,如果主语宾语弄错了,那么按照错误放大的说法,抽取是不是就一定做不了呢?答案是否定的。parsing 错了,也可以支持抽取。只要错误是可以预见的,错误不是全方位的。

推向极端就是 @白 老师的“意合”系统。你看,根据词和词的 semantic coherence 的某种模板,甚至没有 parsing 都可以做。何况有了 parsing,不过是 parsing 偶然断链,或错置呢?有很多弥补 parsing 错误的手段可以在接近产品的层面施展,包括 domain knowledge 和 ontology。

雷:  我做过英文文献的药物副作用的抽取。严格的svo,结果不错。但我的感觉是,如果parsing再准确一些,结果会更好,而且事后的处理要少很多。这个仅仅是我的感觉。

李: 再准确也不能完美,主要还是思路要转变。

提高准确性是一个 incremental 的过程,而且一定会遇到 diminishing return 的两难。关键是在做抽取的时候,要知道,利用 node 的信息,可以弥补 arc 信息的不足。node 就是词,arc 就是句法。句法不够,词来补,因为词本身就是语义的最基本的载体,里面可以玩出很多名堂来,包括 ontology。

雷: NLP像地基,如果结实,可以起高楼。后续的修补要少,后面的工作就是建立FACTS,问题是战线要拉多长。

白: 意合法从来不拒绝partial parse tree,句法有什么拿什么,没有也憋不死。

李: Parsing 当然是地基,地基好了一定省力,这都没错。这么多年鼓吹 deep parsing 就是基于同样的理念,因为业界的 parsing 太 shallow, 没有地基。中文NLP 玩了那么多年的业界,谈起 NLP,默认就是切词,或者在切词上做一点啥,譬如 base  NP。

雷: 事后修补也是对的,这个在认知心理学中也有证明。但是,这种事后修补在认知中不是大量的。工程的探索和应用是一个方向,认知上探索也是一个方向。

李: 白老师,严格的说,不是句法与语义配合到怎样的比例才做好系统。我们实际上是说,显性形式和隐性形式怎样搭配(参见【立委科普:漫谈语言形式】),才能出一个高效的NLP系统来。可以简单地用句法手段来代表显性形式,语义手段来代表隐性形式,但是说句法语义容易歧义,不容易讨论清楚问题。所以上次,白老师提到 POS 有时候有害,不如语义分类好用。其实白老师说的不过是粗线条的隐性形式POS(一共就给词做10多个POS分类)和细线条的隐性形式(成百上千的语义分类),后者对于汉语分析的重要性。这个没有任何疑问,因为说的都是一家:隐性形式,都是语言里面看不见的形式,都是人必须在词典了给出的 tags,或者需要专门模块去给的 tags。所以我说,再纯粹的语义系统,只要是为工程用,就绝不可能放着显性形式不用,而去舍近求远地依靠隐性形式的语义。只有理论研究,可以放弃显性形式,因为放弃了显性形式,可以从理论上做出一个 universal parser,它可以 parse 人类任何的语言。显性形式(词序,小词,词尾和其他语缀)是 language dependent 的,只有剔除它,才可以做”纯粹语义” 的系统。

雷: 同意,不能放着有用的信息不要。我觉得模拟人的认知可能最是捷径。

白: 前提是,句法不能挡路,不能说你分析不出来了还不让语义按自己的逻辑往前走。

李: 还有,纯粹语义系统肯定不如显性形式可靠。在显性形式可以决定的时候,没有语义(隐性形式)出场的必要,它只会添乱。乔姆斯基的 Green ideas 的伟大实验就是要证明,显性形式能够做决策的地方,语义和常识都失效了。汉语中,“铅笔吃了我”,“铅笔把我吃了”,就是又一例证。绝对不会因为有了隐性的语义格框:动物-吃-食物,就可以用来解决 “铅笔吃了我” 这样句子的语义,这时候是(显性)形式的句法所决定。这样的句子就是显性形式词序或小词“把”在主导,没有语义(隐性形式)出场的空间。再举一个有力的例子,在有显性形式的格标记的语言,宾格基本对应的就是宾语。没有一个 parser 会不利用显性形式格标记,来做分析的。因为它明明告诉了“我已经标注好了,注定要做宾语”,你有什么道理要按照[动物-吃-食物] 这样的语义框格去找宾语呢?

白: 注定的话也不要说绝了。在幽默或修辞的场合,会来翻旧账的。

李: 意思你明白的。

雷: 语意是一个没有学过语言学的人可以说上一些东西的,但他很难说语法的东西

白: 你说的那不叫语义学,叫学语义。

小词本身也携带语义信息、结构信息,比如“的”。为什么我说从语义角色指派的逻辑上看“这本书的出版”和“这本书的封面”有很多共同之处甚至本质上相同,就是因为它的回环结构。

雷:  “这本书的出版”和“这本书的封面”的相似度又有什么计算方法吗?

白: “出版”有两个坑,“封面”有一个坑。“的”是提取坑,不管一个两个,不管动词名词形容词。

雷: 出版与封面在wordnet上有什么近似度吗?

李: 你那个“的”是提取坑,我搞不明白。出版是逻辑动词,封面是逻辑名词,迥异。

雷: 封面是没有坑的,有属性,封面是一个class,坑是method提供的。

白: 有坑,part-of,是什么的封面

李: 这是一个 single-arg 的坑,partof 和 wholeof 互为坑。语义面上的,不是传统句法subcat上的坑。

白: 对,一价和二价的差别,如果规定从右边的变元提取,就没差别。右边饱和了,就往左挪。及物动词填掉一个宾语,就成了不及物动词。与此类似。

李: 具体谈一下这两例。结论是?

“的”作为显性形式的小词,其提取作用,与英语小词 of 和 ‘s 类似:

translate A into B –> translation OF A into B
A’s translation into B
a book’s translation into B
a book’s title

白: “的”的定义,就是f(x1,x2,……,xn)的xn,你给我一个f,我就给你一个xn

雷: 以面向对象的模型类比,class,method,和attribute,书是class,封面也是class,但封面又是书的一个attribute。

李:  一般的关系分析并不深入到“partof”这个级别。一般遇到 “的” 或者英语的 ‘s/of ,就是粗线条分析到 Possessive 这一个包罗万象的关系为止。这本书的封面,粗线条就是,“封面”属于“这本书”。而“这本书的出版”则不用,所有的分析都指向动词的 subcat。

白: 粗线条对于汉语不行。汉语有显式的句式与part-of有关。

李: “这本书的出版”,只是利用了小词“的”,把动词名词化,与动词直接加宾语,分析同:出版加宾语,通常在右边,这是一条。变式就是:可以名词化,用“的”,宾语前置。

白: 比如 “老李把脚冻肿了”,缺省是老李的脚,不是别人的脚。

李: 那是,不过这个分析真地太细。

雷: 老李的脚是一个NP

白: 老李的脚,老李的讲演,老李的意见

李: 缺省是老李的脚是常识,否则就会显性的把别人的脚表达出来。英语 “撞了我的头” 常常是:hit me on the head,这个 the 缺省的就是 me。翻译成汉语就用显示的 possessive。

雷: 老李的人的概念,提供属性与构成结构

白: the有anaphor的功能。

李: the 不过是显性地标注了 anaphor ,汉语没有 the,默认的还是 the,而不是 a。凡是一个名词表示非限定的含义的时候,其汉语的用法和条件相对来说,比较可以找得出来。而默认的 the 的含义,不太容易找出条件来,所以默认是个好东西,不需要去定义外延,外延靠别的东西去定义。

雷: 昨天不是有一个language universal的帖子吗?相近原理。

白: 看看汉语讲故事怎么讲:从前有座(a)山,(the)山里有个(a)庙,(the)庙里有个和尚讲故事。

李: 对,我们其实有 a,但常常没有 the,于是 the 是默认。量词是 a,”某” 也是 a, 我们甚至直接用“有”来表示 a (“有人”昨天来讲课了; “有部件”坏了–》一个部件坏了), 当然还有”一“,也可以用做 a,所以汉语表示 a 的形式手段还蛮丰富,因此就不需要 the。the 是默认,实在还是不清晰,就用 ”这“、”那“ 等指示小词来强调一下限定的语义。

白: 都是不带形式标记的anaphor

雷: 细致的坑是ontologies的。parsing中动词和形容词有坑就可以了

李: 传统的 subcat 的坑是粗线条的,里面映射的可以是细线条的语义约束的坑。语义模板与 subcat 的关系。

白: anaphor 的 trigger 必须带坑。本身共指,或者 part-of 共指。记得 Winograd 讲过一个例子,一个小孩得到了一个礼物。当他打开(the)盒子,发现……。盒子就是装礼物的盒子,用the勾连起来。

李: 恩

白: 咱汉语里都是隐形的,于是“盒子”作为 “坑的 provider”,必须写到词典里。封面,也一样。

李: 恩,封面的优先主人是谁的信息在词典里,针对的是出版物。

白: 出版的受事坑,恰好也是。所以用的,一提取一个准儿。

县长派来的,比这复杂,因为”派”和”来”各自提供的坑,被一个“的”给提取了。或者说,”派”和”来”,经过了一次内部整合,统一一个坑对外,被“的”给提取了。派是兼语动词(三个坑),来是不及物动词(一个坑)。但是“派”最左的坑被“县长”填充,饱和了。“派”的另一个“事件”类型的坑,只能接受“来”。于是剩下的那个类型为human的坑,与“来”提供的类型为animate的坑,统一对外了。

李: 很有道理。填坑最好的是只有唯一的候选人,没其他可选。最麻烦的是要动用语义优先。语义优先可以作为知识,预先学出来或标出来,或半自动,先学后标(postediting)。可是在使用现场需要层层松绑,想想就头大。遇到结构歧义(不是伪歧义),还不是松绑的问题,而是对比的问题,要看三角恋的三方,哪一对最有 chemistry。松绑只是对条件按照 taxonomy 去有步骤放宽,而对比不是,对比需要动态的看随机配对的力量对比。不是不可做,是 overhead 太大。如果不考虑 overhead 和实用,力量对比的评判比层层松绑更容易,因为前者是二值的,总有一个吸引力更强,后者是趋于离散的。

原载 《铿锵三人行:句法语义纠缠论》

【相关】

【立委科普:漫谈语言形式】

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

【李白之50:符号战壕的两条道路之辩(续)】

白:
我的思路是:句法维护纯二元关系,模式编码进subcat,直接对接语义。纯二元关系对模式既兼容又有更大的robustness,不用白不用。

李:
pos 支持句法做粗线条分析 subcat支持逻辑语义做细线条分析?

白:
必须的

李:
那倒未必。可以结合做的。显式的句法语义关系可以一起做, 没有句法关系的隐式逻辑语义可以推后。subcat 结合句法语义。

白:
模式方法中,小词的缺省和成分的倒置,只能认为是不同的模式,不穷尽则不work。二元关系方法中,缺了小词也好,倒置也好,在subcat那里都可以重构出来。输出是现成的,既可以跟着cat一起输出,也可以等语义落地了再输出。这是个简单的配置问题。

李:
缺省不怕:就是 optionality,不是模式必需的。倒置的确需要增加模式,没办法,模式也是线性。

白:
“我紧张,一见到那个人。”
省略了“就”,而且倒置。但是在二元关系方法下,这都不是问题。

李:
但n元模式,在多层系统中,并非全排列模式。模式负担完全可控。也可以类似于二元的样子,一层层做:起码动宾与主谓通常被认为是不同层次的组合,无需SVO全排列。推得极端一点,n=2,多层n元就成了2元,也是可行的策略之一。

白:
对“一”的subcat标注,已经隐含了对“就”的“脑补”。
语义frame任何语言中都不必然是二元关系,这层落地映射,本来就是缺不了的,并不是因为模式而特设的。

李:
exactly

白:
句法专注二元关系,好处多多。

李:
1 【一VP(S)就VP】
2 【一VP】
也就是两条模式捕捉的事儿。都很直观 intuitive。捕捉了,还不是要怎么玩语义怎么玩。

白:
这实际是语义直观,跟那些多元关系是同等对待的。

李:
第1个模式涉及5元,第2个模式是bigram,我说过,模式也就是以三元为峰值的正态分布。并不是想象的那样组合爆炸,完全在可掌握之中。最大特点还是其接地气,直观,容易 debug 和维护。不就是给语言结构拍照吗?所谓句型练习(pattern drills),人学语言也就是这么个事儿,我们当过外语老师的,都知道 drills 的重要。

白:
那个完全是UI的问题

李:
如果你做二元配对,我心里想的是五元模式,【一VP(S)就VP】 这样的模式,你如何把二元的过程UI到我感觉舒服的五元模式呢?

白:
双宾语结构也是一样啊
二元的过程是在机器里发生的,五元模式是结果,不在一个频道上。边加够了,五元模式就出来了,就这么简单。

李:
机器发生的过程 不是基于词典的标注吗?这个标注不需要人去做 去维护 去 debug?

白:
但过程总是一个一个边加的

李:
那是因为你的 parsing 是 PSG的 parsing 过程,虽然表达的是DG。这个 PSG 的过程,是遇到任何物件都不能跳过去,要一个一个的叠加组合。

白:
能跳,否则就无法处理交叉了

李:
从你画的图看,还是一个不跳地在叠加,只不过叠加的顺序可以不同,然后导致一些远距离二元关系的最终建立。(当然你的X见人见鬼,先加上再说,也算是一种模糊应对或“跳过”。) 换句话说,parsing 的总过程与经典的 chart parsing 没有看出大的区别。

白:
这理解是错的

李:
可能。也许我看得不够仔细。

白:
从数学上看,模式引发的步骤不是分析树的“构造”而是分析树的“映射(变换)”。这个映射环节引入PSG还是引入DG的差别是细节的差别,核心的精神都是一致的。如果你说的“跳跃”意味着“映射”的引入,我目前确实没有,但 1、这并不影响在较上层的节点上,映射的结果和非映射的结果会得到相同的语义落地。2、如果一定要引入映射,与我现在的体系也毫无违和感,可以兼容处理好的。

另外,不包含映射的技术方案并非都是一丘之貉,彼此之间可以有天壤之别。这实质上是模式驱动的“一揽子”填坑动作,可以加速分析进程(就是你说的“跳跃”),又不破坏填坑的基础架构。但是我要说的是,既然看到了这个实质,映射的触发就不必拘泥于从左到右的模式匹配,一定程度上的词袋模型一样可以触发!实际上我在subcat里面做的事情就是这种不完全信息的模式触发,只不过做在了语义层。语义层都能做,回头做句法层纯粹就是锦上添花,照顾语言学家的UI感受而已。我不看好从左到右依次匹配,但我认同通过映射实现跳跃。语言学家不应该成为排列组合匠, 更不应该为某项排列组合的缺失而背黑锅。除非该项排列组合有明显不同的语言学意义。此其一

另外一个因素就是模式在激活之前的状态一定要有一个载体,而且这个载体必须跟着分析进程动态维护。伟哥有分层的fsa做这个事情,我是用词负载的subcat(实际上就是词袋)做这个事情。词袋的好处就是对排列无感,只认组合而且允许组合缺斤短两。在某些场合,词袋的部分填充会造成激活歧义。所以要用“状态”记录这些有歧义的部分填充(套用时髦的量子话术,这就是几个候选词袋的“叠加态”)。随着分析进程的展开,叠加态会“坍缩”到确定的词袋上,完成激活。

李:
大赞。…… 先赞后辩。
没全看懂 但似乎又懂了 貌似透过做法看实质 有不少共同的观念。消化消化。

白:
“人肉”本意是名词。在“人肉搜索”这个短语中是副词(N降格为S+),意思是用活人去深挖特定对象的隐秘信息。再简化一点去掉“搜索”二字,“人肉”就成了动词了(S+升格为S)。升格降格操作的活标本啊

李:
人肉搜索 不是宾语提前?把衣服扒光 不是人肉?

白:
“这个公司的所有人都是好样的。”居然有歧义。

李:
“所有-人” 歧义(hidden ambiguity): 单数 vs 复数, 复合词 vs NP,黑箱 vs 白箱,[possessor/N] vs [All people]

白:
“发言的是我们公司的。”

李:
1[human-action 的] –> NP[human]
2. [human|organization 的] –> AP[possessive]

1 + be + 2 –> 1 belong-to 2

“发言的是我们公司的。” –> [发言的 human] belong-to [我们公司 的 possessive】

所谓句子解析及其语义落地,不过就是模式的拼接。

白:
“作业你是不是不打算做了?”

李:
1 [plan V] –> plan-V (verb compounding like)
2. [ NP VP] –> S Pred
3. [NP S Pred] –> Topic S Pred
4. Topic S Pred(/O) –> O S Pred (所谓先耍流氓后结合:有“做-作业”的可分离动词的搭配关系更是坐实了远距离勾搭)
5. Vt NP –> VP
6. Vt –> VP(/O)
7. “是不是不” can be treated as one compound 小词 whether (or whether-or-not)

白:
是你打算,还是作业打算?是你打算做作业,还是作业打算做你?由什么决定?就本例而言,语序已经完全乱套了,只有subcat能决定。好在我们知道,计划类动词具有穿透性。打算的两个坑,是human、event;做的两个坑,是human、thing。这两个human就是穿透确定的共享萝卜的坑。往前面看,能填的只有“你”。“做-作业”离合词的远距离锁定,从另一个侧面做了神助攻。所以,不管前面“作业”和“你”的顺序怎么折腾,它们的subcat如同狐狸尾巴,总会泄露真正的结合方向。我们不需要S/O/Topic这些名目,直接根据萝卜和坑的subcat相谐性,就可以选择行的,排除不行的。也不需要针对不同语序设置不同模式。跟着词条走的cat/subcat就足够确定目标了。

“你懂的。”其中的“的”就是句末助词,标记为+S。“我是不懂。”其中的“是”是表强调义的副词,标记为S+。“你是不懂的。”其中的“是”和“的”借助这两个修饰语标记完成了绿叶的使命,把红花凸显出来。但是这种做法的好处更在于,“是”或者“的”之一缺位时,句法上照样work。红花之间的关系照样不变。不需要针对几片绿叶的有或无的排列组合一个个遍历。

李:
这话说的,好像世界上就有人有直道不走,偏要走弯道似的 哈。白老师雄辩。
排列组合遍历很多时候是免不了的,除非可以证明这些绿叶红花的排列没有意义, 所有绿叶都是可有可无的。语言的最大形式特点之一就是排列,或曰线性次序。概念通过语词,关系通过小词以及词序,线性地流进我们的耳朵。小词和词序,作为显性语言形式(参见【立委科普:漫谈语言形式】),其功能本质是一样的。由于信息和形式的冗余,厚此薄彼可以作为一个可行的策略,作为一个精算师的算法之一,但拔到理论高度说,让小词负载结构,赋予重任,同时忽视词序来取得鲁棒,总是很难让人信服的。

汉语的省略小词,是如此普遍,就跟汉语的词序灵活一样,都给鲁棒提出挑战也留下空间。你可以厚此薄彼作为一个 parsing 策略,别人也可以厚彼薄此作为一个策略。更有人二者都不厚不薄,利用模式,用?(optionality) 传达鲁棒,用显性排列形式的 obligatory 出现(何时、何地)来表达精准及其语义落地。有何不可?有何不好呢?能想到的不好都是实践层面,而不是理论层面,譬如:(1)可行吗?组合爆炸,排列得过来吗?(2)即便不组合爆炸,有本事伺候排列吗?(可维护性)

可行性的问题已经有答案也有实践,就是多层。Note that 这个多层也不是单单为了可行而采纳的。多层反映的是自然语言的 configuration(参见乔老爷杆杆理论,X-bar,科学网—乔氏X 杠杠理论以及各式树形图表达法),也是语言本质之一,譬如动宾(VP)与主谓对于多数语言就天然不在一层。

多层排列的可行性,其理论基础在于人脑记忆的有限,自然语言的可学习性。如果语言本质就是排列的组合爆炸,人也无法学习语言了。我们所做的不过是瞄着人 parse 语言的样子,去模拟实现它。符号逻辑的模型透明性和可维护性在多层模式里面得到了彰显。

第(2)个问题是本事问题。的确多层排列算法不是每一个人都玩得转的,就如小词负载结构兼以隐藏知识的大数据中间件除了白老师迄今无人能玩一样(甚至无人想到了这条路,参见【李白之15:白老师的秘密武器探秘】)。两条路线都严重偏离主流,主流人才的多数或者无视或者没有历练/本事来玩转这任何一条路线。

正如尺有所长,寸亦有所长。如今是各自玩各自的。区别在于,这个战壕自认为可以对nlu挖掘更深(这一点在下确信无疑:毕竟坐井观天一辈子了,天可能还是没看清,但井的深浅是清楚的,如数家珍;而且不需要做天外比较,就可以得出结论,因为自然语言在这口井里面基本是已经见底了),主流的战壕在我们不过是摘除低枝果实(这一点无法确认,保不定哪一天主流就突然从导弹演化为核弹,也未可知,彼此祝好运吧)。

白:
小词“可”负载结构,不是“仅”小词负载结构。语言的层次性在技术上“可”通过分层fsa消化,不是“仅”通过分层fsa消化。模式也不是“仅”通过负载结构的小词消化。同样负载结构的实词、算符优先序,都在推波助澜。一个句法体系和技术体系,一些特色或许突出,但贡献是多个特色联合作出的。

我不希望受众被误导。

李:
哈 我也不希望误导,或被误导。
其实,因素比重的差别,还是构成了技术路线的不同。也许用“小词负载结构”(的因素)来概括或代表白老师的路线,就好比以“多层专家词典排列模式”来代表的立委路线(听上去好耳熟,对了,历史上有过被毛委员往死里批判的立三路线)一样,都是不准确的。但仔细看过讨论系列的会了解其中的路线之别。

二元句法在前,逻辑语义在后的策略之所以可以成功,我觉得是因为有了“大数据中间件”的助力,否则很难想象那么简单的句法操作可以应对那么复杂的语言现象。所以,让我 wonder 的主要是大数据中间件,如何训练如何使用的。而对于二元本身,特别是小词负载结构,相对于多层专家词典的模式匹配,我没看出多少优势。如果硬要评价 pros and cons,从我的角度,前者长于简洁(也许也增强了效率)和鲁棒,后者更符合语言学家的语言认知和描述习惯,可以更加从容地对语言做精细而不失鲁棒的描述。

重要的是,二者同属符号主义,同一战壕,也似乎都可以包容对方。

 

【相关】

【李白梁49:同一个战壕的两条道路之辨】

【李白之16:小词负载结构与小词只参与模式条件之辩】

【李白之15:白老师的秘密武器探秘】

【立委科普:漫谈语言形式】

科学网—乔氏X 杠杠理论以及各式树形图表达法

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

《朝华午拾》总目录

【李白梁49:同一个战壕的两条道路之辨】

小词负载结构 vs.  模式专家词典

白:
我举的例子“这个字他是不会写错的”意思是“他不会写错这个字”。

李:
【是 …的】 小词筐式结构 里面包了一个谓语 表示肯定的语气。如果没有 “的” 那么通常 “是” 就转为强调小词(emphasis particle) 依然是肯定语气(affirmative mode)。如果没有 “是” 只有 “的” 那还是肯定语气 但似乎弱了一点。

我吃素:
我是吃素的
我吃素的
我是吃素

我不吃素:
我不是吃素的
我是不吃素
我不吃素的

“不是吃素的” 是熟语 半路杀出一个程咬金 有黑箱义与通常的白箱义两种。“不吃素” 不是成语 只有白箱子语义。这算是个小插曲,是个案。

白:
“应付这种局面他有准备的”

李:
应付这种局面他有准备:
应付这种局面他是有准备的
应付这种局面他是有准备 == “应付这种局面他的确有准备”

三种变式 都是肯定语气 不同程度而已 给基式增加一点语气色彩 不改变逻辑语义。

白:
好办,这种“是”,直接标成S+,“的”直接标成+S。bingo

李:
Bingo ?
“是”、“的” 还有很多其他用法。 都靠 wsd 去选?假如只有一种 pos 自然没问题。

白:
“是”还能做N+

李:
假如 pos/wsd 模块可以准确输出一种 pos 也自然没问题。第一个假如 只有到理想世界寻,譬如 世界语 或 计算机语言。第二个假如 是 传统系统架构的误区。铁路警察各管一段 听起来干净利落 模块清晰 实际不知道误导了多少良家上进男女青年学子。

前置状语性材料 S+ ,后置状语性材料 +S,哪个语言都有,标注这个不难。但这种标注难以匹敌模式:

1【Subj 是 Pred 的】
2【Subj Pred 的】
3【Subj 是 Pred】

这些变式才是这类现象的真正的distribution 才能一一对应到细微的语义计算 表达语气的差别(nuances)。都是从基式 【Subj Pred】(or 【NP VP】) 加小词 derive 出来的。

基式: Subj Pred
变式:
1 Subj 是 Pred 的
2 Subj Pred 的
3 Subj 是 Pred

1 最常见 是一种缓和的肯定语气。2 更加口语化 语气与 1 接近。3 就是强调语气。捕捉这些细微差别 对于对话机器人 有意义 。

梁:
记得,我们做过规则: 是 VP 的 –> VP, 我是爱你的 –> 我爱你

李:
Thanks. I did not know that
Moi 奥see

@梁 kidding ….

梁:
@wei  :=)

对,语气略有不同。老外若问我,我会告诉他。其实,外国人学汉语,这种小词的细微差异最难。

2 Subj Pred 的, 她卖菜的。 “卖菜的”是不是职业的意思,就是说”她的职业是卖菜“?

李:
这 2 本来是通用的肯定语气,但恰好又与表达职业的独立的 “的字结构” 搅和在一起。

梁:
我拥护你的。加强了肯定语气。

李:
1 我拥护你 –》我拥护你的
2 拥护你的不占多数

1 遵循的变式 需要主谓齐全,而且不局限于 human action;2 里面的 的字结构 不需要主语的条件 “的字结构”做的也不是谓语,而是np,并且 必须是 human action,常表达职业。这是两条道上跑的车 但可能撞车。

白:
“这信写的连个落款都没有。”
“等我有空的看怎么收拾你。”
“这雨下的都没脚脖子了。”
“那几天雨下的什么心情都没有。”

李:
一个一个来,先细看:“这信写的连个落款都没有。”

我的设想是 将来应该可以学出很多词典化模式(lexicalized patterns or word-driven rules),不必做太多的 generalization。全句分析就是对这些词典化模式的拼接 譬如上句。

模式1:【这 O Vt de-buyu】
模式2:【连个 O 都没有】 或者 【连个 O 都 Vt-negative】

语言中这类模式成千上万。所谓一个人学会一个语言 学得地道,就是这个人记住了这些模式,下意识的 还是明意识的。总之是词典化模式烂熟于心,才可以像 native speakers那样自如。 非词典化的语法实际上很少:主要就是规定 这些细小模式如何拼接
譬如上两个模式拼接:one form of de-buyu is de + S, so we can connect the 2 patterns:

【这 O Vt de-buyu】+ S【连个 O 都没有】==》“这信写的连个落款都没有。”

梁:
连个被子都叠不好!
连个衣服都不会穿。

白:
还是没说,如果没有词典化模式救驾,主谓宾又不齐全,“的”就一定不是+S?

李:
那是另一回事。词典化模式是累积的。不是一开始就是 logically complete。

梁:
“不是一开始就是 logically complete” 同意!

李:
“的” 的其他用法 最后或者融化(或被表达)在与其搭配的词的词典化模式中,或者表达在 它 自身的模式中。最后 由于其万能词的特性 也可以作为直接量 表达在少数的抽象规则模式中,即非词典化的语法模式规则中。

白:
那还不如先都当同一个“的”用。后面再分。至少不会错。

李:
这一点 我一直持与白老师相反的意见:对于用法繁多的小词 包括介词,我一直以为 不要只围着小词本身做,而是应该各个击破 负担分开来。小词本身只负担最后的标配用法。其他的搭配词 承载小词也是举手之劳 题中应有之义,而且小词也常是这些模式的必要(obligatory)或可预测(optional)的因素。

白:
“瞧把你得瑟的”

梁:
“瞧把NP AP的” 瞧把她美的!

李:
@梁 对 就是这个思路。这里的 “把” 不再引导宾语 而是引导主谓结构。放在模式里 就一目了然 这才是语义计算的真谛。

梁:
我们人脑善于做 puzzle (拼板游戏)。

白:
这不是问题,唯一一个坑,怎么引导也是它。小词就是模式的状态转换开关,这也不是问题。

李:
词典模式不怕冗余 越多越好。要说冗余和死记 谁能比得上机器以及机器学习的ngrams,人会抽象,自然可以稍微聪明一点,但切记过度,聪明反被聪明误。

梁:
好几个词一起做了一个坑,把 NP AP 套进去。

白:
没有模式能做而小词不能做的,没有模式能识别而小词的特殊pos不能识别的。

李:
需要各自保留意见了。
即便能力等价 ,也还有其他层面的考量:直观性、可维护性 、与语言直觉的距离,等等。

白:
那是UI的问题。谁说定义在小词,界面也必须显示小词的词条?

李:
是语言资源的可读性。模式 我认为是最可读的。小词 在 pos 层面做抽象 影响了可读性和可维护性。

白:
语言资源就是给机器读的,遇到要呈现给人的时候有一万种办法让人可读,这个根本无需操心。

李:
小词没必要分类。

白:
记得当年做XBRL标准,有人就拿可读性说事儿,我们就搞了屏幕取词转换,搞了把机读格式隐藏在用户友好界面中的工具,攻击的人从此闭嘴。

所谓分类是字面意义的误导。我们要做的实际是告诉这个词的周边,有多少插座,有多少插头,什么制式的。哪怕这种标记是这个词独有的,也要这样标,并不因为独特性而偷工减料。分类这个说法似乎是给语言学家自己看的,其实不然。标记是给这个词的周边看的。有些插座和插头就是为模式准备的。在给人看的时候,自会转换成人最方便接受的样子。但是插头插座虽然不是人最方便接受的样子,却是词们彼此勾搭最方便的样子。

梁:
我懂白老师想把“词负载语义”进行到底。

李:
“哪怕这种标记是这个词独有的,也要这样标”?

白:
不这样标就会影响它与周边词的关系。

李:
标记的必要性 是别处要用,是用直接量不能表达或不能概括的部分。如果独有 就没有必要 因为直接量就是标注,这是其一。其二 如果所标记的 pos 或 subcat,是为了自己的模式 而不是别人用,也无必要,因为可以词典化。

白:
标小词就是在做模式词典化,只不过模式不显性出现。举个例子,“连N都V”,连就是N+,都就是S+,顺顺当当吃掉,但是里面实际上在做状态转换。

李:
形式都在模式里面了,还标注个啥。直接量多直观。

白:
不是特意为模式标的。

李:
我在词典主义和专家词典里面浸润太久,感觉上受益太多,不忍心抽象化。

白:
直接量想要就有啊,表示是等价的。这是个UI问题。我这才是词典主义,除了词典不剩啥。

李:
不太一样。
你的词典主义 貌似是词典标注主义,我的词典主义 主体是规则词典化。专家词典(expert lexicon)里面全是模式,不怕冗余。与句法变换有接口,所以也不是完全没有抽象性。

白:
不对,在插销和插座结合的时候,有个东西叫状态转换,它比模式更容易被机器接受,计算上更简洁。给人看是totally another story,跟实时计算没有一毛钱关系,根本是在编辑态下工作的。

“连”这个N+和N结合的时候,N这个位置上的状态是要发生变化的,某个开关打开。“都”这个S+和S结合的时候,S这个位置上的状态也是要发生变化的,某个开关关闭。其实准确地说“连”应该是X+,混混。

李:
具体说说,哪个变化 什么开关?

我套用白老师:没有小词负载的结构不可以用模式去识别的。最多不过是冗余。冗余换来的是接地气。一眼看模式 就可以知道背后的语言现象。模式的最原始形式就是 ngram,那就是直接给语言拍照。当然我们比ngram高明太多,但继承了其接地气的特性。

白:
subcat有静态和动态两种。静态的词典说啥是啥,动态的随着分析动作而变。动态subcat实际上就是状态。它们跟着词,但是不属于cat。也就是说,词负载结构不等于仅cat负载结构。subcat也在分担负载结构。但这部分subcat已经跟怎么画依存关系脱钩了,直接对接语义,所以不画出来。

李:
从词义到逻辑语义的 subcat,最完美的体现是董老师的知网。

白:
其实,模式与纯粹的二元关系本来就捏不到一起。模式往往代表多元关系,而多元关系是二元关系的组合。用动态subcat,可以借二元关系的壳,把多元关系重组起来。

李:
从词到句法的subcat最粗糙的体现在牛津 朗曼词典里面。纽约大学的两部词典(COMPLEX and NOMLEX)稍微好一些,那是一帮爱打瞌睡 动机不专的语言学博士生在名导督促下编制。显然没有nlp历练 纯粹为交差。句法subcat最完美的体现自然是:立委牌2017新版语言学专家词典。

白:
我觉得判别标准不能混淆。计算上怎么精准方便是一回事,人看了是否感觉优雅是另一回事。两者之间不能两全的时候,计算语言学要优先考虑“计算”,人看到什么,是可以用UI来转换弥补的。二元关系在计算上的优势,不用足了天理不容。

李:
模式也是有限状态 怕啥。专家词典不仅仅是有限状态,而且专家词典还可以建立索引来提效。其实 在绕过了中心嵌套的陷阱(我把它叫作乔老爷圈套)以后 计算优势在其他几个指标中 已经退居后位。除非是用在大数据实时处理的现场 计算的考量不是紧要的。所谓二元关系vs模式匹配的关系 说到底就是 bigram 与 ngram 的对比。 有点像排列和组合的对比。只要这个n 是相当有限的 通常不过五元,最常用的模式在三元左右。由于mult-level的模块化效应,三元左右的模式就可以涵盖几乎所有的远程(long-distance)句法。因此计算通常不会成为系统应用的瓶颈。

【相关】

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

《朝华午拾》总目录

【李白之48:依存关系不交叉原则再探】

李:
画了前面的图回头仔细一看才发现,这个例句是擦边的“交叉”:

如果DG(Dependency Grammar)揉进了浅层的短语结构及其边界,先做了合成词“学习 成绩”,那么把“他”与合成词内部的“学习”连接成主谓关系,是交叉。但是如果不引入短语结构,一切节点都是终极节点,实行彻底的原汁原味的依存关系(DG)表达,那么“他”作为主语连接给“学习”以及“学习”作为修饰语连接给“成绩”,并没有真正交叉,只是层次(configuration)显得乱了。但是DG的最大特点(或缺点)就是打破层次,只论二元。多年来我们在DG中部分引入 PHG (Phrase Structure Grammar) 短语结构表达,也是为了弥补这个缺陷。

我要说的是,这不是DG最典型的交叉关系图。不知道有没有更好的交叉而且语言逻辑仍然合理的案例。以前一直以为从逻辑上看,真正的交叉是站不住的,会引起语义的混乱。

白:
这又和“学习成绩”是在词法层面的论断矛盾了。二元关系这竿子杵到底,似乎就不管你什么层面了。“这牛吹得有点儿大”算不算交叉?

李:
盘点一下关涉到的二元关系:

吹-牛
吹-得
得-大
有点儿-大
这-牛

白:
牛-大
牛有俩爹。

李:
从 “牛” 到 “大”,从 “牛” 到 “吹”,起点同,终点不同,所以不算交叉。
n年前,刘倬老师画过图,说只有交叉站不住,不允许。其余的情形(见下图)全部是可能的,说的就是依存。

现在清楚的是,逻辑语义依存可以一个儿子多个老子,甚至互为父子。可以跨越层次,因此是图不是树。但是真正的交叉好像还是不被允许的。逻辑上,依存交叉是思维混乱。

白:
“辫子是谁给你梳歪了?” 试试看。

李:
梳-辫子
梳-歪
谁-梳
给你-梳
给-你
?是-谁(这个强调词可能进不了逻辑语义图,如果硬要进入,就挂在被强调的“谁”上)

还有哪些二元关系?

白:
辫子-歪
你-辫子
交叉了吗?

我觉得首先思维不混乱,再看看交叉了没有。

李:
没有交叉,貌似并不违反刘老师当年定下的天条。

白:
我提到的两个不算?如果讲的是“逻辑语义”,我认为要算。除非承认过继和挪移。

辫子-歪,你-辫子

李:
【辫子-歪】 与 【梳-了】 是交叉了。【辫子-歪】与【你-辫子】并不交叉。不算。因为其中一个端点重合。端点重合的,与内嵌套类似,不是严格意义的交叉。这么多的二元关系,勉强找到一对貌似违背了不交叉原则,而且这一对涉及小词“了”。涉及小词的,原则上在逻辑语义图里面没有地位,不应该进入关系。这样看来,实词概念逻辑语义不允许交叉,是可以自圆其说的。

白:
在我这里小词都有地位。

李:
小词只在句法层面有意义,进入(逻辑)语义,小词不过是给自己的主子添加了“色彩” features,并没有语义关系可言。

白:
你-辫子 与 谁-梳 交叉了,都不是小词

李:
你-辫子 和 谁-梳,的确交叉得太彰显了,掩盖不了 <:]

可能辫子根本就不该找主儿, =)

白:
“腿是谁给你打断的”,腿 也不该找主儿?

李:
这个交叉不交叉原则,可以反过来看。也许可以找到一些案例,的确产生交叉了。但是我们不能允许语句中的概念漫无边际地乱谈恋爱,导致群交的杂乱场面,显然不好。所以,必然会有某个原则在那里起规约作用。也许有某个“不允许交叉”的弱版本需要挖掘和表述。

白:
残坑挪移,可复用萝卜归栈。
技术上当然有办法。

李:
两个人要私奔,天王老子也挡不住。

白:
比如刚才说的“你-辫子”。“你”就属于可复用的萝卜。

李:
二元关系不理别人就是了,不就是一个链接吗。技术上不是问题。管它叫树还是叫图。探讨的是,有没有一个有效的原则在,它合理有效地压缩了乱交。

白:
“辫子-歪”,歪就留下了残坑,被挪移到“梳”的位置。
我认为,残坑的处理和萝卜的复用是天经地义的,是NLP的应有之义。

李:
人心不古啊。现代化摧毁了周礼。是否要克己复礼?现如今,同性都可以结婚,禁区早被突破。

白:
乱交不可能,有辖域的约束,还有subcat的约束。辖域的约束,是指必须挪移到主子的位置。subcat的约束是指必须相谐。在主子的位置看如果没有交叉,就是OK的。

李:
对。
【谁1 给谁2 梳辫子】
【你-辫子】 和 【谁2-梳】 的交叉,是因为“谁2”与“梳”勾搭上以后,把给自己找主人的要求带给了“梳(辫子)”。

白:
所以,我们昨天讲的挪移,是在很严肃、很有效地处理交叉问题,很审慎地剥离表面上貌似交叉、学理上情有可原、技术上完全可控的现象,把它们纳入正轨。绝不是鼓励任意交叉绝不是鼓励任意交叉。

李:
服。

白:
而小词纳入实质性二元关系,一点都不影响上述对交叉的控制手段,但“词负载结构”原则则被推至极致。

李:
不管小词纳入还是不纳入,小词的确没有真正的语义地位。首先,小词各个语言都不同,而语义原则上是人类共同的。在深度分析的结果图上,不同语言的色彩应该已经褪掉。一切图谱理应是实体概念之间的关系。小词负载结构最多只能算是句法层面通向语义的桥梁。过河拆桥不拆桥,桥都不登大雅之堂。大堂里面都是args或mods,围着众神(谓词)跳舞。

白:
这个难以苟同。首先,格、时态、命题连接词、逻辑量词、摹状词都是语义里面必须有的组成部分,各个语言只不过用不同的手段来达到这些组成部分而已,如果碰巧某个语言里小词做了这件事,在这个语言里小词就负载了相应的结构,不描述是不对的。过河拆桥,是一种逻辑等价的技术处理,桥是客观存在的。

李:
总结一下不交叉原则:不交叉原则适用范围要从动态交往中看,而不是去除时间维度,把不同时期的交往压缩到一个平面去看。在没有时间维度的静态平面上看上去的违反不交叉原则的二元组关系,放在时间动态的交往上看,就没有违反原则。

白:
挪移就是位置随时间变化,随分析进程变化。而有些时候,桥是拆不了的。比如“卖盐的”。这个human就负载在“的”上,升格为实词。

李:
[human-action] –> [human],不太好操作。当然,除了[human]以外,貌似其他实体很少出现在这里。

白:
N+–>N,方便得紧,而且和形容词名词化一脉相承:“行个方便”。的字结构,饱和了以后,具有形容词性,形容词能升格为名词,的字结构就能。二者是同一机制。

李:
好像,的字结构可以是主语实体,也可以是宾语实体,后者就超出了[human]:

卖电脑的最新生产的是智能手机。
==卖电脑的[human]最新生产的[product]是智能手机。

白:
那是因为“生产”的两个坑,一个human,被“买电脑的”先占据了,剩下一个“product”坑,被第二个的字结构提取出来,再升格为萝卜。

李:
然后萝卜带上了标配本体?

白:
这整套操作,都在我们提供的机制内完成。

李:
这个标配的设置,不太好处理,虽然硬做总是可以做的。

白:
的字结构是我整个理论体系最早的切入点,不说烂熟于胸,也是胸有成竹的,至少是最不怕挑战的一块。

李:
呵 的字是中文的万恶之首。不说恨不得千刀万剐它,至少也是恨得咬牙切齿。

白:
既然做NLP,就得拿万恶之首开刀

李:
它还有变种:的|地|得|滴|哒|d|de|ㄉ|之
对了,粤语里面还有,那字怎么拼都忘了,但见到认识,口旁加既。

白:

李:
对,上世纪30年代流行

白硕:

日语借来的

李:
相比之下,茴香豆的茴五种写法算个球,李白比孔乙己可学问多了。宝林大师说过,满肚子下水全是学问,不能碰,一碰就往外冒。

白:
妈妈威胁孩子“等你爸爸回来的”那个“的”,在有些方言里似有与普通助词“的”分化的情况,语音形式都不同。

李:
听不懂这个。

白:
潍坊话发音类似“着”。
大家可以内省一下自己的方言是分是合。
@wei 就是,其他语境下的“的”是一种语音形式,这个语境下的“的”是另一种语音形式,简直可以认为是两个词,在普通话里合并了。

 

【相关】

【李白之47:深度分析是图不是树,逻辑语义不怕句法交叉】

《泥沙龙笔记:漫谈自动句法分析和树形图表达》

乔氏 X 杠杠理论 以及各式树形图表达法

【语义计算群:句法语义的萝卜与坑】

语义计算沙龙:基本短语是浅层和深层parsing的重要接口》

【李白之20:得字结构的处置及其结构表达】

【李白之29:依存关系图引入短语结构的百利一弊】 

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

《朝华午拾》总目录

【李白之47:深度分析是图不是树,逻辑语义不怕句法交叉】

白:
还是没说交叉的事情:
“他的学习成绩优秀”,要不要管“他”和“学习”之间的关联?
管了就不是树。不管,差了点什么。

李:
好,现在说交叉。

交叉在语言学课上是一个常讨论的话题。基本上语言系统的部件有一个大体的层次:词典、词法、句法、语义等。这些部件是有一个宏观层次和优先次序的,这个没问题。交叉出现在一个层次的东西,有时候想跳到另一个层次去。说白了就是,交叉就是违反了部门独立性原则。部件的层次架构是原则性的东西,通常不该违反。但自然语言的复杂性就在,有了原则,偏偏有人要违反,那么系统作为一个制度,就必须有一个应对。

“他的学习成绩优秀”:学习成绩 是词法,合成词。“他-学习”是逻辑主谓。“他”作为句法单位,硬要钻进词法(“学习成绩”)内部,这样才能构成完整的逻辑语义全图(graph, 不是严格意义的树!),才能说达成了语言理解。这就是交叉的现象。作为原则,句法词法是隔离的,语言学理论里面给这些原则起了不同的名字和术语,且不管它。总之是,句法单位没有道理进入词法。词法出来的词是句法的最小单位(atomic),所以对于句法,合成词就是一个黑箱子。论句法功能,合成词与非合成词,完全一样。但是逻辑语义不管这一套。逻辑语义是超越语言学句法词法的术语语层次的东西。交叉出现在,我们在句法关系与逻辑语义关系的表达(representation)中,为图方便或其他原因,硬要把它们归拢到一起。

白:
事情可以完全不这么处理。如果秉持句法管谁跟谁有二元关系、语义管是什么二元关系,那么一切不合语义这双脚的句法鞋子都可以动。交叉是自然语言语义表达的客观需要,因此一定会在句法中得到反映。在技术处理上,二元关系的发生位置相对于构成二元关系的词的本源位置可以有所差异或者说变化。二元关系并没有探入词法内部,而是词法本身完成了对外接口的乾坤大挪移。比如,“学习”和“成绩”结合的时候,承认“成绩”是head,同时就把自己的残坑过继给了head,也就是说,“他”找这个“学习”留下的残坑,不是找“学习”要,而是找“成绩”要,这样就消解了交叉问题。

李:
乾坤大挪移应对的是POS约束, 如何应对语义约束:
“他”与“学习”是语义和谐的,“他”与“成绩”没有同样的相谐性(当然,“成绩”也要求 【human】,但那是另一种二元关系的相谐,属于赶巧了,不是原来的主谓关系的相谐要求)。

白:
过继的时候把subcat也一并带过去,不存在这个问题。

李:
操作上不宜、不易。不宜是因为,两个subcats混杂了,“成绩”原本的本体概念与过继来的本体概念,混在一起了。

白:
我们检查相谐性看的是单子singleton。学习的一个坑有human这个subcat,这个坑过继给成绩,只是位置上过继,但是subcat并没减少或改变。

李:
不易是,一个词的本体概念及其背后的常识,是这个词的灵魂,词形不过是躯壳,没有道理轻易出卖灵魂,哪怕出卖对象是你的老板。

白:
不是这样。中心词既然负载结构就必须包容结构。不是向老板出卖灵魂,而是老板包容了你的灵魂。

李:
那就具体说说,这个灵魂怎么转移的(出卖还是包容)。“他”是【human】, “学习”是【huam-action】, 因此“他”与“学习”是(逻辑)主谓相谐的。注意,这里已经把问题简化了:[human] 只是一个相谐的代表或标志,其实主谓相谐包含各种强搭配弱搭配。也许有一个逻辑主语要求的是一个非常细线条的语义类别,不是简单的一个【human】这种层次的类别就可以包揽。

白:
成绩是【action-information】,学习成绩是【human-information】,
perfect。这又要说到unification。

李:
说具体点。action-information,怎么就表达成了 human-information,是一个本体概念节点 还是两个本体概念节点(的混合)?

白:
相谐不是两组符号字面相等。类型演算啊。 输出是information没变,输入变了,级联的整体效果。是输入human,输出information。没有类型演算的ontology,干不了这个。

李:
当“成绩”遇到“学习”,在合成词形成的时候
input is: V(human-action) + N(information) / human-action
output is ??

human-action 的坑满足了,填进去以后,这个头词“成绩”怎么过继,类型演算的结果形态是什么?从道理上,修饰语不能改变头词的本性。因此“成绩”仍然是information, 而不是human-action,尽管它吃掉了 human-action。

白:
不改变输出,改变了输入。

李:
改变了对subcat 的输入要求?

白:
学习是event(human), 成绩是information(event), 学习成绩是information(human)。

李:
我拿放大镜看看这个乾坤大转移。先下线。貌似形式化演算中规中矩。但如果subcat不是那么单纯,如果是强搭配 直接量呢?也可以大转移?

白:
游泳?当然可以。这类,泳就是action,游就是commit,所以,不需要出卖灵魂,老板会包容你的。这是subcat之间的类型演算,完全是结构制导的,残坑挪移后,位置已经没有交叉。语义那边不存在与挪移有任何违和感的东西。没有“不宜”。至于“不易”,说实话还真是有一点点小门槛的。commit太虚,简直就是可以穿透的: commit(action)=action

李:
明白了:过继的是句型信息(对坑的要求,SUBCAT),不是本体全部。

问题过继不是目的,目的还是要建立“他-学习”的主谓关系。而不是“他-学习成绩”的主谓关系,后者不make sense。换句话说,过继了input的要求,逻辑语义output却不能转移,不能张冠李戴。

白:
来源还在,并不因为挪移而抹杀。过继是现状不是历史。

李:
还是有个机制要“进入”词法,才能联系逻辑。

白:
纯二元关系看,交叉是真实发生了的。

李:
好,有理由认为总有办法最终搞定“他-学习”的逻辑语义的二元直接联系,从句法进入词法。

白:
从词负载结构的观点看,交叉这一页可以顺利翻过去,仅此而已

李:
交叉不是关键。

白:

李:
这只是一个帽子,扣帽子可以用,实际不必理他。作为语言学(内)原则,有其合理之处,因为语言学总体或主体是形式层面的理论。但逻辑层面,这个不算啥。

白:
句法不拉语义后腿,句法也不违背所谓的原则,两全其美了。关键是,挪移有了语言学上合理的解释,不仅仅是头疼医头,见招拆招。

李:
第二个相关问题是:刚才所说的演算(SUBCAT坑的挪移或过继)是典型的符号逻辑,
而不是大数据中间件的相谐性的查询。我们可以在符号逻辑操作中,把对坑的【human】要求挪过来,但是我们如何在语义中间件查询中去check非符号的条件。譬如:“他 - 学习” 如果是句法的直接二元关系,我们很容易查询中间件它们是否相谐,而不管这种相谐的符号表示是【human】还是直接量(强搭配)。但是,当“学习”淹没在“学习成绩”的组合里面,如何一致地调用大数据的相谐呢?

白:
subcat有两个作用,一个反作用于句法,辅助做出逆向选择;另一个衔接语义落地。大数据也辅助做出逆向选择,甚至大数据就是用带subcat标记的词典训练出来的。但是语义落地不可以没有subcat,只有好subcat或坏subcat之分。我们不对语料做标注,但不等于不使用带标注的词典。相谐性是原本二元关系的相谐性,不是跟stepmother的相谐性。

李:
可以想见的是: in “NP + de + V + N”, the unsaturated subject of V will still try to be paired with NP in checking the middleware based on big data even if V is eaten up by NP.

subcat 句型的原始的完整内容其实很丰富,不是简单的 vi, vt, 等可以涵盖的
从input这面,它规定了:(1)几个坑;(2)坑在哪里(位置和词序);(3)坑的句法形式(包括直接量);(4)坑的语义约束(【human】等)
从output这边,它把每一个按照上述规定的坑,都map到确定的逻语义角色去,是为语义落地。这样一套丰富的内容,在“他的学习成绩”这样的坑过继的机制中,直感上难以面面俱到。

白:
我得睡了,明天一天的会。

李:
晚安。
SUBCAT是半部语言学,而且外接语义,谈不尽的焦点话题。已经谈了n次了,还可以谈多次。

白:
坑,一经产生,就是一个独立的存在,subcat的归属是终身的,不依母体的萝卜去哪儿了为转移,也不依自身的结合位置被挪移到何处为转移。还是拿“王冕死了父亲”为例。从语义角度看,“父亲”挖了一个subcat类型为human的坑,同时对外提供一个subcat类型为human的萝卜。“死了”挖了一个subcat类型为human的坑,对外提供一个subcat类型为event的萝卜。当“父亲”和“死了”结合,“死了”的坑饱和了,“父亲”的坑还亏欠着,那么“死了父亲”这个短语作为一个整体,就还有一个subcat为human的坑对外亏欠着。“死了”既然全权代表这个短语,当然也就继承了这个短语内部对外的一切债务,于是这个亏欠的human坑,就过继到了“死了”的头上。外面的萝卜(王冕)必须找这个“死了”填坑,“死了”自身亲生的坑虽然饱和了,但是对“父亲”过继来的坑却必须负责到底。我们在句法层面,用N S/N +S N/N这个序列,很清晰地实现了结构制导。

李:
“父亲”挖了一个subcat类型为human的坑,同时对外提供一个subcat类型为human的萝卜,后者(萝卜)是本体概念,前者(坑)是句型预期。

白:
句法和语义是同步的。“了”这类萝卜皮的语义作用机制暂略,后续再说。

李:
所以 / 后面是坑,也就是 arg, +是 mod,随机的被吃掉的对象。+S就是被事件谓词S吃掉的东西。这个coding里面不包括词序?
还是没看清“死了”的逻辑主语 怎么从“王冕”转成了“父亲”。从左向右parse ,先跳进坑的是“王冕”。parse 到“父亲”的时候,S 没坑了。按照常规,这个萝卜应该降格,譬如 降格成“化外的”称呼语:王冕死了,父亲。

白:
这涉及到算符优先机制。总的说就是,单坑的动词,右侧填坑比左侧填坑优先。
“台上坐着主席团”,也类似。

李:
有理。
走了很多能人。

白:
甚至也包括形容词:春风又绿江南岸,宁可“春风”先shift,保证“江南岸”优先填“绿”的坑。

李:
这个结构制导清楚了。请教一下:根据规定的优先次序(parsing算法),在萝卜跳进坑的时候,查还是不查语义中间件?如果没有其他的竞争者,就不查了吧?就是说 human 这种东西在与N/N 或S/N结合的时候,有没有用到?也就是在决定第一个NP“王冕”是 shift 还是跳坑的时候,要不要查左边的NP“王冕”与右边的NP“父亲”,看二者的力量对比?还是不管三七二十一,就是右填坑优先。当然在这句,即便查也是力量相当。但是应该会有力量悬殊的情形,这时候右优先的决定是不是就会受到调整改变。

(1a)中文切词作为领域早已终结。
(1b)G教授终结了中文切词。

(2a)门开了
(2b)开了门
(2c)张三开了门
(2d)门张三开了。
(2e)张三门开了就驱车离去。
(2f)张三门开了就闯进来。

最后一句(2f)谁开的门?不知道。开门者不大可能是张三自己。但在“张三门开了就驱车离去”中,开门的一般认为就是张三本人。

白:
“作为”是带坑的后置定语+N/N.  “终结”如果是单坑,“中文分词”填坑恰如其分。如果是双坑,两边都有位置。“开”是双坑无疑。“就”这里涉及到合并(merge)操作的指向问题。如果按default,标配的指向是右边合并到左边。但是在有特殊标记的情况下(比如被副词“就”修饰)就反其道而行之,左边合并到右边。算符优先机制会让右边所带的坑优先选择萝卜。也就是说,先保证“闯进来”的是张三,谁开的门,可以不care。

 

【相关】

《泥沙龙笔记:漫谈自动句法分析和树形图表达》

乔氏 X 杠杠理论 以及各式树形图表达法

【语义计算群:句法语义的萝卜与坑】

语义计算沙龙:基本短语是浅层和深层parsing的重要接口》

【李白之29:依存关系图引入短语结构的百利一弊】 

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

《朝华午拾》总目录

【李白之46:做NLP想不乐观都找不到理由】

白:
“这个人的演奏水平不怎么样。” 问题:是“这个人的演奏+水平”,还是“这个人的+演奏水平”?

如果是前者,“演奏”需要被结构强制,然后再与“水平”结合;如果是后者,“演奏”不变性,可以直接与“水平”结合。“水平”的pos tagging可以直接定义为N/X,既接纳名词填坑,也接纳动词填坑。如果是前者,名词化的“演奏”做大主语,“水平”做小主语。如果是后者,主语不分层,“演奏”做内层定语,“这个人的”做外层定语。如果演奏和水平中间不加标点,个人倾向于后者。如果加逗号或者语音上有较长时间的明显停顿,可以考虑前者。

平行的句式还有“这本书的出版时间真不凑巧。”

我们看到两种不同的定中结构:一种是N+遇上N,一种是N或者S遇上N/X。前者是萝卜皮和萝卜的关系,后者是萝卜与坑的关系。

李:
什么是 N 遇上 N/X?什么是 S 遇上 N/X?
有一类名词,经常要求逻辑动词做修饰语,譬如“计划”,“水平”,“能力”:学习计划;作战水平;融资能力。这时候,如果恰好这个逻辑动词也是及物的,理论上就造成了结构歧义:譬如第一例 “学习计划”,定中还是动宾?

白:
有歧义

李:
标配还是定中。也许这个标配的来源,有音节的因素:双音化趋势使得双音修饰双音 显得特别自然,构成四字NP。而汉语的【动宾结构】比起【定中结构】,音节上“头轻脚重”比较突出。定中有一种四平八稳的趋向(heuristic),动宾则不然。动宾的本性是短V长NP,所谓头轻脚重。正因为此,更突出了头(动词谓语)的统率作用。

白:
问题来了:定中标配是获知四字结构之后才有的,还是此前就有?

这里还涉及了另外一个之前讨论过的问题:交叉。“他的学习成绩优秀”当中,“他”填“学习”坑的事情,怎么算?当没看见,还是承认可以交叉?

李:
定中结构对音节数的条件敏感。双音修饰双音当然最自然理想,四字成语的大批形成就有不小数量的定中结构。作为对比,双音修饰单音,就非常勉强。即便出现,也大多是例外,可以作为合成词绑架到词典去的。

白:
犀利哥,漂亮妞,糊涂蛋

李:
是啊,这些都是词典绑架。词典绑架的一律不算,因为可以死记。而且相对有限。

白:
问题是还有一点点能产性。说不定怎么就流行一个。比如“带路蓝”。

李:
能产性不强。对付这种一点点能产性,句法是先不去形成NP,尽管让其他路径优先,parsing到后面,不得已了,才把这种音节数不符合要求的patch一下。

白:
不理,会被拐跑的

李:
目的就是给拐跑让路。拐不走的,句法勉强同意结合。这就对付了能产性。我们说优先,说多层,贯穿的就是这类原则。本来音节就不和谐,没对上眼,拐跑了太正常了。这时候统计上看,拐跑的往往都是应该被拐的。万一还是拐错了,那就扔进词典。这时候词典就成为一个垃圾站,专门收容这些介于固定搭配与能产性之间的东西,如果这些东西成为句法优先策略的例外的话。例外一个收一个,把这个收取例外的过程,作为研发系统的一个动态过程,就不可怕了。

白:
有大数据,可以颠倒一下顺序。不做第一个吃螃蟹的,做第N个总可以吧。词典应该和大数据无缝连接起来。词典没有、构词法允许,大数据支持的,非标配也应占优,回头再收进词典。

“二孩概念股”

李:
系统越做越好就是这么来的,不断扩大测试,9成的测试符合预期,不到1成的例外,也懒得伤筋动骨,扔词典就完。今天的例外bug,成为明天的词典绑架,岂有不好之理

我是相当相信蛮力的。词典就是最好的蛮力。上帝造语言非常了不起,但百密一疏,无论如何无法与逻辑比规整性。好在上帝留了个垃圾回收的口子,词典。NLP起初拼算法, 拼到最后就是拼蛮力。就是一个力气活。长尾问题大多体现在蛮力上。

对,结合了大数据,自然是另一个风景。

白:
绑架的动作不用都人工完成,可以借力。

李:
那是,lexicon acquisition,说的就是一种。基本是无监督学习。其实就弄成一个流水作业,ngram不断去学,不仅进入领域数据需要学领域词典。而且时间维度上,要不断从动态数据去学习,以对付流行词汇和新词。然后让人过一遍,把把关。把这个过程变成系统维护的常规作业。

对NLP总体乐观,一直有十足信心这是可以搞定的事儿。这个信心就建立在,自然语言的规律性部分,至少对于某些“砖家”,总体是路线清晰的,句法有很多上帝赋予universal的基因,而例外表面上没完没了,屁股擦不完,但本质是有限的。词典有如饿虎,永远吃不饱,特别好例外这一口。想不乐观都找不到理由。

白:
学习也有lazy和active两种策略。lazy是parser首次碰到了才启动,active是闲时准备忙时用。

李:
正是。一般而言,系统总是要鲁棒,就是说lazy是设计时候已经尽量考量的。开始做系统的时候,可以有意避免上大辞典,少用绑架。一个个OOV(out-of-vocabulary)就成为鲁棒性测试点,然后看对付例外,有没有一个合理的鲁棒机制在。譬如汉语的合成词的应对。系统越来越成熟,这时候lazy的策略逐渐被active的作业方式取代,就可以大肆扩张词典的绑架。哪怕句法可能搞定的现象,如果来不及测试,或为了力求保险,扔进词典最心安。

甚至可以设想,将来的NLP实用系统,所有的ngrams短语全部进词典。可以把n设置成4或5,词典出来的短语都是预制板、标准件,句法三下五除二把它们搭成积木。至于这4-grams内部有啥,理论上词典都可以绑架,而且很多时候也无碍大局。

白:
可看穿的词条(白盒)和不可看穿的词条(黑盒),用起来待遇还是很不相同的。有构词法垫底,一定数量的白盒词条对于休眠唤醒和拆零复用大有好处。

李:
百盒词条的本质就是小句法。不过是优先级高而已。因为优先级高,做出被绑架的黑盒子的样子。但里面埋下了种子,什么时候要唤醒就唤醒了。这种策略,先绑架后(反悔)释放,非常经济合理。因为绑架满足了95%以上的场景需求,反悔释放则满足了不到5%的特殊需求。断断没有为了不到5%的场景,让全局一路受累。总是到了某个点,trigger 这个反悔机制才妥。

“开始做系统的时候,可以有意避免上大辞典”,说的就是knowledge poor development to start with。knowledge poor 才可以打好鲁棒的基础,而鲁棒性是一个NL系统的关键指标之一。这个小词典开发策略 也包括开始不要有太多 features or subcats, 不要有本体知识库 (ontology)。这些东西都是精细的活儿,是鲁棒的另一面。鲁棒的本义就是凑合事儿,但不要离谱。

 

【相关】

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

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

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

《朝华午拾》总目录

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

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

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

两个主谓结构哎!

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

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

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

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

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

白:
很行了

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

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

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

白:
不是一个系列的

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

尼:
可以说是模糊

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

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

李:
可以算解读之一。

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

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

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

看下组句子:

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

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

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

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

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

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

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

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

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

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

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

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

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

 

【相关】

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

《朝华午拾》总目录

【泥沙龙笔记:科学哲学宗教与人生】

尼:
罗素说科学够不着的哲学,哲学够不着的宗教。科学和宗教有交集,如生死,意识,自由意志等。我有篇未完长文 “当我们谈论生死时我们在谈论什么” , 准备作为我《人工智能简史》最后一章。再长的话,得问洪爷了。
@洪 邓总问哲学和宗教啥关系。我昨晚没回复。你接茬说。

邓:
原始问题是宗教、哲学和科学的关系是啥?

白:
科学尽头是哲学,哲学尽头是八卦。

邓:
宗教呢?

白:
宗教尽头是科学啊

洪:
好比有个大鱼缸,
鱼游随便哲学想。
科学只限缸内忙,
缸外有宗教对象。

尼:
@洪 缸能自动变大或变小吗?

邓:
@白 @洪 你俩意见貌似相反

洪:
缸是人所能感知的;如果人类感知进步了人,例如开了天眼啥的,边界就能扩大

邓:
我等白老师和洪爷打起来

邓:
罗素原话怎么说的?
白老师和洪爷彼此惺惺相惜,不打……

白:
缸外有缸

邓:
请白老师明示。解说解说。

马:
探索哲学的小孩

尼:
这小屁孩把想哲学的鱼都给捞走了

邓:
你们都是禅宗的

洪:
身心灵各有其缸,
有界有墙可以撞。
科学自觉不骑墙,
宗教墙外寄希望。

李:
除了红包与痛苦为真 一切皆假。宗教貌似也远不能普度众生,最多是抚慰一小片。至于科学 则是鸦片。让所谓科学家在虚假的高高在上中,求得半片玩积木的兴奋和满足。

邓:
立委登场,讨论正式开始,

彭:
已有的宗教如果不能普渡众生,就只能创新教,当教主了。@wei

李:
当教主肯定更惨。做个追随者至少还可以把负担转嫁 教主的重负转谁呢?

白:
不同领域,宗教尽头到来的时点不同。有的早有的晚。

洪:
假设鱼缸水不浑,
科学/哲学可显灵。
鱼缸壁若玻璃弄,
宗教可以很理性。

李:
面对终极问题 一切那么苍白。高人不高 哲人不哲 敬畏之心难存。

邓:
白老师本质上是认为科学发展会终结宗教?

张:
还有一种可能就是科学发展证实了宗教

邓:
洪爷的说法是两者之间有无法逾越的边界?

李:
都不能解决人类的痛苦问题。

白:
说的就是人类的痛苦问题,科学一定会有办法。

邓:
刺激神经中枢吗?

白:
不是人类整体的痛苦,是一个个具体个体的痛苦。

张:
具体个体的身体痛苦通过科学一个个在解决了。但是精神层面的痛苦无法解决的。就像科学对我们身体的自愈能力一无所知一样。

白:
精神痛苦需要举例,然后看搞定它的途径和时间表

洪:

鱼跃出水有可能,
科学宗教一时懵。
落回或许先知成,
天慧法佛眼开睁。

白:
@张 现阶段科学不等于科学。

邓:
@白 终极的科学是不是等价为绝对真理?

白:
不是。搞科学一般都怕谈“真理”。

张:
精神痛苦的例子太多了,幼年丧母、青年丧父、中年丧妻、老年丧子、失恋,被甩。。。

邓:
如果科学认为不存在真理,宗教又把自己定义为真理,那么是不是可以理解为完全两件事?

张:
估计在地球上找到绝对真理的时候我们要移民外太空了。科学的真理好像是相对的,而宗教的真理是绝对的。

白:
失恋跟记忆关系很密切。如果可以干预和改变记忆,对待失恋的态度也会有所不同。

邓:
原来@尼 大师提到“自我”的容器问题,就是那个换头术悖论,跟白老师这个观点探讨的方向一致吧。

鸣:
精神痛苦,多与欲望相关

白:
执着都是有物质基础的。现在不敢动这个物质基础,主要是怕误伤。如果定点改变,确保不误伤,改了又何妨。离开要解决的问题,真理的绝对还是相对就是个伪问题。有了要解决的问题,大家就直接比疗效好了,不必涉及那些伪问题。

张:
失恋不要被忘记。那也是一种情感需要被回忆的。有了痛苦才有反差,否则人生又有什么意思。

白:
想保留反差就谁也别找,不想反差太大就定点微剂量清除记忆,在这点上宗教活儿太糙,论精准还得寄希望于科学。

邓:
@白 “基督教是现代科学的接生婆”跟您的说法一致吗?

白:
也不尽然吧……

邓:
宗教的尽头是科学

张:
或者科学的尽头是宗教

邓:
现在是张老师力战白老师

张:
来搅浑水。
白老师是严谨的科学家,我们是来搅搅乱。

邓:
必须有人捣乱才能激发白老师讲话的欲望。

白:
娱乐而已。

邓:
@尼 大师该你了。向白老师开炮。咱们那天关于这个主题聚聚。顺便听白老师弹琴。
@白 《those were the days》这歌用曼陀铃应该不错。

尼:
好多讨论的词汇没法定义。例如,”人文”在文艺复兴时的意思是为了和“神”唱反调,科学也算人文,但几经周转,人文语义迁移了。在中国,就成文科生的意思了。

邓:
请大师先定义词汇

尼:
哲学也一样。一种方便的定义是哲学就是哲学系教的那些玩意。那恐怕现在的哲学和100年前哲学不一样了。再过10年,逻辑就不算哲学了。我得开会去,晚上喝两口再聊。

阮:
对于一个生命有穷的个体来说,科学能解决的问题少之又少,当科学不能解决时,就赖宗教获得个体幸福了。因此,科学的终端是宗教。

白:
@阮 宗教就是昨天的科学

李:
一个显而易见的事实是 科学技术的进步带来了物质繁荣 但人类的精神问题没有减少 貌似日趋严重,至少是停滞的感觉 与科技的一日千里 无法比拟。

白:
人类不好伺候啊。
穷也矫情,富也矫情。

阮:
科学伺候的是客观世界,宗教伺候的是人类精神世界,目的不同。

张:
白老师,宗教比科学早啊

白:
对啊,宗教的明天是科学。一个意思。

李:
宗教要真伺候得好 为什么还有那么多迷途羔羊?
譬如 执着心,佛教 甚至fl功 都有很多放下执着心的教义,道理是深刻的,几乎无懈可击,可是怎么那么违背人性 难以接受?

张:
其实科学和宗教确实很难放在一起,科学也许永远找不到最终的答案。

阮:
这世上有这么多无知的人,为什么不说科学伺候得不好?

白:
@阮 不一定啊。你以为高保真音响只是伺候耳朵的?不是的,是伺候听觉欣赏的。

马:
@阮 看你怎么定义终端。科学和技术要分开。享受属于技术。

阮:
@白 科学求真,让人类获得享受是副产品。

李:
好吧 就说死亡不可抗拒 这个我等可以接受 (虽然也是经历很多才接受的)。那么 在我们死亡之前的这些日子里,我们每个人都想减免痛苦,可痛苦依然挥之不去。

马:
所谓死亡只是换了一个躯体而已。

白:
说不定吃一种药就不怕。又减少痛苦又不上瘾。到时候再痛苦就矫情了。

dl:
人之所以痛苦,在于欲望,而其中相当部分欲望,与个体独立性反相关,社会科技越发达,社会越富有,反而大家都落不着好了,这就是现代社会的一个毛病。典型的是权力的欲望。

白:
藏族人对死的态度很豁达

李:
痛苦二字也许太抽象 但我们多少人没感受过一个 “累” 字。人生真累。活着真累。

dl:
越是发达的社会,越是号称平等自由的社会,人们从权力方面获得的满足感越少。越是专制,反而每层都能找到权力的感觉。

阮:
人类麻烦事太多,除了生死,还有一堆其他的。科学帮助解决问题,不能解决的就用宗教。

白:
能量极小化,就是懒;物质极大化,就是贪。

李:
其实这种累的感觉,不是简单的欲望不得满足。

白:
都想出人头地才累。

dl:
归根结底,出人头地也是权力欲望。没有雄心壮志,就比较容易快乐。

熊:
虚其心,实其腹,弱其志,强其骨,美国政府在做的。

白:
权力欲望也一定有物质基础的。吃药可医。早晚的事。

李:
在古代 流行的是简单的快乐。进入文明社会 简单的快乐的能力 现代人丧失了。
我们的远亲 猿猴就没有人类这么多这么深这么厚的痛苦。

dl:
以前皇帝的物质条件未必比现在普通人好啊,但是快乐太多了。现代社会另外一块问题,就是虚伪性,其中最大的就是婚姻制度,也是导致痛苦的主要原因。本来古代制度性解决的问题,现在需要每个聪明人耗尽自己的才智,其实也解决不了问题。@wei 主要是一夫一妻制度的推广造成的。

李:
那就废除这个制度好了。可群婚也不会幸福。

dl:
太多成功学,个人奋斗案例,给大家打鸡血,也是导致大家辛苦的原因。美国鼓吹的那一套人人奋斗也是大家痛苦的原因。以前不成功还可以把原因推到制度上,现在只能埋怨自己了,能不痛苦吗。

邓:
看高手过招真心快乐。@白 将来我们都喝老爸茶、弹琴、斗嘴。

李:
过度紧张 过度竞争 恶性竞争 肯定是罪魁之一。

dl:
人之所以快乐,无外乎比别人优越那么一点点。也许现在宗教存在的意义,就是我失败了,能让我找到一点点借口。否则就是赤裸裸的自我解剖,太痛苦,没几个人受得了。

李:
找不到工作 社会上混得不好 肯定不快乐。
但有一个不错工作的人 也往往快乐不起来

白:
这点借口,科学也会给的。将来都ai了,找不到工作是常态。

dl:
很重要的一点,和身边的人比较起来,是不是优越。最谦虚的人,内心也是希望得到别人的恭维的。最不在乎的人,他在乎的东西,超乎我们的想象,除非这个人完全破罐破摔。

白:
把自己贬低到常人难以接受的水平,来恭维别人的人,一定极其阴暗,破坏力不可低估。自尊心是守恒的。这里按下去,就意味着一定会在其他地方冒出来。

李:
回想起来 人生中比较真切的快乐的确有 就是助人为乐 远比自己得到好处快乐得多。这个助人为乐 首先是亲友。看到自己爱的人 亲友 由于自己而改善了境遇 那种满足幸福感相当不赖。如果觉得自己可以帮助全世界,快乐就源源而来。

dl:
@wei 这也算一个麻醉剂。中国人这个达则兼济天下的思想,本来就是高高在上的。
明白嘛,高高在上。帮助他人,也是体现自己优越感的好地方,当然客观上是有好处的。仔细分析,从内心来讲,并不比我要出人头地高尚多少。

白:
精英已经失去了代表人类平均感受的资格。

dl:
@白 现代社会的痛苦,就是精英阶层弱化的痛苦。

白:
去精英化

李:
暴发户回家乡办学 就是这种幸福的展示。

dl:
@wei 你说的这种东西,并非精英阶层追求的东西,而是把精英阶层平民化的过程。这里有一种不可调和的东西存在。

李:
雷锋的快乐就是,做好事不留名,记在日记里自我欣赏的感觉超级棒。

高:
雷锋不识字,何故多记事

dl:
@wei 雷锋这种现象,主要还是愚民策略的一个证明

李:
一介武夫 无权无钱 不富不贵 但没人否认,雷锋是幸福的 每一天活得那么充实满足。

dl:
反正在这个群里,我得到的快乐,肯定没有我的粉丝群里得到的多,这是肯定的。原因是肯定的,这个群里大家都很自我。没有人太屌谁,这就是以后社会发展的一个趋势。

白:
反过来说,精英扎堆儿的地方,不适合精英自我表扬。

桂:
李白是计算语言学界活雷锋。

dl:
所以每个人权力获得感会大幅下降,这是必然的。预测以后的世界,每个人的存在感问题会更大。这会是一个主要问题。

白:
唱戏当皇上也是爽的。
以后ai发达了,nlp发达了,慕容复何至于那么孤单,可以乱真的奴才臣子还不是要多少有多少?权力欲真那么难满足吗

dl:
@白 反正我不会和机器人谈恋爱。
这个每个人细细体察内心就可以知道

李:
不要说那么绝对。没人会拒绝快乐,快乐来自人和机器 不重要。

白:
来自药物和现实乃至虚拟现实,也不重要,关键是不要有副作用

dl:
精英阶层的人士,快乐在于控制和影响力,不在于太物质的东西。而世界趋势在背道而驰。庸俗化正在席卷全球。
@白 吃药也许可以。五石散。魏晋南北朝,其实也是一个世家没落的时代,和现在有点像。

白:
所以科学宗教哲学,说到底都是solution,是骡子是马,最后都要在problem面前遛遛。

dl:
@白 同意。问题是这里面存在不可调和性。发展趋势和人快乐的基础之间有不可调和性。这是现代社会的一个重要问题。庸俗化引起的权力满足感丢失,可能是问题的核心。

顾:
科学和宗教类同,只不过科学适用面宽些,预测能力强些。

白:
人太多了,逆选择一下也是必要的。这么辛辛苦苦伺候都快乐不起来的人,还是哪儿凉快哪儿呆着去吧。

dl:
目前解决方案,就是创立一个公司,然后去当土皇帝。这才是正道。所以要创业。这才是创业的终极目标啊。公司目前是满足权力感最好的形式。

白:
权力自由但财务不自由的创业,好不到哪儿去。

dl:
@白 这就是你说的唱戏当皇帝也快乐啊。

白:
自己印钱啊,虚拟货币。
想象力太受现实束缚了。

dl:
@白 我只是调侃一下而已

白:
我调侃两下行不

dl:
当然可以。以后都去参加拜公司教就好了。这就是宗教。solution直面最核心的问题,精英阶层存活的意义就在于此。

白:
ai让你唱戏当皇上比真皇上还爽,连个不爽的理由都找不出来。

dl:
@白 现在很多人沉醉于虚拟网络,可能也和这个有关系。找到了存在感。但是如果获得太容易,就没优越感了。存在感其实在某些意义上等同于优越感。

白:
那容易啊,工作量证明,挖矿挖到了的当皇上。

dl:
@白 其实发明一种机制,让人去做梦,这样人的一生其实不需要活动。可以拍一个电影,以后少数精英人士操纵社会,大多数人生下来,就被装在器皿里培养做梦,大家觉得如何?都很快乐。其实社会本质未尝不是这样?

邓:
今天讨论这么热闹@尼 得发个红包。

 

【李白之44:“明确”是老子还是儿子,需要明确】

白:
“北京大学率先明确入雄安路线图”。“明确”是副词还是动词,需要先明确。

李:
我觉得这不是问题的关键。pos 在抽象层面只规定非常宽泛的框框。关键还是语义之间的相谐。正确的问题不是pos,而是 “明确” 在这里是状语(儿子),还是谓词(老子)。在【明确+ vp】里面,pos 上它没有什么限制,所谓跨类词。跨类就是两可。 对于跨类 这是一个没啥意义的问题 或者说 这是一个 circular 的问题。

“明确”的最常见的 subcat 带的是 np,但是 在 “明确v” 出现时,这个 v 可能是 vp,因此 “明确”可能做其状语。也可能这个 v 是np内部的修饰语。

(1) 明确规定游泳违规
(2) 明确规定 严明纪律 这两条是整顿金融秩序的关键所在
(3) 我们要明确规定条例

大数据可以帮到 (1);(2) 是排比的力量 压住了大数据,把潜在的动宾可能激发出来。 但排比因素的形式化实现还需要探究(虽然形式特征在人看来是蛮明显的)。(3) 仍然歧义:“明确(地)规定(相关)条例”,还是 “明确(一下)(有关)规定(方面的)条例”?大数据似乎选择前一个解读,为什么我们仍然感觉得到后一种解读的可能性。设想 如果大数据中 “规定条例” 比例开始高到可以与 “明确规定” 相匹敌的时候,这就是大数据也搞不定的边界之争。

白:
“北京大学率先明确入雄安路线图”这个例句中,“明确”只有一种走得通的词性,就是动词S/N,X。如果是副词,“入”就会过饱和。虽然过饱和也是能处理的,但放着正常饱和的不用却去用过饱和的,终究不妥。因为“入雄安”只剩下一个坑了。副词“S+”不会改变萝卜数和坑数。

李:
“率先明确入雄安的是习大大吗?当年是毛主席率先明确入京的。虽然有人提议仍在南京建都。” 什么叫 入 的过饱和?

看样子 “明确” 的subcat 也有带 vp 的,虽然不如带np的 subcat 用得广。

另。假设 native speaker 的语感与大数据(作为语言共同体语言表现的代表)吻合(实际上当然不会总是吻合), 那么大数据搞不定的歧义就应该视为真歧义。大数据能搞定的就是伪歧义 尽管这个伪歧义以前被认为是句法真歧义。“以前”指的是没有大数据语义中间间或没有语义或常识消歧手段的句法分析器的那个时期。

 

【相关】

《李白之零:NLP 骨灰级砖家一席谈,关于伪歧义》

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

《朝华午拾》总目录

 

【李白宋53:聪明的一休与睿智的立委】

宋:
“禁止违规游泳”(1)凡游泳皆违规,禁止游泳。(估计这是标语牌的本意)(2)游泳还是可以的,但不得违反相关规定。(相关规定是什么,并不知道)

蕫:
宋老师,是的,应该是’在此处游泳均属违规”。我还见过“禁止野浴”。

李:
“禁止违规游泳”这个问题蛮典型 就是修饰语的限定性还是非限定性的问题。所有游泳违规 均在禁止之列,这个解读是非限定性的。限定性的有:

“欢迎持照游泳 禁止违规游泳。”

“以下游泳行为一律视为违规 本游泳池有权禁止入内或强制驱逐:
1 不穿泳裤者:便裤 普通内裤不得入内。裸泳绝对禁止。
2 传染病患者
3 无会员证者”

汉语句法 前修饰语默认为限定性。就是说 有修饰语 集合就变小了 成了原概念的真子集。而非限定的修饰语解读属于例外,是值得具体研究的现象。

白:
“聪明的一休”,还有不聪明的一休木有?

李:
聪明的一休很典型。再如 吾党的伟光正:伟大光荣正确的某某党。语言学认为默认为限定,吾党认为是非限定。这是自封的本性 不改变集合的外延。如果抠字眼,可以说:
“伟光正的党万岁 不伟光正的党必亡。” 搁在文革,这就是恶毒的反标,现行反革命,要坐牢的。

如果非限定性有句法形式的区分手段 那就好说。譬如英语非限定定语从句,前面加逗号 不允许用 that 作为连接小词。这些都是句法形式的规定 与语义相呼应:

限定: “I like the guy that just won the Math Olympic modal ”
非限定: “I like the guy, who just won the Math Olympic modal ”
==  “I like the guy, and he just won the Math Olympic modal ”

但是如果没有形式区分 就是一个特别值得探究的现象 究竟是如何出现的 什么因素决定了非限定。我觉得非限定修饰语的产生就是语言表达的偷懒,或discourse意义上的降格。偷懒表现在 本来应该是独立子句表达的语义 被凝缩或降格为前一句内部的修饰语了,做了小三,但表达的却是原配。除了偷懒 造成可能的困惑外 还有轻视或侮慢原来语义 顺带一提的语用或风格的因素。

白:
这个和反事实条件句有得一拼。汉语不太看重程序正义,如果你知我知没有不聪明的一休,那聪明的一休就是非限定的。

李:
“朦胧的月光”,是非限定。“火热的太阳”,却是限定性的,因为“惨淡的太阳”、“昏黄的太阳”也是存在的。”Stupid me”, 这个是非限定的。 它等价于 “I m stupid”, 虽然严格说 我应该也有 intelligent 的时候。逻辑与语言的不一致就在这儿。

白:
哲学上较真儿起来,没有绝对的同一性。上一分钟stupid,这一分钟不stupid完全可能。所以非限定就是一主观的“锁定”。让你不游动,定格在某个特定的属性上。

李:
对。
可是怎么在说者与听者之间达成这个锁定,使得理解无误呢。“伟光正”的锁定是洗脑的结果。“聪明的一休”在狭窄的domain,是新造的脸谱化人物,也是绑架的。“美丽的西施”是历史的共识,还有 “睿智的诸葛亮”。如果说 “睿智的立委”,那就是恭维 拍马 或 嘲讽了,虽然也是锁定,因为说这句话的时候 是没有假设存在一个愚笨的立委 作为对照的。但是,可以说:“睿智的立法委员肯定不会投票赞成这个法案的,少数愚蠢的立法委员除外。” 这就是限定性了 。当然,立委与立委不同,专有名词从集合论上说只是一个元素,排除时间维度可能的变化以后,这个元素是不可割裂的。普通名词常表示类别,所指是一个集合,于是给子集的限定性留下了余地。

白:
先有脸谱,锁定才成为可能。与脸谱不符,那是高级黑。

李:
这里 脸谱 就是英语的 stereotype,带有默认属性的实体,当默认属性成为修饰语 那就是非限定。默认以外的属性作为修饰语, 就是限定性 因为这增加了信息量。伟光正的信息量为零。作为修饰语 不是为了传达信息,而是为了宣传或气势压人。把默认属性提出来作为修饰语虽然没有增加信息量,但可能有强调或比照的语用效果。如果我们知道隔壁老张是个矮个子,然后说:“小个子的老张摔跤大赛中得了冠军”,这个已知内容的非限定性修饰语加强了意外成就的效果:see,大家都知道老张是个小个子,可是他虽然个子小,本应处于不利,他却赢了。

宋:
一般情况下,对于个体的修饰,通常是描述性的。对于多个体的集合的修饰,就有两种解读了。刚才说的是定语。如果是状语,则往往是描述性而非限定性的,因为通常是叙述一个特定的时刻特定对象发生的行为。如“他违规使用电器”。但是,在“禁止”、“提倡”、“要求”这类语境中,状语往往是限定性的。

白:
刚转了一篇关于陆奇的采访,用的称呼是“微软最有权势的华人”。且不说他是不是适合这顶帽子,这里涉及到定语的限定性用法和非限定性用法。如果中心语是集合,那么定语可以筛出一个子集。如果定语是一个个体,it depends。

“原来的我”,实际上把一个个体在时间维度上分片了,筛出一个时间段。而“聪明的一休”则根本没有任何限定。“假马克思主义者”则针对原来的集合在其外面构造了个集合。

李:
这个限定还是非限定的问题 在做 sentiment 时候挑战可大了。选定的定语有褒贬的话 对于被限定的实体 是直接影响。非限定则不然 根本就不存在褒贬评价 只是把对象用褒贬的维度 做了客观的分类说明而已。可惜二者的形式区分很微妙 不好区分。“道德败坏的四人帮” 是贬四人帮,”道德败坏的人 是环境使然 还是也有遗传因素呢 仍然有争议” 谈的不过是人类的一种,是在“人”这个集合里面限定一个子类,语义议论,并非针对“人”做否定性的价值判断。

白:
“道德败坏的人”两个意思。限定用法,指人类中道德败坏的那部分。非限定用法,指人这个物种就具有道德败坏的属性。

梁:
白老师是说,限定性把概念的外延限定变小了。“聪明的一休”没有”限定“一休,只是说一休有”聪明“的属性。

白:
是啊,正是。所以“丑陋的中国人”其实也有歧义的,只不过作者毫不隐讳他说的就是非限定性的意思。

宋:
英语的关系从句也有这两种(全体元素具有该属性,或抽取出具有该属性的那一部分元素),它们的区分有无形式标记?

白:
感觉:1、后置定语往往是限定性的;2。分词做定语往往是限定性的;3、有定形式(比如受定冠词管辖)往往是非限定性的。

我:
限定 非限定可讨厌了,有没有形式痕迹?有,英语中,我们尝试发现蛛丝马迹,也的确发现一些,类似白老师说的。但是非常微妙,稍不留神就 overkill,这个问题对 sentiment 非常重要,除非牺牲 recall,对定语一律不抓。如果想要那个 recall,precision 就会影响,如果这个问题不细心的话。烦死啦。

利用句法和pattern 都这么难缠,没有结构帮助,这个 sentiment 怎么弄,是不是就是瞎蒙。By the way, 英语中的术语 限定性(restrictive)与非限定性 似乎正好与白老师说的意思相反。教科书上,英语中最典型的区别和说法是,限定性定语从句前面不能有逗号,用 that 或 who、which,非限定性定语从句有逗号,不能用 that。因此,非限定性定语从句与另起一句差不多,是对NP的整体做进一步讲解,而不是对 NP 做限定性分类。但实际的情形复杂多了,这与 NP 是不是专名,NP 前面是定冠词还是不定,是不是复数,等等微妙条件的组合效应有关。

Case by case,人大致可以判断是哪一类,或是是不是歧义(或两类都有),但从这些语感中总结出一组可靠的条件,颇费功夫,要不断到数据去求证,才逐渐感觉有个眉目,这里面结构是必需但不是充分的因素(没有结构,是不是定语都不见得摸得门,就更甭提区分两种定语了)。应该算 NLP 难点之一。看哪家系统,用什么招,可以成熟一些。迄今所见所闻的学习出来的 sentiment 系统,对这个挑战似乎束手无策。

 

【相关】

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

《朝华午拾》总目录

【强弱人工智能之辩】

董: 两周前陪一位朋友去做肠镜。医务说明上写到:肠镜有风险:肠穿孔是1000:1;大出血是:500:1。后来我想到了伟大的人工智能(AI)和机器人。其实将来可以研发专门的机器人来为患者做肠镜,如果肠穿孔低于1000:1,不就成功了吗?后来又一想不对呀,以后等机器人把肉身人类都消灭了,哪还要做肠镜呀。人类的未来真是太美妙了。没有疾病,没有穷困,没有战争!

我: 董老师,相信所谓强人工智能,甚至所谓超人工智能的,主要是两类人:一类是部分权威或大佬,霍金、比尔盖茨之类;另一类是被小报或科学幻想洗脑的百姓,而编这些科学幻想故事的人基本是出于猎奇的本性。后一类人可以忽略。其实,第一类人,到目前为止,大多还谈不上相信所谓强AI,他们主要是提出要警惕AI可能带来的人类灾难,这是为强人工智能开了口子。这类人不是简单地可以否定的。也不能仅仅归结为他们在忽悠,因为他们足够高大,已经超越了通常意义的忽悠(动机为好处、为金钱、为funding、为耸人听闻等)。

相信不相信强AI已经不再是学术之争了,而越来越成为信仰之争,世界观之争。两派都有大师做后盾。乔姆斯基是强AI的否定派,有人问他:机器会思考么?乔老爷反问:潜艇会游泳么?乔老爷认为强AI是无稽之谈,不值得讨论的话题。但霍金、比尔盖茨等人则未雨绸缪,开始担心强AI了。

从自主思考的意义,我们作为强AI否定者,可以与乔老爷一起斥其为无稽之谈,学术上这个所谓强AI是一个不值得认真对待的问题。但是,从现实考量,警惕强AI论者有其积极意义。这个意义表现在,随着AI系统越来越复杂,创造系统的人可能失去对其全面的掌控和了解,这样来看AI系统,其风险的确在增大,而这一点是不难想见和同意的。

我们先撇开AI看人类的科技进步。事实上,立足于科技进步所带来的毁灭人类和世界的可能性早已存在:如果核按钮掌握在极端主义手中,这是完全可能的事儿。人类对此危险的办法是,限制核武器发展(制裁北韩是举措之一),对于已经掌握核武器的大国,也有一些措施试图保证不至于因为误判或误操作而造成核灾难和大毁灭。如果 AI 系统以后被用于一些敏感的地方,而且系统的复杂度和演化越来越超出人脑可以理解和控制的程度,那么出错以及错了难以阻止的可能性不是不存在的,虽然这与机器自主思考没有一毛钱的关系。

从功能角度,从图灵测试的标准看,潜艇与鱼一样会 “游泳”(先摈除这个字眼本身纯粹从语言带来的专属于动物的限制),飞机与鸟儿一样会 “飞”(还好,语言中这个语词似乎更超脱一些,没有强加隐含的动物限制)。这一点是没有什么疑问的。乔姆斯基实际上是利用了语言学的 trick,打了一个世界观之争的漂亮仗。但严格意义上,有点胜之不武。作为语言大师,他知道如果说潜艇会游泳(尼克说,这是乔老爷拷贝别人的比喻),在一般人心中,会天然地导向无稽之谈的感觉。

张: @wei 向您致敬!

我: 跟董老师讨教,我们都来致敬董老师。我们都是董老师的好学生和追随者,现在话说,粉丝。

张: 我最幸运的亊,一踏上人生和学术之路,就有董老师这座“灯塔”一直照耀我,后来又照耀了我女儿。

我:我一辈子最幸运的事儿,就是在 career 开启的时候,遇到了两位刘老师和董老师,董老师虽然不是直接的导师,但当年的接触和给我的教诲,终身受益。董老师的逻辑语义的论文(逻辑语义及其在机译中的应用)是我的启蒙读本,当年细嚼慢咽读了很多遍的。

白: 动词对主语的专属强度,其实也是与时俱进的。比如“告诉”,之前只能用于人,但是现在可以用于搜索引擎了。专属强度就是世界观的一部分。

我: 总之,我们虽然是乔派,我自己更是董老师派,但我想说的是,这个争论不是简单否定那样简单。这就好比明智的无神论者或不可知论者,已经很难简单否定上帝的存在一样。

张: @董 @wei 读你千遍不厌倦

董: 曾经观看过传销的影视。传销有三个要素:强忽悠、强洗脑;一个好的有能卖钱的产品;一群容易跟风的受众。AI曾栽在了五代机上。后来找对了诸如语音、马克杯识别、在后来有象棋和今日的围棋。谷歌等的“可穿戴”、微软的看脸猜岁数等好像下岗了。如果AI能用于灾害预报,恐袭预测和防止该多好,多紧迫啊。任何的研究,尤其是与人类自身相关的题目都是应该鼓励的。但是不要把某种研究神话、神化,更不可以用来当迷信似地吓唬人。例如“大脑计划”是好题目。AI人应该是经验主义者,他们说要警惕人类会被机器人消灭,有实践能证明吗?

白: 一些古老的仪式感动作感很强的词,当新技术用更好的动作也能达到同样的最终结果时,就被古董化了。比如:“打印机会写字吗?” 打印机可以呈现写字的最终结果,但摒弃了写字的狭义动作和过程。潜艇摒弃了游泳的狭义动作和过程,只呈现水中位移的最终结果。这种仪式感动作感太强的动词就没办法随着技术的发展与时俱进了。飞就不同。

我: 所以我说乔老爷用那个比喻虽然妙绝,多少有些胜之不武。

自然语言语词,经常带有非逻辑必须的核心语义以外的零碎。这些零碎有助于我们在discourse中找其关联部分,但也容易被其绑架,进入“标配”的认识误区。

马: 还有洗衣机等,用张老师的话说,如果当初研制洗衣机的,想造个机器人,用搓衣板洗衣服,哪年才能做到啊。

白: 在围棋界,“想”是可以用于AlphaGo的。

马: 蒙特卡洛树搜索就是想吧。

梁: 造个机器人帮我洗碗 ,  洗碗机?

白: @马 搓衣板还有其他妙用

马: 惩罚老公?现在改用cup了

我: 如果坚持机器不能 “思维”,只能 “计算”, 那么几乎所有的 AI 术语都应该推倒重来:机器翻译(MT)是无稽之谈,人工智能是弥天大谎,自然语言理解(NLU)亵渎万物之灵,神经网络(NN)肯定是神经病的臆想。

张: @wei 句句是真理呀!开始崇拜啦!

马: 可以扩展计算的含义。

白: 不同层面吧。分子只能碰撞,一堆分子却产生温度。

梁: 基本同意“人工智能”就是一个大词儿,吓唬人。空洞的,只有广告宣传造势意义的大词,以“人工智能”为例,可以写一篇文章。

我: 但是术语已经站住了,各有各的理解,怎么办?于是出现了,强AI、弱AI 之争。

马: 我是弱AI派。

我: 加了一个前缀,我们便稍觉心安,原来我们可以一致同意的是,机器可以模拟人的某些知识功能和白领劳动。我们叫它弱人工智能。

白: 整体论和还原论。强弱AI是哲学,不是科学。

我: 我应该也属弱AI 派,不过真心觉得,这个 AI 或 NLU 都有加速度发展的趋势。不见得是硬件的摩尔定律那种速度,但的的确确超出了我们以前的想象极限。我入行的时候对多语 MT 的梦想,现在已经被 SMT(统计型机器翻译) 提前实现,无论我多么批判 SMT 缺乏结构和质量不佳,可现在的在线多语自动翻译唾手可得的局面已经远远超越了我们当时的所有想象。自然语言理解的核心引擎 parser 也是如此。我做梦也想不到,在我有生之年,除了英语和其他欧洲语言外,对于我们这个据说只有意合缺乏语法的伟大母语,我一介书生,可以设计开发出一个现在展示出来的 Chinese parser,接近人工的水平,达到实用的高度。这是最让我感慨的《美梦成真》。当年要是一路做老式的规则MT,先得被SMT气死,然后重生,最后才可以对决,好在 IE (信息抽取)诞生了,我于是转向去做 IE,有深度 parsing 做底,一做17年,无往不利。天不我欺,幸运啊。

马: 统计把AI带向了实用。

白: 弱AI的边界会被人类的专属动词一个一个打穿。到时候,没打穿的是因为太古董,不值得打穿。非不能也是不为也。做一个机器人会游泳还换气,有意思吗?不管SMT水平多矬,翻译也不是人类专属动词了。

我: 对,在我们下一代中,机器翻译已经天然有理了。不像我刚入行的时候,我的文科研究生同学无论如何不理解机器怎么可以翻译,这应该是专属于人的高级脑力劳动。同学当年瞪着一双又是佩服又是恐惧的眼睛,我的印象极为深刻。

白: 昨天我就感慨,人工智能就是人工原罪,你的使命就是把各种专属拉下神坛。

马: 我女儿小时候写作文,总是先搜索一番,都不知道谁教他的搜索。以后翻译也差不多吧。

白: 还有学习,也不专属了。

马: 从数据中学习 机器强于人。

我: 现在的困扰是,我们不知道如何定义灵性。我们可以感受它,也知道它是人机的本质区分,可就是无法精确定义它。

白: 还好灵性不是动词,可以放一放。

我: 凡是可以精确定义的灵性的某种表现,似乎都可以被模仿。有的已经不仅是模仿,而是超越。细思极恐。

孔子说,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲不踰矩。知天命就是顿悟的境界了。自感顿悟确需多年的历练,不到 50,没有足够的积累,的确极难。 睿智如白老师已经耳顺,那又是一个高度。董老师更不用说了,那是天马行空随心所欲了。即便在下,现在看问题,与10几年前看问题就不同,莫名其妙地有一种穿透的感觉,所谓洞若观火。当然指的是自己的一亩三分地,不是说的大千世界(能穿透大千世界的应该是董老师、乔老爷或者星云大师这类高人,我等肉身凡胎只看得见自己的耕耘)。

【相关】

【立委科普:美梦成真的通俗版解说】

【征文参赛:美梦成真】

【泥沙龙笔记:从机器战胜人类围棋谈开去】

有感于人工智能的火热

【反伊莉莎效应,人工智能的新概念】

《立委随笔:人工“智能”》

【置顶:立委科学网博客NLP博文一览】

【李白之43:谈谈绑定和回指】

白:

him为啥指he而不是the police officer?按照“最近提及原则”,the police officer在栈顶,“he”在次栈顶。但,语境(图片)表明,“he”在牢狱中,事理指向出狱(go)。事理决定了police officer可以决定he是否go,bribe可以左右police officer的决定。这些事理指向,一旦达到边界强度,可以压制最近提及原则的标配结果。

李:
“He bribed the police officer to let him go” is like “He requested the officer to find him”. “him” cannot refer to “the officer”, it has to be somebody else, either “He” or someone else.

cf: “He requested the officer to find himself”

“himself” refers to “the officer”.

白老师的道理是说语境(事理)可以突破 heuristic。凡是 heuristic 都只是一种趋向,一种原则,也都有例外,都有被其他因素override 的可能。这个道理是对的。但这个案例,却不需要语境出场,这是句法绑定(binding)本身就决定了的。

“bribe” 的subcat 是:bribe sb to do sth, so “sb” is the (logical) subject of “to do”,
the object of “to do” cannot refer back to the subject unless “self” is used following the Binding Theory.  So in the coreference list, “the police officer” is not even registered as a possible candidate.

句法就排除了这种可能,因此也就没有什么就近原则与语境发生冲突的故事了。这是乔姆斯基的绑定理论的一个典型表现。不确定绑定的是谁,而是确定不能绑定的是谁。

白:
穿透了

李:
显示了句法的有限但是有效的作用。

“She bribed the police officer to let him go”, now the subject is “She”, still “him” cannot refer to “the police officer”. It has to be somebody else.

白:
him就是第三者,非反身性。

“John asked Bob to wash himself.”
“John promised Bob to wash himself.”

当年德国老师讲过这两个例子

李:
right.
this diff lies in the diff in subcat patterns. “promise” is not associated with the standard subcat “promise sb to do sth” when “sb” is the logical subjecct of “to do”, it is instead associated with another subcat “promise to sb to do sth” when the logical subject of “to do” is the same as the subject of “promise”.

所以句型不仅仅是形式序列: Input 形式背后作为output的逻辑语义也是句型的一个必要成分。上述两个形式相同的序列,在句型上被认为是两个。分别用不同的subcats 在词典里面标识。可见,subcat 虽然是一个句法范畴,里面却藏着通向语义的钥匙。

语言学里的subcat 差不多是大半部句法了,是极为重要的概念。词典主义被公认为最有效的自然语言策略就是基于subcat。这是语言学隐性形式手段的最漂亮的体现,是上帝的杰作。

白:
“我答应你离开他”,“我要求你离开他”。前者是“我”离开,后者是“你”离开。在“答应”和“离开”进行“合并”操作的时候,“离开”没有饱和的坑向“答应”的逻辑主语开放复用。在“要求”和“离开”进行“合并”操作的时候,“离开”没有饱和的坑向“要求”的逻辑宾语开放复用。这种在合并时可以对复用指向提出要求的禀赋,潜藏在词典里。平时看不见,合并时露峥嵘。

李:
正是。这是语言(学)的奇妙。由于subcat是一种词典分类或标注,是隐性形式,这似乎是创造语言的上帝给人类理解语言出了一个小小的难题。在人类(语言学家)没有发现subcat或自主利用subcat机制之前,语言处理注定是混沌的、粗线条的。但无论发现还是没发现,人类千百年来一直在潜意识里利用它,无障碍地交流。

白:
“面包我答应你吃掉了,牛奶你就别逼我喝了。” 即使填后面动词坑的萝卜移位到前面,这个关系依然成立。即使“你吃掉了”这么天衣无缝也不许结合。

李:
这个句子很妙。

白:
binding在汉语里会有更广阔的发挥空间,而且和“词负载结构”的理念是如此之契合。残坑就是一种变相的指代。

李:
但是,coreference主体是discourse范畴,binding不过是想利用句法提供一点帮助,它还是局限于句法本身的范围,句内。句内能搞定的只有self, 句内不能搞定但是可以排除句内candidate的,句法也有一些助益。再多,binding 就无能为力了。Coreference在 binding 之外,仍然有很多 discourse 的挑战。是一个公认的 NLP 难题了。

白:
“你我不允许走,他么可以商量。”—如果后面的动词是不及物的,即使逻辑宾语提前了仍然受到与在原位同样的约束。

李:
什么约束?

白:
走的不是我,虽然离得近。

“一个嫌犯我们也不允许放过”,“我们”似乎要通吃呀…… 难道“允许”是个双性恋?

李:
句型纠缠? 一个也不 Vt == 一个也不【被】Vt
“一个也不(被)买”,“一个嫌犯也不(被)放过。”

“一个嫌犯我们也不允许放过”
==“我们不允许放过一个嫌犯”
== “我们不允许【human】放过一个嫌犯”
== “我们不允许一个嫌犯(被)放过”

这个【human】是谁,不知道,也不必知道。这是一种命令,常识上这个【human】可以是任何人(在domain里可能指某些“手下”)。任何人也就可以包括“我们”自己,但这不是严格的回指,而是包含。

“我们也不允许自己或任何其他人放过一个嫌犯。”
“我们也不允许任何人包括我们自己放过一个嫌犯。”

 

【相关】

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

《朝华午拾》总目录

【李白之42:谈谈工具格的语言形式】

白:

“张三踢李四的两脚李四一直惦记着啥时候提回来呢。”

如果“两脚”填的不是标配的坑,这定语从句的反填就成了问题。目前我是把“两脚”这种动量词先处理成N,再升格成为+S,可以理解为一个自带宾语的虚拟后置修饰语。当对“两脚”使用定语从句修饰的时候,可以认为自带的宾语“两脚”与作为其母体的虚拟后置修饰语进行了某种分离:虚拟后置修饰语“+S/N”留在了定语从句内部,而它自带的宾语“N”则被甩到定语从句的外边,被修饰且可以反填残坑“/N”。同理,在“武松打死老虎的那三拳力道大得惊人”中,“三拳”也填不了“打”的标配的坑,只能理解为自带宾语的前置虚拟修饰成分(“打死”已经是述补结构不再能后置只修饰“打”的动量修饰成分,从而必须往“打”前面放)S+/N和动量结构N分离了。就是说,被定语从句修饰的动量词N,无法简单地升格为+S或S+,而必须要还原出一个带宾语坑虚拟修饰语+S/N或S+/N,把它推入定语从句。这恰恰才是N升格为+S或S+的本质。如果不是反填定语从句的要求苦苦相逼,这个本质差点儿被掩盖了。可以理解为先有“武松(凭借)三拳打死老虎”,而后有“武松(凭借)打死老虎的那三拳”,最后变成了“武松打死老虎的那三拳”。

说到“凭借”,想到了“借以”。后者是中间抽空了介词宾语的合成词。“武松借以打死老虎的那三拳”是“武松借(那三拳)以打死老虎”的定语从句形式。反填的坑,就在“借”和“以”之间。

李:
工具格,或 所凭借。

白:
有的时候,这个坑会显性化,“借之以”。
砍、剁、刺、砸等动作,工具格是标配。打、抢,工具格不是标配。非标配又不显性带介词的工具格,必须借升格处理之。

李:
工具格有搭配性与非搭配性两种:搭配性工具 因为其搭配 常常省略显性小词 如“凭借”、“用” 等。“打 两拳” 是搭配,“两拳”是工具。“用板凳 打”,则是非搭配性工具。

白:
“他抢银行的那把玩具枪”
意思是“他(用以)抢银行的那把玩具枪”

李:
“他抢银行的那个案底”

白:
“案底”是N/X,不需要反填,是动词填X。

李:
“他抢银行的那个同伙”

白:
“同伙”是N/N

李:

“他抢银行的那幢大楼”
“他抢银行的那个时间”
“他抢银行的那个缘由”
“他抢银行的那个后果”

白:
缘由、后果也是N/X。大楼、时间不是,但内置虚拟修饰语。必要时就分离出来,塞回定语从句。同伙、缘由、后果、案底,都带坑。时间、大楼、动量,则是内置一个随时可以分离的坑。或者叫虚拟小词。

李:
“他抢银行的那个x”
对于非搭配性(标配)的工具,也分为两种,一种是这个实体本身具有比较典型和普适的工具性。算是一个名词子类吧。另一个是不在这个子类的名词。对于后者 如果想表达工具这个逻辑语义,就必须用小词。否则它就没有证据或痕迹显示自己的工具角色。“他用希特勒主义去抢银行”。这个 “用” 不能省。因为 “希特勒主义” 第一不与 “抢银行” 有搭配,第二它自己也不属于工具子类。语言必须要用显性形式,譬如次动词“用”,或者俄语的工具格的词尾形式,来标记其逻辑语义,否则心里的语义无以传达。

白:
“抢银行”换成“治理国家”,“用”就可以省了。

李:
那是因为 “主义” 与 “治理” 有某种搭配的呼应。

白:
且不说逻辑语义,统计就支持这样的搭配

李:
没有统计的搭配不存在 除非说的不是大数据。

白:
不说“主义”,就说“那一套”,也可以省掉“用”,因为“希特勒”已经是足够强的搭配因素了。

李:
“他用那一套糊弄谁呀”
“是啊 那一套糊弄谁呀”

白:
“那一套”隐含“方法/无形工具”
所以,对于从名词反推虚拟修饰语的“升格-分离-反填”机制,形式规则只提供可能性,统计搭配才提供现实性。

上面说错了,“升格”都应改为“降格”。降格虽是普适的机制,但只能紧邻被修饰语使用。分离是受统计显著性搭配条件才激活的,只有成功分离,才能在后续纳入正常的反填渠道处理。

被定语从句修饰的中心语,N/N与N/X的区别。前者从N栈依次寻找搭配的词语填坑。后者从N和S混合栈里的依次寻找搭配的词语。二者都服从“最近提及原则(last mentioned principle)”,但针对的栈不同。因为都在定语从句辖域内,这些填坑的萝卜都是使用的免费额度,无论S还是N。

李:
在我的体系里,arg 降格为 mod,【工具主语】 降格为 【工具状语】。如果 topic 是人,subject 是工具,topic 可升格为逻辑主语 arg,工具 subject 则降格为状语 mod. “他一巴掌打了她”,“他”是逻辑主语,“一巴掌”是工具状语。

总之,逻辑语义虽然放之四海而皆准,自然语言却老在升格降格、显性隐性形式中变化多端。语言世界因此诡异而多彩。

白:
话头是宋老师“达成的一致”引发的。“一致”在宋老师的例子里确实是“升格”,但后续关于动量词的例子里,讨论的都是“降格”。N+到N、S+到S是升格;N、S到N+、S+或+N、+S是降格。一个是萝卜皮变成萝卜,一个是萝卜变成萝卜皮。

李:
“达成的一致” 就是 “洗的澡”

白:
?学的习
?高的考

李:
不好
有如 * “浏的览”

白:
洗的澡是自指,达成的一致是转指。

?收获的丰硕
?贪污的巨额

最后一个接近于能说。

取得的圆满

这个就完全没问题了。“圆满”基本可以类比宋老师例子里的“一致”。

赶过的时髦

“时髦”比“圆满、一致”还顺溜。几乎不是临时借用N而是固化的N了。

 

【相关】

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

《朝华午拾》总目录

《李白之零:NLP 骨灰级砖家一席谈,关于伪歧义》

题记:此地有金八百两,隔壁RNN不曾偷。

李:今天我们可以讨论伪句法歧义(pseudo-parses)的问题。我说过,多层 FSA 的 deep parser 不受伪歧义的困扰,虽然这是事实,但也还是需要一个阐释。这个问题是革命的根本问题,虽然文献中很少讲述。

第一章,事实篇。

话说某年某月某日,立委与白老师在微博狭路相逢。其时,立委正海吹深度分析(deep parsing)乃是自然语言之核武器,批评主流只在浅层做文章,摘下的不过是低枝果实(low-hanging fruit)。白老师当时插话说(大意): 你们搞深度分析的不算,你们也有自己的挑战,譬如伪歧义问题。最后留下三个字:你懂的。

各位看官网虫,大凡社会媒体,只要留下这三个字,那就是宣告对手的不上档次,不值得一辩,叫你无还手之力,无掐架之勇,先灭了你的志气。此前,与白老师未有私人交往,更无卡拉ok,江湖上下,白老师乃神人也,天下谁人不知,况青年偶像,粉丝无数。立委见势不妙,战战兢兢,唯唯诺诺:“那自然”。我懂的。心里却颇不以为然:伪歧义其实不是一切深度分析的命门,它只是单层分析的挑战,特别是 CFG (Context-Free Grammar)类 parsers 的困扰。

这是第一章第一节,是锲子。

虽然心里不以为然,但是“我懂的”,却是有丰富的事实依据。骨灰级老革命有一个好处,就是碰壁。无数的碰壁。革命,碰壁,再革命,再碰壁,直至百毒不侵,火眼金睛。老革命可能还有一个好处,就是走运,走狗屎运(譬如赶上上世纪末的网络泡沫,米国的科技大跃进,天上掉馅饼),直至反潮流也没被杀头,硕果仅存。

话说自上世纪80年代社科院出道以来, 就开始做deep parsing, 跟着两位导师,中国NLP的开山前辈,中国MT之父刘先生。他们的几十年的机器翻译积累,在分析这块的传承就是多层模式匹配(multi-level pattern matching)。用 CL术语,就是 multi-level FSA (finate state automata)或 cascaded FSA,有限状态的。我是苦力、主力,新毕业生嘛,为 deep parsing 写了无数个性的词典规则和反复调试精益求精的600条抽象句法规则。埋头拉车,无需抬头看路。从来就没有碰到过什么伪歧义的问题。这是事实一。

事实二发生在我做博士的时候,90年代中期。在风景如画的SFU山头上。当时我的两位导师,电脑系的 Fred 和 语言系的 Paul 合作开了一个自然语言实验室。这两位博导虽也绝顶聪明,但毕竟还年轻。在 NLP 场面上,需要站到一条线上,才好深入。实际上,他们是加拿大 NLP 的代表人物。他们于是选择了当时流行的 unification grammar school (合一文法学派)之一种,就是继 Prolog 以后,开始火起来的合一文法中的后起之秀,名叫 HPSG (Head-driven Phrase Structure Grammar)。这一个小流派,斯坦福是主打,欧洲有一些推崇和践行者,在北美,闹出动静的也包括我的导师的实验室。HPSG 说到底还是 CFG 框架,不过在细节上处处与乔老爷(Chomsky)过不去,但又处处离不开乔老爷。理论上有点像争宠的小妾,生怕得不到主流语言学界乔老爷的正视。

白: 还没进正题

李:白老师嫌拖沓了??现在还在事实篇内。不讲道理。

HPSG 推崇者不少,真懂的怕不多,特别是把 HPSG 用于中文 parsing 方面。看过一些国人不着边际的 HPSG 论,造成了这个印象。这玩意儿得跳进去,才知优劣深浅。当然没跳的也不必跳了,合一(unification)这一路没成气候,现在跳进去也是白跳,浪费时间。HPSG 有一个好处,就是它的词典主义,它实际上就是此前流行的 GPSG 的词典主义版本。NLP 领域各路英豪你争我斗,但有一个很大的共识,就是词典主义,lexicalist approach or lexicalist grammar。这也反映在 HPSG,LFG 等风行一时的文法派中。

我呢,有奶便是娘。本来嘛,导师做什么,学生就要做什么,这才是学位正道。于是,我在HPSG里面爬滚了几年。照猫画虎,写了一个 CPSG,就是 Chinese 版本的 HPSG。用它与实验室的英文 HPSG 对接,来做一个英汉双向机器翻译的实验,当然是玩具系统。这是我博士论文的实验部分。

为什么双向?这正是 Prolog 和所有 unification grammars (又称 constraints based grammars)所骄傲的地方:文法无需改变,文法就是对语言事实的描述,文法没有方向。无论做分析(parsing),还是做生成(generation),原则上,规则都是一样的,不过是执行层面的方向不同而已。理论听上去高大上,看上去也很美,一度让我入迷。我也确实完成了双向的实验,测试了几百个句子的双向翻译,得到了想要的结果。细节就不谈了,只谈相关的一点,就是,伪句法歧义在这些实验中是一个 huge problem。这个 HPSG parsing 中,伪歧义的事实有多严重呢?可以说是严重到令人窒息。当时用PC终端通过电话线连接到实验室的server上做实验,一个简单的句子在里面绕啊绕,可以绕出来上百条 parses。当然,可以设置成只输出一条 parse 来。有时忍不住好奇心,就耐心等待所有的 parses 出来,然后细细察看,究竟哪个 parse 对。

额的神!

乍看全长得差不多,细看也还是差不多。拿着放大镜看,才看出某个 feature value 的赋值不同,导致了 parses 之间的区别。可这种不同基本上没有语义的区别性价值,是为 pseudo parses 之谓也。要都是伪歧义也好,那就随机选一个parse 好了,问题出在,这百来条 parses 里面有时候会混杂一两条真的歧义,即语义上有区别性价值的 parses,这时候,选此废彼就具有了操作层面的价值取向。否则就是以一派压制另一派,反对党永无出头之日。

这个问题困扰了整个 HPSG community(其实是整个 CFG 框架下的 community)。记得在 HPSG 内部邮件组的讨论中,怨声鼎沸,也没人能找出一个理论上和实践上合理的解决途径来。

白: 简单说就是时间复杂性上去了,结果复杂性没下来。折了兵,真假夫人还混在一起不知道赔谁合适。

李:这就是为什么当时你那么肯定地指出我作为深度分析语言工作者所面临的挑战,您老是把我归到主流语言学乔老爷 CFG 的框架里说的。

在第一章事实篇结束前,简单说一下实践中的对策。后来我的导师与本省工业界合作,利用 HPSG MT 帮助翻译电视字幕。在真实应用中,他们只好选择了第一条成功的 parse 路径,完全忽略其他的 parses。这也是没有办法的办法。质量自然受损,但因为无区别意义的 pseudo-parses 占压倒多数,随机选第一条,在多数场合也还是可以的。

第一章小结:骨灰级老革命在没有理论探索的情况下,就在 deep parsing 的 field work 中经历了两种事实:一种是不受困扰的多层 parser,一种是深陷其中的单层 parser。因此,当白老师一口咬定深度分析的这个挑战的时候,我觉得一脑门道理,但就是有理说不清。至少一句两句说不清,只好选择逃遁。

对于绝大多数主流NLP-ers,NL的文法只有一派,那就是 CFG,无论多少变种。算法也基本上大同小异,chart-parsing 的某种。这个看法是压倒性的。而多层的有限状态文法做 parsing,虽然已经有半个多世纪的历史,却一直被无视。先是被乔姆斯基主流语言学派忽视,因为有限状态(FSA)的名字就不好听(多层不多层就懒得细究了),太低端小气下位了。由于语言学内部就忽视了它,自然不能指望统计派主流对它有重视,他们甚至对这路parsing没有啥印象(搞个浅层的模式匹配可以,做个 NE tagging 啥的,难以想象其深度parsing的潜力),尽管从有限状态这一点,其实统计派与FSA语言派本是同根生,二者都是乔老爷居高临下批判的对象,理论上似乎无招架还手之力。

白: 概率自动机和马尔可夫过程的关系

李:但是,多层 FSA 的精髓不在有限状态, 而是在多层(就好比 deep learning 的精髓也在多层,突破的是传统神经网络很多年停滞不前的单层)。这就是那天我说,我一手批判统计派,包括所有的统计,单层的多层的,只要他们不利用句法关系,都在横扫之列。因为这一点上还是乔老爷看得准,没有句法就没有理解, ngram 不过是句法的拙劣模仿,你的成功永远是浅层的成功, 你摘下的不过是低枝果实。不过恰好这种果子很多,造成一种虚假繁荣罢了。

另一方面,我又站在统计派一边,批判乔姆斯基的蛮横。实践中不用说了,管用的几乎都是有限状态。乔老爷要打死单层的有限状态,我没有意见。统计派的几乎所有模型(在 deep learning 火起来之前)都是单层,他们在单层里耗太久了不思长进,死不足惜,:)。 蛮横之处在于乔老爷对有限状态和ngam多样性的忽视,一竿子打翻了一船人。

白: RNN可以完美模拟FSA, 但是现在的人都把RNN当做统计派的功劳。

李:但是他老人家忘记了, 我只要叠加 FSA 就可以比他所谓的 more powerful 的 CFG 做得深透,而且合体(特别适合白老师说的自然语言的毛毛虫体型)。他对有限状态的批判是那么的无视事实和缺乏理性。他是高高在上的神,不食人间烟火的,我们各路NLP实践派对他都敬而远之,基本没有人跟他走。在他本应发挥影响的领域,他其实缺乏起码的影响力。倒是语言学内部被他控制了,语言的形式化研究跟着他亦步亦趋走了半个多世纪,离作为其应用场景的 NLP 却渐行渐远。这是一个十分滑稽的领域怪相。

白: RNN加层、计数器、加栈、加长时记忆,本质上都在突破单层FSA的计算能力

李:好了,咱们接着聊第二章:为什么多层系统,尤其是 多层 FSAs ,不受伪歧义的困扰?

白: 只要证明毛毛虫以外不是人话,就只管放心玩毛毛虫好了。伪歧义跟规则的递归形式无关,跟规则的词例化水平和压制机制有关。但是,要hold住十万百万量级的规则,CFG一开始就必须被排除在外。

李:对。

说到底是规则的个性与共性关系的处理,这是关键。这个不是我的发现,我的导师刘倬先生早年就一再强调这个。刘老师的系统命名为 专家词典(expert lexicon )系统,就是因为我们把个性的词典规则与共性的句法规则分开了,并且在个性与共性之间建立了一种有机的转换机制。

白老师说得对,单层的 CFG 基本是死路。眉毛胡子一把抓,甚至所谓词典主义的 CFG 流派,譬如 HPSG 也不能幸免,不出伪歧义才怪呢。如果规则量小,做一个玩具,问题不严重。如果面对真实自然语言,要应对不同抽象度的种种语言现象,单层的一锅炒的parsing,没有办法避免这种困扰。

白: HPSG 之类可以依托树做语义信息整合,但是在树本身的选择数目都在爆炸时,这种整合是不能指望的。

李:可以说得具体一点来阐释其中道理。分两个小节来谈,第一节谈多层系统中,单层内部的伪歧义问题。第二节谈多层之间的伪歧义问题。

白: 但是仍然困惑的是某种结构化的压制,比如“美国和中国的经济”’。“张三和李四的媳妇”

李:如果这两种伪歧义都有自然的应对方式,那么伪歧义不是困扰就理所当然了。待会儿就讲解白老师的例子。我这人啰嗦,学文科的,生存下来不容易,各位包涵了。

白: 抽象的并列,天然优越于抽象的长短不齐。似乎并不关乎词例,词例化的、次范畴化的规则,都好理解。抽象的结构化压制,处于什么地位呢?

李:但是难得大家围坐在一起,忍不住借题发挥一下,顺带进一步阐释了上次“上海会面”上的论点:我对乔老爷既爱且恨,爱他批判单层统计派的一针见血;恨他一竿子打翻一船人,敌我不分,重理论轻事实。

白: 是因爱成恨好吧

李:我们实际上半条身子在统计派的船上,大家都是有限状态;半条身子在语言派船上,毕竟我们不是单层的有限状态。统计派的有限状态的典型表现 ngram 实际上是 n-word,而我们的有限状态是真正的 ngram,这个“gram” 就是刘老师当年一再强调的 “句素”,是一个动态的句法单位,可以是词、短语或者小句,随 parsing 的阶段而定。这样的 ngram 是统计派难以企及的,因为它反映的是真正的语言学,多数统计学家天然不懂。

白: 世界上只有深层派和浅层派,这是复旦美女教授教导的。我认为只要touch深层,无论什么派都会殊途同归。

李:先说单层内部的伪歧义。这个白老师心里应该没有疑问了,不过为了完整还是先讲它。单层的有限状态说到底就是一个 regex (正则表达式),只不过面对的单位根据语言层次的不同而不同而已。如果是 POS tagging 这种浅层,面对的单位就是 words (or tokens)。如果是句法关系的解析层,面对的单位就是短语(可以看作是头词,它代表了整个短语,“吃掉”了前后修饰语)。

对于单层,有两种结构歧义,一种是伪歧义,占多数;一种是真歧义,占少数,但存在。单层系统里面的每一条规则都是一个 pattern,一个缩小版的局部 parser (mini-parsing),试图模式匹配句子中的一个字符子串(sub-string)。歧义的发生就是 n 个 patterns 对相同的输入文句的字符子串都成功了。这是难免的:因为描述语言现象的规则条件总是依据不同的侧面来描述,每条规则涵盖的集合可能与其他规则涵盖的集合相交。规则越多,相交面越大。每条规则的真正价值在于其与其他规则不相交的那个部分,是那个部分使得 parsing 越来越强大,涵盖的现象越来越多。至于相交的部分,结论一致的规则有可能表现为伪歧义(结论完全一致是异曲同工,没有歧义,但设置一个系统的内部表达,难免涉及细节的不同),这是多数情形。结论不一致的规则如果相交则是真歧义。这时候,需要一种规则的优先机制,让语言学家来定,哪条规则优于其他规则:规则成为一个有不同优先度的层级体系(hierarchy)。

白: 在线?

李:FSA Compiler 事先编译好,是 FSA Runner 在线做选择。

白: 那要隐含规则的优先关系,不能初一十五不一样。

李:个性的现象优先度最高。共性的现象是默认,优先度最低。这个很自然。一般来说,语言学家大多有这个起码的悟性,什么是个性现象,什么是共性。

白: “张三的女儿和李四的儿子的婚事”

李:如果优先语感不够,那么在调试规则过程中,语言数据和bugs会提请语言工作者的注意,使得他们对规则做有意义的优先区分,所谓数据制导 (data-driven) 的开发。

白: specificity决定priotity,这是个铁律。在非单调推理中也是如此。

李:这个优先权机制是所有实用系统的题中应有之意。优先级别太多太繁,人也受不了。实际情形是,根本不用太多的优先级别区分,每一层分析里只要三五个级别、最多八九个优先级别的区分就足够了(因为多层次序本身也是优先,是更蛮横的绝对优先)。

白: 我还是觉得优先级初一十五不一样的时候一定会发生,而且统计会在这里派上用处。

李:一切是数据制导,开发和调试的过程自然做到了这种区分。而更多的是不做优先区分的歧义,恰好就落在了原来的伪歧义的区间里面。这时候,虽然有n条规则都产生了 local parses,他们之间没有优先,那就随机选取好了,因为他们之间其实没有核心 semantic 的区别价值(尽管在表达层面可能有细微区别,hence 伪歧义)。换句话说,真歧义,归优先级别控制,是数据制导的、intuitive 的。关涉伪歧义困扰的,则变成随机选取。这一切是如此自然,以至于用FSA做parsing的从业者根本就没有真正意识到这种事情可能成为困扰。关于初一15的问题,以及白老师的具体实例,等到我们简单阐释第二节多层之间的伪歧义的应对以后,可以演示。

第二章第二节,多层之间可能的真伪歧义之区分应对。

对多层之间的真歧义,不外是围追堵截,这样的应对策略在开发过程中也是自然的、intuitive 的,数据制导,顺风顺水。围追堵截从多层上讲,可以在前,也可以在后。在前的是,先扫掉例外,再用通则。在后的是先做默认,然后再做修补(改正、patching)。道理都是一样的,就是处理好个性和共性的关系。如果系统再考究一点,还可以在个性中调用共性,这个发明曾经是刘老师 Expert Lexicon 设计中最得意的创新之一。个性里面可以包括专业知识,甚至常识(根据应用需要),共性里面就是句法模型之间的变式。

好,理论上的阐释就到此了,接下去可以看实例,接点地气。白老师,你要从哪个实例说起?我要求实例,加问题的解释。

白: “中国和美国的经济”。这就是我说的初一十五不一样。

李:这是真的结构歧义,Conjoin (联合结构)歧义 。在语言外知识没带入前,就好比西方语言中的 PP attachement 歧义。结构歧义是NLP的主要难题之一。Conjoin 歧义是典型的结构歧义,其他的还有 “的”字结构的歧义。这些歧义在句法层无解,纯粹的句法应该是允许二者的共存(输出 non-deterministic parses),理论上如此。句法的目标只是区分出这是(真)歧义(而这一点在不受伪歧义困扰的多层系统中不难),然后由语义模块来消歧。理论上,句法和语义/知识是这么分工的。但是实践中,我们是把零散的语义和知识暗渡陈仓地代入句法,以便在 parsing 中一举消歧。

白: 一个不杀当然省事。但是应该有个缺省优先的。

李:缺省优先由“大数据”定,原则上。统计可以提供启发(heuristics)。

白: 有次范畴就能做出缺省优先。不需要数据。

李:当然。次范畴就是小规则,小规则优先于大规则。语言规则中,大类的规则(POS-based rules)最粗线条,是默认规则,不涉及具体的次范畴(广义的subcat)。subcat based 的其次。sub-subcat 再其次。一路下推,可以到利用直接量(词驱动)的规则,那是最优先最具体的,包括成语和固定搭配。

白: 次范畴对齐的优先于不对齐的,就联合结构而言。但是,about 次范畴,理论上有太多的层。

李:那是,联合结构消歧中的次范畴不是很好用,因为这涉及词的语义类的层级体系。不管是 WordNet 还是董老师的 HowNet,里面的 taxonomy 可以很深,统统用来作为次范畴,不太现实。但理论上是这样使用的。

白: 再一个,“张三的女儿和李四的儿子的婚事”。这个也是真歧义吗?

李:上例的问题和难点,白老师请说明。”的”字结构的 scope歧义加上联合结构的歧义的叠加现象?

白: 上例是处理深度的问题,各自理解即可。歧义叠加,只有更加歧义了。可是实际相反,叠加限制了歧义。

李:在分层处理中,我们是这样做的:

(1)Basic NP, 最基本NP层的结果是:NP【张三】 的 NP【女儿】 和 NP【李四】 的NP【儿子】 的 NP【婚事】

(2)Basic XandY, 最基本的联合结构层:在这个层次,如果条件宽,就可能发生联合错误,错把 【女儿 和 李四】 联合起来。这个条件可以是 HUMAN,二者都符合。而且在 95% 的现象中,这个条件是合适的。如果条件严的话,譬如用 RELATIVES 这个语义次范畴(HUMAN的下位概念),而不是 HUMAN 来限定的话,这个句子在这一层的错误就避免了。

那么具体开发中到底如何掌握呢,这实际上决定于设定的目标,没有一定之规。做细总是可以做到更好质量,大不了多加几层 NP 和 XandY 的模块(FSAs),但还是增加了开发和维护的负担。如果做粗一点,只要所造成的 parsing 质量上的后果能控制在应用可接受的范围,那也未尝不可,因为说到底,世界上没有完美的系统。上帝允许人类的不完美。

白: 把这个换成“AB的中点与AC的中点的连线”?同样的结构。

李:另一个思路,就是多层协调中的修补。对于上述两个例子,修补的办法似乎更好。与其分多层,代入各种繁琐的语义条件来消歧,不如任他出错,然后根据pattern的平行因素加以修正。在多层系统中,这个常常是有效的策略,也符合开发的总体规划。先把系统大体弄得work了,可以对付多数现象,然后有时间和余力了,后面可以 patching。前提是,错误是 consistent 和 predictable 的。对于多层管式系统(pipeline system),错误并不可怕,只要这种错误 consistent 有迹可循,后面总可以把它们修正。

多层管式系统常常被批评存在一个 error propagation(错误放大)的难题。其实,多层系统也可以做到负负得正(矫枉过正是也)。一个好的系统设计,是后者,通过 data-driven,可以做到把错误放大控制到最低限度,并发扬负负得正来得到最终正确的结果。

白: 伟哥的诀窍其实是把握一个适中的词例化-次范畴化水平问题。太粗则伪歧义盛行,太细则边际效益大减。

李:上例中 “中点与AC” 可以联合,不过是一个暂时的内部错误而已,后面可以修正。总之,这些都不是根本的 challenge,想做就可以做,实际操作上,也可以选择不做。问题大了,就做;用户发飙了,就做;否则就无视。很少有歧义是做不出来的,功夫和细节而已。最终决定于值得不值得花这份力气,有没有这样的开发时间和资源。

白: 做与不做,有可能影响架构选择。补丁有好处也有后遗症。

李:NLP 可以做一辈子,在基本机制(优先机制,修正机制,范畴、次范畴机制,专家词典等)由平台实现提供以后,慢慢磨到最后就是 diminishing return,与爬山类似,这决定了我们何时罢手。如果85%的精度作为parsing的目标,那么系统会选择不做一些稀有的现象。有了这个 85%,已经可以满足很多应用的要求了。

有了 85% 做底, 还可以让机器变得智能起来,自动地自我提高,所谓 self-learning,这是研究课题了,但是是可以实现的。实际上在我指导的实习生实验中已经实现,不过就是在线开销太大而已。

白: 再看“馒头吃光了”?

李:这个例子更容易讲清楚。在系统的某一层,可以有个规则 把某种 “V+光” parse 成为动补结构,这个V的限制可以调试出合适的子范畴来。

白: “光”词例化肯定是可以的。

李:好,这就解决了95%以上这类以“光”收尾的现象。如果遇到了反例,譬如,“黑洞吃光了”, 那么或者修正它,或者作为个体知识的规则前置。围追堵截是也。总是可以把零碎的专业知识做成规则,如果需要的话。至于这么做值得不值得,那是应用层面的决定。很多时候是不必要的。错了就错了,不过是显得系统缺乏专家的知识,so what?我们普罗 native speakers 也都不是每一行的专家,也并不是每句话都听懂,不也一样没觉得交流困难。就此例来说,决定于听者的知识面,小学生和文盲一般不能正确 parse 理解 “黑洞吃光” 的动宾语义来。动宾的语义是需要语言外知识在语言内非优先的潜在结构上作用才能得出。而动补结构则不需要,那是语言内的句法知识(最多说是句法子范畴或小规则,但不涉及专业知识),是所有国人的默认理解。

白: 这一点非常重要。一个开放,一个封闭。一个外部,一个内部。外部的事儿,就算没有专业知识,也可以大数据招呼。

李:今天似乎可以结束了,说到底,就是:

一,平台需要提供一些基本机制来处理共性与个性的关系,从而应对歧义,这些在 FSA formalism 的教科书定义中可能不存在,或被忽略,但却是实用系统不可或缺的。

二,NLP 的确是个力气活,有无限的可能深入。当然,我们可以选择不深入,可以选择何时罢手。

至于大数据招呼,那个在前述的自学习上也必须用到。我们教授机器做到 85%,大数据基础的自学习可以让它自行提高到 90%,这个是部分证实了的,可惜还没有发表出来,以前说过,懒得成文。都骨灰级老革命了,谁在乎那个。我说的大数据是指与大语料库对应的 grammar trees 自动形成的 forest,比 PennTree 大好几个量级。

这次神侃算不算基本回答了疑惑,可以得出“伪歧义在多层系统中不是困扰”这个结论?

白: @wei 是,非常感谢。

李:不过,我们一方面实用制导,一方面没有忘记基本面和大局。与纯粹的实用主义,头痛医头,脚痛医脚,还是不同。这种积一辈子挖煤的经验之谈,正式论文中罕见,也算一件功德。难得的是白老师还有雷司令身为主流精英,居然能一开始就高于主流,不排斥异端或少数派。所以上次上海聚会,我就说,火药味的架掐不起来的, 因为相互的理解和欣赏多于分歧。但我知道也有很多统计死硬派,甚至大牛,是不尿这壶的。

白: 只要聚焦于深层,一定会殊途同归。RNN记在统计账上,但已经是深层了。

可以再关心一下NLP的商业模式,怎么能讲一个好故事。我们说fsa也好分层也好,资本都是不感冒的。

李:滑稽的是发现有些死硬派做了n年NLP,却真地不懂语言学,有个别大牛连常识都不懂,让人跌破眼镜。当然这个只能内部说说,不能博客的。所以往往是互相地不尿对方那一壶,与宗教之战类似。

RNN 我不敢发言, 不过从白老师零星的介绍来看, 很可能殊途同归。不过 FSA 这套 deep parsing 是已经稳定成熟的技术。RNN 的工业成熟度如何,我不知道。可能都是核弹, 不过是原子弹氢弹区别而已。

白: Ngram说不定变出个什么花样来,也殊途同归。

李:其实 多层 FSAs 本质上就是 ngram 的花样,不过 gram 不再仅仅是词了,而是等于或大于词的句素。能以动态句素作为 ngram 的对象,是因为多层的原因,跟剥笋子一样,层层扒皮,gram 当然就是动态的了。这一点很关键,是乔姆斯基都没想到的 power。

白: 对,边扫描边归约,边抛出句素。

李:这里面最 tricky 的不是机制而是细节。魔鬼在细节,就是指的这个。FSA 是“古老”简单的机制了,细节就是玩平衡,玩模块之间的协调。玩得好的就好比中餐的大厨,可以做出满汉全席来,玩不好的还不如麦当劳、keywords。到这一步,经验因素开始起作用。没碰过n次壁,甚至几万小时的炼狱,这个火候掌握不好。这类系统很难做得表面上漂亮光洁,总是在混沌中前行,要忍受不完美。这方面的忍受,数学家不如语言学家。数学家天生追求简洁完美,不愿意将就。

白: 句素的个头大,影响范围就大,相当于抛得就远。可以进入远距离的滑动窗口,伟哥说的Ngram的缺点就不存在了。

dirty是必然的。

李:ngram 的缺点是主流的缺点,不是语言多层派的缺点。恰好相反, ngram 多层以后,很容易比任何 CFG 做得细致深入,以至于,想怎么深入就怎么深入, 如果持续开发的话。

CFG 那套单层范式,无论统计模型还是传统文法加以实现,真地深入不下去,是框框决定的。两边都玩过,这种对比太强烈了。我对我的博导说过, HPSG 真地不好用,那边费那么大劲的事儿,在我这儿是小菜。说拿的是牛刀,可对象不是牛,而是鸡。不如我剪刀和匕首好宰鸡。

白: 我一个学生搞蛋白质折叠的分析。蛋白质大分子折叠的点恰好是若干局部的代表(相当于语言的head中心词)之间发生全局相互作用的地方。真是神了。

李:今天到此,特别谢谢白老师的互动和精彩的及时点评。

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

 

【相关】

乔姆斯基批判

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

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

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

【白硕 – 打回原形】

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

《朝华午拾》总目录

【从 sparse data 再论parsing对信息抽取的核心作用】

parsing关键是它节省了语用层面的开发。没有parsing,抽取是在表层进行,存在的困境是 sparse data 和长尾问题。表层的东西学不胜学,而有了 deep parsing  的支持,抽取规则可以以一当百,至少从规则量上看,这绝不是夸张。这是其一。

其二,deep parsing 使得领域移植性增强太多。

没有 parsing 抽取任务变了,一切须推到重来。

对于规则体系,有了 deep parsing,抽取任务随领域变了就不需要那么大的返工。parsing 吃掉了约 90% 的重复劳动(语言知识和结构本质上是跨领域的),返工的部分不到 10%。

parsing 意义之重大 正在于此。

对于机器学习,NLP应用的知识瓶颈在 (1)sparse data;(2) 任务变,训练库必须重新标注:前一个任务的标注对后续任务基本没有可重复使用的可能,因为标注是在语用层进行的。

如果有 parsing support,理论上讲,机器学习可以更好地克服 sparse data,但实践上,到目前为止,结合 structure features 和 keywords 在机器学习中一锅煮,目前还处于探索研究阶段,没有多少成熟的案例。我们以前尝试过这种探索,似乎parsing的参与有推进系统质量的潜力,但是还是很难缠,模型复杂了,features 混杂了,协调好不是一件容易的事儿。

事实上,规则体系做抽取,没有 parsing 差不多有寸步难行的感觉。因为人的大脑要在语言表层写规则,数量太大,写不过来。只有机器学习,才可以绕开parsing去学那数量巨大的抽取规则或模型,但前提是有海量标注的训练集。否则面对的是 sparse data 的严重困扰。

sparse data 远远不是单指表层的出现频率低的 ngrams (习惯用法、成语等)的累积,那种 sparse data 相对单纯,可以当做专家词典一样一条一条编写,愚公或可移山。如果训练数据量巨大,譬如机器翻译,那么这类 sparse data 对于机器学习也有迹可循。当然大多数场景,标注的训练集始终大不起来,这个知识瓶颈 is killing ML。

更重要的 sparse data 是由于缺乏结构造成的,这种 sparse data 没有parsing就几乎无计可施。表层的千变万化,一般遵循一个正态分布,长尾问题在结构化之前是没有办法有效捕捉的。而表层的变化被 parsing 规整了以后,表层的 sparse 现象就不再 sparse,在结构层面,sparse patterns 被 normalize 了。这是 parsing 之所以可以称为NLP应用之核武器的根本。

没有 parsing,结构性 sparse data 就玩不转。

乔姆斯基纵有一万个不是,一千个误导,但他老人家提出的表层结构和深层结构的思想是不朽的。parsing 就是吃掉各种表层结构,生成一个逻辑化的深层结构。在这种深层结构上做抽取或其他语义语用方面的应用型工作,事半功倍。

Deep parsing consumes variations of surface patterns, that’s why it is as powerful as nuclear bombs in NLP。

别说自然语言的语句的表层多样化,咱们就是看一些简单的语言子任务,譬如 data entity 的自动标注任务,就可以知道表层的 sparse data 会多么麻烦:如 “时间”的表达法,再如“邮件地址”的表达法,等等。这些可以用正则表达式 parse 涵盖的现象,如果在表层去用 ngram 学习,那个长尾问题就是灾难。

自然语言文句之需要 parsing,与标注 data entity,正则表达式优于 ngram 学习, 其道理是相通的。

原载:《泥沙龙笔记:从 sparse data 再论parsing乃是NLP应用的核武器

《立委科普:关键词革命》 

《李白毛铿锵行: 漫谈中文NLP和数据流》

【自然语言parsers是揭示语言奥秘的LIGO式探测仪】 

创新,失败,再创新,再失败,直至看上去没失败 》

科学网—乔姆斯基批判

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

《朝华午拾》总目录

 

【泥沙龙铿锵行:再论NLP与搜索】

李:上次提过,先搜后parse,是可行的。

早在十几年前,AskJeeves 被华尔街追捧。这里面也有很多IT掌故我专门写过博文( 【问答系统的前生今世】【 金点子起家的 AskJeeves 】)。 当时NLP (Natural Language Processing) 红透半边天,下一代 Google 呼之欲出的架势,尽管AskJeeves其实NLP含量很低。他们不过利用了一点NLP浅层对付问题的分析。这才有我们后来做真正基于NLP的问答系统的空间。

就在AskJeeves上市的当天,我与另一位NLP老革命 Dr. Guo,一边注视着股市,一边在网上谈先search后parse的可行性。此后不久我的团队就证实了其可行,并做出了问答系统的prototype,可以通过无线连接,做掌式demo给投资人现场测试。当年还没有 smart phone 呢,这个demo有wow的效果,可以想见投资人的想象被激发,因此我们顺顺当当拿到了第一轮一千万的华尔街风投(这个故事写在《朝华午拾:创业之路》)。

问答系统有两类。一类是针对可以预料的问题,事先做信息抽取,然后index到库里去支持问答。这类 recall 好,精度也高,但是没有 real time search 的灵活性和以不变应万变。

洪:文本信息抽取和理解,全靠nlp

李:另一类问答系统就是对通用搜索的直接延伸。利用关键词索引先过滤,把搜罗来的相关网页,在线parse,on the fly, 深度分析后找到答案。这个路子技术上是可行的。应对所谓factoid 问题:何时、何地、谁这样的问题是有效的。(但是复杂问题如 how、why,还是要走第一类的路线。)为什么可行?因为我们的深度 parsing 是 linear 的效率,在线 parsing 在现代的硬件条件下根本不是问题,瓶颈不在 parsing,无论多 deep,比起相关接口之间的延误,parsing 其实是小头。 总之,技术上可以做到立等可取。

对于常见的问题,互联网在线问答系统的 recall 较差根本就不是问题,这是因为网上的冗余信息太多。无论多不堪的 recall,也不是问题。比如,问2014年诺贝尔物理奖得主是谁。这类问题,网上有上百万个答案在。如果关键词过滤了一个子集,里面有几十万答案,少了一个量级,也没问题。假设在线 nlp 只捞到了其中的十分之一,又少了一个量级,那还有几万个instances,这足以满足统计的要求,来坐实NLP得来的答案,可以弥补精度上可能的偏差(假设精度有十个百分点的误差)。

IBM 花生机器在智力竞赛上 beat 人, 听上去很神奇, 里面会有很多细节的因应之道,但从宏观上看,一点也不神奇。因为那些个竞赛问题,大多属于 factoid 问题,人受到记忆力有限的挑战,肯定玩不过机器。

雷:@wei 为什么说事先对材料进行deep parsing的搜索不灵活?

李:事先(pre-parsing)更好。我是主张建立一个超级句法树库的,资源耗费大。但急于成事的工程师觉得也没必要。在线做的好处是,内容源可以动态决定。

雷:假设一下,我们把谷歌拥有的材料通通进行了deep parsing,那么这个搜索会是什么样的? 再辅佐以人工的高级加工

李:nlp parsing 比关键词索引还是 costs 太大。

雷:是,但是现在硬件的条件下,还是可行的吧?那就是把信息转化为了fact的知识

李:是的,哪怕只是把 Google 网页里面的百分之一parse 一遍那也有不得了的威力。那是核武器。就是 Powerset Ron 他们当年绘制的图景。可是这种大规模运用NLP不是我们可定的,成本是一个大因素,还有就是观念和眼光,那是 norvig 这样的人,或其上司才能拍板的。

雷: 暂时局限在一个领域呢?

Nick可以先小规模吗,如wiki等?

破坏google的力量是semantic web. 如果每个网站使用的是semantic web,who needs google, 但是现在的问题是把一个web2.0的site转化为web3.0的成本

李:Wiki已经可行,Powerset 当年就是拿它展示的。但市场切入点呢? Wiki其实是小菜,比起我们目前应对的 social media, 无论是量,还是语言的难度。

Nick:但wiki有结构

李:做wiki技术上没有任何问题。问题在产品和businesd model.

Nick:做一个wiki的语法树,再叠加wiki的结构,已经很有用了。

wiki 到 dbpedia 还是只有很低的percentage吧?

李:Ron 当年游说你们和微软,不就是wiki么,其实他们的demo,纯粹从技术的角度完全可以通过 due diligence。

大家都知道知识挖掘,在大数据时代有巨大潜力,这是宏观上的认识,永远正确。微观层面,还是要有人在知识基础上做出可挣钱的产品来。微软买Powerset的时候,肯定也是基于这种宏观认识。但没有后续的产品化,买来的技术就是个负担。

RW:Google 是靠se抓流量,然后ads赚钱,Se技术本身不变现

Nick:@wei powerset我看过,not impressive at all

李:那是因为,你的角度不同。他们没有把那种结构的威力,用通俗的方式,做成投资人容易看懂的形式。我也玩过 Powerset,它的核心能力,其实是有展现的。不过要绕几道弯,才能发现和体会。方向上他们没错。

当然我不是为 Ron 唱赞歌,他再牛,再有名气,他的parser比我的还是差远了。这个世界上 yours truly 是第三 — 如果上帝是第一,在下的下一个系统是第二的话。

当然吹这种牛是得罪人的,不妨当笑话看。

呵呵,不用上税,无妨的

Nick: 你的不好意思不得罪人

李:Jobs不是说过,只有疯狂到以为自己可以改变世界的,才能在雪地里撒尿,并留下一些味道或痕迹。我们是毛时代生人,自小有一种精英意识。天将降大任于斯人也,自己吃不饱,也要胸怀世界,解放全人类。老子天下第一的心态就是那种legacy。

Chris Manning前两年就跟database/information retrieval的辩论说,别啥啥fact db和information extraction,直接deep parsing齐活。

:@洪 我农民,东西放哪里啊

李:Parsing real time 的应用场景,东西放内存就可以了,用完就扔,用时再来,现炒现卖。当然那个做不了真正意义上的text mining,只见树木,难见森林。但可以应对搜索引擎对付不了的简单问题。

哇哈,不得了。改不改变世界且不说,我的作息时间先被改变了。

我以为做机器学习的人在在豪气冲天,原来@wei也是!

@雷 一个爱在雪地……

@雷 Chris Manning的意思是,all information is in deep parsed text

facts不就是来源于deep parsed text吗

facts are usually triples extracted from text with consensus。

: under a set of ontologies, these facts form a network, that is, linguistic factors are removed。

db & ir people dont really believe nlp is a must path for retrieval tasks

you are right. This is why wei made such big efforts here to point out the problems of those guys.

linguistic info is transparent to native human speaker , but I don’t think it’s transparent to computer. So, I believe in communicating with machine, or communicating with people through computer, simpler language in query or logic form should be better. Why do we want to make computer understand human language? It doesn’tmake sense at all.

李:洪爷说的是哪国话? 本来就不存在机器理解语言, 那个 NLU 只是一个比喻。其实也不存在人工智能,那也是个比喻。

现在大多数人可不把ai/nlu当比喻

李:所谓机器理解语言不过是我们模拟分解了分析理解的过程达到某种表达 representations,这种表达是达到最终任务的一个方便的桥梁,如此而已。

按你的说法,机器人过不了turing test 这一关

李:我是回应你为什么要让机器理解语言。回答是,从来就不需要它去理解。而是因为在人类从形式到内容的映射过程中,我们找到一些路径,沿着这个路径我们对人类的理解,似乎有一个说得过去的解释。

当然,那位IR仁兄说的其实是一个具体环节, 指的是搜索框,他说好好的搜索框,给几个关键词就可以查询,既快又好又简单,为什么要把搜索框变成一个自然语言接口,像以前的AskJeeves那样,让人用自然语言提问,然后逼迫机器去理解?从他的角度,这完全不make sense,这种感觉不无道理。明明不用自然语言,多数搜索任务都可以完成得很好,没有道理硬要与机器说“人话”,增加overhead, 还有机器理解过程中的误差。关键词蛮好。互联网搜索这么多年,我们用户其实也被培养出来了,也都习惯了用尽可能少的关键词,以及怎样用关键词的不同组合,容易找到较理想的结果。自然语言接口似乎没有出场的必要。

可是,这只是问题的一个方面。问题是关键词搜索也许可以解决80% 乃至 90% 的基本信息需求(只是基本,因为心中问题的答案还是需要人在搜索结果中去用人脑parse来确定,这个过程不总是容易轻松的)。但还有相当一部分问题,我们或者难以用关键词找到线索,或者找出来的所谓相关网页需要太多的人肉阅读还不能搞定。这时候,我们可能就会想,要是有个懂人话的机器,自动解答我们的信息问题多好啊。自然语言接口终究会以某种形式重回台面,增强而不是取代关键词的接口。

:理解就是 1.能在人与人之间当二传手;2.能根据自己存储的知识和具备的行动能力做出人所认可的反应

李:说白了,就是从线性的言语形式到语法树的映射。这是人类迄今最伟大的发现,或发明,或理论属于最高天机。人类还没有更好的理论来解释这个理解过程。这个建树的过程,赶巧可以程序化来模拟,于是诞生了 NLU

:在图灵测试中,我们是把机器看成黑盒子。但是要让机器通过图灵测试,它就得理解人的语言才能作出反应。 两位大侠,能否推荐几本书看看?最好是科普类的,看着不吃力。

李:洪爷,不能因为在某些语言任务上,没有语言分析,也做到了,就来否定语言分析的核武器性质。LSA根本就没有语言分析,但它用到给中学生自动评判作文方面,效果也不错。

最近重读了几本认知方面的旧书,我倾向于认为人的内部表征是一种imaginary的多维图式表征,linguistic system只是个人际交流的接口。把多维信息压到线性。让计算机理解小说诗歌,估计永远做不到,因为计算机没有人那么强大的imaginary内部表征。@毛 wei和我一起来推荐几本nlp方面的书,就像PDP一样经典

:@wei 句子的语意理解后的表征方式是什么?还是tree吗?

李:逻辑语义,这是董老师的表述。外面叫 logical form,这是从乔老爷那里借来的术语。具体表现细节没必要相同。

那么我们把句子给理解后,tree与logical form并存在记忆中?

李:二者等价。细分可以有:句法树;语义树;语用树。所谓信息抽取,就是建语用树。句法树到语义树,就是乔老爷的表层结构到深层结构的逆向转换。

Chomsky之所以不谈语义啥的,因为实在没啥科学证据。现在我们所讲的语义都不是native的,都是人类的数学逻辑发明,在计算机上热起来的。出口转内销

: 是不是与那时的行为主义为主流有关,因为语意很难有操作定义?

李:这个讨论越来越高大上,也越来越形而上。

:是啊,再往上一点,就到哲学、认识论的层面了。另,跟PDP一样经典的是什么书?

李:乔老爷57年小册子。

: 什么书名?我以前只是从编译的角度了解他在形式语言方面的理论(现在也忘了),却不知道他在自然语言方面的贡献。以前我对自然语言毫不关心,也就是这一阵听你们高论才觉得这东西挺有意思。

: 有关语言学和认知科学的科普书,Steven Pinker写的系列都不错

The Language Instinct (1994) ISBN 978-0-06-097651-4
How the Mind Works (1997) ISBN 978-0-393-31848-7
Words and Rules: The Ingredients of Language (1999) ISBN978-0-465-07269-9
The Blank Slate: The Modern Denial of Human Nature (2002) ISBN978-0-670-03151-1
The Stuff of Thought: Language as a Window into Human Nature(2007) ISBN978-0-670-06327-7

有关NLP:
Dan Jurafsky and James Martin’s Speech and Language Processing.

有关基于统计方法的NLP:
Chris Manning and Hinrich Schütze’s Foundations of Statistical NaturalLanguage Processing

好像这两本书国内都有影印本

白:总结一下:wei的中心意思,nlp技术在他手里已经很过关了,只是苦于木有好的商业模式,再加上微软谷歌等传统势力的封杀,商业上还不能成大气候。有人建议说回国发展。deep nlp,性能不是问题,可以保证线性online parse,最坏情形回退到搜索。瓶颈在别处。

:元芳你怎么看

李:元芳呢?

谢谢白老师的总结,实际上就是这么回事。决定成败的不是技术,而是产品方向。技术差,可以砸了产品;技术好,不能保证产品在市场的成功。技术增加的是产品的门槛。

: 好的商业模式有两个特点,一个是技术壁垒,一个是侵略性。nlp前者不是问题,问题在后者。需要一张极富侵略性的皮。讯飞也有马失前蹄啊。

: 多讨论,应该能够找到好的方向。讯飞很多年都做得苦逼死了,熬到这两年才爽。现在做一个新的搜索引擎公司不现实。问答类概念已经被用滥了。出门问问也是因为问答不好做,改作智能手表,反而卖的不错。智能家居的语音交互界面,本质上是一个问答系统。

李:对于关键词,语法树就是颠覆。

: 信息服务三个阶段:门户网站,域名成为商品;搜索引擎,关键词成为商品;社交网络,粉丝成为商品。下一个成为商品的是啥?问答只是表象,关键是要回答什么成为商品。分析树也不直接是商品。

李:白老师说的极是。关键是什么是商品,可以来钱,这个确定了,作为后台的技术产品才有门槛,核武器才能发挥威力。

我们还是想想,高精准度的deep nlp服务,把什么作为标的商品,才能具有侵略性。

Philip: 给@wei 的高大上技术找个商业模式

我个人算是比较擅长于设计商业模式的,但是对于NLP的直接应用,还是觉得太偏后端,很难找出一个前端产品,对于用户是可感知的刚需。

不在多而在狠,uber就够狠。

 

原载:《泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索》

 

【相关】

从 sparse data 再论parsing乃是NLP应用的核武器

《parsing 可以颠覆关键词吗?》

《立委科普:关键词革命》 

《李白毛铿锵行: 漫谈中文NLP和数据流》

【自然语言parsers是揭示语言奥秘的LIGO式探测仪】 

泥沙龙笔记:创新,失败,再创新,再失败,直至看上去没失败 

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

《朝华午拾》总目录

《parsing 可以颠覆关键词吗?》

我: 汉语的裸体准成语:你不理财,财不理你。穿上小词的衣服就是:你(如果)不理财,财(就)不理你:如果 … 就…。也可以穿戴更多一点:(如果)你不理财(的话),(那么)财(就)不(会)理你:如果 … 的话 / 如果 … 那么 … 等。)穿得越多,越没有歧义,越容易理解,当然也越容易电脑处理。可是国人觉得那样不简约,不能显示我语之性感。

现代汉语的框式结构是非常漂亮的小词结构,漂亮在它不仅给了左括号,也没忘记右括号,这样一来,边界歧义的问题就消弭了。这个框式手段,是比西方语言更高明的显性形式,应予大力推广,以彰显我语严谨的一面。框式结构更多的例子有:因为 … 所以;虽然 … 但是;在 … 中/上/下/间。

顾: 英语也有省略小词: no pain, no gain.

我: 语言是线性表达,因此常常有边界不清晰的问题存在。数学语言(譬如公式)也是线性的,想到的办法就是括号。汉语不知道哪个年代发明的这个框式手段,基本就是括号的意思。这个很高明。

顾: 而且似乎某些高能人群倾向于省略小词。例如华尔街投行和硅谷人士的某些交流中,如果小词太多反而被鄙视,被认为不简洁不性感,这大概是人性,不是中国独有。举一例,出自Liar’s Poker, 某trader跳槽,老板以忠诚挽留,他回答,
“You want loyalty, hire a cocker spaniel”

我: 有了框式结构,语言不仅清晰了,而且灵活了。灵活是因为左右括号如此明晰,以致于可以放宽括号内成分的句法条件。

Nick: 可以处理括号的都是什么自动机?我理论忘光了。

我:多层括号需要的是中心递归,就是乔姆斯基的 CFG,有限状态不能对付n层括号。上面的汉语案例大多只使用单层括号,没有用到括号的嵌套(”如果…的话” 与 “如果……那么”可以算有了一层嵌套,左括号共用一个小词“如果”,右括号不同,可以放在两个模块层去做),不需要栈结构,不需要递归和回溯。

白: 有限状态加计数器,是毛毛虫,可以对付括号,保证线速。

顾: 注意这里主从句之间是逗号,不是问号。我刚才特定去书里查对了没错。

RW: long time no see 是华尔街英语的典范!

我: 成语不怕,成语都是可枚举的、有限的,就是个存贮记忆问题。成语的极致就是编码,包括密电码,acronyms 如 IBM,ABC 就是密码式成语。成语是NLP中不用讨论的话题。可以讨论的是,产生式“类成语”,譬如“一X就Y”(如 一抓就灵,一放就乱), “不X不Y”(如,不见不散,不服不行)。这个有点讨厌,因为词典对付不了,可是又不符合一般的句法,通常用词驱动小的规则来对付。(小规则是大规则的例外。)

顾: 但某些高能人群,尤其是科学家和教授,尤其是在思辨场合下,小词就少有省略。而汉语在写数学教材时,也多用小词。因此是否用小词跟语言用途也有关,愚以为不能否认汉语追求简洁优美是弱点,也不能认为汉语不善加小词或准确表达概念和逻辑。

我: 还是有个程度吧,汉语小词常可省略,总体上就是一个爱裸奔的东方美女。

顾: 偶爱裸体美女。

我: 偶也爱裸女,东方的尤甚,因为亲切,可是 …… 欧化句式侵入后,白话文运动以来,可以看到一种加小词的趋向,小词在汉语发展道路上开始产生影响了。是吃了伊甸园的智慧树的果子知羞了?

顾: long time no see 据认为是汉语入侵英语之后产生的,只是大家觉得自然,英美人也用了。这个语句困扰我很久,在网上查了据说是如此,但未必是严肃考证。

我: long time no see 是最直接的展示我东方裸体美女的一个案例。西人突然悟过来,原来语言可以如此简洁,这样地不遮不掩啊。他们觉得可以接受,是因为赶巧这对应了一个常用的语用(pragmatic)场景,朋友见面时候的套话之一,不分中外。在有语用的帮助下,句法可以马虎一些,这也是这类新成语(熟语)形成的背后理由。

RW: 我只在老外和中国人打招呼时听他们说过,没见过他们互相之间用过。因此,我觉得他们没有接受这是一个常规用法。

顾: 另外,我觉得如果要分析理解语言,也不能拘泥于句子结构。句子之间的含义同样重要,如果过于依赖小词,可能难以将句中和句间的关联统一理解。而如果看句子之间的联系理解,英文在句间小词也很少用。

我: 用语义(隐性形式)当然好,但是不容易写一个形式化的系统去 parse 啊。用小词(显性形式)的话,那就好办多了。

白: 伟哥还是说说“我是县长”是怎么hold住的吧。问题的实质是,有限状态自动机没有lookahead 能力,如果语义跟着同步走,有很多构造(合一)会是明显浪费的。

Nick: @wei 白老师问:”我是县长派来的”

我: “的字结构”很讨厌。大体上就是英语的 what-clause 对应的句法形式。但比 what-clause 还难缠,因为该死 “的” 字太 overloaded 了。

雷: 中心嵌套也可以是线性的?

白: 某些可以是,全集不是。比如,a^nb^n,可以线性parse。

我: 当然可以线性,除非嵌套是无限层。如果是无限层,栈也要溢出的,无论memory多大。中心嵌套本质上不是 “人话”,这个我和白老师有共识。乔姆斯基之谬,以此为最。

雷: 问题是有些text有冷不丁的多层。有些国内的新闻稿有。

我: 举例,看是人话还是数学?

雷: 当然我们可以排除这些极少数。有些翻译有。

我: 用递归回溯对付嵌套,不过是理论上的漂亮,没有多少实践的意义。

白: 记得everybody likes somebody转换成否定式很难搞。基本归到不是人话一类。

我: 不是人话,就不理睬它!语言中要抓的现象那么多,什么时候能轮到中心嵌套?

白: “我是县长派来的”,是人话,还没揭锅呢

我: I am the one who was sent by the county mayor,这大体是对应的英语吧。英语的 what-clause 只能用于物,不能用于人。“苹果是县长送来的”,the apple is what the county mayor sent

白: 我的问题不是翻译,是有限状态木有lookahead能力,局部生成“我是县长”的问题咋避免。

我: 避免不难。不过就是加大规则的长度而已。有限状态的规则可以任意加长后条件(post-condition)。至于前条件(precondition)比较麻烦,因为前条件改变了 matching 的起点,容易乱套。

白: 短的规则还在啊。根据哪一条,长的压制短的?

我: 对,叫 longest principle,这是所有matching的基本原则,无论是词典查询还是模式匹配。有两个方法来用后条件:(1)加长后条件,以确保 pattern 本身是要抓取的对象,譬如第一近似就是 check 县长后面不是动词。(2)加长后条件来排除例外:这样的规则是没有结论的规则,就是为了排除例外的。这样一来,下一条短规则就可以成功,而且没有误抓的困恼了。

白: 除非你那已经不是纯FSA了。纯FSA只看当前吃进字符做决策。往后check就相当于LR(k)了。

我: 我的 FSA 从来不是纯的,是 FSA++。这个昨天就说过的,我随时要求我的工程师去对这个 formalism 做各种扩展,直到他们抱怨影响了线性速度为止。

白: 那就不奇怪了。

我: 在做 NLP 平台过程中,会有很多的扩展才好应对自然语言parsing的需要。很多人以为一个标准的 formalism 拿来用就好了,那哪行?也因此,编译器只能是内部自己实现(built in house),而不能使用 off-shelf 的,因为后者你根本无法扩充,也难以优化速度。

雷: LR或RR都是线性的。

白: 对。我还以为发生奇迹了呢。

我: 不是奇迹么?抓到老鼠就是奇迹。

白:套用一句潮话:这不科学呀。

我: 如果标准的 formalism 不能碰的话,那么有经验的设计师与一个新毕业生比,就没有任何优势了。我们说生姜老的辣,就是因为老生姜可以很容易把经验的需要转化成软件的 specs,而新手搞不清如何去定义。白老师,“这不科学啊” 的批评声音我常听到。一个是来自我太太,在日常生活中,她一个本科生经常对我这个首席(科学家)呵斥,你一点不讲科学!另一个是来自我一个短暂时期的老板,这个老板是学界主流,她看我写的 proposal,说这里面缺乏 science。我心里说,邓小平也没有 science,他不是把一个大国也治理了,烹小鲜而已。

白: 白猫黑猫拿到耗子都是科学的,狗拿到耗子就略微那个了点,所以澄清不是狗拿的还是很有必要的。

雷: @wei 白老师追求的是形式美。你的是工程美。两者一直你拖我拉的往前走。

我: 狗啊猫啊,是主观定位,无所谓呀,FSA,还是 FSA++,标签而已。我看自然语言是俯视的,成了习惯。太阳底下没有新鲜事儿,因为见到的语言现象太多了。

白: 总是要交流的呀。

我: 当然,也不能乱来,前提是任何”不科学”的扩展,不能最后引致灾难:一个是速度的灾难。一个是不可维护、不可持续发展的灾难。如果这两点可以掌控,就问题不大了。对速度我很敏感,愿意为此自我束缚手脚,只要证明某个扩展影响了线性速度的本性,我就投降,然后选择折衷方案。

雷: 抛弃中心嵌套,cfg就是线性的。

我: cfg 的痛点还不是中心嵌套导致的速度问题,根本缺陷在单层,眉毛鼻子一把抓,不分共性与个性,这才是致命的。

白: 我天天玩工程,不过我们的工程师如果突然说他使用了某个形式化机制但其实不纯粹,我还是会跟他较真的。狗肉好吃,不能成为挂羊头的理由。

Nick: 赞同白老师。spagetti对大工程不行。

我: 你们是主流,站着说话不腰疼。不挂羊头, 语言学家早死绝了。我17个政府项目全部是挂羊头得到的。

Nick: 伟哥可能有绝活,不愿说。

我: 绝活有,细节不谈,谈原则。原则就是,你要做精算师或工程师的老板,而不是相反。绝大多数语言学家没这个底气,只能打下手,做资料员。

雷: nlp的难点或苦活不在parsing,而是知识工程方面的整合。

白: 上下通气。

雷: 呵呵,形象。

白: 米国股市里有知识工程概念股么?

顾: 这是大数据啊!Data Thinker可以。。。(此处省略一千字)

Nick: 中国有?

白: 木有。讯飞在往这方面发展,但眼下不是。

我: 挂羊头卖狗肉的故事在这里:《在美国写基金申请的酸甜苦辣》。Quote:

说到含金量,其实很多课题,特别是面向应用的课题,并不是什么高精尖的火箭技术(not rocket science),不可能要求一个申请预示某种突破。撰写申请的人是游说方,有责任 highlight 自己的提议里面的亮点,谈方案远景的时候少不了这个突破那个革命的说辞,多少迎合了政府主管部门好大喜功的心态,但实际上很少有多少研究项目会包含那么多闪光的思想和科学研究的革命性转变。(纯科学的研究,突破也不多吧,更何况应用型研究。)应用领域“奇迹”的发生往往植根于细节的积累(所谓 the Devil is in the details),而不是原理上的突破。而对于问题领域的细节,我是有把握的。这是我的长处,也是我提出科研方案比较让人信服的原因。有的时候,不得不有迎合“时尚”的考量,譬如领域里正流行 bootstrapping 等机器自学习的算法,虽然很不成熟,难以解决实际问题,但是基金报告列上它对申请的批准是有益的。不用担心所提议的听上去时尚的方案最后不工作,由于科研的探索性质,最终的解决方案完全可以是另一种路子。说直白了就是,挂羊头卖狗肉不是诚实的科研态度,但是羊头狗头都挂上以后再卖狗肉就没有问题。绝不可以一棵树上吊死。

我: 不挂羊头,必死无疑,生存之道决定的。同意雷司令 parsing 问题解决后,真正的关键在挖掘(知识工程)以及最终建立预测模型。

白:NLP应用场景是很考验想象力的。

我: 非结构数据突然结构化了。面对结构的海洋,传统的数据挖掘需要拓展才好应对。挖掘目前做得很浅,就是 retrieval 里面的一个小东西,凑合事儿。parsing 是见树,mining 才见林。以前没有条件见林子 mining 没有实验基地,限制了它的发展和深入。如今不同了。

昨天与xiaoyun还谈到这个,我们都觉得,哪怕只利用 parsing 的一个部分,譬如只做SVO(主谓宾),理论上也是对所有现存关键词技术所驱动的应用的一个颠覆,因为突然多了一个维度。以前所做的不过是 baseline 而已,如今只要有大数据、大计算、大存储,再加上mining,那么凡是关键词技术生存的地方都可以革命,包括搜索、分类、聚合为基础的等等的应用。这个总体趋向是明晰的,条件也基本成熟,现在是考验想象力的时候,然后就是脚踏实地一个应用一个应用的去做

白: 还是要想新的商业模式,革关键词的命,从商业角度未必成立。关键词是拿来卖的,你把人命革了,卖什么?总要有个替代品吧,总不会卖FSA吧。

我: 革命不是杀头,parsing 对关键词,就是爱因斯坦对牛顿。到了语义语用层,关键词,或者叫驱动词(driving words),也是不可或缺的。

Nick: 卖regex到也不见得不可能。

我: 抽取挖掘搜索,往往需要两条腿,一条是关键词,另一条就是结构。如果 regex 可以卖了,离开直接卖 parse 就不远了。

其实我们的 power users 已经开始要求直接用简化的 parse 去满足他的信息需求了。用户是可以训练出来的。我们整整一代人都被关键词训练过、洗脑过了。以致于当自然语言接口技术刚刚尝试的时候,不少用户抱怨说:关键词多简单,跟机器说话,要自然语言干嘛?Power users 在简单的关键词之上用 boolean query 的很多,有些 query 看上去又臭又长又难看,不也忍受了。也见到过创业者,就是用 domain ontology 加上 keyword boolean 作为技术基础,也满足了一个 niche market 的需求而生存的。

Nick: 这是说的哪家公司?

我: 两年前在北京调研时候遇到的,名字忘记了。他们一点也不保守,把 query 直接给我们看,我心想这是一目了然啊,很容易复制的。可贵的是,他们先一步找到了那个市场需求,定义了那个 niche market,也找到了客户,后去就是那些 queries 的库不断更新维护而已。

我: @Nick 说,spagetti对大工程不行。Google 搜索是大工程吧,看一下里面的 spagetti: http://blog.sciencenet.cn/blog-362400-804469.html

原载:《泥沙龙笔记:铿锵众人行,parsing 可以颠覆关键词吗?

《泥沙龙笔记:铿锵三人行》

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

《朝华午拾》总目录