【李白之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下力可能太大太苦 ,不如把负担更多转嫁给语义唤醒。

 

【相关】

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

【李白对话录系列】

中文处理

Parsing

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

《朝华午拾》总目录

发布者

liweinlp

立委博士,自然语言处理(NLP)资深架构师,讯飞AI研究院副院长。前 Principle Scientist, jd-valley, 主攻深度解析和知识图谱及其应用。Netbase前首席科学家,期间指挥研发了18种语言的理解和应用系统。特别是汉语和英语,具有世界一流的解析(parsing)精度,并且做到鲁棒、线速,scale up to 大数据,语义落地到数据挖掘和问答产品。Cymfony前研发副总,曾荣获第一届问答系统第一名(TREC-8 QA Track),并赢得联邦政府17个小企业创新研究的信息抽取项目(PI for 17 SBIRs)。立委NLP工作的应用方向包括大数据舆情挖掘、客户情报、信息抽取、知识图谱、问答系统、智能助理、语义搜索等等。

发表评论