月度归档: 2017 年 2 月
【语义计算:汉语语序自由再辩】
“张三把眼睛哭肿了。”
眼睛都被张三哭肿了
张三眼睛被哭肿了
张三眼睛哭肿了
眼睛张三哭肿了
哭肿张三眼睛了
张三哭肿眼睛了
哭得张三眼睛肿了
张三哭得眼睛肿了
张三眼睛哭得肿了
张三的眼睛哭得肿了
眼睛 一句是主语 一句是宾语 句法不能说错。supposdly 到语义模块去统一到逻辑语义上去。
Me:
这一组图献给@刘群 老师
我们曾经争论过汉语语序的自由度问题,我说汉语语序除了极少数对svo有直接冲突的OVS(正解SVO)不被允许外,其自由灵活,到了几乎随心所欲、想啥说啥、有法无天的裸奔的程度。
刘老师颇不以为然,坚持孤立语的本性就是语序固定,汉语不会例外。
刘:
谢谢@wei 把这些图献给我
换个例子:猫咬了狗,狗咬了猫,猫狗咬了,狗猫咬了,咬了狗猫,咬了猫狗,……语序自由吗?
Me:
自由度是一个区间,不是二值吧
ovs 不被允许,是其不自由的一面,不过数量上不自由的变式远小于自由的变式。
总之,不看数据的话,我们不会相信汉语如此任性。
刘:
我那个例子,osv,sov,vso,vos都不行啊
Me:
猫狗咬了,狗猫咬了
听上去没啥问题啊,还是我耳朵有问题?
刘:
不知道谁咬了谁
Me:
不知道也没啥问题啊
都是合法的
刘:
意思变了,就不是语序自由了。语序自由的前提当然是意思不能变。
Me:
拿语义或常识来纠缠句法语序自由, 不是一个好的辩护汉语总体语序不自由的路子
窃以为。这样辩论的话,我就给你: 鸡我吃了,我鸡吃了。自由还是不自由呢?
刘群:
你也是用例子来证明语序自由啊?并没有统计数据
规则都有反例,个别反例不能推翻整条规则
语言规则吧
Me:
你举的更像是反例,弄了个猫和狗,恰好是本体上平行的概念,都食肉,也都被食。
这种例子更像是反例 而不是 norm,所以我以子之矛可以还给你否。
当然 到目前 控辩双方都还停留在例句阶段。都还没有统计数据。
刘:
我的例子一点都不特殊:特朗普会见安倍,俄罗斯占领克里米亚,……
Me:
克里米亚俄罗斯啥时占领了
特朗普安倍会见了吗?
安倍特朗普真滴会见了啊?
会见了安倍特朗普还见了谁呢?
我的例子也不是 outliers 呀。说出来听起来都那么接地气
刘:
就用这个例子吧:"我的例子也不是 outliers 呀":我的例子outliers也不是啊,outliers也不是啊我的例子,outliers我的例子也不是啊,也不是我的例子outliers啊,也不是outliers我的例子啊。
Me:
谢谢 & 欢迎刘老师站到我这边来!
这不正是语序自由的现身说法吗
刘:
嗯?你觉得上面那些句子都成立吗?我觉得大部分都不成立。
我是反驳你的说法
Me:
不成立?
刘:
不成立
Me:
看样子得 crowdsource 给 native speakers 去投票决定了。
我听起来无障碍,都理解了不算,感觉还蛮顺,至少是接地气:老百姓就是这么说话的。社会媒体更甚。
当然如果给新闻系教授, 他可能会教育学生不能这样写。在有很多个表达(不仅仅是语序自由)的时候,技术文献和新闻工作者会被教导去选择所谓规范的表达法。但语言事实和普罗通常不听这些指教。
其实 坚持汉语语序自由得不像话的观点,不是为论点而论点,而是提醒自己和同事,我们在写 parser 的时候,必须把语序自由作为一个重要的角度来看汉语。 否则无法做出一个鲁棒和召回率高的汉语解析器。
刘:
不管哪种语言,在社交媒体上,都不太讲究语法的,特别是短句子。这不能成为汉语语序自由的证据。英美人说话,口语、短句子、社交媒体上,不合法的句子比比皆是,不能因此说英语语法就要废除了。
Me:
我们当然希望语言都是语序固定的 这该省多少力气啊。线性pattern就是以次序(linear ordering)为基,语序灵活了,patterns 就成倍增长。非语序的其他因素可以在既定的pattern里面调控,无需增加patterns,唯有自由的语序是一件躲不过去的功/工。
刘:
即使是汉语,我们表达稍微复杂的内容的时候,一般都会用svo的,不会随便改语序,否则给自己添加麻烦
Me:
汉语操蛋就操蛋在这里: 你本来就没有形态,小词也是能省就省,你还要语序灵活自由,你还让人活不活?国人的投机取巧甚至在语言表达上也如此彰显。可是我们还是要面对现实。
刘:
没有这么可怕,汉语parser的准确率比英语并没有低太多
Me:
汉语 parser 比英语没低多少,是在新闻上么?
新闻是语言大海的三滴水。
刘:
其他领域没有确切的数据可比较。
Me:
还是可感觉的
这一回合,算是打平了,如果刘老师不坚持要我举白旗的话。
刘:
不能靠感觉。
@wei 老师客气了学术讨论,有争议很正常。
我也没有数据说服你。
【相关】
【语义计算沙龙:语序自由度之辩】
【李白之29:依存关系图引入短语结构的百利一弊】
李:
至于基本短语的 Phrase Structure (PS) 边界迷雾(【长大的战友】),除非发现碍事(譬如不加修整地在产品 display这样的xp结果),不管他了。说到底,pure dependency grammar tree representation 本来是没有显性边界的,没有短语结构(PS) 的牵扯,一切都发生在词与词(terminal nodes)之间,只不过我们在实践中,把乔老爷的短语结构的概念,有限度地在 shallow parsing 阶段带入,成了一个 hybrid tree, 这才有了这个所谓的边界的问题。换句话说,这是一个系统内部在模型化过程中“人造”出来的问题。
白:
这是“坑”和“坑的坑”不加区别地混同的结果。
李:
这种 hybrid 的表达法的好处太多了,以前论过 (e.g.《语义计算沙龙:基本短语是浅层和深层parsing的重要接口》),带来这么点副作用我觉得可以忍受。但我们应该记住,dependency 的本质原本就是独立于短语结构的(属另一个 very competitive 的 syntactic representation),所有的边界都可以通过父子关系,间接而完整地事后确定。譬如上图中“已经”和“儿女”都是【长大的战友】的children,“长大”也是 ,边界事后确定校正就包括了这些儿女,if needed。不影响核心逻辑语义及其理解是关键。
白:
如果站在填坑的角度,区别二者是理所当然的,并不需要刻意多做什么
李:
白老师是,站着说话啊。
白:
这只是说明“树”这种结构不如“坑-填坑”这种结构更接近语言的本质
李:
白老师上面这句话很妙啊:我个人的翻译就是,乔老爷的短语结构那一套(PSG及其表达法),不如词(概念)与词之间的依从关系更接近自然语言的(逻辑)本质。I honestly cannot agree more.
所谓坑与填坑的结构,就是依从关系建立的条件匹配与满足。“不需要刻意多做什么”是你心中的 approach。我现在的patching就不是这样了,在我这儿,为了人看着舒服的事儿,可以做,但不是必做。必做的事儿是在应用的时候碰到了不想要的后果,那就回过来再把屁股擦干净。
白:
他那些杀红了眼,刺刀上沾满血的战友们可管不了那些了。
“儿女”有坑,把“战友”捎带上还可以解释。“刺刀”的坑是“枪”,“枪”的主人是human,这弯儿拐的。句法非标配的坑,靠语义中间件凌空凿开一个坑,才能把定语从句的钩子钩上。
第一个“那些”如果去掉,好像不通了,或者说链条断开了:
?他杀红了眼,刺刀上沾满血的战友们可管不了那些了。
所以,凌空开凿的坑无法填装远距离的“友元”。
李:
白:
“刺刀上沾满血”是自足的,弄个S出来,似乎不能自圆其说。
李:
有那么自足吗?
战友们刺刀上沾满血
战友们沾满血
刺刀沾满血
刺刀上沾满血
这个后置词“上”字把本来可能的一个主语降格了,变成更像状语了。这就为 “战友们” 出场做主语创造了条件或坑。
白:
S,一定有填坑的关系。“战友们”究竟填了什么坑,不深究是看不出来的。
好像“刺刀”和“战友们”通过这种结构浑然成为了一个整体,“刺刀”成为了“战友们”的一个部件(body part)。
李:
虽然董老师那一层的逻辑语义,可以不管这些表层的 trigger 而保持 【human】 和 【physical object】二者的逻辑地位的稳定,但是 parsing 过程中,这些句法痕迹及其引致的句法“坑”的动态变化还是有迹可循的:PP 把潜在主语降格,让位给其他 NP:
他沾满血了?哪里沾满血?
他在(他的)刺刀上沾满血,身上滴血不沾
“战友” 是大物体,“刺刀” 是小物体。“刺刀” 在这个场景,就是大物体中的一个小物体,与 body part 功能很接近。“他刺刀上沾满血,可手上却没有”,这与前一阵子讨论过的英语表达 "hit sb on+bodypart" 类似,到了汉语就成为所有关系的表达了:
他击中了我的头
击中 的是 “我” 还是 “头”? 沾血的是“人”还是“刺刀”?当然,“上”也是一个讨厌的小词,在接近成语的表达法中不一定降格,譬如 用“组织上”代替“组织”做主语的情形。
组织上批准了你的建议。
对于战士,刺刀就是手脚的延伸,成为一个战士的不可或缺的部件。
白:
地方上,县上,州上
甚至“今上”
李:
这现象是词典化的了吗 还是相当地开放?
白:
他衣服上残留着油渍。他工位上挂着两条领带。他单位里流传着很多绯闻。
他桌子上永远整整齐齐。
可以肯定,1、这是一个系统性的现象,不是偶然或者活用。2、到底是主语还是应加但未加“的”的定语,似乎有个连续的谱系。3、一个具体用法在这个谱系中的定位,与形式状语和形式主语整合为一个整体、或者说形式主语延伸到足以包括形式状语的可接受性有关。整合越不可接受,形式主语越像定语;整合越可接受,形式主语越像逻辑主语。
李:
语言学理论中 主语与定语 地位很接近,虽然前者属于 arg 后者属于 adjunct。它们都是 external 的成分 有很多相通之处。乔姆斯基xbar 理论的起因之一就是要统一主语和(部分)定语,在句法结构的理论上给一个统一的说法(参见 乔氏 X 杠杠理论 以及各式树形图表达法)。
【相关】
【李白之28:“天就是这样被聊死的”】
白:
“天就是这样被聊死的。”
李:
说谁呢 ?
梁:
@wei ,I also admired your "层次纠缠“ comment.
李:
哦 那是刘少奇主义, 吃小亏占大便宜。真的,反单层parsing的传统潮流,悄悄地不知道占了多少便宜了,不吃点亏都觉得不好意思了
白:
“的”可以“买一送一”或者“卖一送一”。比如“卖火柴的小女孩”中,“小女孩”既可以作为整个定中结构的代表正常对外填坑,也可以“无偿”填定语从句内部“卖”的坑;“这本书的出版”既可以作为整个定中结构的代表正常对外填坑,也“无偿”对内接受定语部分“这本书”的填坑。“无偿”的意思是,一个括号配一个反方向括号后,对方消失了自己还在。多“饶”了一次匹配机会。现在从坑的角度看,最不情愿的一个处理就是把形容词的使动用法处理成一可选的坑。如果坑可以强制出来就好了。
李:
多一次匹配机会,就是一个儿子可以有两个老子,类似一个是生父,一个养父。对外填坑是句法的显性 dependency,对内无偿就是逻辑语义的隐性 dependency,中外皆然。“小女孩”就是如此,“小女孩”做“卖火柴”的【逻辑主语】。而“卖火柴”其实是“小女孩”的【定语】:让自己的显性的儿子去做自己的隐性的逻辑老子。到了谓词指称化就不同了,对外填坑不变,爱啥啥。对内的逻辑关系则反过来,自己的显性的句法定语儿子(adjunct),被用来填充为自己的隐性的逻辑儿子(argument)。“这本书” 做 “出版” 的逻辑宾语。与英语平行。
this book‘s publication;girl selling matches
? the sell-matches girl
白:
这两件事,被我统一成一件事了。
李:
统一的好处是?
白:
词典化,没有规则,只有词典和原则,一条原则管两头。到原则层面,只需要解决什么条件下谁提供bonus。
李:
一边是 NP , 一边是 V 或 VP。如果是 NP 的 V,V有坑,尽管 V 指称化了。那么 NP 就去填坑(宾语,或主语),如果是 VP 的 N,那么 VP 有主语的坑,N正好填。
白:
根本不看POS,只有买单和卖单。一对多的订单、一对一的订单、可以提供bonus的一对一订单。
李:
POS 也没啥,不过就是填坑中几百上千个可能的约束条件的一个而已。我要 Human 来填坑,与我要名词来填坑,对系统不过就是条件的宽窄不同而已。这是从填坑的角度看 POS。对于设坑的一方,当然无所谓 POS,V 也好 N 也好 A 也好,他们有没有坑,有几个坑,都可以认为是词典化的 subcat 规定的。都直接量(词)驱动了,自然就不谈 POS 了,因为 literal 永远比任何抽象信息量更足。
据说当年一个叫 Small 的人首创专家词典(Expert Lexicon),里面全部是词例化的规则,没有任何抽象规则,可以想象这样的系统在一个狭窄的 domain 里面的可行性。譬如 在天气预报的 domain 里。词条 “下雨”里面规定 要到左边去找 “老天”,到右边去找 “很猛、很急”,等等。
白:
肯定不是这样的。
李:
在一个小词汇表中 是可行的的 而且准确 有点组合爆炸而已。这是没有任何抽象的本义。一旦有抽象,哪怕是词例化,也必须引入 features,而不是直接量之间的交易了。lexical-POS 就是最简单的一个 feature。
白:
原则不看POS,matcher要看。但原则不放水,matcher就没有bonus给。
“张三这两条建议是关于修宿舍的。”
这里面,“建议”有两个坑,“张三”填了一个,然后这个词的“母体”填给“是”了,剩下一个坑成了没娘的孩子。后面当“关于修宿舍的”作为一个整体与“修宿舍”剩下的没娘孩子(human)不匹配的时候,匹配点会迁移到前一个没娘孩子(info,建议的内容)进行匹配。
李:
白:
这不是说,建议的内容就一定是“关于修宿舍”,万一“是”换成了“不是”呢?只是说,这一萝卜一坑,存在着语义类型上的关联。至于肯定否定,那是由围绕着谓词的修饰语决定的。
李:
肯定否定是另一层次的东西,无需牵扯进来。说到底就是 “建议” 有 Subcat,里面有 human agent,和 “关于 content” 的 PP 的规定。human S 连上了,【关于】的坑暂时没连上,但也不难。
白:
建议谁修宿舍,文本中找不到,作罢
“他死去多年的战友就埋葬在这里。”
“他”要憋着不参加后面的VP,直到被定语从句修饰的中心语露面,填入中心语所带的坑,才算了结。什么样的“过程性”控制策略能给出这个选择?
宋:
他死去多年,儿女都已经长大的战友埋葬在这里。
白:
嗯,其实谓词部分是收束的,只有谓词部分对外需要消解。所以,需要栈,但栈不必很深。栈和RNN是不矛盾的。栈顶元素可以作为输入的一部分,对栈的操作可以作为本轮输出的一部分。
李:
查一下后条件不就解决了?在主谓规则中 ,一个 np 与 一个 vp 不着急结为 s,往后查一下条件再决定。
没问后条件,错了。可以加上:
白:
往前看一个,只能做等待与否的决策,不能做结合与否的决策。等待就意味着要记忆某种东西。
李:
等待与否与决策与否,这里不是一个简单的答案。因为涉及两个问题:一个是“他死” 的主谓问题,一个是“死”做定语(兼“战友”的逻辑谓语)的问题。如果不考虑二者相交,第一个问题当成一个独立的问题,当然可以决策,不过是问合适的条件包括后条件而已。这样“他死”本来的主谓错误可以避免,但还是需要有人(“埋葬”)接盘。从相交的角度看,关键是定从句型的处置安放在何处合适的问题,定从解决好了,顺带也就解决了“他死”要不要就近连主谓的问题。涉及的句型也不那么复杂:
NP+VP+de+N
就是一个四元组。把上述句型在做主谓之前 fine-tune 到正好涵盖【定从】,问题就解决了。宋老师的句子是难一些,难在那个 VP 复杂化了,VP 实际是两个 VP 用逗号并列了(其实应该用顿号的,可国人把逗号当万金油,没办法)。这倒也罢,第二个谓语本身也是一个主谓结构:“儿女都已经长大”。“儿女长大” 与 “身体健康” 类似,都是那种句型紧凑的典型的【主谓谓语】。这类主谓只能有限扩展,跟通常主谓的自由度无法比,也因此可以考虑先行解决,给个标签,作为整体,它有一个逻辑主语的坑(通常是其前的 Topic 去填):实质上是对付一层的中心递归(center recursion)。总之是有些难缠,但并非无迹可寻,要做也可以做,考验的是细活。等低枝果实都摘差不多了,再去磨这个细活好了,现在不必。
白:
他那些杀红了眼,刺刀上沾满血的战友们可管不了那些了。
“儿女”有坑,把“战友”捎带上还可以解释。“刺刀”的坑是“枪”,“枪”的主人是human,这弯儿拐的。句法非标配的坑,靠语义中间件凌空凿开一个坑,才能把定语从句的钩子钩上。第一个“那些”如果去掉:
?他杀红了眼,刺刀上沾满血的战友们可管不了那些了。
好像不通了。或者说链条断开了。所以凌空开凿的坑无法填装远距离的“友元”。
李:
看样子这个 “那些” 是个关键的小词,应该善加利用:
human+那些+[human action] + 的+human
麻烦的是 human action 的谓语的扩充性。如果这个句型足够的频繁(感觉上是的),那么一个策略是,对于那个【定从谓语】的界定可以放的很宽,一路扫描下去,直到发现 【的+human】,就把这个 【定从】 的性质卡住了。定语定性以后,再慢慢对付里面的monsters,这个策略可能管用。
他的那些blahblah的朋友们
管它 blah 有多长、多复杂。一个 token* 就卡住了。还有一个策略就是 patching,对上面的那颗“循规蹈矩”而出错了的树做修补:
S1[X那些] + Pred1 + Conj + Mod(Pred2)+S2+Pred3
要问五个链条才能修补全,也不知道能概括多少现象,值得费这么大力气,会不会弄巧成拙。道理上是可行,问了这五个链条了,然后
(1)离婚 S1 和 Pred1
(2)结合 S1 与 S2,让 S1 zuo S2 的定语
(3) 切断 Conj
(4) 用新的 Conj 链接 Pred1 和 Pred2
可以做个实验玩玩,看这条路可行不。
MY GOD 值不值得做先放在一边,可的确做成了!
这个太tm牛了。我都不得不崇拜自己了。
还是那句话,没有翻不了的案子,毛太祖钦定的文化大革命都彻底否定了。这样的翻案 patching 应该没有副作用,因为都是 word driven 和非常 restricted 的现象。
同一条规则略加微调(没有“那些”但原主语是 human),就把宋老师的难题一并解决了。休眠唤醒术好使,以后要多使,这比条件不成熟的时候霸王硬上弓轻松多了。
白:
不对呀……
怎么是“他”死去?应该是“战友”死去才对。另外,“战友”并没有“长大”,“长大”的是战友的“儿女”。
李:
鸡蛋里挑骨头啊。明明“儿女”是“长大” 的 S。长大的战友,不过是一个边界不合适的 XP 懒得在 patching 的时候再动手术去重新修理边界而已。
白:
就是说,定语从句的两个分句,第一个“死去”的坑被提取出来,由中心语“战友”反填;第二个“长大”的坑由“儿女”填充,同时“儿女”挖了一个新的human类的坑,由中心语“战友”反填。
李:
真要修理也不是不可以,但已经没有啥意义,因为逻辑语义上已经阻止了 “战友” 做 “长大” 的主语。对,“他” 不该是 “死去” 的 S,这个我去查查 code
白:
要简化也是“儿女长大的 战友”,而不是“长大的 战友”
李:
那是因为偷懒 共享了 “那些”的规则。得,我分开来一步步来。
目前的机制可以改关系,暂时不可改边界。有空了写个 specs 让工程师增加边界调整的功能。不该有的 S 没有删去,是个 bug,规则是对的。对数据结构做手术,要做干净、不拖泥带水、不留后遗症,还需要磨一阵子。不过苗头是好的。
白:
“目前尚未毕业、导师已经超过六十三岁且不是院士的博士研究生要来教务处登记。”
谁不是院士?导师,还是博士研究生?如何确定?两个conj并列,是一股势力;“导师”辖域延展,是另一股势力。
李:
不用 common sense 出场?
白:
后一股势力因为“导师”自带的坑得到“博士研究生”在右侧遥相呼应而得到加强。当然“博士研究生”自身也因距离更近参与“不是院士”的逻辑主语坑的争夺。定性分析这是打个平手。common sense之外似乎看不到一锤定音的结构性要素。或者换个说法,大数据里,“导师”和“院士”共现的频度,与“博士研究生”和“院士”共现的频度比起来,谁高?
一提common sense就有把问题搞复杂的嫌疑,提大数据则明显把问题简化了。
李:
不错。现在的问题是,应该怎么挖掘和表达大数据的这些隐含了常识的知识,使得需要用的时候,够得着。人手工费那么大劲精心构建的 ontology 和常识,目前用起来还是不能得心应手,挖掘的东西应该呈现怎样的形态才好用呢。
白:
词向量可直接反映共现。
李:
在两个词抢夺同一个词的时候,最简单的办法就是看他们的两两共现来决定力量对比。这个听起来简单,但这种三角争夺是 on-the-fly 的,共现数据可以预先计算并 index,三角计算必须是 at run time,感觉上有一个不小的 overhead
白:
现场直接变成算距离了,index出来是向量,向量的距离直接反映共现。而且是“应该的”共现而不是“现实的”共现,中间加上了互通有无。互通有无是数学模型帮我们做的。
李:
大数据出来的统计不都是“应该的”么?都只是一种趋向。增加一个砝码,不是铁定。(一定有违反大数据统计的反例在。)
白:
不是这个意思,是说很多数据是稀疏的
宋:
(1)应该做大数据挖掘,与专家的规则结合起来。白硕建议比较两对共现频次,我觉得比常识知识库靠谱。
(2)这种大数据中的知识挖掘应当是实时的。应该有某种大数据存放的中间形式,支持快速的实时统计。这种中间形式会比原始的线性字符串对于统计更高效,同时应当有一定的通用性。
白:
在降维中稠密化了,原来语料中直接没搭上钩的,经过降维处理也可以搭上钩了。
宋:
(3)恐怕会有一些问题不是单纯的词语共现所能解决的。
白:
算距离,复杂性主要跟维度有关。维度降下来了,不仅数据稠密了,而且计算开销也下来了。@宋 老师的(3)完全赞同。共现的数学模型,build和run的确是分离的。李:
李:
synonym 或 clustering 就是 降维 和 数据稠密化吧,但同时也抹平了。不知道目前有没有哪个系统真地在歧义判别时候用到大数据统计的。
白:
word embedding并不严格抹平,但可以拉近,而且如果只为了比较大小,距离算到平方和足矣,没必要再开方。
李:
对,根本不需要精确计算,只需要相对的结论,谁强谁弱,或打平。
康:【首届语言与智能高峰论坛会议邀请函】 ...
白:
这种会怎么不请伟哥啊……
阮:
第一届会议重在推动,伟老师估计会泼凉水。
白:
我们大家还在混圈子,伟哥已经高处不胜寒了。
李:
一觉醒来 左眼发跳 原来是白老师。冷不丁开个涮 由头却是啥高峰会议。
认真滴说 休眠唤醒是正道 开始尝甜头了 。感觉以前syntax下力可能太大太苦 ,不如把负担更多转嫁给语义唤醒。
【相关】
【语义计算:耍一耍中文 SyntaxNet 和百度翻译】
我:
朋友终于装上了赫赫有名的谷歌 SytaxNet 中文自动分析器。随手试了一个例子。From syntaxnet, we have this parse:
From yours truly, this is the result:
To laymen's eyes, they look alike. They are both dependency trees. Of course. They seem to have used the same or similar tools for drawing trees. But beyond these, they are so different. 天壤之别 in data quality.
For the SyntaxNet:(1) the link between 啥 and 体验 is wrong: it is not conj;(2) subject is also wrong,公司 should not be subject, subject is 投; (3)object of 投 is wrong, it is not 人去楼空, it should be 公司; (4) 投-VP is 定语从句,where syntaxnet is wrong too. Out of 8 dependencies, only 2 can be judged as right (了 is linked right; 的 might be judged as right as it is linked to 投 as relative clause marker) and they only involve 小词, all notional words are linked wrong and the function word 家 is also incorrectly attached, it should be linked to 公司. This is from the parsing system which claimed most accurate a few months ago.
白:
这里涉及几个细节:1、凭什么断定“家”是量词而不是名词?在扫一个处理一个的工作模式下这很有些勉为其难,因为真正强关联的词“公司”可能隔着远距离才能看到。要明确大家的工作模式都是可以等到不管多远的距离才出现的,大家一起比才公平。
1、凭什么断定“家”是量词而不是名词?在扫一个处理一个的工作模式下这很有些勉为其难,因为真正强关联的词“公司”可能隔着远距离才能看到。要明确大家的工作模式都是可以等到不管多远的距离才出现的,大家一起比才公平。2、“投”和“体验”各空出一个未填充的坑,但这两个坑是有关联的----谁投,谁体验。两种分析结果都没给出这个结论。
2、“投”和“体验”各空出一个未填充的坑,但这两个坑是有关联的----谁投,谁体验。两种分析结果都没给出这个结论。3、“是”接受谓词主语时,对宾语(表语)进行了一次约束,即宾语要么也是谓词,要么是对谓词有概括能力或者收束能力的名词。最后进入宾语位置的,到底是动词“体验”还是名词“体验”,是有讲究的。
3、“是”接受谓词主语时,对宾语(表语)进行了一次约束,即宾语要么也是谓词,要么是对谓词有概括能力或者收束能力的名词。最后进入宾语位置的,到底是动词“体验”还是名词“体验”,是有讲究的。“什么”可以把动词强制名词化,也可以自然修饰一个本色名词。但这对“是”语义是有区别的。谓词 是 什么 + 谓词,说的是两个谓词在时间上的叠合、因果上的联系。谓词 是 什么 + 名词,说的是用后面的名词对前面的谓词进行分类。“投”与作为名词的“家”,有那么格格不入吗?如果语料中投张三家、投李四家、王家赵家都OK,这里仅看到“投了家”就断定不OK,也太武断了点。既然不能断定不OK,起决定作用的还是与“公司”的强连接。对于静态文本处理的场景,一次吃进一堆,把强关联的量名搭配挑出来不难,对于语音或动态文本处理的场景,确实需要等。即使是静态文本处理,如果确定pos和做match是两个分离的步骤,pos的确定不依赖于match的阶段性成果,那么确定pos需要用到的窗口就必须足够大——大到可以把远距离的量名搭配容纳进来。否则,“家”的名词义项会在概率上占优,同时在局部找不到推翻这种优势的硬证据。
wang:
白老师,这里引出了2个问题 1),POS 和match ,如何走的问题? 2)不同情形下,窗口多大要拉多大的问题?
本人的主张,是POS和match协调走 。或说是WSD和Parse协同进行。若不依赖match阶段性结果,单靠pos自己,可能窗口再大,效果也不见得好,除非支撑的语料能足够大。
“投了家去年还是公司业务额超过同行二倍,而今年公司利润却几乎是零的公司”
这里的“家”与最终的关联的“公司”,实在距离太长,而且其中还有干扰型的两个“公司”。要支撑这样的窗口长度的数据,--太难白硕:
白:
有“公司”出现就可以被wsd加分,真正修饰哪一个“公司”,只能靠matcher独立判断。除非构造一个受“公司”干扰、后面居然还不取“家”的“量词”义项的例子。比如,“没有家的支撑他不可能把公司做这么大。” 或者再离近一点,“没有家的支撑公司不可能被他做到这么大。”wei wang:
wang:
窗口长了,内容的处理只好粗糙些了白硕:
白:
如果是纯粹基于规则,可以耍个流氓,把“家”归入一个变色龙词类,见人说人话 见鬼说鬼话。但是基于关联,耍不得这样的流氓。N+和N不能用X来做wildcard。wang:
wang:
嗯,明白。基于关联的方法,虽然有点难,但走远还是有望的。白老师的例子,“没有家的支撑公司不可能被他做到这么大。”,感觉“家”也不能被“公司”挟持着
想了一下“没有家”做特征也不妥,“没有家支持公司开辟海外业务的保险公司”
这里“家”--又变了“量词”。解析不决问谷歌,或百度:Without the support of the company can not be done by him so much.
Without the support of the company can not be done by him so much.
wei wang:
谷歌解析,--把“家”弄丢了No home support company can not be so big.
No home support company can not be so big.
百度,家倒是出现了,“家”字面翻译wei wang:
“投了家人去楼空的公司是啥体验?”
百度:The family went to the floor of the empty company is what experience?
wei wang:
谷歌:Voted to empty the company is what experience?似乎,谷歌对量词“家”还是可以的
似乎,谷歌对量词“家”还是可以的
-----看来“家”是量词和名词,结果也是不尽人意
我:
@wang 你造句的时候能不能普罗一点儿?不带这样的。
wang:
李老师,第一个句子分析不错。第二句子是为了拉长“家“和关联的“公司“的距离,而造的,确实有点难为机器了。只是说明,距离长可很长。
我:
我是说你缺乏同情心, :=)
wang:
第三个句子,那个“家”没处理出来,有点遗憾。
认错,同情心对机器。“开辟海外业务的保险公司” 独揽了,导致断链。
白:
还没有见到用干扰项“公司”把“家”成功引走的例子。
wang:
说明这抗干扰能力,不是一般的强啊。
这家早就成为公司的临时办公室了。
刚才仔细模拟机器分析句子,“没有家支持公司开辟海外业务的保险公司” 分析出“家”为量词,这个确实太难了。好几处匹配都几乎坐实了“家”为名词,而翻盘的力量实在太微弱。当然基于规则的方法,可能会另有春天。
谷歌的翻译确实了!
There is no insurance company that supports the company's overseas business
以上这是百度的翻译
No home support company to open up overseas business insurance company
以上是谷歌翻译。百度的表现,真心不错
白:
本群就有百度的好几位大牛哦。
“难道就没家给公司提供像样的办公用品的公司吗?”
很赞!
wang:
向百度大牛学习!
白:
好几位百度从事NLP的专家在本群潜水。
“百度”没逃过去这个远距离相关的陷阱。
1024位素数作为模,应该够安全了。
digits没翻出来,prime也没用复数,捣浆糊啊。
模翻成model, 数学上也不算对。
三位整数做密码,太不安全了
又是捣浆糊。
但这里明显是三“个”整数的意思,只不过语法错了。原文是一“个”整数,有三个十进制位。
量词兼其他词类的情况,是很细的细活儿。
调戏完毕。
【相关】
【一日一parsing:#自然语言理解太难了# 吗?】
白宫命令司法部申请紧急冻结今天华州政府在西雅图联邦法院申请到的总统冻结穆斯林七国入境EO的临时冻结令。
如果成功的话,临时冻结令将被紧急冻结令冻结,穆斯林七国入境继续冻结
#自然语言理解太难了#
wang:
李老师这是要把机器累吐血啊!
不太理解为何要和这类超长难句对上了。
以前只顾着忙着单句,对篇章理解终未敢有奢望。
恩,到时句法分析,感觉可以分成若干小句来分析也不错。
只要把前继跟准了,把大树搞成森林,由若干棵小树构成,而每个小树分析结果表达清晰准确。也是一种选择
我:
不是跟难句过不去,是 parse 着玩。现如今凡是遇到 “绝妙的中文”、,#自然语言理解太难了# 这类标题,就忍不住想,我 parse parse 会怎样呢(e.g. 《立委科普:机器可以揭开双关语神秘的面纱》)。是一种类似于软件工程上 stress test 的心态,人说难,偏试试,看极限在哪里。哭笑不得的结果有之。喜出望外的也有,以为难仔细一想其实不难。总之都会有启发。不特意为这些 outliers 去动手术。不值当。
特别心烦意乱的时候,啥招都不管用,只有调系统可以安神。明知系统是个无底洞,以有涯对无涯。killing time,一点儿也不殆。
白:
“这些泡沫包装糟透了。”
“这些水果包装糟透了。”
我:
“泡沫包装”作为合成词词典化了。
白:
“这些学生宿舍都没回就一头扎进了图书馆。”
我:
第一句差强人意,层次纠缠。知道病源,不敢确定该不该修理。分层这事儿,你不能占尽了它的好处,一点不吃亏啊。主要是衡量亏的大小,值得不值得去打补丁或做高危微调的动作。观望。有时候需要时间和新的数据去驱动和决策开发和维修。
【相关】
【李白之27:莫名其妙之妙,妙不可道】
李:
想到一个 minimal pair:
(1)他莫名其妙。
(2)我莫名其妙。
单说,第一感觉是(1)(2)均无歧义。但对比看,就看出“莫名其妙”的歧义来。查词典,原来有两个义项:
莫名其妙
【解释】:【1】说不出其中的奥妙,理解不了其中之巧妙,比喻深奥让人不明白, 可带讽刺意味。【2】不知道到底是怎么个情况。
根据主语人称的不同,默认的义项随之不同:感觉第三人称主语(1)的标配义项是【1】,而第一人称主语(2)的标配是【2】。非标配的义项,在没有更大的上下文的时候,休眠了。
从语言学的不同维度,这个区别可以说是:
(a)不及物动词 vi 【1】 和 及物动词 vt【2】 的歧义;
(b)也可以说是 形容词 adj 【1】和 动词 v【2】 的歧义(反正vi和adj在汉语也可算一家);
(c)成语义【1】与字面义【2】的歧义;
(d)黑箱【1】与白箱【2】的歧义;
(e)当然还可以说是情感色彩 sentiment (“莫名其妙”的黑箱有讽刺贬义色彩)【1】与 中性陈述 neutral 【2】的歧义;
(f)甚至还可以说是(隐式)被动【1】与主动【2】的歧义。
因为人的本性,通常不会自贬,因此第一人称做主语,贬义解的可能大为降低,因此(2)“我莫名其妙” 默认为白箱义。而当用于第三人称(其实是非第一人称)的时候,通常的理解都是黑箱,忽略了白箱的可能。这符合成语默认为黑箱的一般规律:毕竟第一人称是个案,而非第一人称则是常态。
白:
其实不是。“他莫名其妙”是“他使人感到莫名其妙”“我莫名其妙”是“我感到莫名其妙”前者是后者的使动用法。
李:
也好。又增加一个语言学范畴的维度:
(g)也可以说是使动【1】与自动【2】的歧义。
白:
当别人表示我使之感到莫名其妙时,我可以反问“我莫名其妙?blahblah”
一般情况下,“我莫名其妙”并无歧义。
李:
我的语感是:一般情况下,“他莫名其妙。” 也无歧义。
语感的差别?
白:
对
因为感到莫名其妙是主诉,无须代劳。
李:
他这人莫名其妙。你怎么会喜欢上他呢?
白:
只有这个。与非第一人称相配的,是使动用法。这是标配。
李:
成语一般不影响 parsing,是 hidden ambiguity,属于 WSD 范畴,可以在 parsing 后的语义模块去做,if needed。更多的有趣案例:
对于"莫名奇妙",我莫名其妙。
白老师洞若观火,黑老师莫名其妙。
谁莫名其妙?
你才莫名其妙。
当然,(1)和(2)也都可以是歧义。这一切,都可以在更大的上下文中,被反转过来:
(1a)对于此事,他莫名其妙,一片茫然,手足无措。
(2a)我承认我莫名其妙。(我就是个无厘头,不要理我好了。)
对于标配的无歧义,上例表现的另一线可以在句法后借词驱动来休眠唤醒(【立委科普:结构歧义的休眠唤醒演义】)。
白:
反转的桥段可以有。对非第一人称,如果明示相对的事物,则变成“对该事物感到莫名其妙”之意。对第一人称,如上所述,在反问、抗辩乃至退无可退的认账情景下,可以转化为“我令人感到莫名其妙”之意。这些都是只有特设性条件才能激活的非标配解读。
李:
总结来说,这一切一般不影响 parsing,是 hidden ambiguity,属于 WSD 范畴,可以在 parsing 后的语义模块去做,if needed。与人称有关,可以在句法后的模块check主语条件来做细(WSD),还可以细了再细,去进一步休眠唤醒。
白:
使动比非使动多一个坑,既是wsd问题也是句法问题
李:
【对 np】 莫名其妙:汉语中 arg 可以降格为 mod,尤其是当坑是 pp 为载体的时候,句法总体可以不受什么大的影响。
白:
这一条是有可能有副作用的
李:
同理 词典的自动词在活用为他动词的时候,冒出来一个后置宾语,萝卜出来了没有坑,鲁棒的句法就会现造一个坑,结构分析依然前行。
白:
做空。
允许未饱和坑数出现负值
李:
从句法主旨是把线性转为结构来看,都有应对之道:
幸福着你的幸福
“幸福” 的词典没留宾语的坑,生生被活用了。我的感觉还是 句法能简化则简化,以顺利建立结构为度。线性到结构 是一个飞跃。飞跃后 视野就开阔了 四通八达 做语义 做反悔 做落地 就游刃有余了。爱怎么死缠烂打都行。第一步的结构化 parsing 因而是重中之重。鸡零狗碎的语义细线条可以尽量搁置。这可算是老马识途的由衷之言。耍流氓 玩暧昧 粗线条 变色龙 休眠 隐藏 patching 默认 等,为了句法结构化,都可以。
道可道,非常道。莫名其妙之妙,妙可道,妙不可言。
【相关】
【李白之26:汉语动结式和情态式的隐式被动现象】
李:
这一句有点难有点难。
难在“相比”作为副动词,这口气太长了:里面混杂了并列小句的定从。
这句 tricky,实际上是有两个被动式:一个是“被关押”,一个是 “被...打死”。汉语中被动态可以而且经常不用显式“被”。这样一来,如果两个动词前面出现了一个 “被” 字,这个被字可以给第二个动词,近水楼台不得月的第一个动词没得到这个被,也并非就不可以是被动。
有点操蛋。算了,拉倒:就近原则,作“被关押”解。否则容易顾了东头顾不了西头:
wei wang:
是否有些武断?
双“被“不能同时出现在一个句子,不顺口,区别还是在“病死“or“打死“,语义制导了句法。若是“夹伤“又如何?可能夹伤己,也可能夹伤他,打死,病死排他性强。
李:
对,病死 vi;打死 vt。
白:
病死一个坑
动结式动词,两个坑都相谐的,只说一个,一般认为是逻辑宾。“张三赶走了”意思基本等同于“张三被赶走了”。
李:
动结式 被动态的常规是省略“被”,而且这种宾语提前,比宾语后置更常见。汉语中的 可能情态 也具有这个特点:宾语提前,或者说,隐性被动,更常见:
他可雇
== 可雇他
== 他可被雇
尽管 “雇” 是两个坑,而且都要求 【human】,但是 “他可雇” 里,只有一个 NP 处于主语位置的时候,常常是填逻辑宾语的坑,而不是逻辑主语的坑。机关就在这个“可” 上面。
白:
所以,处理到动结式了,可以把已经入瓮的“被”踢出来,让其重获自由。
记得有个古代的故事,别人给皇帝送的吃的,宫里守卫拦住了,问:“可食否?”送的人回答:“可。”守卫拿过去就把送来的东西吃了。
李:
这个故事妙。汉语的 【可+V】 是一种构词法,其实就是合成(or 派生)形容词(deverbal adjective:derived adjective or compound adjective)了,但是词源上来自动词的情态式。问的人是当动词情态式问的,回答的人是当形容词理解的。拧了。其实是历时语言灰色过渡阶段的现时反映,颇有意思的汉语语言学。
白:
可造之材,可塑性好,高可用
李:
类前缀“可-”,可比较英语的后缀派生词:-able
readable:可读
可行性,可读性:feasibility,readability
这是从形容词通过后缀“-性”进一步派生为名词了。非常有意思的现代汉语“类派生”现象(词法上介于 compounding and derivation 之间的语言发展苗头,我博士论文中谈到汉语类语缀现象时,特别论过: PhD Thesis: Chapter VI Morpho-syntactic Interface Involving Derivation)
白:
要,也是:“已经放下武器的敌人不要打”
李:
对
白:
这些都带有决策性质,决策者就是说话者,执行者就是听话者,不言而喻。所以再有指名道姓的萝卜,一定填逻辑宾语的坑。执行者(听话者)是隐含的逻辑主语
李:
决策的语义对应的是语法的祈使句。当然祈使句在孤立语中有概念,少形式,也不好区分。
白:
如果特别对听话者指名道姓,往往用同位结构:你们三团要狠狠地打。
李:
“你们” 第二人称,可以另算。“我们”第一人称也算有痕迹 (lets)
白:
这是旁证
李:
“咱们” 就更棒了,作为祈使句形式痕迹,更加彰显。
白:
那是套近乎
李:
“咱们” 开头,几乎都是祈使句。
wang:
你们三团要很很打
这句,主动,被动都可能。刚才白老师说的“要打”一被动也成立:
部队一定要打压一些有骄傲的风气的单位,你们三团要狠狠打。
这个例子没举好,
还是不存在被动?只能是主动缺省宾语?看来得求教二位老师
李:
逻辑宾语的解读对于这类句式是一个蛮明显的趋向、heuristic, 总是可以找到反例
wang:
嗯,谢李老师解答,我这边太晚了,有空聊
【相关】
【李白之25:句法能简则简,只要不影响总体结构】
李:
董老师的例子。
勉强回答了谁逃票翻墙。还有 谁进入 谁被咬死,暂时搁置。貌似汉语“连动结构”可以很自然一路顺下来。
白:
一路顺下来,是因为另一个坑都不是人。
那个“被地主放狗咬伤了腿”可以试试
李:
动宾离合词 “放狗” 带了个句法的 O “那个” 貌似矛盾,原来事出有因:放狗 带上了 passive 特征,于是前置NP就做了 O,已改正:
这里遇到一个层次纠缠的问题。语言中的直接引语,或括号里面的附加成分,不能与外部一锅烩。parser 应该有机制分别处置,然后再拼接。真要实现也不难,但貌似多数系统(包括我们)没有做。假设内部由 blahblah 代表,那么外部应该是酱紫才对路:
白老师,“被地主放狗咬伤了腿”有什么玄机?
是 “腿” 找不到主儿吗?哦,是 谁“咬伤” 的问题。
句法不必管那么多。不影响总体结构的,原则上句法开始都不管:谁咬伤了(腿),谁的腿,这些问题可以推后,后去也许做,也许不做。
白:
什么叫影响总体结构。
李:
譬如上面的 parse 图,就不受影响。没连上的节点在句法上都有直接或间接的联系,而且句法上说得通。后去的语义模块顺着这些直接间接的联系,可以把漏掉的逻辑语义补全。换句话说,句法关系和逻辑语义在这里是可以分开处理的。能分开的时候不分开,就是把句法拖进泥坑。实在分不开了,句法引进语义、甚至常识(碎片),都是合理的。
白:
狗和咬是应该做出来的
李:
“狗”和“咬” 分开了,是因为 “放狗” 是一个分离合成词。“狗咬” 也可以看成是一个合成词。两个合成词相交了,句法原则上不进入词法,这时候,没出来在句法上情有可原,语义模块要想再挖出,条件是具备的。同理,下面的“同事”、“邻居”、“儿子” 都有人与人之间关系的坑。句法阶段只要不影响大局,不用纠缠这些关系的语义细节。都是 mod。先连上再说,这个parsing 还是脉路清晰的。
白:
太死板了
李:
汉语句法已经够麻烦了。个人的体会是,能简化就简化,尽量给句法减压。这对系统的鲁棒、维护和周全,都有好处。后去爱做多深做多深。反正条件只是更好,不会比做句法的时候更差。
白:
狗和咬连不上是硬伤
李:
以前说 parsing 是可以见底(tractable)的事儿,主要指的是句法总体。如果把逻辑语义的每一个细节,包括隐含的,都一一解析出来,就很难说是可以见底的了。所以,总体上的感觉是,句法模块基本可以做周全、完备,而语义模块则是一个 optional 的渐进的(incrementally enriched)。开发NLU产品的时候,语义落地模块应该以句法模块为基础,可以借力慢慢完善化的语义模块,但不要指望语义模块的完整性。所以我以前把句法后落地前的语义模块叫中间件,意思之一是可有可无。
白:
狗和咬,不是语义问题。
李:
狗和咬不是语义问题,那么吃与饭也不是语义问题。HowNet 是语义词典,不是具体语言的词典。查一查 HowNet,应该可以看到 【狗】 和 【咬】 的语义联系。
白:
不对,我说的是本句里狗和咬的句法联系是明显的。
离合词脱离句法后患无穷。
李:
来了来了:
“狗” 倒是 连上 “咬”了,可是与 “放” 的联系切割了。这在句法都没什么,另一边漏掉的,语义模块可以补全,如果需要的话。
白:
本来就是俩爹的结构
李:
兼语结构。不错。如果没有离合词的纠缠,就是一个句法内搞定的兼语结构。
真地无所谓。并不是做不出来。只是系统决定在哪里做方便而已。再如:
老师批评了谁,这也不影响句法总体框架,因此也可以搁置。
发现了什么?不影响,也搁置。(发现的是抄袭事件还是卷子?似乎是前者)
“打一巴掌” 句法动宾(也有一说是动补),逻辑语义是【方式】。“打李四” 句法动宾,逻辑语义【受事】。当二者同时出现的时候,前面的NP降格为 Mod,也是一途(cf:【李白之21:萝卜多坑不够咋办】)。句法结构仍然在:后去语义模块可以解析出【受事】和【方式】,if needed。
wang:
头一天上班,晚上又朋友吃饭刚回到家,看了李白对话。李老师的系统对以上句法解析不错。
句法解析的目的是给后面语义分析使用的,那些句子,如“发现“了什么?“批评“了谁?“躲”过了什么?谁“躲“的?在句法结果后,都是要解决的,也是最有价值的,白老师正是要去解决这些问题的,我定为”句法树(图)后“的问题。
李:
我以为然。
wang:
我在句法树阶段,李老师也许句法(图)阶段,但白老师是在做这之后的深挖。
李老师,我个人认为那个长句分析怎样,意义不是特别重要,纯个人观点.那句可能还存在语病,何况说者不喘气,听者(读者)也得歇口气吧!
【相关】