【李白之24:“这碗花纹很别致的”】

白:
“这桩打得头破血流的离婚案真是蹊跷。”
量词兼其他词类的情况,是很细的细活儿。

李:

:

白:
“这碗花纹很别致的冰激凌其实并不好吃。”“这碗花纹很别致的你可别错过了古董。”
这有难度了。“碗”的窗口要很大才能确定它是名词还是量词。

李:

感觉第二句是灰色句法,拗口,罕见。

白:
把后面从“你”开始截掉试试。
“这碗花纹很别致的。”

李:

白:
看起来是句法一本道。但是花纹是有坑的,大小主语结构同样说得通。但是前者量名搭配不相谐,后者大小主语相谐。好的分析器应该搞出后者。但是如果pos在别处做出来,无法利用大小主语信息,就不好说了。这里就存在一个问题,在pos意义上而不是在分词意义上的休眠唤醒。一本道被语义不相谐打断链条,转而寻求另一pos。这是matcher和wsd之间的双向互动,而不是单方向的上下游工序。

“这碗花纹精美。”

所谓一本道是在确定了pos之后的一本道,而pos恰恰是有可能翻盘的。遇见一本道与语义不相谐叠加,不应是如乔氏green ideas般强行闯关,而应是回头检视pos的其他候选。另外,大小主语之间,小主语往往是大主语的body-part、亲属/关系词或者是某个侧面特征(sentiment中所谓aspect),这个subcat层面的联系和相谐是十分明显的。要想pos不回头,就必须使pos“变相多态”,事实上承载多个pos。

李:
算对还是不对?我被绕糊涂了。

白:
分析出大小主语算对,分析出量名强制搭配不算对。
我是在揣摩你的pos是在什么地方确定的。为了得到正确结果,确定pos的那个环节该做些什么。是不是需要某种广义的休眠唤醒

李:
我基本不做 pos,以前专门论过:【中文处理的迷思之二:词类标注是句法分析的前提

白:
那此处的“碗”到底是不是量词?

李:
也是也不是。
论点是 pos 作为独立模块 也许对汉语 parsing 可以有些帮助。但是 第一 不是必要;第二 即便做 也不要做多做全,最多蜻蜓点水就够了。多做无益有害。

白:
不讲一般理论,就讲这个例子

李:
这个例子没看出 pos 的必要

白:
实践中,不做多做全,就必须留反悔的口子。

李:
词典里面 碗 是 【container】,也是 【器具】。这就够了。这是词典信息 不是上下文的 pos tagging。

白:
不管怎么说“这碗”是做了“花纹”的mod

李:
不错呀。mod 是句法关系,可以表达多种逻辑语义,【拥有】、【性状】、【色彩】、【材料】、【施事】、【受事】、【对象】等等,当然也包括【部分-整体】、【数量】。parsing 的句法阶段不细究属于何种逻辑语义。

白:
当然“这碗的花纹”在你那也是“这碗”做mod,小词被过河拆桥了。

李:
这不很好吗?同体后 要细分也是可以的,到语义模块去磨。

白:
感觉是耍了个高级流氓

李:
句法耍一耍 是正道。到了后面的语义模块 就要讲究 love 了,要有 chemistry,句法不到不得已 不谈恋爱。

白:
都勾搭上了,还不说自己是男是女的感觉
李:

李:
新智元笔记:中文处理中的POS、搭配和句法】, FYI for those who came to this group more recently

白:
到了今天这样鲜活的例子才知道这等原则落地是啥意思。

 

【相关】

新智元笔记:中文处理中的POS、搭配和句法

中文处理的迷思之二:词类标注是句法分析的前提

【李白对话录系列】

中文处理

Parsing

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

《朝华午拾》总目录

 

【数钱不如数小鸡,数了小鸡好过年】

今天除夕,先给各位拜个鸡年!

最近微信疯传这个段子:                     

千万不要在今天的23:59上厕所,否则你明年才能出来;千万不要在今天23:59失眠,否则你到明年也睡不着!千万不要在今天23:59吃饭,否则你到明年也吃不完,建议大家在今天23点59分59秒开始数钱,因为你数到明年也数不完!祝群里所有的朋友跨年夜数钱数到手软

我要说,新年是鸡年:数钱不如数小鸡,数了小鸡好过年。大除夕的,给你讲个老掉牙的【数小鸡的故事】吧。讲者有命数,听者有福气,2017 行大运,且听且过年。

        这是一个很久远的动人故事,只是结局有些让人扫兴。说是一位爱幻想的村姑,左手一只老母鸡,右手一篮子鸡蛋,走在冰天雪地里。她开始幻想这些鸡蛋都孵出小鸡,小鸡长大又下更多的蛋,这些蛋再孵出更多的小鸡,直到她拥有了全世界。她正数小鸡数不过来,一不小心滑倒在地,鸡飞蛋打。
        太太最近问我:“我们上次数小鸡是什么时候?你现在怎么不数了?” 我苦笑。经历太多的风雨跌宕,已经难有心情了,而且无论如何也超不过当年的想像力了。可太太说:我就爱听你数小鸡。是的,我们都很怀念以前数小鸡的日子。
        那是20年前,改革开放初见成效,解放区的天是明朗的天。我硕士毕业留社科院,事业顺风,提前一年获得助理研究员职称,又巧遇太太,喜结良缘,新婚燕尔,生活温馨甜蜜。
        导师成为老板,项目正要用人,自然百般呵护。除了不愿意让我出国外,其余一切均有照应,还主动介绍我到师母所在的中国音乐学院教授研究生英语,可以挣点外快。真是背靠大树好乘凉,免除了很多为分房职称而你争我斗的烦恼,没有后顾之忧,项目又能发挥专长,我当然一门心思扑在工作上。老板,太太和我皆大欢喜。
        说起教英语,我当年的学生中名人可不少,皆因中国音乐学院是中国民族音乐的最高学府,能够攻读研究生的都不是等闲人物,甚至名冠中外的作曲家金湘(当时是作曲系主任,曾创作歌剧《原野》)也是我的编外学生。其他学生如今有的官至音乐学院副院长,有的是中国琵琶皇后,还有的被誉为某少数民族偶像级“夜莺”。最知名的当然是第一夫人彭丽媛。平时聊起来,她对媒体恭维她是歌唱皇后或巨星什么的很不以为然,她 preferred 的称号是歌唱艺术家。彭丽媛本科时期一唱成名,就上了春晚,到了研究生阶段已经名满全国。常常她在上课,门外就有记者等着采访她。她当年演出任务很多,没有那么多时间在功课上。让人惊异的是,当我循环提问到她时,无论句子多长,我说得多快,她都可以八九不离十的复述出来。有些句子显然她并不熟悉。看来她的音乐训练培养了她敏感的听觉和极强的模仿力。音乐学院的公共外语虽然是研究生必修课程,毕竟不是他/她们 career 的中心内容。期末给她出题,让她带回家做,第二天交来。她大概是熬了夜认真做的,可以看出是个很有天分的人,也确实花了功夫。
        除了音乐学院代课,我还先后在社科院夜校和建国饭店讲授英语,学生有饭店招待,出租司机和社会上的三教九流。有些课太太也去听,她坐在后排,观察学生对我讲课的反应,回来跟我说,你就是纸糊马大嗓,没想到学生还挺服你。我当年年轻气盛,精力充沛,教英语不过是小打小闹,从来不认真备课,主要精力还是放在专业上。在年轻人中,我的成绩出类拔萃,在导师的支持下,我开始申请破格提拔副研究员。
        太太是双倍开心,因为我不但专业上受到重用,前景光明,而且在经济上也比同类知识分子强很多。社科院名声在外,却是清水衙门,在那个年代,多数人就靠每个月百十来块钱的工资。而我总有外快,头两年教授英语,后来兼职在中关村公司,做技术转移,开发机器翻译的产品,兼职的收入比工资还高,更不用提还曾挣到外汇,一不留神一夜成了万元户(见《朝华午拾:一夜成为万元户》)。当年也没有去银行的习惯,挣来的工资和外快全是现金,就压在枕头下面。记得每次拿钱回来上交太太,太太总是把新钱跟老钱放在一起,然后细细数它三遍,无误后再放回枕头底下。我开始不理解,提醒她只要把新挣来的钱数对就好,不用麻烦整个儿再数,还容易出错。太太笑而不答,我行我素,很enjoy的样子,我才明白原来数钱正是妙处所在。后来到海外很多年,起起落落,也有一贫如洗的日子,也有挣钱较多的时候,太太感叹道,银行是好,不管什么钱都直接入账,可再也没有以前数钱的乐趣了。
        钱来得快,花得也快。当时我们在岳母家住,岳父母辛劳一辈子把四个孩子带大,三个送入大学,一个进了中专,个个都很有出息,在四合大院百多户人家成为美谈。可是,光靠老俩口的工资,勉强度日可以,大件是没有能力置办的。太太是四个孩子的老大,最先工作和结婚,自然当仁不让。百废俱兴,家庭基本建设正需要钱的时候。所以,厚厚一叠的票子,买个大冰箱,哗,下去了一多半。钱很快又长高了,岳父弄来一张很难得的彩电票,全家买台彩电热闹热闹,哗,又下去一截,如此反复。让太太特别得意的是,不管怎么花,这钱总会再涨回来。太太告诉我,还是你们研究所大姐那天说的对:不能找金山,因为总有坐吃山空的一天,要找就找立委这样的金钥匙。
        当年工作真是刻苦,尽管社科院不需要坐班,而我差不多每天都在单位干到很晚,直到饥肠辘辘顶不下去了才骑自行车匆忙回家。一边骑车,一边想着岳母做的炸酱面、烙馅饼和其他家常美味(岳母和太太总是把我那一份留出来)。太太全力支持,对我晚回来从无怨言,可是看到我天黑未归,总是惦念。当年,整个大院才有一部传呼电话,很难互相沟通。很多时候,都是她等不及了,就出胡同去迎我,有时走出去好几条街也不见。好多次,我们俩走岔了,回到家,一看人没在,赶紧骑车回找。找到就带在车后回转,进入长长的菊儿胡同时,总是小俩口牵着手,一路聊着天回家,感觉温馨而浪漫。
        岳母家在东城区鼓楼附近的老四合院里面。周末我们常常在胡同散步,一边胡吹海侃地“数小鸡”。太太常说,连想都不敢想的人,还会有什么出息。她坚信我无所不能,总是鼓励我解放思想。我逐渐发现,无论我怎么海吹,她都很开心。而且吹得越神,她就越开心。不就是图个开心么,反正吹牛不用上税,又没有外人听见,所以我就可劲地吹。从茅盾故居门前过,我就说,赶明儿把这座保存完好的四合院揽下来吧。后来一商量,觉得茅盾的四合院毕竟太小家子气,家门口的乌兰夫府上倒挺大,可外观也太寒碜,围墙上还有铁丝网,跟个监狱似的。于是开始把眼光瞄向北海附近的郭沫若旧居和宋庆龄的宫殿。终于有一天,小鸡数到了我们当年能够想像的极限:“干脆把十里长安街包下来得了。”
        太太问:“包括紫禁城和中南海么?”
        我说:“当然”。

记于2006年九月一日劳动节前夕

说老实话,这个年过得不平静,不仅仅因为川普上台。所以才老有怀念过去数小鸡的好时光。But this is life,一切在变,唯有变不变。愿各自平安。

【相关】

社媒挖掘:第一夫人光彩夺目赞誉有加

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

《朝华午拾》总目录

 

【语义计算:关于解析逻辑语义角色】

白:
“每人选一种动物做研究。”“每人选一个小伙伴做研究。”

我:
好吧,来两颗圣诞奇异(歧义)树,祝各位圣诞快乐!

当树长得不像树的时候,我们开始怀疑。人可以做研究,动物可以做研究吗?都可以。不过一个主动,一个被动罢了,但汉语的被动不必用显性形式(“被”)。汉语做研究比英语难。
== 汉语被做研究比英语(被做研究)难。
== 对汉语做研究比(对)英语(做研究)难。

总之,“做研究”有两个坑:施事和对象,前者要求【human】or【institution】
后者无要求:无事不可研究。

宋:
有些情形不好办:小王带着哥哥到北京看病。谁看病?
老王带着老伴回乡创办了一所小学。谁创办了这所小学?

我:
parse see see:

宋:
连动结构后动词施事的确定有时是模糊的。

我:
这种模糊貌似不是语言自动分析的问题。因为可以假想有一个没有歧义的表达形式,人要用这种形式去表达上面的两句自然语言语句,我觉得表达的人自己会感到困惑。换句话说,人的表达有时候需要模糊,人的理解有时候也不在乎那个模糊地带的定点。这时候,如果一种表达形式不给模糊留下余地,人就会手足无措,会被逼迫得精细起来。从这个角度看语义计算,有时候我们对这个计算有不合理,也不切实际的要求。人自己都模糊的东西,不能指望机器去黑白分明。人自己需要有模糊区间的表达的时候,不能说这个语言应该清晰到区间的定点。

白:
问题不在于有模糊性,而在于模糊性其实是限制在一个精确的范围里,我们如何把精确范围的表达纳入句法结构的表现?比如这一句“丁丁拉着妈妈去了少儿图书馆”
还有宋老师的两个例子
“小王带着哥哥到北京看病。”“老王带着老伴回乡创办了一所小学。”
“丁丁和/或妈妈”、“小王和/或哥哥”、“老王和/或老伴”
这样的表达应该在句法结构的表现形式上有对应物。
“跑不了是两个之中的一个或两个”
这样的填坑逻辑要能够体现在句法结构的表达之中。

我:
丁丁那句目前是酱紫滴:

我:
白老师说得对。
目前还没有公认表达法 来区分句法关系的两种 or, 但要想加 也不难

白:
next也好,合并也好,说的都是两个谓词有坑要共享,而且共享的位置可能只有一个。现在来了两个候选(就算前一个谓词有一定引导作用但也往往不明确,除了兼语),在没有更多语境信息的情况下,只能是一个有明确嫌疑范围的悬案。

准备了一个坑,两个萝卜都有资格进,弄不好其中一个还可以免额度。这就是“和/或”算子的由来。如果语境能提供进一步的知识,它可以锁定为“和”,也可以退化为“或”,甚至可以精确落地到两个候选当中的一个。

“张三在答辩中回答问题正确。”此句的root在“回答”还是在“正确”?
“回答问题正确”“问题回答得正确”“问题回答得正确了,才能获得奖品”
感觉“回答问题正确”有主谓结构的倾向啊。“回答问题”做主语,“正确”做谓语。可是被后面那些“正确”做补语的出来一搅和,又不坚定了。
“问题回答正确了,才能获得奖品”
“回答问题正确”的最外层说的是“回答问题”还是“回答正确”?我认为是后者。
“正确”是比“回答”高一阶的谓词

单独定性怎么都好办。关键是如果主谓结构成立,那么得字结构的“补语”地位就至少要动摇一下了。或许“得”的作用就是把前面的谓词名词化(降格),以便后面的谓词上位呢。那么,“正确”这个谓词就是个高也能成低也能就的主儿:遇到带“得”的谓词,它当名词吞了;遇到不带“得”的谓词,它当谓词吞了。这是个“变色龙”坑, 我们把这种坑表示为“X”,类似扑克牌里的“混儿”(wildcard)。


当然,root统一为“正确”

这样,跟汉语“张三回答问题正确”或“张三问题回答得正确”对应的英语是 “Zhang San's answers to the questions are correct”。而跟汉语“张三正确地回答了问题”对应的英语是 “Zhang San answered the questions correctly”。

宋老师例子里还涉及到亲属词,亲属词带坑,但坑这里也有一个前置的逻辑门,标配是小王,例外从语境中找小王之外特别提及的说话人乃至外号叫“哥哥”(如张国荣)的命名实体。

 

【相关】

【李白对话录系列】

中文处理

Parsing

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

《朝华午拾》总目录

 

 

 

 

【李白之23:“一切都在变,只有变本身不变”种种】

白:
“一切都在变,只有变本身永远不变。”
前后两个“变”动词特征明显,中间那个“变”怎么说?

我:
有了“本身”来构成chunk,那就是动名化的意思。
x 本身 --》 NP

白:
“这个学校就爱拿本身的那点光荣历史说事儿。”
好像这规则有副作用
在贴这个例子的时候,伟哥说的规则已经在脑子里转了N转,但还是感觉不那么简单。似乎一堆爹在抢儿子,儿子归谁跟爹们的场上表现有关。

我:
那就 fine-tune 呗:

“本身” 可以独立成 NP,“x+本身” 也可以成 NP,怎么区分呢?
tricky,不过磨细活总是可以磨。只说 x 是动词的情形:一种是限定 x 是什么样的 v;一种是限定x不能是怎样的 v。后者的话,第一个条件可以是 这个 v 不能是可以做 prep 的 v,于是“拿”踢出去了。当然这感觉还是 underkill。

白:
糊弄老板可以,如果自己是老板,不情愿这么干。

我:
还有一种就是拓宽 context:不过那个法子也 tricky 因为每拓宽一个 token,又增加很多可能性要 include or exclude,但所有的歧义区分如果需要看上下文条件手工调教,都是这么个事儿:precontext and/or post-context and/or include-or-exclude conditions on self, 手工系统让人抓狂就在这里。

白:
我是这么考虑的:作名词的“本身”一定有先行词,因此先行词的匹配特征一定会继承到“本身”上来。以“这个学校就爱拿本身的那点光荣历史说事儿。”为例,“学校”与“历史”的匹配特征,会被“本身”继承下来。于是,从“历史”反推,可以给先行词候选“学校”加分,而另一个先行词候选“拿”却得不到这样的加分。“爹们”的角力,就这样决定了“本身”的命运。

我:
这个有理。把 chunking 的边界问题 转化为 self 的 binding 的问题。不过上面的那套思路实现起来 也不是那么直接。听上去是一个 procedure, 而不是一个 pattern

白:
不需要procedure,确定一个标配的先行词,匹配特征差再唤醒非标配的。
比如,最近出现的名词作为标配的先行词。如果名词太远或者名词匹配特征得分太低,再启用左侧邻近词作为先行词。当然与“本身”呼应的也可能不是先行词而是后继词,比如“以本身的实力而论,张三是考不进清华的。”

我:
这个机制不是通常的 pattern matching 可以实现的 吧。通常 FSA 的 runner,运行的时候可以加一些 config。暂不考虑“本身”的 binding,句法捋顺倒也不难:

白:
后继词也可以设定标配。这就显出坑论的好处了。“本身”挖个坑,左侧名词优先填坑,左侧邻近词次优(如果不是名词还要给它变性)。由于是共指关系填坑,不耗费萝卜指标(还可以填其他坑)。
不做pattern matching
btw,昨天讨论的闭环填坑也不耗费萝卜指标。用填坑来取代pattern matching,规则按词典化的方式组织更方便。

我:
有意思。

白:
“那些质疑凯文·凯利的朋友,我真心怀疑是否认真读过他的书”

我:
他?
一共就俩 candidates,都联上算了,爱谁谁。到语义落地,大不了生成两个 insights,至少 recall 是保全了。

白:
(1)怀疑谁?(2)他是谁?(3)前一小句本可不作定语从句解,如何排除的?
这些问题是连带的,一环扣一环。

“三十里有几个五?-六个。”
即使数量结构这么铁,也有不该在一起的时候。
“三十里有多远?-不远,十来分钟就到。”
等判据出来,不知道要几个词。
“因强烈不认可挪威国家石油终止合同 中海油服提起民事诉讼”
谁不认可?
“因不满老师虐待儿童口出狂言张三愤然辍学。”
谁口出狂言?
理由?

我:
先 parse 看看:

最后一句掉链子情有可原,貌似人理解也有困难。原句似有语病,总之不对劲儿。

 

【相关】

【李白对话录系列】

中文处理

Parsing

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

《朝华午拾》总目录

 

【李白之22:兼语式的处置及其结构表达】

白:
hownet坑的供给比较充分,但是也很难说一定不会超出上限。(董老师可以试试“这场火多亏消防队来得及时”)

有很多其他类型,比如,“穿着拖鞋就走出来了”。不知道该贴啥标签。还有“撸起袖子加油干”。这两个例子中,在时间上,伴随行为本身在前,伴随行为的遗留状态持续时段包含核心行为持续时段。比如,撸袖子的动作在前,然后遗留状态持续,然后加油干持续,然后加油干结束(或有),然后放下袖子(或有)。

李:
with sentiment:

at least for semantic landing to sentiment, the parse gives decent support。

宋:
O和ObjV是什么关系?

李:
宾语和宾语补足语

白:
比如:知道你来了。你是O,来了是objV

李:
not really

宋:
@wei 你的论元关系分析,相当炉火纯青了。

李:
宋老师果酱。

白:
这俩的区别?“消防队来得及时”为啥不可以是objClause?

李:
“多亏” 直接 link “消防队”,“知道” 不直接 link “你”,only linking to the event

白:
我是问,是否直接link,准则是什么?有什么必要区分这两者?

李:
语言学家的多数有共识。词典subcats 印象也是区分的,落地时候也发现有益。

白:
但很多研究汉语语法的人并不认为汉语有“宾语补足语”的。准则是什么呢?一词一议?
sentiment传递?
“我讨厌他总出差”
这里的“总出差”成了objV,“他”是O。“讨厌”的负面属性可以传递给O,是吗?如果这样,O必须是objV的逻辑S,否则,“我讨厌花摆在阳台上(,掉下来砸到人怎么办?)”
里面的“花”就要受牵连了。

李:
对。

我讨厌ipod
我讨厌iPod老死机
我讨厌花儿
我讨厌花儿老养不活

这事儿真细究的话,属于 subcats 同形打架:带 clause 的句型与带宾补的句型。

白:
“我喜欢厕所门朝北开”
问题是要给宾补一个存在的理由。理由不存在,打架就不存在了。

李:
几乎所有的汉语文法(英语文法亦大同小异)都区别下面三种句型:(1)动宾式;(2)兼语式;(3)宾语从句式。动+宾+宾补的 representation 反映的是兼语式句型。兼语是一种简省的说法,不是一个单纯的(atomic)的关系成分标签。兼语说的是既当V1的宾语又当V2的主语。表面上看,只要我们连上了 O,也连上了 S,所谓的宾补V2 也就间接连上了 V1,因此 把 V2 直接联系上 V1 作为宾补似乎没有必要。问题是,那样的 representation 不能表达 V2 在结构configuration上是低于 V1 的。事实上,这是一个典型的 right branching recursion,V2 是一个 VP(V-bar according to X-bar theory),V1 只是一个 lexical V (V no bar),V2 代表的 VP 整体都是包含在 V1 所辖的边界内。帮助 V1 构成一个更大的 VP。V2 的 VP 也可以是一个兼语式 (递归)。

白:
对。兼语句前后句的坑共享没有疑问。有疑问的是后句不必是前句的objV。在能清晰表达坑共享的前提下,V2有必要成为V1的直接成分吗?如果是,那就做小句宾。如果不是,就是松散的两个谓词做兼语式。为什么要弄出个第三条道路?

李:
小句宾 与 兼语式 有相同的地方,有不同的地方,也有灰色地带。

白:
我知道你来。我喜欢你来。
这是一样的结构。

李:
不能拿灰色说事儿。“得悉”,只能带小句,不能带兼语,这是黑白分明的 case。

得悉你来
* 得悉你

灰色地带最突出的案例在英语的 minimal pair:

I demand him to leave immediately.
I demand that he leave immediately.

白:
这是生成时才用得到的区别,分析时可忽略。

李:
英语句法上泾渭分明的两个句型,在逻辑语义深层其实是大同小异的,很灰色。

白:
汉语里没必要弄出第三条道路

李:
不一定只有生成才需要区分。语义落地也可能得益。如果没有宾补的直接联系,我问 O,就不能区分单纯的 O 和带宾补的 O,如果所有的兼语都变成 宾语小句。

白:
我派你去,就是“我派你”“你去”不需要让“去”从属于“派”。
或者说,“派”不需要给“去”预留一个坑。

李:
那就切断了动词 V1 与兼语的直接联系。必须通过 V2 才能间接联系到兼语。

白:
错,萝卜共享就是联系

李:
有时候我们不在乎是 宾语 还是 兼语,我们就没办法用同一个子树句型做抽取。譬如,“多亏”:

多亏老李。
多亏老李送我回来。

这两句要找感谢的对象,就无需区分 宾语和兼语。

白:
这没什么不好。多亏我处理成副词。“多亏了”也是一个副词

李:
如果第一句是 VO 第二句是 V+Clause,就必须用两个句型才能捕捉。

白:
多亏老李,是副词升格为动词。

李:
关键是,有时候我们需要区分宾语和兼语,有时候我们不要区分,为了同时照顾这两种需要,把兼语处理成子句是不妥的。

白:
可以不从句法上区分,而从词典来区分。

李:
退一万步,多一个宾补的直接联系,只有好处,没有坏处。

白:
我的处理是要么包进来要么切断。多了歧义打架需要处理,而这本来可以是伪歧义。

李:
是真歧义,那就该处理。是伪歧义,也可以硬走一线,系统内是可以保持一致性的。你这里所谓伪歧义的情形实际是灰色地带,或两可地带,系统内部可以规定走哪一线,内部协调即可。伪歧义的真正困扰是系统无法区分,随机走路径。如果有办法确定性地走一条路径,理论上的伪歧义在实践中就化解了。传统 parser 的伪歧义困扰是,伪歧义与真歧义混淆在一起,使得真歧义无法 stand out (being  identified)。这里的情形不是。

白:
中间没有N的,也有助动词和补语两种可能性。助动词带的谓宾真包进来,补语我处理成共享萝卜的对等合并,与所谓核心动词并无隶属关系。只不过形式上把根让渡给前面核心动词而已。
看看前面的例子,“我喜欢厕所朝北开门”,什么特征决定了“厕所朝北开门”是小句宾?

李:
不好说。
假如有一家厕所公司专门建厕所,就好像苹果公司造 iPhone 一样,“喜欢厕所朝北开门” 与 “喜欢iPhone照相清晰” 有什么根本区别?再如,“喜欢厕所清洁卫生”。

与其花力气区分灰色地带的兼语 from 子句,不如一条路走到黑,对灰色的那些词规定一条路径。到落地的时候,如果需要,再进一步 fine-tune 来决定。如果是 sentiment 落地,就可以这样来 fine-tune:“喜欢”的兼语必须是产品或其他实体专名,才可以让其得到 positive sentiment,这是从严的 fine tuning。从宽的 fine-tuning 可以要求兼语不能是带有贬义色彩的名词,assuming “厕所”是这种类别。但是这种 fine-tuning 的拿捏,只对做“兼语”的名词需要,如果“喜欢”所带的不是兼语,而是纯粹的名词宾语,那么不管宾语是王八蛋还是杀人犯,喜欢的 positive sentiment 还是落在宾语身上。

当年的德国,很多人喜欢甚至崇拜希特勒。” 对于希特勒,这是 positive sentiment。但是,cf:

我喜欢希特勒被处以绞刑,而不是自杀身亡,逃避人民的审判。

这句中的“喜欢”,对于 希特勒 就不是 positive sentiment,因为 parser 把希特勒parse成有宾补的O(即兼语),而不是纯粹的 O

白:
喜欢厕所朝北开门 与 喜欢iPhone照相清晰 有什么根本区别?---这话也是我想说的,但我认为它们都是小句宾句式,与兼语无关。

李:
我要说的是,对于这样的 cases,要不一律处理成兼语。要不一律处理成小句宾语,只要 consistent 即可。

白:
希特勒那句,也是小句宾,没兼语什么事儿
什么情况下sentiment可以穿透到下面一层的成分,不是由句法决定,而是由另外因素决定。

李:
“我喜欢少年希特勒努力发奋。” 这句呢,也是小句?

白:

李:
我要说的是,对于有灰色地带的那些词和句型,可以人为规定一条路径。
区分:“我喜欢少年希特勒努力发奋” “我喜欢老年希特勒被处绞刑”,一个是对“希特勒”是褒义,一个不是。

白:
褒义针对整体,是否传导到部分,it depends, 针对整体都是褒义。

李:
说的是部分。我喜欢【human】和 我喜欢【human】VP,对于这个 human,默认是褒义的。

白:
要区分的只是能传导到部分的褒义和不能传导到部分的褒义。我喜欢【human】vp 是天经地义的,喜不喜欢其中的【human】,不由句法决定。
在我这里不默认。而且默认sentiment设定,和搞出一个句法类别,也是两回事。

李:
默认有很多便利。偷懒的时候,默认在统计上对数据质量有好处。默认这东西,不用白不用,尤其是从工程和实用上考量。我目前的 “喜欢” 的 sentiment 规则,不论中文英文,都是走默认的道路:管它后面的 NP 带不带 VP,只要 NP 是 entity,就默认是 positive 落地了。这个 practice 在实践中有莫大的好处。 “喜欢希特勒 VP” 这样的可能的例外极其罕见,以致于根本不必在默认之外再费力气去区分。而 “喜欢厕所VP”不算例外,无害:depending on 厕所是否看成是 entity,或者被排除在语义落地的雷达之外;或者落地了,也是正确的。

白:
充其量是个heuristic

我喜欢张老师讲古代史,不喜欢张老师讲现代史

李:
这个不是反例,前半句是 褒,后半句是 贬,都落地到 张老师身上。

白:
加分减分都没问题。问题是逻辑推论有没有。喜欢张老师和不喜欢张老师如果都是逻辑推论就有问题。讲逻辑的人是分得很清楚的,喜欢,对事不对人。sentiment也是很清楚的,一个给张老师加分,一个给张老师减分。但是确实没有“喜欢张老师”和“不喜欢张老师”这两个逻辑推论。

李:
回到原来的 arguments,如果 (1)我喜欢张老师;与 (2)我喜欢张老师讲古代史,是两个不同的 parses,sentiment 落地的时候,就必须有两个规则来对付这两个不同的结构

白:
这个很难吗?我不觉得。爱屋及乌,爱小句及小句逻辑主。一句话的事情.

李:
天下无难事。
但是,对于如此基本而普遍的 sentiment 的表达(love类 和 hate 类),本来可以直接搞定,非要绕一个弯儿再搞定。本来一组规则,非要增加一倍的工作量去写规则,去维护,这是很不合算的。

即便不谈 sentiment 这个具体的落地应用,抽象来说策略,这个争论的本质就是:两个句型有相同的部分,有不同的部分,如何处理?其实没有普世标准,就是系统内的一致性和方便性,系统内协调。

白:
不是这样的,就是一个sentiment penetration属性赋值yes还是no的问题,直接写在相关动词的词典里。其他都不受影响。标配赋值no,需要设yes的明示。

李:
我喜欢他。
我喜欢他老实。
我喜欢他做好事。

换一个角度看,第一句和第二、三句在“我喜欢他”这个部分是一样的。后面的 AP 和 VP 也可以看成是喜欢的某个部分或方面(aspect)(或理由),这个角度是先对人后对事儿。与你的“喜欢”应该对事不对人,或由事及人,具有等效的逻辑性。即便我说“我喜欢X”,常识告诉我们,世界上没有完美的X。“喜欢X” 后面隐藏着后面的 likable aspects,X 与 aspects 是整体与部分的关系。

白:
我喜欢他,我喜欢他老实,我喜欢他的老实。VS
我喜欢这本书,我喜欢这本书出版,我喜欢这本书的出版。

也就我们这种领域,讨论一个语言学概念的立和废,也要扯上系统甚至应用。

李:
是从部分的角度来推及整体,还是从整体的角度推及部分,不过是角度不同。

白:
如果一个arg,是这样。角度不同。两个坑就未必了。

李:
就好比半瓶水,一个角度看到了半瓶水,另一个角度看到了半瓶空气,都是有效的逻辑。

白:
我喜欢这本书出版,和我喜欢这本书,不是延展后者的关系。我们还可以说,我喜欢这本书春节后再出版。喜欢的重点既不在书也不在出版,而是在出版的时间。可以既不喜欢书,也不喜欢出版,只是对那个出版时间情有独钟。一个坏人干了件好事,我们总可以喜欢那件好事吧。不需要扯上喜欢坏人。

一个出版商可能对某本书恶心到吐,但是那本书的出版可以帮他赚大钱。他喜欢“那本书出版”但不喜欢“那本书”也是情理之中的。heuristic可以进入系统,但进入语言学是否合适要画个问号。进入系统也有“诛心”之嫌。喜欢坏人干的某件好事,被当成支持坏人的证据,这样的系统大家都要当心了。

李:
喜欢坏人干的某件好事,被当成支持坏人的证据,在情感分析上没有错。在大数据分析的时候,点点滴滴皆证据。坏人干了好事儿,只要被提到,就给这个坏人加了一分(褒)。这一点儿也不影响对于这个坏人的舆情分析全貌。恰恰相反,这才是真实的舆情。如果坏人干了好事儿被提及 m 次,坏人干了坏事儿提到了 n 次,纯粹厌恶坏人的情绪表达提到了 o 次,纯粹喜欢坏人的情绪表达提到了 p 次(p 通常接近零),那么这个坏人的褒贬指数,就是 (m+p) 与 (n+o)的比例。请放心,p 基本是 0,而 m 也会远远小于 n,这个大众舆情不仅靠谱,而且真实,bias free。

宋:
我喜欢希特勒自杀。

李:
宋老师的这个例子前面已经论及。回顾一下就是:情感分析中,“喜欢”的默认规则的确可能把它算成是对“希特勒”的正面评价。因为这个默认规则是把宾语和兼语同等看待,不去问后面的宾补 VP。理论上,这个结构根本就不是【宾语+宾补】的结构,而是【宾语子句】的结构,但是由于区分二者对于“喜欢”这样的词,有一定的难度,所以我们可以在 parsing 阶段一律当成兼语结构处理和表达。这样一来,默认的sentiment规则就会犯错。

犯错怎么办?如果这种案例极其罕见,不值得做,那就算了,因为默认的sentiment规则在绝大多数的场合是保证了数据质量的。如果觉得还是值得做,那就在默认sentiment规则之上再做一条规则去 override 默认。这条规则不需要改变 parser,而是利用 parsing 在这类结构上的 consistency(错也错得可以预测) ,将错就错,矫枉过正,把这个错纠正过来。换句话说,这个策略等于是休眠唤醒,不过这个休眠唤醒不是在 parsing 的后期进行,而是在 sentiment 语义落地的时候进行,其效果等价于把【兼语式】重新分析为【宾语小句】,切断“喜欢”与“希特勒”的语义直接联系。

不知道我说清了没有。可能有人会问:既然在语义落地时候要做类似休眠唤醒的工作,为什么不索性在parsing里面(parsing的后期,语义模块)里面做休眠唤醒呢?理论上,提前做休眠唤醒,使得parsing更精准,可以benefit不仅仅这个 sentiment 的语义落地,还可以 benefit 其他的语义落地和应用的场合。但是,实践中在哪个阶段做合算,不是那么简单。因为休眠唤醒这些事儿大多是长尾现象,鸡零狗碎,做不胜做。在还不能确认到底有多少好处前,往往顾不过来在 parsing 中统一处理好。而且很多时候,做了也白做,你需要用到那个落地或那批落地也许根本就用不到。

Anyway,point is,落地的时候是可以包容 parsing 的错误和不足做包容性产品开发(adaptive dev),只要 parsing 是可预测的数据结构,是有内部直通车的,而不是 offshelf  拿来的 parser,缺乏足够的内部支持和协调。Having said that,如果确实事先可以 identify 一些带有普遍性的休眠唤醒现象,以及可以惠及很多可能的语义落地应用,而且也有足够的时间和资源去做这些细线条的深度语义工作,那么不要等到落地就在提前在 deep parser 的语义模块里面做好,当然是更理想的情况。

白:
对坏人的褒贬判断,对事不对人自然左右不了大局,没什么可担心的。问题是拿对事不对人的表述做以坏人为参照的站队分析,这就很可怕了。

李:
可怕啥?或者就是大海里的一颗老鼠屎,丝毫没有影响。或者就是,用休眠唤醒杜绝它(它=“拿对事不对人的表述做以坏人为参照的站队分析”)。休眠唤醒之所以可以进行,是因为 parser,已经准备好了结构基础:要啥有啥,哪怕这个 parse 是不完善的。要 O 有 O,要 宾补 有 ObjV,要逻辑 S 有对于 V2 的逻辑 S,四通八达的路径都在。driving word “喜欢”也在,可以词驱动。所有的结构的节点词的信息,包括 ontology 都在,包括 “希特勒” 是个独裁者、通常是坏人这样的信息也都在。有了直通车,啥事儿做不成?什么案子不能翻?什么深度休眠不能唤醒?什么具有统计性的“可怕”的后果不可以杜绝?

白:
分析成小句宾,诛心或误伤的责任就不在分析器的开发者。而在后道工序。否则人家会说,都是你分析的我喜欢希特勒,我哪儿喜欢了?一颗老鼠屎,也那个。对于小句宾来说,没分析出我喜欢希特勒,这大不一样。但是小句宾结构与“喜欢”结合,大概率被穿透,这句话可以说,之后也是要啥有啥。谁用了谁负责,但分析器的开发者也没说错话。

李:
话说到这份上了,其实也没有多少进一步需要辩护各自做法的 arguments 了。选择这个兼语的表达,肯定不是因为明明知道处理成宾语小句更好,而不为之。一定是自有苦衷和盘算。

白:
我若干年前也用过这样的表达。最典型就是“我是县长派来的”,把其中的“来”也作为“派”的一个arg。后来发现,其实去掉它没什么损失。因为“派”和“来”共享了一个萝卜,所有联系都在里面了。

李:
隐约的感觉是,去掉它在逻辑语义深层没有损失,可能的损失是句法表层的痕迹(语法学界叫做 configuration info,就是 X-bar 理论里面的 bar 的信息)。

白:
这是有很多其他途径可以记录的

李:
留住它就是留下了这种 bar 的痕迹,就好比我们利用小词解构了实词之间的句法语义关系以后,我们并不把小词当敲门砖丢弃,而是用 X 挂上一样。虽然 理论上,这些小词对于深层语义已经没有意义。另一个例子是主动被动,到了逻辑语义的核心,这个 voice 的不同色彩,没有地位,可是语言分析中,留下表层的 voice 信息,还是可能对语义落地和应用有好处的。

 

 

【相关】

【李白对话录系列】

中文处理

Parsing

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

《朝华午拾》总目录

神经机译:川普宣告,米国人民今天站起来了

川普宣告,人民当家作主,米国人民今天站起来了!

川普今天总统登基,发表就职演说,谷歌神经翻译如下,请听(作为一个老机译,给这篇机器翻译打分的话,我会给忠实度85分,顺畅度90分,可懂度95分,个人觉得已经超越人工现场翻译的平均水平。当然,演说一般属于翻译中容易的部分。演说写稿人为了效果,喜欢用短句、白话,喜欢重复):

TRUMP:首席大法官罗伯茨,卡特总统,克林顿总统,布什总统,奥巴马总统,美国人和世界人民,谢谢。

我们,美国公民,现在加入了伟大的国家努力,重建我们的国家,恢复其对我们所有人民的承诺。
在一起,我们将决定美国和世界的路线许多,未来几年。我们将面临挑战,我们将面临艰难,但我们将完成这项工作。

每四年,我们将采取这些步骤,进行有秩序和和平的权力转移,我们感谢奥巴马总统和第一夫人米歇尔奥巴马在这一过渡期间的恩典援助。他们是壮观的。谢谢。

然而,今天的仪式具有非常特殊的意义,因为今天我们不仅仅是将权力从一个政府转移到另一个政府,或从一个政党转移到另一个政府,而是我们从华盛顿转移权力,并将其交还给你,人民。

长期以来,我们国家首都的一个小团体获得了政府的奖励,而人民承担了成本。华盛顿蓬勃发展,但人民没有分享其财富。政治家兴旺,但工作离开,工厂关闭。企业保护自己,但不是我们国家的公民。他们的胜利不是你的胜利。他们的胜利不是你的胜利。虽然他们在我们国家的首都庆祝,但没有什么可以庆祝在我们的土地上奋斗的家庭。

所有的变化从这里开始,现在,因为这一刻是你的时刻,它属于你。

它属于今天聚集在这里的每个人,每个人都在整个美国。这是你的一天。这是你的庆祝。而这个,美利坚合众国,是你的国家。

真正重要的不是哪个党控制我们的政府,而是我们的政府是否由人民控制。

2017年1月20日将被记住为人民成为这个国家的统治者的那一天。

我们国家被遗忘的男人和女人将不再被忘记。

每个人都在听你的。你来自成千上万的人成为历史运动的一部分,世界从未见过的那些喜欢。

在这个运动的中心是一个关键的信念,一个国家存在为其公民服务。美国人想要他们的孩子的伟大的学校,他们的家庭的安全的邻里,并为自己好的工作。这些是对义人和公义的公正和合理的要求。

但对于我们太多的公民,存在一个不同的现实:母亲和儿童陷入我们内部城市的贫困;生锈的工厂散落像墓碑横跨我们国家的景观;教育制度与现金齐齐,但使我们年轻美丽的学生失去了所有的知识;和犯罪,帮派和毒品偷走了太多的生命,抢夺了我们国家这么多未实现的潜力。

这美国大屠杀停在这里,现在停止。

我们是一个国家,他们的痛苦是我们的痛苦。他们的梦想是我们的梦想。他们的成功将是我们的成功。我们分享一颗心,一个家,一个光荣的命运。我今天所做的宣誓就是对所有美国人的忠诚宣誓。

几十年来,我们以牺牲美国工业为代价丰富了外国产业;补贴了其他国家的军队,同时允许我们的军队非常悲伤的消耗。我们捍卫了其他国家的边界 ,拒绝为自己辩护。

在海外花费了数万亿美元,美国的基础设施已经失修和腐烂。我们已经使其他国家富有,而我们国家的财富,实力和信心已经消失了地平线。

一个接一个地,工厂关闭了,离开了我们的岸边,甚至没有想到数百万和数百万留在美国工人。我们的中产阶级的财富已经从他们的家里被剥夺,然后再分配到世界各地。

但这是过去。现在,我们只看到未来。

我们今天聚集在这里,正在发布一项新法令,在每个城市,每个外国首都和每一个权力大厅上听到。从今天起,我们的土地将有一个新的愿景。从这一天开始,它将只有美国第一,美国第一。

每一项关于贸易,税收,移民,外交事务的决定都将使美国工人和美国家庭受益。我们必须保护我们的边界免受其他国家的蹂躏,使我们的产品,偷窃我们的公司和破坏我们的工作。

保护将导致巨大的繁荣和力量。我会为我的身体每一口气,为你而战,我永远不会让你失望。

美国将再次赢得胜利,赢得前所未有的胜利。

我们将带回我们的工作。

我们将带回我们的边界。

我们将会

 

Google Translated from:

TRUMP: Chief Justice Roberts, President Carter, President Clinton, President Bush, President Obama, fellow Americans and people of the world, thank you.

We, the citizens of America, are now joined in a great national effort to rebuild our country and restore its promise for all of our people.
Together, we will determine the course of America and the world for many, many years to come. We will face challenges, we will confront hardships, but we will get the job done.

Every four years, we gather on these steps to carry out the orderly and peaceful transfer of power, and we are grateful to President Obama and First Lady Michelle Obama for their gracious aid throughout this transition. They have been magnificent. Thank you.

Today's ceremony, however, has very special meaning because today, we are not merely transferring power from one administration to another or from one party to another, but we are transferring power from Washington, D.C. and giving it back to you, the people.

For too long, a small group in our nation's capital has reaped the rewards of government while the people have borne the cost. Washington flourished, but the people did not share in its wealth. Politicians prospered, but the jobs left and the factories closed. The establishment protected itself, but not the citizens of our country. Their victories have not been your victories. Their triumphs have not been your triumphs. And while they celebrated in our nation's capital, there was little to celebrate for struggling families all across our land.

That all changes starting right here and right now because this moment is your moment, it belongs to you.

It belongs to everyone gathered here today and everyone watching all across America. This is your day. This is your celebration. And this, the United States of America, is your country.

What truly matters is not which party controls our government, but whether our government is controlled by the people.

January 20th, 2017 will be remembered as the day the people became the rulers of this nation again.

The forgotten men and women of our country will be forgotten no longer.

Everyone is listening to you now. You came by the tens of millions to become part of a historic movement, the likes of which the world has never seen before.

At the center of this movement is a crucial conviction, that a nation exists to serve its citizens. Americans want great schools for their children, safe neighborhoods for their families, and good jobs for themselves. These are just and reasonable demands of righteous people and a righteous public.

But for too many of our citizens, a different reality exists: mothers and children trapped in poverty in our inner cities; rusted out factories scattered like tombstones across the landscape of our nation; an education system flush with cash, but which leaves our young and beautiful students deprived of all knowledge; and the crime and the gangs and the drugs that have stolen too many lives and robbed our country of so much unrealized potential.

This American carnage stops right here and stops right now.

We are one nation and their pain is our pain. Their dreams are our dreams. And their success will be our success. We share one heart, one home, and one glorious destiny. The oath of office I take today is an oath of allegiance to all Americans.

For many decades, we've enriched foreign industry at the expense of American industry; subsidized the armies of other countries, while allowing for the very sad depletion of our military. We've defended other nations' borders while refusing to defend our own.

And spent trillions and trillions of dollars overseas while America's infrastructure has fallen into disrepair and decay. We've made other countries rich, while the wealth, strength and confidence of our country has dissipated over the horizon.

One by one, the factories shuttered and left our shores, with not even a thought about the millions and millions of American workers that were left behind. The wealth of our middle class has been ripped from their homes and then redistributed all across the world.

But that is the past. And now, we are looking only to the future.

We assembled here today are issuing a new decree to be heard in every city, in every foreign capital, and in every hall of power. From this day forward, a new vision will govern our land. From this day forward, it's going to be only America first, America first.

Every decision on trade, on taxes, on immigration, on foreign affairs will be made to benefit American workers and American families. We must protect our borders from the ravages of other countries making our products, stealing our companies and destroying our jobs.

Protection will lead to great prosperity and strength. I will fight for you with every breath in my body, and I will never ever let you down.

America will start winning again, winning like never before.

We will bring back our jobs.

We will bring back our borders.

We will ......

 

【相关】

Newest GNMT: time to witness the miracle of Google Translate

【谷歌NMT,见证奇迹的时刻】 

关于机器翻译

《朝华午拾》总目录

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

立委NLP频道

 

【李白之21:萝卜多坑不够咋办】

【立委按】核心成分 args 不过三 句型不过百 是我们语言学家对于世界主要类型的语言观察到的普遍规律 或曰普遍文法。语言的奇妙 莫过于此。可是思维没有这么简单 一个事件可以有很多成分。这个矛盾 语言怎么解决的呢?模型语言的 parser 又有怎样的对策呢?不骗你 做个语言学家真好 可以洞悉很多上帝和人的奥秘。

白:
你那个打铁的图,不大对啊

李:
白老师眼毒是出了名的。是的,“打-铁” saturated 在强搭配中了,就不应该再去外挂另一个宾语,这跟娶两个老婆同罪。系统目前没那个严苛,执法不力。但也说明了,后一个老婆也许应该降格,降成姨太太。如果宾语是大房,那么 complement 就是二房,打的是正室的铁(morphology 的 compounding),打的结果就是二房的钉子(syntax)。用逻辑语义的话说,一个是受事宾语,一个是结果补足语:是为打铁成钉。

众所周知,句法的宾语其实可以有很多不同的逻辑语义。默认标配的逻辑语义是受事。但对象、结果等都可以的。“打铁” vs “打钉子”,前者是标配的【受事】,后者是【结果】,但都可以以宾语的身份或分布现身。

白:
如果给盖房子的盖规定只有两个坑的名额:我,房子,木头,怎么填?
“他考清华研究生数学八十五分”
不止四个

李:
这是说的萝卜多,坑不够,是吧?

白:
“这些木头可以盖很多房子”

李:
这个不用试我就知道:目前就是主谓宾。将来细磨逻辑语义的话,“木头”是【材料工具】类的逻辑语义坑,房子则是【结果】。

白:
“这些木头我可以盖很多房子”

李:
这个也可以预测到,耍个流氓,不是 Topic 便是 Next,将来细磨 ontology,也可以让流氓从良。

白:
topic是温吞水,上不着天下不着地,既不是标配的成分,又没说填谁的坑

李:
不过一步之遥啊。但是 Topic 或 Next 所直接连接的 token,通常没错。换句话说,坑是填了,不过妾身不明,不知道跳进了啥坑而已。妾身不明是因为 knowledge poor,一旦有了大数据或有了 HowNet 类的本体知识,knowledge rich 了,也就可以验明身份了。

白:
穆斯林比旧中国好。说好了四个就不可以多。再耍流氓也只能在四个范围里耍。

李:
其实不是。这个问题我想过很久:世界上的语言五花八门,主要类型的语言都有一个突出的共性:就是句型非常有限,不过百(主要句型不过二三十个) 。主要原因是,句法上 arg structure 的坑是有严格的数量限制的,不过三。超过的部分肯定属于另类,那就打入另册 mods 。但实际上,语义层面的 args 和 adjuncts 的界限,比句法上的 complements 和 mods 的界限 要模糊得多。这就是为什么 hownet 里面的坑,比 句法词典里面的 subcat 的坑,有时候更多。本来二者是有映射呼应(correspondance)关系的,但从纯粹语义角度考虑,有些 mods 需要被拉进坑来,语义的本体定义才完整。这是我看 HowNet 董老师的处置得出的体会。

考清华那句也是醉了。语义上的 args 包括:

考-清华 【school】
考-研究生 【graduate program】
考-数学【knowledge】
考八十五分【RESULT】

加上主语 ”他“ 就是 5 args,即便把补语“85分” 当成后置 mod(当成谓语亦无不可),也有四个 args,这不符合 arg structure 原则上不过三的普世句法(UG)。我认为,正因为普世句法有这个args不过三的原则,才使得人类的语言的结构变得 tractable,人类语言因而可理解,方便了交流。三个 args 的排列组合可达 6 种,加上其句型变体可控制在百种之内(常用句型也就二三十个),几乎达到了人脑短期记忆的极限,哪怕再加一个,就几乎不可收拾了。人脑很可怜的。不得不佩服自然语言架构的恰到好处:说语言背后没有上帝是很难让人信服的,难怪乔老爷坚持普遍文法是人天生的、普世的。

可是逻辑语义上,同一个谓词可以有很多 args 的,这就造成了思维内容与语言表达的矛盾。自然语言又是怎么解决这个矛盾的呢?思维上的多坑,到了文句的句法不允许有这么多坑,怎么办?

白:
这是理论问题不是技术问题。技术问题是,准备了俩坑,来了三个萝卜,怎么处理?

李:
有了理论,技术还不好办?纲举目张啊。
技术就是:
syntactic parsing: 耍流氓
semantic parsing:根据 HowNet,教育流氓从良。
也就是,没知识就耍流氓,有了知识立地成佛。

白:
技术就是,其中一个萝卜历史上做mod居多,果断降级

李:
历史不历史,那是语言处理的时候,选择谁 out 的一个数据依据。关键是降级:萝卜多了坑不够,不降级还能怎么着?这才叫:英雄所见略同。

你那一路也行,但是还是重负前行。这个从大数据来的历史 不管怎么表示和使用,都是一个很大的 overhead

白:
在中间件里,matcher是极其轻装的。

李:
中间件庞大。call 它一下,等价于一次信息检索??这个也许 overhead 不大,可是怎么对付优选语义呢?不是相谐还是不相谐,而是多大程度相谐?或者比较另一可能,更相谐还是更不相谐?多大程度相谐是个无底洞,不说它。更相谐与否,就是一个是否判断。这时候提交的是两对。两次在线检索 才能在线比较计算大小,是不是?在线是因为无法预知哪两对需要比较,无法预先计算好。

回到白老师上面的问题:盖房子的“盖” 句法上似乎大家都认为就是两个坑:一个主语 一个宾语,who 盖了 what,但是从语义的本体定义和结构看,至少有三个坑: 【who】 盖了 【what】 by【what materials】。我常把这种多出来的语义坑看成是处于 args 与 mods 边缘地带的东西。还有一个典型的例子 translate:绝大多数动词最多有三个 args:主、宾、补足语,但是 translate 四个比较合适:[who] translates [what] [from what source] [into what target]。语言实践中,PP(from)常被当成状语,而不是arg,有人把 PP(into)也当成状语。这就是 args 降格为 mods 的结构处置现象。

面对萝卜多坑不够的语言表达困境,一般而言,主要是两个路子,(1)一个是迫使语言把多个 args 分散到不同的句子去表达,这样一来每个句子的结构还是在限定的坑数之内,subcat upto-3-arg patterns are very tractable;(2)给 args 降格:降格为理论上随机的 mods。由于(1),于是产生了句法的主语、宾语,可以对应10几个不同的逻辑语义的坑。

刚刚 parse 了白老师的句子,看看目前这个根据语言学句法原则制定的parser怎么对付多于3的萝卜, 结果是:

哈,果然。遵循普世文法来模型自然语言的 parser 采用的是降格,策略(2):“清华”的 arg 和 “研究生” 的 arg 都被降格成mods,只剩下 “数学” 作为 head N,堂堂正正填了宾语的坑。作为句法 parsing,这种处理是符合语言架构原则的,非常合理。但是作为深度分析和语言理解,句法被降格的成分,应该重新“升格”到 args 的逻辑语义 slots 去,语言深度解析才比较完美。逻辑升格了,其他句子的 “考清华” 或 “考研究生” 的说法,就会与这一句的说法语义一致,可以 unify。这个升格的任务,也应是语义模块的任务之一。语义模块不仅要填写句法上省略的 hidden args,而且要把部分mods升格为 逻辑的 args。这些 mods 是人类语言表达的时候被 UG 下意识降格的成分。

假如自然语言不是上帝为人类交流而设 假如我们为机器设计语言 我们完全可以扩展坑和句型的数量。Hownet 几个坑, 句型就几个坑 一一对应。不用现在这样,先句法句型入手 然后再 role labeling 填逻辑语义的坑。

白:
其实我并不关心上限是几,只关心超出上限了怎么办。hownet坑的供给比较充分,但是也很难说一定不会超出上限。(董老师可以试试“这场火多亏消防队来得及时”)

 

【相关】

【李白对话录系列】

中文处理

Parsing

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

《朝华午拾》总目录

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

白:
他写字好
他人品好

多么平行呀,为什么两个“好”待遇这么悬殊

李:
好 是一个百搭词。因为百搭 所以赶上谁谁:他好;人品好;写字好。

白:
其实就是有一个pos为wildcard的坑,我这里标记是X

李:
人品和写字 都有一个 “人” 坑:一个是【所有】,一个是【施事】。

白:


李:
没看清 “得”怎么带的“好”。

白:
箭头方向是坑,箭尾方向是萝卜。得的输入是谓词,输出是体词。好的输入既可以是谓词,也可以是体词。语义上是把动作转化为为对象,然后以对象的身份填坑。

李:
“好” 没疑问。说 “得” 输出 N, N 被“好”吸收,这个说法有些不好理解,也不大看得出好处。传统说法是 “得字结构” 做谓语的【补语】。不一致的地方在于得字结构怎么构成、谁先谁后。得字结构的构成是“得”有坑,而不是“得”先与谓语结合,然后去填坑。你这里parsing 的先后正好与传统做法次序相反。

白:
结合以后做主语,让“好”做谓语。不是“好”或者“得好”做补语。

李:
这个句法分析与众不同。“得字结构”构成很容易:

【得 ➕ 评价类形容词】 是一种; 干得漂亮。
【得➕vp】:跑得快(这时候 vp 的逻辑主语沿用前一个谓语的主语)。
【得 ➕ s】 是另一种: 气得他哭了。

白:
没问题,“他”反填回“气”不占名额,可以处理成一个。无非就是约定什么情况下一个萝卜填俩坑不占名额的问题。跑得快,和跑得上气不接下气,结构上没有本质不同。病得很严重,和病得起不来床,也是一个结构。并不因是否使用了评价类形容词而不同。传统所谓程度补语,都可以用这个套路。

但是可能补语好像不一样。搬得动,睡得着,考得上一类。跑得快,跑快了,跑快些,跑赢了 填坑结果一样吗?

李:
可能补语是词典扩展 lexical rule,算是词典一级的延伸扩展,不难处理。

白:


因循守旧最简单了,我之前就是这么玩的。垂直方向是填坑关系,水平方向是修饰关系。但是不知道谁填“严重”的坑。root也和语感不符。这样的结构也是可以有的:
“他的病很严重”和“他病得很严重”不应该在“严重”的填坑方面有大的不同才对。要么这样:

“得”的填入体“很严重”留下了一个待填的坑X。作为root的“病”,向自己修饰语的体内回填S,不占萝卜指标。这就成环了。

同理,“他病得起不来床”可以处理成:这次轮到体外的“他”向“起不来床”回填N。在体外不占名额,所以“病”照填不误;体内“起”“来”为合并关系,共享除了“床”之外的一个坑,也只用一个名额。所以从“他”出发的三个萝卜,竟有两个是不占名额的。

这么处理,如果不耽误回填,也挺好。反正再怎么折腾都只折腾“得”一个词条,跟别人无关。补语还是补语,但需要回填。的[N+/X]、地[S+/X]、得[+S/S]都有了。它们都是单进单出,去掉确实不影响拓扑,但是放在那里可以揭示语义类型转换的逻辑。

李:

关键是 “病”与“很严重”具有直接联系。另外,【human】作为 N 的 Mod 与 【human】作为 V 的 S,具有相似性。这个甚至在 X-bar theory 中就有所揭示(specifier and subj are both external args)。进入深层逻辑,可以认为这是同一个关系的两种变式。

白:
可以再推广:
这本书的出版,这套房子的装修,这款软件的开发。

不是S,不是human,也有同样的暗通款曲。

李:

白:
看不到“这本书”是如何填“出版”的坑的。

李:
还没做呢,自然看不到。都是 Mod 作为句法桥梁,语义中间件目前还没全到位。加上这个逻辑 O 不难,只要与逻辑 S 区别就好:“出版”的宾语坑,需要一个【publication】的萝卜,放松一点也起码是一个非【human】或非【organization】的萝卜。

白:
这一部分完全是探讨,与formalism无关,只是在formalism框架内探讨小词“得”负载结构的不同表示方法的优劣。

 

 

【相关】

【李白对话录系列】

中文处理

Parsing

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

《朝华午拾》总目录

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

【立委按】专业探讨的时候,第一要义是互相搞懂各自的术语。老司机的毛病是经年积淀,自成体系,自创术语,不拘一格。白老师有一套自己的术语,立委也有一套术语。好在过去一年来,在白老师的语义计算群唠嗑唠久了,互相开始明白了各自术语的所指。但对于后学,很可能就麻烦了。为深入虎穴,三探奥秘,我把相关术语编辑在篇末,供各位查阅,不准确处可请白老师指正。

白:
我们先解决“谁和谁发生关系”而不必具体明确“是何种关系”,只笼统地分成:“a是b的直接成分”、“a是b的修饰成分”以及“a是b的合并成分”三种情况。

洪:
@wei 八九十年代 Steven Small 有套Word Expert distribute parsing理论,当时ucsd的Garrison Cottrell和 umass的 wendy lehnert也有类似研究。

白:
word expert理论当年也跟踪过,因为跟汉语实际相差太远,后来不了了之了。

李:
Small 的工作以前常引用,因为我导师刘老师给自己的 MT 机制也取名叫专家词典。术语撞车了,不得不引。句法词典化作为大的方向,在parsing的人以及整个的NLP共同体,长期以来是有相当大共识的,虽然各有做法不同(GPSG以后盛行的词典主义的LFG和HPSG就是这种共识的一个反映)。白老师的分步走,想来是一条结合大数据和词典化的大道。第一步只做 dependency,而且允许以后反悔。只依赖词典,先塔个句法的架子,靠中间件的语义化操作来减除伪歧义的困扰。Parsing 的语义化不外两个层面,一路是 nodes 的语义,即wsd;另一路是 arcs 的语义,就是 matcher 的结构消歧工作,为了求解靠谱的 parses(白老师所谓二元关系)。其后的细线条逻辑语义解析,包括部分二元关系的休眠唤醒以及揭示隐藏的逻辑语义关系,算是深度语义计算。这两路靠的都是大数据与初始结构的“恋爱”结果来克服知识瓶颈,而不是靠带标的treebank。其中最有意思的工作应该是这个无监督大数据与初结构的恋爱学习过程,貌似水性杨花 漫天撒网 愿者上钩,最后根据统计性落实各自秉性与最佳搭配。等着听白老师这个无监督的核爆炸吧,大数据引爆这种针对 deep parsing 的语义知识习得,据说可借力深度学习的 RNN 机制。

白:
不务虚了,讨论点昨天出的具体的例子吧。总会有突如其来的不带介词的NP,让没有坑的VP措手不及。躲得过初一躲不过十五。大数据会告诉我们什么呢?比如,“那堆砖让我垒了鸡窝了”,垒,没有预备坑给“那堆砖”,怎么办?

李:
不务虚 那请教白老师几个问题:第一层词典化二元parsing 是 nondeterministic 吗
还是绝对 deterministic?那么粗糙的 parsing - 如果是后者的话,对后去的学习和反悔 感觉会不够给力。

白:
大数据变了,结果会不同。这算nondeterministic?

李:
不算。那是两套系统,依据的是不同的数据和训练,在不同的时间框架。
不是说不需要大数据吗?连二元关系的性质都模糊,就是先勾搭上而已。

白:
不需要带标大数据。性质可以模糊,但约束必须明确。比如萝卜什么时候占名额什么时候不占名额。Matcher不是语义中间件,他要用到语义中间件。wsd也要用到。一个确定节点标签,一个确定留下的二元关系。

李:
约束不就是词典里面的挖坑,实际中的填坑 ➕ 挖坑么?用的是 cat,因为一个词可以有多个 cats(or subcats),所以调用了 WSD 模块来决定。根据这个决定来填坑构成二元结构。好像就是这么个过程。

白:
“这碗猪”还记得吧。

李:
不搭没关系吧 - 开始的时候。

白:
【碗,猪】这个二元关系有还是没有,问中间件。没有,就不建立arc。虽然cat相配,也不建。

李:
那是大数据训练以后的事儿了,训练之前呢?语义中间件就是一个大数据训练出来的类似 hownet 的资源。在训练之前 大数据怎么结构化的?

白:
训练是独立的,跟matcher无关,跟ontology有关,ontology是结构化的

李:
无监督训练,总要有个啥吧。训练是独立的 offline 进行,利用大数据得出的语义相谐的统计性历史总结,作为 parsing 的资源。Matcher 是 online runner,来对新的 input 做 parsing 的。这跟我们专家去写 patterns 道理一样。训练的结果包含 ontology,
训练的支持难道不是结构化的大数据?这个结构怎么来的?谁给的第一推动?

白:
这是一个冷启动窗口长短的问题。matcher可以只看3个,大数据看13个。大数据的13个中包含被matcher拉近到3个的概率不低。

李:
拉近不是结构化的作为吗?

白:
大数据中非结构化的词串,十三个词里面“碗”和“猪”的共现,以及背后subcat的共现,同“碗”和“汤”的共现相比,这数据有统计意义不?我说的是“包含”。

李:
有意思。非结构化词串就是 ngram,13 词区间大体就是一个子句的长度,再长也没啥统计价值的关联了。

白:
碗,背后的subcat是“容器”“餐具”;汤,背后的subcat是“液体”“食物”。统计subcat共现,可以脱离具体的词例,获得大样本。在大窗口里进行,跑都跑不掉。所以,有无结构的说法是含混的。从parse角度讲,冷启动时无结构;从ontology角度讲,冷启动时结构很丰富。

李:
嗯,为了统计性,脱离具体词,先用 hownet 或 wordnet 支持一下。

白:
冷和热的唯一区别,就是有了冷的基础,热应该更好做。因为大窗口的关联都挖出来了,小窗口更不在话下。

只有一种情况,就是热的情况下,小窗口里面的关联,是把大窗口都覆盖不到的远距离关联拉近了的结果,这种会失手。

李:
好,在 onyology 支持下,在13词窗口内,系统学到了“碗”与“汤”的搭配,so what?

白:
在遇到这碗猪的时候,会选择不match,把“这碗”留着,让“猪”去找自己的坑

李:
这口气得憋多久啊

白:
就是所谓的“过程性因素”,用中间件的查询结果来控制,而不是用手编的语言学知识或规则来控制。

李:
停下的意思类似于入栈。稍有闪失就沉底出不来了。

白:
对啊,RNN+栈。入栈,等着填坑

李:
不知道栈有多深

白:
出不来的情况,参见刚才的例子 “那堆砖让我垒了鸡窝了”。在“垒”只有两个坑的情况,“那堆砖”就是进去了出不来的,如果不想其他办法的话。

荀:
如果这种二元决策是确定性的过程,如果出错,填入的坑的萝卜就得靠唤醒了。

白:
不妨仔细推演下这个例子。

李:
赶巧这个【工具】的坑,处于可有可无的边缘。“垒” 其实也可以带三个坑的。

白:
如果大数据中,存在着大量“砖”带着明确的介词和“垒”共处一个窗口的情况呢?或者投射到subcat上,“建筑材料”带着介词和“建筑行为”共现?

荀:
如何辨认“工具”和“施事”就很重要了

李:
【工具主语】 与 【人主语】 几乎有类似的统计性。

荀:
需要用启发式信息,引导RNN训练,这个引导过程是至关重要的。

白:
这里有“我”,已经明确会填坑。我说的是,没有坑可填不可怕,翻翻大数据,历史上别人用它带什么介词,就把那个介词补上好了。然后就堂而皇之地做状语了。这些东东,有了ontology和大数据的结合,就不要人来操心了。

荀:
把subcat嵌入到RNN中,用启发式信息结合LM训练方式引导RNN编织权重。

李:
如果加上显性形式“用”,工具作为萝卜有很多数据。

白:
我昨天出了那么多例子,伟哥居然没觉出用心良苦:

“这些纸能写很多字”
“这些铁可以打很多钉子”

荀:
[用]这些铁可以打很多钉子
[在]这些纸能写很多字

白:
从形式上,为严谨起见,我们不会去给这个句子凭空添加任何一个莫须有的介词,但总可以用一个不占位置的虚介词吧……
【phi】这些铁可以打很多钉子。

荀:
利用大数据可以做“小词“还原,这对缺少标记的汉语很重要了。

白 :

至少有了这个phi,栈里的不会出不来了。

荀:
借助大数据,RNN做“还原”这类事情很在行。把小词“虚化”,也是一种subcat处理。抓住了小词就抓住了汉语结构命门,白老师在这上花足了心思。对句子做“结构归一化”处理。

白:
推而广之,就是利用大资源+大数据把看起来不那么规范的句子有理有据地整理成更规范的,这样parser负担就轻了,无需独自面对复杂情况。“这场火多亏消防队来得及时”,这里的“这场火”同样面临“没给留坑”的尴尬。但是,把句子中的“火”“消防队”两个实词送入中间件,可以发现与他们共现频次相当高的“救”。有“救”垫底,就可以引入及物的虚动词phi,这样萝卜和坑就相安无事了。

荀:
白老师提到的parser需要确定的三种关系,权重信息编织在网中了,在应用时,词典发出请求,RNN做认定。Parsing就是做<W1,W2,Relation>认定的过程, W1或者W2 可以是小词。 功夫在于Relation定义,在承载结构的小词处理以及<W1,W2,Relation>训练过程,白老师对这些都有一套不同以往的做法。

李:
如果没有坑可跳,就自己挖个坑去跳,这也是 mods 的常规了。在形态语言中,mods 有显性小词或词尾帮助确定该怎么挖坑自裁。在裸奔的汉语,形式没了,只好靠搭配。

白:
救火这个例子,已经不是subcat嵌入了,根本就是词嵌入。

李:
wait:“这场火多亏消防队来得及时”,这里的“这场火”同样面临“没给留坑”的尴尬。

咱们走一走这场火。哪里出来的“救火”,“消防队”本体里面的吗?Hownet 里面肯定有。

常规的做法是,遇到句首 np 没法填坑,就给个 topic 标签。有点像英语的 as for,with regards to,topic 很像pp做的状语。往后找一个谓语挂靠:“这场火” 挂靠到 “来”。

白:
人家只有一个坑,还是给human预留的。

李:
不需要啊。状语是随机的。状语可以看成是不填坑,而是挖坑,挖个坑让谓语填进去
或者让自己跳进去 再去找主儿。

白:
比如“为了”?

李:
想不出来为什么要绕那么大弯,让“救火”出来救驾。Topic 式状语,无需那么清晰的标签,就是把np 降级为 pp。至于什么 p 什么格,另说着。

世界语有个万能介词 je,柴门霍夫这样解说:介词就是格,都是确定性语义的。
几十个介词 就是几十个格。但是如果有一个状语,你不知道哪个介词合适
或者你懒得费劲琢磨什么格合适,你就用 je。与前面提的phi,异曲同工啊。

白:
那样活儿太糙。补介词合适还是补动词合适,大数据说了算。

李:
用了 je 就确定了其地位。不是没有道理。人如果要清晰,他可以有清晰的形式,譬如介词或词尾。如果他不用,那就模糊。虽然模糊,句法地位和关系还是大体确定了。这类模糊要确定语义关系,可以在后面的语义模块(我以前也叫它语义中间件)决定,而不是白老师的中间件在parsing 过程中调用。我选择把二者分开,因为这类情形句法没有到走投无路,就算耍个流氓 亦无不可。先躲过初一,到15再说。其实 15 到了,要求很可能与初一不一样了。人走茶凉不了了之也是有的。

白:
数据支持的话,可以冒进一点。中间件就是在过程中调用啊,否则有啥用。

李:
deep parsing 的过程可以分两个阶段,两个模块:句法和语义。我叫语义中间件是指它在句法模块之后,产品语义落地之前,夹在中间。怎么没用?几乎所有的 hidden 逻辑语义,都可以留到这里做,而不必在句法模块做。

不仅句法模块内部可以多层去做,句法到逻辑语义,也可以分开,成为两个层面的 parsing,Syntactic parsing to semantic parsing。非谓语动词的主宾等都可以后延,
句法只要确定其状语还是定语或补足语身份即可。对于谓语的主宾等,也可以先在句法做一个糙活,到语义中间件再细化或修正。糙活是不到不得已不调用 ontology,如 np 主语,管他 【human】 还是 【instrument】:

张三砍了李四
斧头砍了李四

开始都是同一个parse。

张三吃了大餐
乌云吃了月亮

也是如此。

白:
现在还都没说定性,只说定位,谁跟谁有关系。结论是,就这么糙的事儿,也得动用ontology。

李:
句法不必要太细。语义可以细,但那个活儿可以悠着点,做多少算多少。

回到白老师前面给的句子,试试我目前语义模块还没丰富完善的 parsing:

“那堆砖让我给搭鸡窝了”
“这辆车能坐六个人”
“这个方向不被看好”
“这些铁可以打很多钉子”
“这些纸能写很多字”


see,句法架子是出来了,但未尽如意的语义还有一步之遥。这一步补不补,不紧急,因为语义落地的时候,如果是 integrated 一体化的直通车,而不是提供给第三方做 offshelf support 的,就可以在落地模块内部协调。譬如,“坐车” 带了“六个人” 为 O,ideally,语义模块应该把 “六个人” 从句法的 O 转为 逻辑语义的 S。但是,如果是内部协调,转不转也无所谓。O 不过是一个符号而已。词驱动落地的时候,“坐车”的 arg 是 O 或 S,完全不必计较。当然,如果要补足这一步,虽然琐细,但真要做也不难。在没弄清楚多少利益之前,懒得做这细活。同理:“那堆砖”最好是加一条线,连上“搭”,标签是 【Instrument】。“这个方向不被看好”已经把表层的小词 “被” 带入考量,直接给了 O,一切到位,没有可做了。“打铁” 和 “钉子”,最好是加上标签【Result】。最后一句,最好给 S 进一步加上逻辑语义标签【Instrument】or 【Material】,但其实落地也未必需要这个,就是加上了显得很酷,很智能,让人看着爽,倒未必是对落地产品真地就有多大利益。

 

 

【术语 Index】

Matcher:the syntactic parsing program,有时候我们叫 runner,在白老师的系统里面,就是接受输入文句,对其二元依存关系解析的模块。

WSD:与 community 的依据义项划分的定义有别,白老师的 WSD 模块指的是:在词负载结构的体系里,一个具体的词负载了好几种可能的结构,结合上下文选择其中一种的模块,称之为wsd模块。事实上,这里的WSD 是利用大数据得来的词与词或其上位概念之间的语义相谐,来决定采纳某种区分一个词不同用法的扩展的 POS tags or 白老师所谓 subcats,来帮助结构消歧。粗线条义项的区分成为二元关系结构消歧的副产品。当(细线条)义项区别不影响结构的时候,义项区分就不是这个WSD模块的任务。

二元关系:两个词之间的句法依存关系(bianry dependency)。白老师的系统分为三类:修饰关系(如 定语、状语),算元(args)关系(如主语、宾语)和合并关系。

POS(cat):part-of-speech (or category,相对于 subcat 子类而言)词类,不必是 PennTree 定义的集合。作为模块,指的是根据系统给定的词类标准,自动做词性标注。一个词可能跨类,POS 模块可以根据上下文决定最合适的类别(词性)。在白老师的系统中,是所谓 WSD 模块做这个 POS 的事儿,来供给 Matcher 充当合法填坑的 candidates。在白老师的系统,我们可以把 POS 的词性标注理解为粗线条的 WSD。不影响结构的词义区分不是白老师所说的 WSD 模块的任务,虽然 community 的 WSD 不是这样定义的。

subcat:subcat 的原义指的是谓词的子类,这个子类对应了这个词的特定句型(譬如,双宾句型,宾+宾补句型,等)。白老师说的 subcat 扩展到不一定具有对应句型的子类。譬如,碗,背后的subcat是“容器”“餐具”;汤,背后的subcat是“液体”“食物”。这实际上是本体语义(ontology)的层级结构,如 ISA taxonomy chain:碗 ISA 餐具,餐具 ISA 工具,工具 ISA 商品;商品 ISA 人造物品;人造物品 ISA 物品;物品 ISA 实体(逻辑名词,这是这个 chain 的顶端节点 TOP 了)。

耍流氓”:指的是对于二元依存关系不能定性,但是可以认定具有某种关系。汉语句法中,句首的名词短语在没有确定其性质是主语、宾语或定语、状语之前,往往先给它一个 Topic 标签,挂靠到后面的谓语身上,白老师认为这就是耍流氓。同理,当两个实词之间的关系基本可以确认,但是不能定性的时候,我们往往根据其出现的先后次序,让 parser 给一个 Next 的标签把二者连上,作为一个增强句法分析器鲁棒性(robustness)和查全率(recall)的打补丁的手段。这也算是先耍一下流氓,因为理论上后去还是需要语义模块去确认是何种关系才算深度分析到位。如果是两个中文动词一先一后系统给了 Next,其默认关系是【接续】,就是汉语文法书上所谓的“连动”结构。

Topic:汉语分析中,句首名词短语如果不直接做主语、宾语等,很多分析就给 一个Topic(主题)的标签。汉语文法的一个突出语言句型现象就是所谓双主语句(常常分析成一个Topic or 大主语,加一个小主语:譬如,他身体特别好。这家公司业绩直线上升。)由于这种关系逻辑语义的性质不明,聊胜于无,所以也称这种二元关系的建立为“耍流氓”。

Next:两个词一先一后,但不能确认他们发生了什么句法语义关系,系统常常给一个特殊的关系标签,叫 Next,其默认关系是【接续】。 这是一个增强句法分析器鲁棒性(robustness)和查全率(recall)的打补丁的手段。由于这种关系逻辑语义的性质不明,聊胜于无,所以也称建立这种二元关系为“耍流氓”。

mod:修饰成分或关系。包括定语、状语、补语。

arg:算元成分或关系。包括主语、宾语、(宾语)补足语或间接宾语。

Hownet:董振东前辈发明的面向MT和NLP服务的跨语言本体知识(ontology)网络《知网》的英文名称。

小词:教科书上叫做功能词。包括介词、连词、代词、副词、感叹词、联系动词等。

伪歧义:也叫伪路径,指的是 parsers 产生出来的貌似成功但没有价值的结构分析路径。伪歧义,是相对于真(结构)歧义而言。真的结构歧义的典型案例是某些 PP-attachment 的现象,同一个 PP 可以理解为两种可能:做宾语的后置定语;或做谓语动词的后置状语,这两个 parses 都是有效的语义解析。但是,很多传统的 parsers,会产生很多貌似成功解析输入文句的分析路径(numerous parses),给人以文句结构歧义严重的假象,但其实这些不同路径大多没有区别意义,是为伪歧义。这是一个困扰了传统 parsing 很多年的难题。白老师和立委的系统都利用不同的策略(包括休眠唤醒机制)很好地解决了这个问题。

中间件:白老师的所谓语义中间件,指的是在 ontology(本体知识库,如 HowNet,WordNet)的支持下,通过大数据训练得出来的语言词汇之间的语义相谐(各种关系之间的语义搭配)的统计知识库。这个中间件被 WSD 和 Matcher 模块调用作为对于输入文句的 parsing 的资源。立委以前的NLP博文种的所谓语义中间件虽然有与白老师的中间件相同的一面,但却是不同的所指。在立委的 deep parsing 的系统种,语义中间件不是一个知识库资源,而是指的句法模块后面的语义模块。这个模块利用句法框架,负责深度分析的逻辑语义细化、隐含的逻辑语义关系的解析、休眠唤醒新的语义结构关系(包括改正此前的错误路径),如果需要的话,也可以在这个模块做一些词义消歧工作(WSD的本义)。总之,这个语义模块是独立于领域,夹在句法分析之前和领域的语义落地之前,为了更好地服务于语义落地。为了不再混淆术语,立委考虑今后不再称此模块为中间件,而是把术语让出,就叫语义模块。

:坑是role-provider,萝卜是role-fulfiller。就是依存关系(dependency)的被预期的节点。对于谓词,其坑就是它预期的算元(args)成分,主语、宾语、补足语。对于修饰关系(mods),譬如定语、状语和(汉语)的补语,一般认为是附加的边缘语义,不占坑。也可以看成是修饰语预期了谓词,或看成是谓词不占坑地吃掉了修饰语。在知网里“坑”叫“角色”;“萝卜”叫“典型演员”a) 只从语义考虑,与特定语言无关。

萝卜:指的是那些参与谓词结构(所谓 argument structure)所要求的实体角色的词,譬如充当主语、宾语、补足语的成分。谓词结构通常被认为是一个语句的核心语义。谓词以动词为主(但也有形容词和名词做谓词的),在词典主义(lexicalist)的系统中(白老师和立委的系统均属于词典主义),一个谓词的潜在的结构都标注在这个词的词典信息 subcat 里面。换句话说,谓词的 subcat 规定了它期望什么样的成分(所谓挖坑),需要什么样的词(萝卜)来填。譬如,“走路”挖了一个坑,需要一个优选语义位【human】的名词萝卜来充当其施事主语。再如,“喜欢” 挖了两个坑:谁喜欢什么。充当主语的是【human】名词,充当宾语的是几乎任何词。

填坑:一个词(包括代表短语的头词)根据谓词对坑的句法(甚至语义)要求,充当了其谓词结构的成分,建立了与谓词的二元关系(binary dependency),这个建构过程叫做填坑。谓词结构的成分填满了,核心语义就完整了,这个状态叫 saturated。

萝卜指标:指的就是坑。所谓不占萝卜指标,是说的一个词可以合法填两个坑的情形,其中一个坑不影响其填另一个坑的能力。听上去似乎与坑与填坑的概念出发点相违背,但在依存关系图的构建过程中,是必须考虑一个萝卜填多个坑(一个儿子多个老子)的情形才可以把依存关系进行到底(有些一个萝卜多个坑的情形在短语结构表达中,可以借助非终结节点避免)。

优选语义:最早由著名人工智能和机器翻译前辈 Wilks 提出的概念,指的是在本体网络(ontology)中,概念之间的语义相谐表现在自然语言的表达的时候,呈现的是一个区间,而不是一个固定的语义约束。譬如,【eat】这个概念对于【受事】的优选语义是【food】,但是这只是其优选,并不是一定要是【food】。语言表达的时候,优选语义可以根据句法的约束条件不断放松,以至于达到完全不相谐的程度(nonsense)。乔姆斯基认为,句法可以独立于这些语义相谐的约束,举的就是句法约束决定结构关系,偏离优选语义到极端的例子:Colorless green ideas sleep furiously。对于形态语言,句法独立性的原则有较多的证据。对于汉语,这个原则需要打折扣,合理利用优选语义的约束就成为汉语解析的关键依据。立委 parser 改造使用了 HowNet 来弥补句法形式的不足。白老师的系统是依靠大数据训练出来的中间件来实现优选语义的对 parsing 的约束。

逻辑语义:指的是深层结构关系。最早起源于乔姆斯基的深层结构和费尔默的深层格(关系)。中国NLP和MT的旗手级前辈董振东老师发扬光大,深化了这方面的研究,指出解析逻辑语义是深度自然语言理解的关键:所谓理解一个句子,主要就是理解了这个句子里面概念之间的逻辑语义,谁是施事,谁是受事,时间、地点、条件,等等。在 community,对应于所谓 role labeling 的任务。一般而言,主谓宾定状补之类的句法关系比较粗糙,这些是表层关系,一个语言深度解析器(deep parser)不仅要解析(decode)句法关系,而且要进一步揭示后面的逻辑语义关系,包括细化句法关系(譬如句法主语可以进一步标注为施事、受事、工具等逻辑语义,句法宾语可以标注为受事、对象、结果等逻辑语义,诸如此类),和揭示隐含的逻辑语义关系(所谓 hidden links,就是句法上没有直接联系但逻辑语义上具有直接联系的结构关系,譬如宾语是宾语补足语的隐藏的逻辑主语)。

休眠唤醒:在李白的系列研讨中,这个术语指的是一种把可能性较小的路径暂时搁置的parsing策略,被搁置的路径可以在适当的条件下被唤醒。这种策略据信反映了人的语言解析的过程,可以从段子、相声抖包袱等现象看到这个过程的表现。立委有系列博文专谈这个机制。譬如:【立委科普:结构歧义的休眠唤醒演义

 

【相关】

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

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

【李白对话录系列】

中文处理

Parsing

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

《朝华午拾》总目录

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

白:
伟哥对主谓vs.述补,️“得”字的作用有何评述?

李:
题目大了点儿
小半部汉语语法了 都。

白:
动作敏捷,行动迅速,打仗内行,排兵布阵有章法,运行平稳……
执行命令坚决,干家务不情愿

root感觉上都是在后面,是谓词在填谓词的坑。为什么被填坑的反而成了陪衬,这说不通。第一个“动作”是名词,我拿来跟后面对比的。说大不大,就是上面这些表达,head是谁,谁填谁的坑。如果跟主流是反着的,有什么后果。

李:
拿 practice 说话吧。

他努力工作
他工作努力

一般来说 “工作” 只有一个坑,“努力” 有两个坑: 一个人,一个是人的动作。这就是句法 subcat 与 逻辑 subcat 不尽相同之处。句法上,老子的 subcat 里面有儿子 args 的坑, 没有 mods 的坑。譬如 动词有 主宾等 但没有状语的坑。名词有补足语的坑 但没有修饰语的坑。但是逻辑上不同,逻辑上 任何 mods 定语啊 状语啊 对于与它直接联系的老子,都有一个语义相谐的要求。这种要求可以写进做修饰语的那个词的词典去。但对于语义搭配稍强的情况 也不仿写进做老子的词条去。关系是mutual 的 选择谁去 encode 这种细线条信息 其实没有一定之规。

问白老师一个问题,这样的借助小词接力,一步一步、一对 tokens 一对 tokens 的两两向前推进 parsing,会不会造成过多的假 parses (所谓伪歧义的困扰)?
DG中,语言单位虽然都可以 binary 关系表示,但是 parsing 的时候却不宜两两推进,因为那样的话,条件往往失于过宽。还是我理解有误?

白:
不会啊。(1)小词对距离很敏感,太远了肯定要靠实词自身的互联。(2)小词对结合方向很敏感。实词语序乱了不要紧,坑可以把它们找回来,但是小词语序乱了一定不知所云。什么语法不借助中间件都必然失之于宽。所以,WSD也好,二元关系也好,树也好,最后都要靠中间件摆平。

李:
对着例子谈吧:譬如 是AP的
这个汉语表达 affirmative 的 pattern,就是这么简单的一个 pattern,
用 “是。。。的” 把形成的 AP 包裹一层。因为这种小词没有啥意义,最多不过是给这个谓语加一个 affirmative 的 feature 的信息,其他的关系连接,还是要直接通向 AP:

她是漂亮的 == 她漂亮

白:
AP有两个表达方式,一个是紧靠名词的,一个是松散的(作谓语,作补语,通过“的”作定语)。是……的,是后一种。我们先解决句法成分“一个都不能少”的问题,再解决语义关系的抽取问题。

李:
可是看白老师的图,感觉在小词里面绕。

白:
没有无缘无故的绕。

李:
包裹一层的话,就不需要绕,就当成 AP 的前缀后缀了。说的是 pattern 包裹,结构根本就不用包裹,不过加一点信息而已,甚至丢掉那信息也无大碍。

白:
问题是,不光“是……的”,还有“有……的”还有其他“V……的”。我们可以统一处理。到了语义关系抽取阶段,衣服会脱下来的。二元关系进行到底,应该看不见pattern。pattern体现为判断二元关系成立与否的前后条件。

李:
的字负载结构 统一处理的好处何在?

白:
一视同仁

李:
这个好处貌似不实惠,也不必需。

白:
所有词、所有二元关系一视同仁,用同样的formalism处理,不排除神经。

李:
哦,有无缝挂靠RNN的便利?
一视同仁本身最多是显得 elegant,这种二元推进一视同仁的处理与用长短不同、随机决定的 patterns 处理,除了所用的机制不同,还有什么特别的说法?

白:
没有规则,没有pattern,bug都在词典里,要de,就改词典。语义构造最大限度地平行于句法提供的二元关系。

李:
patterns 甭管怎么写,说到底也是统一的机制,某种有限状态及其延伸罢了。

白:
pattern写了也不矛盾。不改变核心机制,只改变前后条件。

李:
只改词典,不改规则的例子见过,那就是 HPSG,但那是建立在词典结构无限复杂化的基础上。现如今用的是简单得多的词典结构。Categorial grammar 那种吃了吐、吐了吃在 cat 基础上的填坑挖坑,要实现只改词典就能 parsing 的开发,感觉哪里缺了什么。

白:
但是把pattern固化,就会引进来不robust的问题。很多情况下,系统自己找对象比用pattern拉郎配更聪明。

李:
同意,这是一个问题,不好拿捏。但换一个角度,用 patterns 直观易读,与人对语言现象的捕捉非常近似,而且 patterns 其实也还是立足于自己找对象的 subcats 的词典化信息基础。问题不在 patterns 上,而是在 patterns 的条件拿捏上。

白:
对,我就是在扬弃范畴语法复杂结构的方面跨出了一大步,坑和萝卜,都是“单体化”的。直到目前还没有发现什么语法现象必须引入复杂结构的。
都一样,吃了吐的路线,关键也在拿捏。

李:
又要简单统一,又要避免伪歧义,感觉是一个矛盾(当然 结构复杂本身也 adds to 伪歧义 ,那是另一个话题)。

白:
伪歧义在外面,中间件来搞。但是中间件面对二元关系搞非常清晰,中间件面向pattern搞就累了。二元关系是最简单的结构。就是一个词典词一个义项,其pos定义只有一层。只有一个“/”号。

李:
这就是我还没有理解的地方,感觉机制太简陋。机制简单统一,词典信息也简单,pos 只有一层,不过是 encode 了一些坑的信息,用的也是简单的 x/y,规定了输入(挖谁的坑)和输出(填什么坑)。如此简单统一,对付自然语言的窍门在哪里呢?

中间件通过二元关系搞定原则上没有问题。所谓语义中间件,在我这里,不过是把已经成串的珍珠链,经过某个子链,把一些语义相谐的珍珠挑出来,让间接关系变成直接的二元语义关系。假如初始的二元图是: 1--》2 --》3 --》4 --》5,语义中间件可以做到:1 --》3; 2 --》5,揭示诸如此类的hidden的逻辑语义关系。白老师的中间件有所不同,用的也是语义相谐(通过某种无监督训练而来),但目的是确保parsing不受伪歧义的羁绊。

白:
复杂的地方是什么时候有免费额度。

荀:
白老师是把这些简单的范畴放到RNN中,这个Rnn中间件性能决定了分析器性能

白:
句法“是什么”在这种机制下确实不复杂但管用。“怎么达到”是另一个问题。

李:
免费额度怎么讲?

白:
比如定语从句里面的坑,就是不占萝卜名额的。填了里面还可以再填外面。还有“NP1的NP2”,如果NP2有坑且与NP1语义相谐或统计意义上搭配,则NP1填入NP2也不占萝卜指标。比如“张三的弟弟”,“这本书的封面”。

李:
好,作为 syntax 表达,这些都不是问题。说说 ”怎么达到“ 吧。

白:
这一部分是parser最核心的地方了。

荀:
就是白老师的“毛毛”,一种利用大数据无监督的subcat嵌入算法。

李:
不是说只要 debug 词典 就可以达到吗?词典也没太多 debug 的余地,假设挖坑填坑都基本在词一级标注清楚的话。然后就灌输大数据?无监督的大数据在这些词典信息的基础上,学习出来的结果是什么形式呢?应该是词典 subcat 的语义相谐的条件。这些条件一旦学出来,就成为 parsing 的伪歧义的克星。

荀:
借助subcat嵌入的分析器要是突破了,短语和pattern也就嵌入在网中了

李:
换句话说,词典的每个词的粗线条的挖坑填坑先由人工敲定,而这些坑的语义条件 让大数据来填,从而粗线条变成细线条。从而伪歧义急剧减少。我是这么个理解。

白:
WSD和Matcher学出来的东西不一样的。

荀:
原来的做法是借助词的语言模型或词的Rnn消解伪歧义,白老师是把Subcat嵌入了网中。但一直担心前期中间件的可信赖程度,中间件错了,休眠唤醒,那么唤醒时是否用了patten?

李:
利用大数据无监督的subcat嵌入算法,这个方向没有问题,词(直接量)不够,一定要加subcat。唤醒可以看作二阶中间件。唤醒的都是局部的、个别的现象(子图 pattern),至少词驱动这一级唤醒,机制上与中间件利用语义相谐没区别,是靠谱的事儿。唤醒在我的实现中,一定是用 pattern (子树)为基。

WSD和Matcher 各自怎么学?

困了,回头好好学习,明儿天天向上。

荀:
这种唤醒的词典知识,主要是利用词搭配信息

李:
那当然。

荀:
李老师休息吧,明天搬着板凳听你们聊,到了关键地方了

白:
为了保证WSD和Matcher之间在大概率情形下都是串行的,被WSD压抑的候选都休眠。此时流程是线状的。为了对付有迹象可察的小概率情形,休眠的候选可以唤醒。此时流程是闭环。

李:
前半段懂了,后半段,闭环是什么?

白:
唤醒

李:
线状是说的 deterministic 吗?

荀:
如果被唤醒,wsd也会跟着改变

李:
唤醒在我看来就是局部重组。nondeterministic 是从一开始就留多条路径,唤醒是在一开始不留多条的情况下,activate 另一条子路径,摧毁现下的子路径。

荀:
如果是局部的,就是打补丁的机制。白老师的闭环是指唤醒和wsd联动?

李:
唤醒都是打补丁。
既然一开始不留多条路径,那么怎么唤醒另一条路径了?

白:
局部局到什么程度是不以主观意志为转移的,可以理解为一种lazy的、保相谐性的subcat传播。

李:
我这里的诀窍就在,开始不在实现的 parse 中留,但词典里面的潜在路径的种子还留着,因此词驱动可以唤醒它。

白:
唤醒的不是路径,而是词典的pos候选

李:
唤醒了不同的萝卜

荀:
唤醒了另外一个候选,也就是到引导不同的subcat路径,可以这样理解吗?

李:
不就等价于唤醒了不同的路径吗?因为萝卜换了,原来的萝卜所填的路径就废了,新的萝卜要填的坑也变了,新的路径也就唤醒(新生)了。

荀:
填好的萝卜重新拔出来

李:
对呀。
这是摧毁无效路径 为建立更好的路径做准备。

荀:
如果wsd需要频繁被唤醒,唤醒的中间件压力山大。

李:
wsd 常常被夸大 实际中没那么大。太细的也不用做。

白:
所以三省吾身

@荀 是这样子:休眠唤醒的动态工作空间专属wsd,它的范围是受控的,但之间逻辑较为复杂。中间件依据ontology和大数据统计结果,体现了subcat嵌入,是相对静态的,一组二元关系一个查询,彼此逻辑独立,既为wsd服务也为matcher服务,因此根本不在乎频繁程度。忙了就并发,不会惹到谁。wsd局限到一个句子,最多加上定宽滑动窗口的语境变量,工作负载是可控的。wsd和matcher一切照章行事,没有任何语言知识和常识,只有“过程性的、机械化的”程序。语言知识和常识都在词典和subcat嵌入里。

荀:
明白了,就是根据需要,随时被调用的“语言模型”,这个语言模型嵌入了ontology和subccat信息的RNN网络。

白:
今天说多了,打住。

荀:
开启了一个大话题

白:
过去统计意义上的“语言模型”是一勺烩的,所以难以精准地把有结构潜质的二元关系筛选出来。一旦仅针对这样的二元关系上统计手段,前途就一片光明了。萝卜是第一性的,路径是第二性的。

王:
@白硕 wsd和matcher一切照章行事,没有任何语言知识和常识,只有“过程性的、机械化的”程序。语言知识和常识都在词典和subcat嵌入里。

白:
怎么

王:
白老师,要走”小程序,大词典”路线?

白:
对,小程序、大词典、特大ontology、数据被ontology揉碎消化。前面再加个“零规则”。

王:
不知是否每个词做为Agent?然后多个Agent之间相互自适应?

白:
没那么自主

王:
请教白老师,何为“零规则”?是预留的待扩展的规则?还是压根就不用规则?

白:
是根本不要规则。

我们先解决“谁和谁发生关系”而不必具体明确“是何种关系”,只笼统地分成:“a是b的直接成分”、“a是b的修饰成分”以及“a是b的合并成分”三种情况。

现在还都没说定性,只说定位,谁跟谁有关系。结论是,就这么糙的事儿,也得动用ontology。

李:
句法不必要太细。语义可以细,但那个活儿可以悠着点,做多少算多少。

白:
关系不对,上标签何用。标签可以是句法的,也可以是逻辑语义的

李:
句法的本身就模糊一些。很多语言的主语与谓语是有一致关系的。这就给“主语”这个标签一个独立的句法层面的支持。虽然细究起来,这个所谓的主语,可能是 human agent,也可能是 instrument。

白:
粗粒度不等于错位。位置对上了不知什么标签这叫粗粒度。
位置不对叫啥

李:
位置不对就是父子认错了。这是最大的错,皮之不存,句法或逻辑语义标签也就谈不上。

看看这个: 这些纸我能写很多字

“这些纸”无从着落了。那就用 Topic 或 Next 耍个流氓:它们的句法意义与句首状语(全句状语)差不多,至于是什么状语(时间、地点、让步、工具、结果、原因、。。。),这是逻辑语义的标签。想做的话,让后面的语义模块去做:这些纸 Next 能写字。

其实拿目前的 parser parse 一下大数据,对于 Next 前后的词做一个统计,基本肯定可以挖掘出不少强搭配或弱搭配来。Next 虽然标签模糊,它把有关系的 tokens 的距离拉近了,虽然句法不知道是何种关系。

白:
暂不确定逻辑语义我赞同,但没有坑就不填坑,没有加号就不修饰也是铁律。于是需要一个节点做这个对接。大数据中这个节点有实例支持,引进就更理直气壮而已。
在这个阶段根本没有人去做逻辑语义标记。

李:
逻辑语义是 semantic parsing 的目标;syntactic parsing 可以不管。乔老爷说句法独立于语义肯定是有瑕疵的,但句法确实有相当地独立于语义的部分。这个独立性在形态语言中表现很充分,到了裸奔的汉语表现就差一些。但也不是一点独立性也没有。换句话说,总可以把一部分现象看成是纯粹句法的现象,不牵扯语义,也可以一路走下去。

白:
现在我是在定义syntax,自己定义的东东,自己要认账。
说好了不耍流氓的地方,就是坚决不耍,可以耍的地方也一定当仁不让。

李:
系统内部怎么协调,没法说对错优劣。我是要说,耍流氓也有其耍的道理。不耍,又不想牵扯太多语言外知识,那就只有断链。耍流氓比断链强。

白:
引入虚节点,有大数据背书,挺好。同样达到不断链的效果。

李:
还有一个更重要的特点是:句法模块与语义模块分开,有开发和维护的便利。比一锅炒感觉有优势。

白:
相谐问中间件可以,补虚节点问中间件当然也可以,毕竟大多数情况不需要补。
wsd和matcher现在连一点语言学知识都没有,是最不一锅炒的架构了。
内事不决问词典,外事不决问数据

李:
开发一个模块有两个模式,一个是轻装粗线条,knowledge-poor。另一种是细线条,knowledge intensive,前者的好处不仅在轻装,不仅在覆盖面好,而且在鲁棒性好。后者则是精准度好,而且可以聚焦去做,一步一步 peace-meal 地去做。很多人做了前者,但是带来了一个巨大的伪歧义泛滥的问题。我们做到了前者,而且基本对伪歧义免疫,这算是一个成就。至于后者,那是一张无边无际的网,不急,慢慢做。

白:
大部分不鲁棒都是伪语序造成的。让萝卜和坑自由恋爱,是鲁棒性的最好体现。

李:
白老师主张先不利用语序作为句法的制约,而是立足于词典的对萝卜的预期,以及查与周边 candidates 在中间件表达出来的语义相谐度。这样做自然是增加了鲁棒性(我以前提过,汉语实词之间的语序灵活到了超出想象),但同时也隐隐觉得,不问语序也可能是自废武功的不必要的损失。其实是可以把语序作为一个option加入坑的预期的。

 

【相关】

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

【李白对话录系列】

中文处理

Parsing

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

《朝华午拾》总目录

 

 

 

 

【杞人忧天:可怕的信息极乐世界】

今天想信息过载的问题,有点感触。

我们生在大数据信息过载的时代。以前一直觉得作为NLPer,自己的天职就是帮助解决这个过载的问题。就好像马云的宏愿是天下没有难做的生意,我们玩大数据的愿景应该就是,天下没有不能 access 的信息。于是谷歌出现了,用粗糙的关键词和数不厌大的气概,解决了信息长尾问题。于是我们开始批判谷歌,信息长尾解决的代价是数据质量太差。于是人智(AI)派来了,借力深度作业(deep processing, whether deep learning or deep parsing),企图既要解决大数据的长尾,也要大幅提升数据质量,让全世界对于信息感兴趣的心灵,都有一个源源不断的信息流。这是从我们从业者的角度。
今天换了个角度想这个问题,从信息受众的角度。作为消费者,作为白领,我们从人类的信息过载的战役不断优化的过程中得到了什么?我们得到的是,越来越高质量的、投我所好的信息流。以前是在过载的海洋、信息垃圾里淹死,如今是在精致的虚假的满足里噎死。感受不同了,但反正都是死。哪怕做鬼亦风流,死鬼却从不放过我们。于是我们花费在朋友圈、新闻apps、娱乐apps的时间越来越多。无数天才(很多是我的同行高人)绞尽脑汁研究我们的喜好,研究如何黏住我们,研究什么诡计让我们拼死吃河豚。
一个人敌不过一个世界,这是铁律。七情六欲血肉之躯的消费者个体敌不过无数盯着消费者喜好的商家及其帮凶(包括在下)。于是我们沉沦了,成为了信息的奴隶。我们同时也不甘心,在努力寻求自救,不要在糖罐里甜腻死,虽然这甜越来越幽香、巧妙,充满诱惑。我们就这么一路挣扎着。但随着信息技术的提升,中招的越来越多,能自救的越来越少。
世界有n十亿人,m千万个组织,在每时每刻产生信息。假如我们把自我信息满足的门槛,用各种 filters 无限拔高,拔高到千万分之一,我们面对的仍然是 n百人和m个组织的产出。当技术提升到我们可以 access 这个高纯度但仍然能淹死人的信息的时候,我们一定相见恨晚,乐不思蜀,有朝闻道夕死可矣的感觉。这是一个可怕的极乐世界。
我们作为消费者在打一个注定失败的自虐之仗,试图抵制抵制不了的诱惑。说一点个人的应对体会,结束这个杞人早忧天的议论。这个体会也从朋友中得到印证过。
体会就是,有时候我们可以学林彪副统帅,不读书不看报,突然就掐了信息源和apps,专心做自己的事儿。一个月甚至半年过去,回头看,自己其实没有损失什么,而且完成了拖得很久的工作(其中包括如何去用语言技术提高信息质量诱惑别人的工作,不好意思,这颇滑稽,但无奈它是在下借以安身立命的天职)。
同行刘老师有同感,他是做事儿的人。我问他要不要加入群,咱们大伙儿聊聊NLP啥的。刘老师说,我这人经不起诱惑,曾经加入了n多群,一看话题有趣,就忍不住要看、要回应、要投入。结果是做不完手头的事儿。后来一横心,退了所有的群,就差把手机扔了。刘老师的做法也是一种自救。
其实我们最后还是要回到信息流中,再坚强的灵魂也不可能苦行僧一样长时期拒绝高品质信息以及消遣式信息享受。一味拒绝也自有其后果。意志力强的是在这两种状态中切换。更多的人意志力不够,就一步步淹没。退休了被淹没,也可算是福气。年轻人被淹没,这就是罪过,而恰恰是后者才是最 vulnerable 的群体。“忽视信息视而不见”乃是白领劳动者的生存技巧,但对于涉世未深的年轻人很难很难。据观察,在信息轰炸中淹没(info-addiction),其问题的严重性已经不亚于吸毒和酗酒,感觉与游戏的泛滥有一拼,虽然我没有统计数据。
因此,我想,人智可以缓行,我们没必要那么急把全世界的人生和时间都吞没,可以积点德或少点孽。同时,希望有越来越多的人研究如何帮助人抵制信息诱惑,抵抗沉沦。理想的世界是,我们既有召之即来的高质量信息,又有挥之即去的抵制工具在(类似戒毒program)。虽然后者的商业利益少,但却是拯救世界和人类的善举。
最可怕的是在下一代,可以看到他们的挣扎和无助。games、social media 和 internet 吞噬了无数青春。而世界基本是束手无策,任其沉沦。家长呢,只有干着急。我们自己都不能抵制诱惑,怎么能指望年青一代呢。充满 curiosity 和躁动的心灵,注定受到信息过载的奴役最深。其社会成本和代价似乎还没有得到应有的深入研究。
今天就扯到这儿,希望不是信息垃圾。
【相关】

Trap of Information Overdose

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

《朝华午拾》总目录

 

Trap of Information Overdose

Today, my topic relates to the issue of information overload.

We are born in the era of big data and information overload. As an NLPer (Natural Language Processor), for years I have been stuck in the belief that my sole mission is to help solve this problem of information overload. Just like Alibaba’s Jack Ma's vision that there should be no barriers for any business in this e-commerce world, my colleagues and I seem to share the vision in the community that there should be no barriers for instant access to any information amid the big data. So Google appeared, with crude keywords as basis and with its insatiable appetite to cover as big data as possible, to  have solved the problem of information long tail. Today whatever your query, and however rare your information need is, you google it and you get some relevant info back. We don’t want to stop there, so we begin to criticize Google because its solution to the information on the long tail has the defect of poor data quality. Hence AI (Artificial Intelligence) is proposed and being practiced to enhance the deep processing of data (whether via deep learning or deep parsing), in an attempt to both handle big data for its long tail, as well as to drastically raise the data quality through natural language understanding (NLU). The aim is to satisfy any soul with information needs, whether explicitly requesting it or implicitly carried in the mind, by a steady flow of quality information. This is the perspective from us practitioners’ point of view, currently mixed with lots of excitement and optimism.

Let us change our perspective to ask ourselves, as a consumer, what have we benefited from this exciting AI battle on information overload? Indeed, what we now get is more and more data -- to the point, high-quality, with constant and instant feeds, which we have never before been able to reach. Previously we were drowned in the overload of the information ocean, mostly garbage occasionally with a few pearls, and nowadays we end up being choked to death by over-satisfaction of quality information thanks to the incredible progress of information high-tech via AI. So the feelings are dramatically different, but the ending remains the same, both are an inescapable path to death, drowned or choked. So each day we spend more and more time in the social media among our circles of friends, on all types of news apps, or entertainment apps, with less and less time for real-life work, family and serious thinking. Numerous geniuses out there (many are my talented peers) racked their brains to study our preferences, study how to make us stick to their apps, and what tricks they can apply to drive us crazy and addicted to their products.

It is the iron law that a person is no match for a calculated and dedicated world. Made of flesh and blood, each individual consumer is no match for an invisible legion of tech gurus (including myself) from businesses and their accomplices in the information industry, looking closely into our behavior and desires. So we are bound to sink to the bottom, and eventually become a slave of information. Some of us begin to see through this trap of information overdose, struggling hard to fight the addiction, and seeking self-salvation against the trend. Nevertheless, with the rapid progress of artificial intelligence and natural language technology, we see the trend clear, unstoppable and horrifying: more and more are trapped in the info, and those who can save themselves with a strong will are a definite minority.

The world has n billion people, and m million organizations, each producing information non-stop every moment, which is now recorded one way or the other (e.g. in social media). Even if we raise our bar higher and higher for our information needs for work and for pleasure, to the extent of an incredible ratio to the effect of something like ten-millionth, using a variety of technology filters of information, we are still faced with info feeds from n-hundred human entities and m-organizations. There is simply no way in our lifetime to exhaust it all and catch up with its feeds. We end up feeling over-satisfied with information most of which we feel we simply cannot and should not miss. We are living in a terrible bliss of an over-satisfying world. As consumers we are doomed in this battle to fight the addiction against our own nature, trying to resist the temptation that by nature cannot be resisted.

Having pointed out the problem, I have no effective remedy to this problem to offer. What I myself do is that at times, I simply shut down the channels to stay in info-diet or hungry mode, focusing on family and the accumulated to-do list of work. This seems to work and I often got my work done, without feeling I have missed that much for the information gap during the "diet" period, but it is not a sustainable technique (with exception perhaps of very few super guys I know whom I admire but really cannot tell whether that lifestyle is really for better or not as shutting the info channels for too long has its own side effects, or consequences, to my mind). In the end, most of us fall back to being willing slaves of information. The smarter minds among us have learned to shift between these two modes: shutting channels down for some time and going back to the "normal" modern way of information life.

For people who want and need to kill time, for example, the retired in the lonely senior homes, info age is God-sent: their quality of killing time has never been made better. But how about the younger generation who is most vulnerable to info overdose, as much as the addiction to the crazily popular games today. The "shutting the channels" technique is a survival skill of middle-aged generation who needs to dedicate sufficient time to go about their daily work and life, making a living, supporting the family and keeping it running. But this technique is almost impossible for the young generation to practice, given that they are born in this info age, and social media and stuff are part of their basic lifestyle. Nevertheless, there is no short of struggles and helplessness as we observe when they are being drowned in the sea of games, social media and Internet, in front of the academic pressure and career training competition. The external world is not in the least prepared and is basically helpless to them. So are us parents. Many times we cannot resist the temptation from being enslaved in the information trap for ourselves, how can we expect our next generation to learn the balancing skill easily, considering they are at the age of exploration with tremendous curiosity and confusion.

Sometimes I tell myself: why should we work so hard on info technology if we know it has both positive effects as well as huge negative impact which we have no clues how to fix. After all, we do not need to rush the entire world of life and time to be engulfed by info no matter how high quality we can make it to be. Meanwhile, I really hope to see more and more study to get invested in addressing how to help people resist the temptation of the information trap. The ideal world in my understanding should be that we stay equipped with both intelligent tools to help access quality information as nutrients to enrich our lives, as well as tools to help resist the temptation from info over-satisfaction.

Translated and recompiled from the original post in my Chinese blog: 【杞人忧天:可怕的信息极乐世界

 

[Related]

杞人忧天:可怕的信息极乐世界

Dr Li’s NLP Blog in English

 

【李白之17:“我的人回来了, 可心还在路上”】

李:
圣诞醒来 心里突然冒出一句貌似开涮海龟海鸥的打油:

我的人回来了
可心还在路上

问一下: 谁回来了?“我”还是“我的人”?
谁的心在路上?“我”的心还是“我的人”的心?
或者 either?

我的身子虽然回家 可【我的】心还在路上
我的【心上】人虽然回家 可【他的】心还在路上

白:
人,是身的借喻,我的人=我的身。心=我的心
伟哥这个浪漫语境,更需要一个带优先机制的逻辑门了。

“我的人吃饱了,可细胞还饿着。”
“我的人吃饱了,但马还饿着。”

前者“人”指身体,后者“人”指将士。

开学了。孩子们人回到了学校,心还在假期。
某某,人虽然死了,思想还在影响着我们。

所以,“人”成为一个有坑名词,至少在述及灵肉分离的语境里,还是需要的。
是一个body-part,不知道这个义项知网收了没?

李:
除去“的”就不浪漫了 诗意了无:

我人回心没回

其实 身心分离 或 人心分裂 乃是诗歌、心理学和宗教哲学的永恒话题。形神合一反而难得,需要修为或运气。

白:
“人走了,香味还在房间里飘荡”

李:
那是仙女 不是人。
换成仙女 还可以说义项问题吗,更像是是临时延伸或活用。

白:
给“人“老老实实加个body-part义项是其一,语境驱动的逻辑门是其二,一个都不能少。在人与body-part对举的语境下,这个body-part义项被激活,可以颠覆标配。

李:
人 的默认(标配)是 body 而不是 heart,不说 body 就是 body,但 heart 永远不可省去:

仙女走了 香味还在
== 仙女 body 走了

某某同志与我们永别了
== 某某同志 body 永别了
他的精神长存
说明其灵魂没有走

滑稽的是:

某同志与我们永别了
但他的body永存
-- 在水晶棺里
红场或什么场。
此 body 非彼 body

顺便一提,功过不论,留存 body 的做法感觉是违背伟人的意愿。为了留存 body,还要掏心掏肺 去除五脏 想想都让人悚然。

白:
楼歪了……

李:
歪了;也没歪。
“掏心掏肺” 语义计算要休眠唤醒,政治敏感性先放一边。
这种语义计算需要进入成语词典吗?一般认为不要进词典 但是不进入词典先休眠起来,想唤醒都没有依据。所谓词驱动休眠唤醒 就是把休眠的可能性预先隐藏在词典深处。细想起来这是一个巨大的虽然是可行的工程。起码 每个成语都要增加一个或数个字面意义的种子 。没有种子,context 再温床 另一种计算也难发芽。context 有 五脏 可以激发埋在种子里面的字面意义的心和肺,从而唤醒了 “掏” 的原义 而不是标配义。但这类激发不是驱动 驱动应该从成语本身发端 而不是从 context 发端。否则太发散 难以想象有实现唤醒的可行性。

 

 

【相关】

【李白对话录系列】

 

 

Parsing

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

《朝华午拾》总目录

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

白:

“是他杀的张三”是一个完整句子吗?

主谓宾都在哪儿?

李:

shi S Vt de O ==》SVO

很常见的句式,主谓宾齐全,

是 S V 的 O == S V 的 O == SVO

不过其中 “SV的O” 有歧义,因为与带定语从句的NP同形。

不过加了强调小词 “是” 在句首以后,似乎歧义就消失了。

白:

“是”当什么?自己没有主谓宾?

李:

是数学我不喜欢。

是在北京他们开的董事会。

是1990年我毕业的。

句首的“是”,是强调小词。

类似于英语的强调表达法: it is X 。。。。

it was in 1990 when I graduated
It was in Beijing where we got the deal

白:

可否认为“张三是他杀的”,然后“张三”后移到句尾。

李:

张三是他杀的 ==》 是他杀的张三 ?

张三他杀的 ==》 他杀的张三

白:

“是他杀了张三”可以这么做。“是他杀的张三”不能。

“是他杀了张三”跟“有人敲门”是一个性质,在坑论里是两个谓词合并,共享一个萝卜。

但“是他杀的张三”不好套用这个结构。没办法把二元关系进行到底。不仅“的”捞不出来,连“是”还得搭进去。

李:

“的” 字的两个用法:1 定语标志(或所有格);2. 肯定语气

表示肯定语气的 ”的“,通常位于句末,也常与表示肯定或强调的 ”是“ 搭配使用: 是 XP 的

貌似由此衍生出表示肯定的  ”的“ 用于谓宾之间。

“是他杀的张三” 说的是对过去或完成的肯定,但是却不允许用助词 ”了“ 或 ”过“,原因可能是这个位置被 “的” 占据了。另一个原因是 这种肯定语气蕴含了完成。肯定的行为动作不可能是没有发生的事件。

在 pattern 中,只要能列举出这种即可,很容易捕捉,除非是歧义。

白:

表达什么先不管,谁跟谁有关系是首先要解决的。

李:

没有句首“是”的pattern  “SV的O” 的确有歧义,但是这种歧义是 consistent 的。对于consistent 的歧义,其实不难处理,可以将错就错。直到错到某个点,系统觉得应该校正了,就校正。现在的处置是,开始 parsing 的时候,一律做定语从句看。

白:

有套路,就把构成套路的词摘到二元关系之外,语言学上不够简约。

前面说到的踢出机制试了几个例子,很好玩,基本通了。

李:

有套路,就把构成套路的词摘到二元关系之外,没有问题啊。因为小词已经在套路(patterns)起到了该起的条件作用,譬如 “是+S+V+的+O”,在这个 pattern 中,没有歧义, SVO 被确定,逻辑语义被解构,一抓一个准,完事了,把 “是” 和 “的” 这种句法辅助小词挂起来。这是pattern的天经地义。pattern 比起二元关系环环相扣的 parsing 有不同的优缺点:pattern 可能比较长,上述 pattern 是个五元组,实词的元是XP,所以实际的跨越可能是很长的 string,用的是长度来换取确定性,牺牲了某种抽象性,或换句话说,带来了一些规则的冗余度。二元关系环环相扣的做法,可能更加简约和概括。

白:

做系统咋都行。做句法。感觉非常实用主义,理论上不连贯。

李:

句法标配说的是 sv 语序,多数系统都用的。你的系统先不用,是例外。

白:

我这不用。至少matcher不用。以后语义模块用另说。

李:

虽然汉语语序很操蛋,孤立语中它自由得简直不讲道理,但是 sv 是默认,有统计性依据,也有心理认知的依据。这一汉语句法标配的形式痕迹,不用白不用。

白:

用了也有误导的时候。

我在尝试踢出边的功能:一个强搭配萝卜进来,在坑饱和的情况下,踢走一个已经进坑的萝卜,自己跳坑。如果没有不占指标的额度的话。一进一出,不破坏结构,不重构结构,也不改变结构对外部的联系。与所谓“回溯”大不一样。拔出来的萝卜再进什么坑,全看后续发展。

李:

所以句法结构的时候 可以不利用语序,因为这个结构的标签暂时不不用给出。其实这是跳过句法标签,直接在下一步进入逻辑语义标签。但传统做法是区分 arg1 arg2 arg3,现在是不区分 只说这是arg,有别于 mod 就可以了。

白:

但是各个arg如果subcat不同的话,需要锁定,免得互相串了。

李:

所以是标签隐藏在后面,暂时不露而已。

对,免得互相串了 是必须的。

白:

如果连另一个可能性都没有指出来,焉知落地想要的不是另一个?

李:

这个问题哪里会有?是落地的需求 drive 开发呀。世界上哪里有飘在天上搞开发的呢。何况开发这事儿也不是一锤子买卖。今天没有的可能性,明天加上可能性也是可以的。系统不可能是一成不变的。pattern 不变的话,在结论上增加点什么,连重新测试都不需要就可以搞定,有何难哉?更何况 我们 patterns 用完小词以后,还发扬了革命人道主义,并没有扔掉敲门砖,还用 X 把小词给挂上呢。所有的痕迹都在,过河没拆桥。不过是不让过了河的桥和敲了门的砖占据我们的语义核心地位而已。

小词负载结构,我的理解,本质上也就是一个过渡,一个粘结剂,一个特定的 parsing 算法所依赖的一种手段,并不是一种必需。小词成为条件,则是一种通用的必需,因为没有小词,结构关系就很难搞定,这是小词存在的理由。

白:

“杀人犯把卖盐的杀了化妆成卖盐的在那卖盐。”杀人犯是卖盐的?

李:

那句话一时看不懂,但 point 明白了。你是在诘问 把“S是V的”处理成 SV 的做法。它们不等同,不仅仅是 affirmative 的差别,还有另一个差别在。这个差别是,“S是V” 的 可以回答 “S是谁” 的问题,而 “SV” 不能回答 “S是谁” 的问题。好,这是一个典型的语义落地决定如何表达的例子。现在的问答系统的语义落地有对这两种结构做区分的需求,那就让第二个pattern在输出表达中,把这种需求满足即可。譬如,可以让第二个pattern (S 是 V 的)输出这样的结果:

arg structure: S V

feature: affirmative

answer: who is S

白:

杀人犯不是卖盐的VS杀人犯不卖盐

这些零碎副词加在affirmative上还是加在普通谓语上怎么区分?

李:

bottom line is pattern1 和 pattern2 是两个独立的捕捉,二者该怎样处理都可以,加在哪里都可以。加在哪里落地好用,落地觉得有用,就加在哪里。这都不是事儿。媳妇都娶回家了,怎么打扮还不是男家一句话吗?

白:

那就是说实际上做了两个谓词,简化成一个谓词是伪命题。而小词负载结构,只不过把两个谓词显性化而已。

李:

早早年的parsing,其原始定义记得是没有parse tree的表达的。什么都没有。就是一个合法非法的结论。所谓合法的结论,就是 parser 把那个句子从头到尾都吃进去了。

白:

判定问题

李:

后来的 tree representation 或其他的表达,全部是 parsing 过程留下的痕迹,或副作用。这样看parsing就明白了娶媳妇是核心,打扮媳妇是具有任意性和功利性的副产品。小词负载结构如果能在语义上表现出贡献,那么这种贡献可以等价地由 pattern 给出。换句话说,如果某种用小词作为枢纽来区别谓词的表达法,对于语义落地有益,那么没有人可以阻挡pattern的编写者,输出同样的表达。但实践中,我们知道,其实绝大多数时候,这些小词丢掉了,核心语义没啥损失。譬如 小词 “把”点名了宾语的所在,借助它表达出宾语的核心语义以后,“把”的使命也就完结了。

白:

“把”和述补结构连接,绝不是只有“宾语”这一个含义。参照“他把眼睛哭肿了。”

李:

小词负载结构的语义贡献注定是有限的小词的本质就是句法的显性形式,在句法走向逻辑语义的过程中,形式走向内容。表层走向深层。言语走向逻辑。这种趋向决定了小词负载结构基本是边缘的语义。换一个角度看这个问题,小词是 language specific 的,而语义的本质是人类共通,language-independent 的。language specific 的东西不会在语义里面唱主角。

30 年前,董老师提出,以人类共同的逻辑语义作为机器翻译的基础,而不是在句子表层实施转换。这样一来,不仅用了不同小词和词序的主动语态和被动语态被认为是相同的,而且动词与deverbal的名词也被认为是相同的。因为其 arg structure 的核心逻辑语义都是相同的。用它指导 MT 就是:

I translated A from B into C

== A is translated from B to C (by me)

== my translation of A from B to C

==> 我把A从B翻译成C

当时觉得董老师的做法的确抓到了要害,但也觉得表层的小词和细微差别(譬如语态)也不能就这么扔了。最后的体会和结论是: 在语义落地的时候(譬如MT),逻辑语义是主要的,表层结构是辅助的。做到了逻辑语义的转换,基本任务可以算是完成了。但是要想做得更好一点,还可以参照表层结构或features,再做一些细节上的调整。譬如 英语是被动态的,也许也翻译成被动态更合适(其实,由于两个语言的显性被动表达形式具有不同的使用频度,只能说,部分的被动态用汉语的显性被动为宜,其他的被动态可以用隐性的被动形式,最后还有一部分被动其实更合适用汉语的主动态来翻译,这个要细细研究的话,可以针对不同情形结合表层和深层结构写一大篇来)。

总而言之,小词和表层,顾不上来的话,扔掉了也没啥大不了的。这些边缘的语义色彩,对于语义落地的不同场景或许可以有参照作用,但不是核心。

白:

实际情况是,逻辑语义也是人参照表层写出来的。本族语表层研究不到位,就只好迁就着走。就好像grandma不知道是姥姥还是奶奶。并不是他们说英语的人逻辑上不能定义和区分爸爸的妈妈还是妈妈的妈妈。我们要高频率地使用,就不能绕着走。

李:

这样看也是一个角度,有其道理。

理论上,逻辑语义应该是参照多数的人类语言提出来。基本立足点就是,人类的概念和思维是共同的,理解也应该是共同的,只是表达的时候穿了不同的外衣。当然,语言对思维也有反作用,因此人类思维和理解的共同性,只可能是大同小异,而不可能是完全一致。

白:
共同性体现为外衣的并集

如果主要外衣缺失,就谈不上共同性了

【相关】

【李白对话录系列】

中文处理

Parsing

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

《朝华午拾》总目录

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

【立委按】 白老师不动声色开始亮剑了:独创的自然语言的parsing法术,无需规则,无需带标数据,词典主义标注加无监督大数据以克服知识瓶颈。深度计算,句法语义交融,借力RNN,以平天下。小试牛刀,以中文难句为例。先睹为快,以飨同仁。

 

李:
省略 head 最可恨。从“的字结构”和what-clause始,恨的是 队员都在 头儿却跑了,缺少头就缺少了语义相谐的依据。what I read 的语义是 【book】,可是很难找到这个本体的入口点。语义计算和细线条深度parsing就犯难了。当然,可以转弯抹角通过 “read”的 HowNet 网络里面的 logic subcat 的逻辑宾语的标配,把这个语义节点挖出来,这多费劲啊。
白:
别拿“的”不当头儿
李:
“的” 与 what 一样,可以当头儿,但没有本体的底气。
白:
给它它就有
李:
我尝试过把 V 当头, 也尝试过拿 “的” 当头,都遇到这个本体的滑铁卢。V 麻烦更大一些,V 本身的本体在那儿添乱。理论上可以通过 V 询问 HowNet 去 retrieve 出来逻辑宾语的标配,然后赋值,并替代 V 的本体属性。Word 天,这不是人做的活儿。
我吃的 --》【food】
我看的 --》【ANY】
我修读的 --》【knowledge】
我parse的--》【language】
我干的 --【事业,or 勾当?】
白:
只需要指回来,不需要明确哪个坑。
的当头不是问题,当头的赋予什么subcat才要紧。谓词的坑不饱和不要紧,可以到坑里去挖。谓词的坑饱和了还要“凭空”憋出一个subcat来最麻烦了
李:
出去买外卖,路上冒出个英语打油:
What I read -- is not a book
What I eat -- is not food
What I do -- is not a cause,
What I love, is you.
标配被形式推翻,哈。
白:
not a book, but newspapers; not food, but pills; not a cause, but fun.
看看我自己搞的parser的图:
李:
牛叉!看着就高大上。
what I love, is the girl:见过的都说漂亮的。
见过的都说漂亮的:有歌为证:“在那遥远的地方,有位好姑娘;人们走过她的帐房,都要回头留恋地张望。”  里面有两个 “的”字结构:
见过的 --》 【human】
都说漂亮的 --》【ANY】
前者是主语,后者是宾语,补全了就是: 见过的【人】都说【她】漂亮的【那个姑娘】
白:
tomita差远了,我这里没有规则只有词典。
sh移进;up升格;ma填坑;mo修饰
比图栈自动机简单,而且跟语义中间件查询一一对应。
李:
就四个操作?跟汇编似的。记得汇编就是两个字母做操作缩写。我自己没整过汇编,我领导当年整天就是汇编。
白:
还有一个me,合并,这个例子木有用到。
match,modify,merge,那么凑巧都是m打头,第二个跟不同的元音。
下划线义为“关闭”。五角星是关闭后又打开复用。
李:
SH 的缩写是?
白:
shift
李:
my bad, I thought it was shit
wondering why this naming
by the way, shit and crap are NOT negative in Oral English when used in NPs
白:
up含元音u,shift含元音i,这aeiou也算集齐了
shift:move to the next token
李:
we call it read head in FSA
白:
pda players like to call it that way.
但实际上我这也不是栈。
李:
能把姑娘那句串出来,真心不易。
我要是硬做也可以做,可是感觉不踏实,不知道哪天又断了。很多事儿是选择不做,因为没有鲁棒的把握,当然也因为不足够常见感觉不值。
match 是填坑,那就是 saturated 了。up 是升格,意思是?
白:
修饰语提升为被自己修饰的pos
坑有指标,填一个少一个
matcher就做这五个动作
李:
为了理解白老师的parsing机制,咱们对照上图来个walk-through吧:
“这” 是 N++,Up 了一下,就成了 N+ ?
白:
指示词,数词,都是N++
李:
Up 之前为什么 Shift?
白:
位置一开始-1,进入0就是shift
李:
Mo01 就是被吃掉了,N+ 就是往右边找 N,modifier 找 head,找到了 就自裁了。
白:
李:
可是这个 NP 看不出来是一个完整的有 det 的 NP,过了这村,痕迹也没留下的感觉。
白:
弧都在。每条边都是痕迹。
李:
Ma12 那是填坑了,带有 2N 的 “见”,saturate 了一个,成了 S/N,可是怎么知道是主语坑填了 还是宾语坑填了呢?
白:
不知道。也不care。
李:
所以 先吃掉一个再说。也不问问中间件?
白:
目前每步都问
李:
每一步都查相谐?
道理上不需要,只有出现歧义可能才需要查问和比对。
白:
两个如果有一个相谐,就锁定一个,再来只需查另一个。
李:
小词 “过” +S 是向左修饰谓语的,因此 Mo32 就把时态助词吃掉。
so far so good
可这时候没遇到 N,只遇到 “的”。“的” 很特别,谁都要
白:
的,左面吃一坨,吐一个定语N+
李:
X 来了就吃掉。
对 突出了一个 N+
白:
X是wildcard 以前说过的,不管S还是N,来者不拒
李:
Up 4 晕了
原地踏步就是 Up?
白:
定语升格为NP,实际是创建了一个虚节点,图上有
李:
Up 的原因是因为前后的路都堵死了,等于是默认操作?走不下去了,就 Up 一下。
白:
什么因素驱动什么操作,应该是最核心的东东了。
李:
Ma42 填的啥坑?“见” 还有一个没有填的 arg N。
白:
见,残留的坑。
因为是残留的坑,萝卜不占指标,依然可以它用。
残留的坑就灭了。
李:
哦,那是“的”没找到 head N,自我升格为 N 以后,去填了 “见” 的第二个坑。至此我们其实不知道“姑娘”和“的”各填的什么坑:如果的字结构中被省去的N是【非人】(东西),则“女孩”是主语;否则,“女孩”可能是宾语(也可以是主语),类似于说:
这女孩见过的【东西】
见过这女孩的【人】
其实在本例句“这女孩见过的都说漂亮”中,“女孩”是宾语,而的字结构指的是主语【人】。
不占指标的意思是,这个 V 做了定语从句,所以 V 全部saturated 了
白:
残留是指,head已经填坑去了
我们matcher是没有语言学知识的,只知道填坑去了,定语从句什么的,不知道。
另一面说,如果有其他情形导致残留的,也一样办理。
六亲不认。
李:
Ma42 结果 把 “见” /N 变成了_,关闭了,就是用 “的” 填进去的结果?语言学上对应于 “的”字结构 反填为子句里面的主语。
makes sense
反填不占指标,所以动词saturated,可“的”字还是 N,从这个 N 进一步取下一词 (Sh5) ?
白:
sh是先放着,看下一个
李:
入栈?
白:
不完全是栈,暂且理解为栈也将就
李:
小词 “都” S+ 往右找谓词做修饰(Mo56),于是吃掉了 “都”。
“说”有两个 args?一个是 N 主语,一个是 X 爱咋咋:NP宾语也好,宾语从句也好
这时候 的 N 可以填进去 (Ma46),后面的 A 作为第二个 X 也填进去,大功告成?
白:
要处理残留:谁漂亮
李:
Ma17 于是把“女孩”连上了“漂亮”,填坑。
白:
因为是残留,要在之前已经关闭的N里面找一个做兼职。不占名额。
李:
远距离逻辑关系 不能占句法关系的坑。
白:
_是关闭,五角星是再打开
李:
关闭是入栈,打开是 pop?
白:
好像不是
关闭是了结,打开是废物利用。
李:
这个游戏好玩。
parsing 是走通了,哪里看出怎么给标签?主谓宾等
白:
不给标签,只说谁跟谁有什么关系,留下来的arcs正好构成这么一幅图
李:
“什么”关系不就是标签吗?
MO 是修饰;MA 是填坑,但没说主语关系还是宾语关系
白:
水平的是修饰关系(红色),垂直的是填坑关系(蓝色),跨接是合并关系(橙色)。
李:
没看到跨接
白:
这句没有
不说没关系的,范围已经框死了
语义层面往下走接得住
李:
主语宾语怎么接得住?
主宾的区分往往是,相谐只是可能,句法才是决定。“老鼠爱大米” 填坑以后 相谐可以决定主宾,“张三爱李四” 呢?
白:
我们汉语可能要反过来,相谐如果搞定,不问语序;相谐搞不定的,再问语序。
语序的原始编号都在。
李:
至少对于此句,不问语序是对的。问了语序的话,“女孩”在主语位置,应该是定语从句的主语了,但其实是宾语。
白:
如果填坑时没有竞争者,也不用查中间件。
大部分情况只用相谐就搞得定。
三省吾身,用得妥妥的。
李:
有意思,太有意思了。
白:
当个玩具吧,希望尽快升格为不再是玩具。
李:
这可不是玩具 玩具哪里能搞定这样的句子。看得出来 小词很关键。实词一边有坑,一边有中间件。
白:
玩小词其乐无穷啊
李:
“的”字的玩法 令人惊诧。
白:
“圆圆地画一个圈”
这里要解决“伪状语”的问题。顺带考查一下小词“地”。
李:
洗一个痛快的澡
是伪定语,同理。
白:
这里,“圆”残留的/N,靠“圈”的废物利用搞定。二者之间的subcat不要太般配哦。
同理,“痛快”残留的/N,找到了subcat相谐的已关闭的“他N”。
李:
这句没看懂。
“圆” 一个坑,后来让 “圈” 填了。类似于 “痛快” 的坑 让 “他” 填。
白:
画的逻辑宾语坑是“图形”,圈的subcat也是图形,这不是般配是什么?
伟哥没看懂的是上海话吧……
不要太 means 太tm
李:
哦。
北方话就是王八绿豆对上眼了。
对上眼的是远距离的 “圆” 与 “圈” 啊,“画” 与 “圈” 哪里需要对上眼,那是句法绑定 父母包办:
v 了 一个 n
白:
父母包办的也送中间件里,无妨
李:
不需要。先婚后恋。不恋也成婚。
白:
圆圈也包办的
不过我还没处理成包办
需要磨
所谓包办,就是word embedding。自由恋爱,就是subcat-embedding。
李:
前者是强搭配?后者是搭配
强搭配在两个直接量之间进行:洗-澡;搭配可以在 subcats 之间
吃 -【food】
or【consume】-【food】
词对词:洗-澡 ==》 词对subcat: 吃-【food】 ==》 subcat 对 subcat:【consume】-【food】
HowNet 基本是后者,因为是概念之间。汉语词典里面有前者,因为有习惯表达法,language-specific。问题是,由于自然语言有多义,词到概念的映射不是一一对应的,除非存在一个完美的 WSD 支持。因此,subcat 对 subcat 的这个宇宙真理,尽管概括性和逻辑性强,但不好实施,容易走偏。除非有大数据做底,指望 WSD 不太现实。
白:
中间件看到的就是实例对实例、标签对实例、标签对标签(含标签它八辈儿祖宗)。
李:
我把 HowNet 的搭配搬过来以后,吃过亏。不过实例对实例,这个不需要大数据,拍脑袋也不会走偏。基本就是词典的记忆,脑袋里都有了,而且因为概括性弱,走偏的可能几乎没有:譬如 洗-澡。实例对标签 处于二者之间。
白:
WSD再怎么不完美也要分开,绝不能搅在一起。宁可分头完善去
李:
我从来不指望 WSD
默认假设是没有 WSD 怎么做 NLU 或落地。WSD 是其他过程的结果或副作用,而不是支持其他模块的前提。
白:
“洗”是万金油,“澡”是单打一。
一个固定搭配入口在哪很要紧,放在万金油那儿就惨了
李:
那是效率的问题。有不同的 indexing 的入口。“澡”作为入口 效率更好而已。
所谓 word driven 其中一个考量就是入口的驱动词的选择。传统的词典编纂也有这个考量。
白:
WSD和matcher工作时都要调用中间件
李:
一时想不出来 parsing 为什么要 WSD,有中间件就可以 parse 了。理论上 parse结果里面,词的节点应该是 WSD 过的概念。
白:
不存在独立于中间件之外的WSD
给Matcher的是单选的pos流,从多选到单选这一步是WSD做。再回到多选,就是休眠唤醒了。就是我说的,“纵向不确定性”WSD负责搞定;“横向不确定性”matcher负责搞定。二者都要借助中间件。
李:
多选到单选不是中间件吗?当然说这里面隐含了WSD也是不错的,因为所谓相谐就是两个节点的某一个 ws 与某一个 ws 对上了。从图上说,node 才有 wsd 的问题,arc 不是。
白:
义项的多选到单选,由WSD借助中间件做。parsing动作的多选到单选,由matcher借助中间件做。
“我想战胜AI的心,仅仅是为了作为棋手的尊严。”
“想战胜AI的心”,遇到“心”属不属于“那个小集合”的问题。可以人为设定“心”的一个属于那个小集合的新义项,(类似“心情、心愿”),在中间件里面靠“想、V、的”等捆绑,希望运行WSD时可以体现出来。目前资源太小,很多时候不顺手。
李:
我来推演一下:
parsing 到某个步骤,需要决定定语从句修饰的N,是不是应该反填子句谓语还未填的坑。如果 N 与坑的arg的要求相谐,则填,否则不填。如果 args 都已经 saturated 也没有填的问题。
“我想战胜AI的心”: “战胜”已经saturated,“心”不填。无需给心做 WSD
“想战胜AI的心”: 这时候,“战胜”还有一个主语的 arg 没有填,“心” 能不能填,决定于大数据中有没有 “心” 做 “战胜” 主语的历史积淀。应该是不相谐,没有积淀,因此不填。即便是那个“小集合”的典型案例,譬如“消息”,也有可能是相谐可填坑的:
他走漏的消息,很关键。
他走失的消息,很关键。
大数据搞定 “走漏-消息” 是肯定的。至于“走失” 与 “消息”,那应该是词典决定的标配,而不是大数据。换句话说,搭配是大数据的统计,不搭配则是默认。

白: 再看:

因为“碗”和“猪”不相谐,标红的这一步选择了Sh,而不是Mo

王:
白老师,这个句子最后一步match的是17,可以是47么?

Plus,“这女孩见过的都说漂亮”这个句子似乎有歧义?对比:“老祖宗讲过的都说有理”。

“女孩”在这个带“见”的的字结构里,可以当主语,也可以当宾语。

白:
对。这里只取了一种分析结果

李:

这姑娘见到的都说漂亮。
这小伙儿见到的都说英俊。
这小子见到的都说漂亮(因为他以前根本没遇到过漂亮的)。
这姑娘见到的都说英俊(因为她足不出户,见识太少)。
猪八戒见到的都说漂亮。
这傻瓜见到的都说奇妙。

结论,是 ”姑娘“ 与 ”漂亮“ 的高度相谐性,决定了姑娘与句法标配唱反调,做了 ”见到“的逻辑 宾语。甚至替换成同义词 ”英俊“,这种相谐性有所降低,就很难打败句法标配了。这也说明,语义中间件的相谐性不是好玩的游戏,非高手不能。甚至高手也会失手,过犹不及。

王:
操作有Shift, Modify, Match, Up, 还有这个句子里没用到的Merge,一共五种……

白老师,如何决定每一步用哪种操作呢?是在每一步都把五种操作全部轮一遍,看看哪个能用,然后继续,最后把成功parse全句的依存关系留下,没parse出全句的依存关系丢弃?

另外parsing以前做pos tagging的时候是不是也要把所有可能的pos序列全部给出来?

白:
这里面有大量无效的结合需要排除。算法的核心就体现在这个地方。

目前算法还没有面向所有歧义分析结果,取的是按照系统排序原则首先形成的第一个满足条件的分析结果。

另外不同的pos标记是靠WSD模块来选取的,每个词只有一个pos标记胜出。

如果做不下去了,又发现“里外勾结(甲词的首选pos和乙词的非首选pos类型相配)”,则启动翻盘。

李: 总结一哈。

优选的路径亮相的背后是大量的伪歧义,白老师怎么对付的呢?一个是基于训练出来的语义中间件的WSD,它负责提供每一个词的唯一而合适的pos供给 以 subcats 驱动的 parsing 去匹配。另一个就是 parsing 的算法,想来是糅合了某些语言学原则的,来决定操作的顺序。

这解答了我以前的一个疑问,为什么不可以绕过WSD做深度parsing?

在白老师,是绕不过去的,因为是基础支持。在我这儿,基本上是绕过去了。POS (可以看成是最粗线条的 WSD 的语法表现)我基本是绕过去做parsing的。见:【NLP 迷思之四:词义消歧(WSD)是NLP应用的瓶颈】;【中文处理的迷思之二:词类标注是句法分析的前提】。

能绕不能绕,决定于算法。条条大道通罗马 of course

白老师算法的精炼和操作的简约,是建立在两个基础之上:一个是语言学标注丰富的词典,潜在的路径都藏在里面,就等 matcher去选秀。另一个就是要有一个大数据的语义中间件的有力支持。

我这边也要靠信息丰富的词典,词典的一头是语言学,词典的另一头是HowNet本体,前者是主,后者是辅。

另一个靠山就是规则,根据语言学原则和经验设计出来的支持多层parsing 模块的 hierarchical 的规则集。

多层、细线条规则,为绕过POS和绕过WSD施行对伪歧义免疫的高精度深度分析,提供了条件。parsing 本身的基本机制也很简单,但利用这个机制把语言学揉进去来组织多层,那就是可乐式秘方了。

白:

“貌似咱倆把天聊歪了”--隔壁群里的一句话,离合词活用经典。

李: 就此打住吧。

白:
我说,天好好的,没歪。

当规则寓于词典的时候,WSD不是传统含义,POS也不是。某种意义上说,此时选择义项就是在选择规则。也就是说,绕开彼WSD使用的技术,跟此WSD使用的技术是相通的。

李:
WSD 本来是一个独立的与结构分析不必交融的任务,譬如,bank 是选“银行”还是“河岸”的消歧问题。再如,this coach is believed to be tough 这是以前提过的 WSD 经典案例,说的是,利用语义相谐来做 WSD

coach 有n个义项 tough 也有 m 个,二者互谐的只有两个:
coach【human】:教练 ; tough【human feature】:严厉
coach 【vehicle】 :马车; tough 【object feature】:皮实

白:
这不影响结构啊,一个N,一个S/N。pos没有其他选择就不check

李:
这个案例不影响各自的POS,不影响结构,这是 WSD 原本要追求的目标,但不是 parsing 所需要的支持。

然而,如果相谐是需要check的一个条件,出现的情况就是:

1. 由于 sparse data,两个直接量在一起的机会不够,所以系统认为是不相谐: 就是说语义不及格,全靠句法了。如果句法无歧义,没关系。否则影响parsing的质量。

2. 如果数据超大量,不要依赖于 subcat 级别上的相谐,而是利用直接量的 touch 和 coach 就有足够的例证是互谐的,那么语义支持了二者的结合,哪怕这时候究竟是 【human】还是【non-human】仍然无解。

我要说的是,白老师的 WSD 模块不是通常意义的 WSD,而是针对结构歧义(structural disambiguation)而来的相谐的支持,是粗线条的,而且是调用 when needed 的。WSD 的本义不是这个,本义是 lexical disambiguation,是为了确定词义的。本义的 WSD 对 结构 parsing 理论上有帮助,实践中基本不需要。在结构 parsing 的时候,WSD 可以隐含(或成为结果,就是所谓 positive 的副作用),但不必是条件。

即便如此,白老师由于没有显式的多层的 pattern 规则,只有隐含在词典可以被 matcher激发的潜在规则种子,其结果是对所谓 WSD或POS 模块的依赖远远大于多层的规则系统。既然有休眠唤醒,白老师应该也引入了多层。但总体上,白老师的层次是少数的,仍然在传统 parsing 单层搜索空间的延长线上。因此理论上,伪歧义会成为极大的困扰。白老师的创新就在,层次虽然不多,但背靠两座大山。这两座大山,都是传统 parsing 不具备,或者严重不充分的。第一座大山是词典主义标注,这是一个巨大的语言学工作,特别对小词和 top 1000 的用法众多的实词。第二座大山就是大数据的语义相谐的训练。建造这两座山都不是简单的活儿,除了设计家的宏观规划外,牵扯的具体的数据工作和调试测试工作非常庞大。没本事建大山,也就无法克服传统parsing的伪歧义瓶颈。

【相关】

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

【李白对话录系列】

中文处理

Parsing

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

《朝华午拾》总目录

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

【立委按】世有李白者,精于语义,勤于计算,一敏一木,一弦一弹,无论魏晋,不知有汉。坐而论道,波澜不惊,各得其乐,天马空行。挥斥方遒,指点语言,和寡曲高,流水云天。有道是,一擎核弹一拨弦,不是冤家不上船。

【李白100:Parsing 的休眠反悔机制】

【李白99:从大小S的整体部分关系看舆情挖掘的统计性】

【李白98:从对联和孔子遗言看子语言自动解析】

【李白97:大S小S句式中插入“的”所引起的交叉陷阱】

【李白96:想哪扯哪,不离其宗】

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

【李白梁于94:爱因斯坦是卓别林的崇拜者, 谁崇拜谁?】

【李白宋93:汉语语序的自由与不自由】

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

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

【李白宋郭90:句法与逻辑和语用的纠缠】

【李白王89:模糊语义与真假歧义,兼论PSG与DG】

【李白宋88:再谈量词搭配与名词短语自动解析】

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

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

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

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

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

【李白82:汉语重叠式再议】

【李白81:某些人的讽刺与挖苦】

【李白毛洪80:驯兽散记】

【李白79:中文深度解析的地基是词法分析器】

【李白78:毛主席保证】

【李白77:基本短语是浅层和深层parsing的重要接口】

【李白76:跨层次结构歧义的识别表达痛点】

【李白洪毛75:乔姆斯基批判】

【李白雷宋74:乔老爷的递归陷阱】

【李白73:汉语parsing的合成词痛点】

【李白宋毛72:NLP的测不准与追求完美】

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

【李白70:计算语言学界最“浪漫”的事儿】

【李白69:“蛋要是能炒饭,要厨师干啥用?”】

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

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

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

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

【李白董冯吕64:NLPers 谈 NLP渊源及其落地】

【李白雷63:做NLP也要见好就收,适可而止】

【李白梅宋62:工程语法与深度神经】

【李白张61:长尾问题种种】

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

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

【李白之58:爬楼NLU】

【李白董57:中文字驱动patterns初探】

【李白王56:与上帝同在和对话的学问】

【李白毛55:漫谈 中文NLP和数据流】

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

【李白宋53:聪明的一休与睿智的立委】

李白郭 52:单层、一锅烩、反悔

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

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

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

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

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

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

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

【李白之44:“明确”是老子还是儿子,需要明确】

【李白之43:谈谈绑定和回指】

【李白之42:谈谈工具格的语言形式】

【李白之41:Gui冒VP的风险】

【李白之40:逻辑语义是语义核心,但不是全部】

李白之39:探究自然语言的毛毛虫机制

李白之38:叫NLP太沉重

【李白之37:分层与一锅煮的parsing机制探讨】

【李白之36:汉语可以裸奔,不可能无法】

【李白之35:句法分析 bottom up 为基础,可穿插 top down】

【李白之34:汉语情态词和计划类动词的异同】

【李白之33:从语言的毛毛虫特性聊到语文纠错的辅助工具】

【李白之32:从“没 de Vt” 聊开去】

【李白之31:绕弯可以,弯不过三】

【李白之30:李白侃中文parsing】

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

【李白之28:“天就是这样被聊死的”】

【李白之27:莫名其妙之妙,妙不可道】

【李白之26:汉语动结式和情态式的隐式被动现象】

【李白之25:句法能简则简,只要不影响总体结构】

【李白之24:“这碗花纹很别致的”】

【李白之23:“一切都在变,只有变本身不变”】

【李白之22:兼语式的处置及其结构表达】

【李白之21:萝卜多坑不够咋办】

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

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

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

【李白之17:“我的人回来了, 可心还在路上”】

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

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

【李白之14:Chinese deep parsing,说的是 deep!】

【李白之13:所谓话题或大小主语的句式】

李白之12:修正乔老爷的保守派自由派之辨】

【李白之11:parser 的三省吾身】

【李白之10:白老师的麻烦不是白老师的】

【李白之九:语义破格的出口】

李白之八:有语义落地直通车的parser才是核武器

【李白之七:NLP 的 Components 及其关系】

【李白之六:如何学习和处置“打了一拳”】

【李白之五:你波你的波,我粒我的粒】

【李白之四:RNN 与语言学算法】

【李白之三:从“把手”谈起】

【李白之二:关于词类活用】

《李白之一:关于纯语义系统》

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

【李白隔空对话录:谁无知呢?】

李白:其实NLP 也没那么容易气死

【相关】

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

【白硕 – 打回原形】

自然语言后学都应该看看白硕老师的“自然语言处理与人工智能”

立委译白硕:“入口载体”之争(中英对照)

《铿锵众人行, parsing 可以颠覆关键词吗?》

【泥沙龙铿锵行:再论NLP与搜索】

【泥沙龙笔记:语义可以绕过句法吗】

《parsing 的休眠反悔机制》

【歧义parsing的休眠唤醒机制初探】

【结构歧义的休眠唤醒演义】

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

乔姆斯基批判

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

【理论家的围墙和工程师的私货】

【语义计算沙龙:乔老爷的围墙,community 的盲区】

【deep parsing 小品:天涯若比邻的远距离关系】 

Deep parsing: 每日一析,内情曝光vs 假货曝光

立委科普:关键词革命

立委科普:关键词外传

骨灰级砖家一席谈,真伪结构歧义的对策(1/2)

骨灰级砖家一席谈,真伪结构歧义的对策(2/2)

中文处理

Parsing

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

《朝华午拾》总目录

【李白之14:Chinese deep parsing,说的是 deep!】

白:

“认错的人我原谅了”“认错的人原谅我了”
“这场雨来的不是时候”“这场雨来得不是时候”哪个对?
“这场雨来的不是时候”、“这场雨来得不是时候”,感觉前者说“来”不是时候,后者说“雨”不是时候。个人倾向前者。

李:


谁原谅谁,句式蛮普通的。这里面还有其他的 catch 吗?

白:
两个不同的“认错”:一个是承认错误,一个是认错人,负面sentiment在不同主体身上。原谅的方向不一样,可以反推是哪个“认错”

李:
我很木
没想到第二个认错(人)。

白:
在“认错”与“人”之间,至少一个S,一个O。

李:
两句都理解成“承认错误”不行吗?

白:
一个大概率,一个小概率
把后者标成O,都是大概率。

李:
明白了。(当然那是在受教以后在明白)

我的问题是,普罗百姓更多人跟我似的木,还是白老师一样敏锐?
第二个问题是,这种不影响句子大局(大结构)的微结构里面的hidden args:decode 出来或不理它,decode 对了或错了,对一般的语义落地目标影响多大?

白:每个都不大,加起来不小。

李:
下面这组更看不出区别了:

白:
的/得,对错别字再加点容忍度,肯定是你这结果

李:
这一组,几乎肯定老百姓对区别无感。
“得”、“的” 混用已经如此普遍,以至于正式文字里面也不少见了。
实践中的体会是,遇到 “得” 就遇到了救星,因为基本可以肯定,用 “得” 的人是有文化的,是有意为之。由于 “得” 的补语标志性很强烈,加上 “的” 用法太多,系统不用担心 “得”,但是对 “的” 不得不格外小心。无论怎么小心,也还常搞不定。现代汉语该死该诅咒的东西很多,“的” 肯定是 top 3 可以千刀万剐的。恨得不止咬牙。

白:
“他菜炒的不够熟练”“他菜炒得不够熟练”呢?前者说的“炒”不够熟练;后者说的“他”不够熟练。其实用哪个字倒在其次,关键是结构不同。不同的萝卜来填坑。

李:

其实第二句的离合词“炒菜”也抓着了,不过显示的时候与 “得字结构” 撞车,没显示出来,这是显示的bug,不是parser的bug。有意思的是,炒菜也可以是名词:

白:
“生的伟大死的光荣”还是“生得伟大死得光荣”?
我觉得谓词的体词化+comments谓词,和谓词与谓词共享坑,根本就是两个结构。
我其实想说,“圈画de圆”和“圈画de慢”是两个结构,不管用“的”还是“得”。
前者是双爹,后者是祖孙三代。
“坑挖de整齐”和“坑挖de突然”也是两个结构。

李:

后者是默认,不论。
前者很 tricky。

白:
这两个用不同字区分,有意义。

李:
没法教育普罗。语言实践中不可操作。

白:
受过教育的尽管都写“得”,其实很勉强。谓词名词化用“的”本来天经地义,为啥算错。
我觉得做区分也是“语文”的需要,并不是“语言学”的必然。所以有今天这样的混用局面
这个区分并不高明。

李:
因为的字过载,其中的 “的字结构” 已经很各别:一个子句突然变成一个 NP,
这已经很让人困扰了(英语的 what-clause 也有这种困扰,容后论),这时候大家在学 “的字结构” 的时候,尽量趋向于收紧。最常最先记住的 pattern 就是“我吃的”、“他读的”、“你扔掉的” 这类。现在突然来了倒装,又夹杂了分离词,别说普罗会懵,就是文化人能整明白的也在少数。

白:
所以我才只问填坑,不贴标签

李:
更主要的还是口语中读音一样,这种细致的语义区别,要想教育用文字区别,不可行。

白:
不说哪个是补语,填坑的方向自然说明一切
@wei 试试旅馆那个?
“这里的旅馆住过的都知道很脏。”
“这女孩见过的都说漂亮。”

这个例子的奇妙之处在于,一般的情态动词和它带的宾语动词具有同一个逻辑主语,但这里却不是。“住过的都知道”似乎像是一个插入语。但是parser怎么会知道这里是插入语?

“这女孩见过的都说漂亮。”

同理。撇开是不是插入语的事情,这就是“很脏”的坑谁来填的问题。有“住过的”和“旅馆”两个选项。为啥不是“住过的”?我之所以拿女孩漂亮的句子做补充,是想说明,这一选择与sentiment无关。

撇开是不是插入语的事情,这就是“很脏”的坑谁来填的问题。有“住过的”和“旅馆”两个选项。为啥不是“住过的”?我之所以拿女孩漂亮的句子做补充,是想说明,这一选择与sentiment无关。

李:


何年何月 肯定做过努力。至于努力的成效就不好说了。汗滴禾下土 有迹可循。弄巧成拙也在所难免。不遇到特别的句子还看不出来。

白:
“这里的旅馆 住旅馆过的”看样子是在容忍不确定性
两个S都指向这个集合,但回避了是否指同一个元素。李:

李:
这是智慧还是油滑?白硕:

白:
这种容忍不确定性又把不确定性圈住的做法,必须发扬光大。李:

李:
听上去像是表扬。白硕:

白:
当然
只是还不解渴
期待更多 更系统 更elegant

白:
是知道一个词这样,还是情态动词都这样?

“这个人大家都相信是无辜的”

似乎“相信”也是对的

李:

白:
“这只老虎尿过的都认为是自己的地盘。” 出现反例了。“尿”本是不及物动词,但是这时候要强制提拔一个编外的坑,给“尿”。处所,很幸运地被选中。

李:
还有:“这个小便池尿过的都说干净。”

计算语言学家的不能告诉我们,我们正在走向危险的边缘。句子越来越诡异,合法非法之间,更要命的是,感觉上不具有统计性:不好拿捏,不仅要费牛劲儿,而且做了白做。

见好就收。拉倒。

前面提到英语的 what-clause 也类似汉语的 的字结构 容易让人懵。因为看上去就是一个 wh子句,可用法上的绝大多数 却是 NP,等价于带定语从句但省略了 head 的NP。蛮操蛋的。结果呢, 遇到复杂情形,晕菜了。What you said is not what you did.

What you said is not what you did.

这个中规中矩,还好。

I don't know what you did.
I don't understand what you said.

前一句,是 NP 还是 wh-子句?其实两可。翻译过来就是:

我不知道你做的(事儿)。
我不知道你做了什么。

这种细微差别,老百姓是不管的,也管不了,大家也就打马虎眼抹平了,反正也差不太多。第二句呢,一般理解就是 NP:我不理解你说的(话儿)。

understand 与 know 近义词,但 subcats 有别。know 既可以带 NP 又可以到 wh-子句:

I don't know who you are, but I know what you are
I also know where you live and how you got your permit.

understand 通常带NP,或比 know 对 NP 更青睐。

 

【相关】

【李白对话录系列】

中文处理

Parsing

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

《朝华午拾》总目录