《李白宋115:句法的脑补,情报的冤家(1/2)》

立委按:cs(common sense):句法的脑补,情报的冤家,是为常识。常识语义在语言理解中的作用,一直是AI符号派的重要话题。常识看上去漫无边际,如何形式化有效利用,也一直是个挑战。沙龙讨论的是轻量级或碎片化的常识语义的可行性与实践体会。具体说来有两方面,一是所谓语义相谐反映的常识条件在语言解析中的作用(譬如,EAT谓词概念 与 FOOD类实体的相谐度高),二是所谓“事理”图谱(譬如,“面试”与“录用”之间的因果关系),反映的是某种常识推理。有意思的是,语义落地所强调的情报性有与常识相逆的特性。俗话说,狗咬人不是新闻,人咬狗才是。

白:“他给张三倒洗脚水”、“他向张三泼洗脚水”,在两句中,“洗脚水”各是谁的?“他给张三拿银子”有歧义,一是他帮张三拿张三的银子,二是他拿自己的银子给张三。介词宾语和主语,什么条件下谁来跟宾语发生领属关系?有钱出钱,拿的是自己的钱;有力出力,拿(拎?背?揣?端?抱?抗?)的是别人的钱。

“他给张三写自传”,自然是张三的自传;“他给张三送自传”有歧义,可能是赠送“他”的自传给张三,也可能是给张三跑腿,把张三的自传送给其他人。赠送义本身有间接宾语,但“给”的介词宾语未必与之重合。因为出现了一个“帮办”角色。主语是帮办,主执行;介词宾语是事主,主名分。帮办做动作,名分归事主。间接宾语角色和事主角色造成歧义。

“张三给李四带口信”有三重歧义。张三委托别人把口信带给李四vs别人委托张三把口信带给李四vs李四的口信委托张三带给别人。这里的角色有:事主、帮办、直接宾语、间接宾语,口信是直接宾语,李四不能是帮办、张三不能是间接宾语。剩下的组合构成上述三重歧义。“向”引入的介词宾语坑,在动词不具有间接宾语坑时(如“吐痰”、“泼水”)临时客串间接宾语角色。在动词带间接宾语坑时(如“投掷”、“赠送”),二者共享一个萝卜。没有事主帮办之分。临时客串的情况下,介词宾语和直接宾语没有领属关系。“为”引入的介词宾语又是另一番景象:它是直接宾语的当然领属者。“为他人做嫁衣裳”不管是谁做,穿的一定是“他人”。

“在公园爬树”,“树”是“公园”的附属物,勉强说得上领属关系。“在公园打人”,“人”是不是“公园”的附属物,难说。“张三在公园放风筝”,“风筝”不仅不是“公园”所有,反而大概率是“张三”所有。所以,介词为“在”时,领属关系似可不作标记。真要追究时,靠事理来弄。没有坑的直接宾语,随他去。有坑的,看相谐性或者大数据。“张三在这个公园有月票,每天早上都来锻炼身体。”“月票”的坑就由“公园”来填。

“他给张三买了块巧克力吃”,是“张三”吃,不是“他”吃。“给”的介词宾语置换出来,在谓词群里面横扫千军。在有接续动词的情况下,“帮办”角色自动消失了!

“他给张三送了本自传看。”没歧义了,是“他”的自传而非“张三”的自传,“他”不是帮办“张三”也不是事主。世界清静了。真神奇啊。“他给张三挖了个坑”有微弱歧义;“他给张三挖了个坑跳”一点歧义没有。

汉语的介词,S+/N,禁止名词右填坑;日语的格助词,S+/N,禁止名词右填坑。英语N向S左填坑只限一次,再多的名词只能受动词短语降格修饰,汉语的N向S左填坑则不受这个限制,所以逻辑主语话题主语大小主语一堆堆。方向性对于加速获得正解还是很必要的。汉语的个别词,如“以前”,是反过来的,S+/X,但是X坑只能从左侧填,禁止从右侧填。从CG走来,先把填坑的方向性全部放开,再选择性地关闭其中个别词的个别方向。特别是,语种选择可以批量设置关闭方向。修饰的方向性基本不放开。头尾修饰是否有副作用,还不清楚。

宋:@白硕 在你的系统中如果一句话内的词相同,词序不同,是不是分析结果相同?

白:@宋柔 不一定,看具体配置,特别是词性标注不同会不一样。比如:张三比李四高,李四比张三高,一定是不同的parse。

谁填“高”的坑,谁填“比”的坑,都是不同的,当然是不同的分析结果。

酱油李四打了,李四酱油打了。这俩,分析结果的拓扑一样,内在语义角色的指派也一样。毕竟酱油不能打李四。

后面四个的分析结果,拓扑结构是一样的。它们当中,1-2的语义角色指派是不确定的,3-4的语义角色指派是确定的。如果有更强的上下文,1-2的语义角色指派会随之更为确定一些。这个机制,在句内的已经部分实现,跨句的还没有实现。

宋:猫抓老鼠和老鼠抓猫,分析结果一样吗?

白:拓扑一样,语义角色指派不一样。看图看不出本质差别。

鸡不吃了,在图上是没有歧义的。

宋:猫抓老鼠和老鼠抓猫,施事都是猫,受事都是老鼠?

白:不是的。能说的是:猫和老鼠,相对于抓,都是“填坑”关系,而且填了不同的坑。谁填了哪一个,句法不予确定。语义角色指派可以根据语序推定,但只限于一左一右这种。两个都在一边就无法推定。图上不标施事和受事。现在图上能看到的是LMa、RMa等。不负载施事受事等语义标签信息。

在双宾语的情况,某些江南方言里有时听到“我给钱你”这样的句式。直接宾语和间接宾语倒挂,而且不加介词。二者一人一非人的场景,是可以搞对的。二者皆人,我还没听到例子(不知道“我嫁女儿你”能说否),但真要区分角色的话,可能需要用到事理了。

宋:也就是说,对于二价动词V来说,N1 N2 V中,N1和N2各填V的那个坑,要看N1和N2与V的语义相谐性;N1 V N2,还是要看语序来决定谁填那个坑。对吗?

白:都相谐再看语序。

如果都在一边,语序也不起作用:“猫老鼠抓了”“老鼠猫抓了”,这时还要请出事理啊大数据啊更大上下文啊什么的。

宋:明白了。

李:都相谐再看语序?

svo 语序 为啥要看相谐呢?

“是乌云吃了月亮 还是月亮吃了乌云?”

白:都不相谐也回到语序。

李:“做了个梦好怪 一张烙饼吃下了一窝兔子”。

白:相信说话者别有用心,或者相信一切皆可为专名,都是出路。有强语境做免死金牌的,更可以回到语序。

李:还可以这么说话:

“一个实体x了另一个实体”。

“x 被律师打黑了”。

白:见怪可以不怪,那还相谐个啥。说都不会话了。提着火车上皮包。小孩说话慢慢教,哪有一井挖个锹。

李:问题是 先相谐 然后看语序 次序感觉不对。

“月亮吃乌云” 是都不谐,“烙饼吃兔子” 是谐与语序矛盾, svo 语序是决定性的,相谐是非决定性的。决定性的句法形式 决定了就完了。形式留下空间 才有相谐出场的必要。

白:“草把兔子吃肥了”。“烙饼把兔子吃噎着了”。完不了。句法形式到了汉语,语序变轻了。

李:语序是句法形式 相谐是语义约束。“烙饼把兔子吃噎着了”,不是句法的反例。语序 小词 都是形式,它们留下空间 才有语义约束的可能性。硬指标以后 才看软指标。显性形式没辙了 才求隐形形式 包括常识语义。

白:还有容错一说吧。“拎着火车上皮包”,就是被容错了。韵律感越好,越容错,乃至无感。反过来搭,和不搭,是不同的处理。反过来搭,容错占主导;不搭,句法占主导。句法一主导,然后就进入疯狂的脑补,拼命找辙。

顺杆儿爬,顺杆儿滑,隐喻,夸张,甚至怪诞的专名,都可以有。此外,局部有伪歧义的情况,不搭是最先要排除的。比如“馒头吃光了”。标准svo啊,但是不work。除非拿到怪诞大比拼的免死金牌。

宋:老鼠抓猫,老鼠一定是施事,猫一定是受事,因此,此时的“抓”不会是“抓捕”。而应该是“抓挠”。语序决定了施动受关系,进而决定了动词的语义。

白:这是事理。恰好“抓”有一个义项符合事理。

宋:如果有更大的语境提示是童话故事,或者发生基因变化,“抓”可以是“抓捕”的意思,但仍然老鼠是施事,猫是受事。

白:当你在处理一个局部的sov时,并不知道其他义项是否会组成更搭的合语法结构,所以对局部不搭的sov而言,是否一定会出头,不是局部能确定的,还要看别人。

“老鼠抓不抓猫都吃得好好的。”

“老鼠一抓到猫就可以睡大觉了。”

“老鼠一抓到猫就可以美餐一顿了。”

“猫一抓到老鼠就可以美餐一顿了”。

一个意思。局部要不要搞成不搭的svo,取决于全局。

宋:好例!

白:所以svo不是教条,只是一种可能性。放大看,svo要不要还两说呢……

宋:“老鼠一抓到猫就大祸临头了。”

白:不搭给这种可能性减分,但也不断其生路。外围有更好的组合,svo又算个啥,该扔就扔。外围没有更好的组合,svo就勉为其难吧。但是,组合好不好,一定是句法语义通盘考量的,哪有句法一定优先于语义一说。

“老鼠一抓到猫就大祸临头了。” 有歧义,充分脑补吧。老鼠居然抓到了猫,这世界该翻了天了,大祸临头。猫抓到了老鼠,去掉了主人的心病,主人也该卸磨杀驴了吧,大祸临头。猫给老鼠抓到只是猫的计策,老鼠大祸临头了。接下来玩死你。

事理可以作用于伪歧义的消除,但是对真歧义,事理也毫无办法。猫大祸临头,老鼠大祸临头,看客大祸临头,都有相应的解读。svo作为一个局部,你根本不知道外面有什么时,根本不敢把赌注押在句法上。

李:T1 svo T2,就够了。绝大多数情况不需要语义出场。trigram 是句法 5-gram 也是句法 都还在可控范围之内。以前说过 任何在(dynamic) 5-gram 之内可以搞定的事情 都是 tractable 的。虽然理论上永远可以找到反例,但是随着 n-gram 中 n 的扩大 (up to 5),随着 gram 的定义由 literal 延伸到包括 token features,以及随着 gram 从 word 延伸到动态的句素(包括各类短语),句法兜不住的伪歧义反例急剧减少 — 直到句法发现真歧义。这时候 语义(主要是常识)约束、语用约束、领域约束等等 可以逐步出场,或不出场(保持歧义,或包容歧义)。

“传统” parser 为伪歧义困扰的事情 已经是过去的故事了。“现代”的句法基本上摆脱了伪歧义的羁绊 因为细线条 词汇主义路线 以及多层动态的 parsing。

白:五元组判定过程中用不用语义?用不用相谐性?如果用,那岂不是说相谐性判断先于svo?如果不用,伪歧义怎么弄掉的?单凭句法?就是说,T1、s、v、o、T2,各自携带了一些特征,用于五元组来判断svo要不要归约为s。这些特征包不包括语义/本体特征?动用这些特征是不是先于svo结构被确定?

不妨就试试 “老鼠一抓到猫就可以美餐一顿了”。看看“一”和“就”的辖域分界线是怎么确定的。实际上就四元组。左侧空缺。右侧再饶一个,又怎样?

“酱油打了李四也该回去交差了。”

到底是把“酱油”理解成一个人的外号,还是放弃svo转投ov(s)?哪一个是符合奥卡姆剃刀原则的?

如果上下文介绍李四是杀手,目标是张三,“张三杀了李四也该回去交差了”是不是应该放弃svo?这个上下文是五元组能cover的?事理:x完成任务—>x交差,任务从上文取得。

李:以反例批评一个一般性策略 其结果就是所有的过程性都是跛脚的 所有的因素都必须同时起作用。

白:有更好的系统性策略,而且并不跛脚。就是加分减分而已。看得分是一个统一的策略。硬约束有一个高的基准分。软约束不把它拉下来他往前走就是,拉下来就别怪谁了。

李:(较)软性约束与(较)硬性约束不同步 是一个总体有利的策略。

白:同不同步只是一个计算策略问题。晚几步发现问题还是早几步发现问题的事儿。只要有问题,拉下来则是必须的。就看付出的代价是什么了。另外的选择也虎视眈眈呢。一遇到合适的软约束,马上张口咬人。以现在的算力,神经网络那么大的冗余都不在话下,几个相谐性检查算什么。更何况毕竟都在线速的范围内。只要不破坏现场,总有翻盘机会。你走你的,但别杀死别人。

李:理论上 一个 l 长度的句子 在 l 没有全覆盖之前,任何 n-gram ( n < l )  的模式都是跛脚的。这一点在分词中表现最为简明。不断有人以“反例”来推论 分词必须包括 parsing、常识、领域知识、世界知识…

白:分词不是最终任务,只是一道工序而已。

李:道理都是一样的。这道工序一旦缺乏某个知识 理论上就是 过早剪枝,但实践中 几乎所有 real world 系统都不理睬这种理论上的批评。保留所有可能分词路径 直到最后的系统 不能说没有 但极少。(当然 这个分词的工序 现在有了 越来越流行省心的 char-based 的路线, 干脆绕过去。)

白:曾经的real world系统还都不睬deep parsing呢。按同样逻辑deep parsing甭活了。real world系统也在进步好不好?

常识,有重量级搞法,也有轻量级搞法。不要被重量级搞法吓住了。

白:

李:

“张三杀了李四也该收手了吧”

“张三杀了李四还嫌不够解气吗?”

“张三杀了李四也该有个说法 不能白杀”。

谁白杀谁?

“张三杀了李四也该有个说法 不能白死”。

谁白死?

“人咬死了狗, 不会受处置 合理吗?”

“人咬死了, 狗不会受处置 合理吗?”

“人咬死了狗不会受处置 合理吗”

白:“这些木头盖了房子。”不是svo。

李:工具s 与 施事s 是一个熟透了的现象。中英都很普遍。

白:木头不是工具,是材料。

李:材料也差不多,工具 占据 s 位置 更普遍一些。材料 对于 制造类谓词 占据 s 位置也很多。

白:贴了标签也无益。人家正主儿可能在后面藏着呢。到时候找上门来,嘿嘿,小三上位了。

李:svoc,句法只有 三个位置,逻辑语义几十个。一对多 很自然,也很谐。不过就是需要增加一个 逻辑语义细分的任务,否认不了 svoc 的句法骨架作用。

“枪不杀人 人杀人”

枪真地不杀人吗?子弹杀人 不长眼睛的。

“x 杀人”

x 与 “杀” 相谐吗?x 是不是 s?如果是,x 是 agent,还是 instrument,还是 material?如果 x 未知 怎么填坑?

白:要真是未知就简单了,坑说了算,抽象的听具体的,奥卡姆剃刀。不举证证明不是他,就是他。

此图像的alt属性为空;文件名为Screen-Shot-2019-07-15-at-6.58.54-PM-1024x200.png

李:“他” 很难说是 “盖” 的 S【施事】,更像是 “盖” 的【受益人】。

语言没有明说的 可以存疑 或 模糊。硬要跳坑里去,也不过就是个情报价值不大的常识默认。

白:这没问题啊,没有证据证明策划人、出资人、执行人、受益人是分离的,就假设他们是一致的。这叫非单调逻辑,举证义务在反方。

李:对于模糊表达 可能无所谓正反。一不小心就是 over reading,读出了不存在的语义。

白:情报价值不应由开发方评价。这类连边都有特殊标记。

李:用户方的证据也不足。多少用户需要不可靠的情报 与 明确表达的情报 混杂在一起呢?

逻辑预备的坑总是很完备,但语言不见得。常识是情报的冤家:用的适度 可以帮助情报的完整性;稍不留神 就伤害了情报的准确性和可靠性。

白:想避免错误的填坑可以用阈值拦一刀。但是拦得住拦不住是水平问题,那个位置该不该给小三则是态度问题。先要端正态度,虚位以待。就算一直虚着,也没小三什么事。这些不进坑的角色,语义上都有后路,才不在乎主语的标签。我们也没有主语标签。只有留给施事的标配坑。

李:

“这些木头盖了房子他很开心”,他才不管谁盖的房子呢 木头物有所用就好。

“这些木头盖了房子他很伤心”,木头是他的 房子却是他人的。

白:这叫自己跳出来。

李:根据常识填坑是危险操作,很容易 put words into others mouth。这不是语言理解的目的。

白:不妨设个开关,一切可控,用不用随你。

李:可以,一个叫 s,明说出来的 有句法依据的;一个叫 hiddenS,常识推出了的。就是到了法庭 也不怕了。

如果任着常识使性子,党指挥枪 与 枪指挥党,就同义了。首先 先帝不答应。

枪不能杀人 背后一定有个扣动扳机的 agent,机器人能杀人吗?机器人背后也有人。

“他造了把土枪 专门杀人”

“他造了个机器人 专门杀人”

是他杀人 还是机器人杀人?

白:系统说是就是呗,反正认的是标签,标签背后的道理,说了也不懂。

李:系统1说 a 杀人,系统2说b,系统3说 a and b,系统4 说 a or b,系统5 说 测不准 ……

白:很正常,除非有人强推标准化。

李:这一路不是一直在论标准吗?材料不是 s “他“是 s,也说的是标准。“党“是 s “枪“是 o。

白:党和枪都是隐喻,指挥的坑里面没有能匹配枪的。

李:重点是 常识与句型,谁说了算、比例如何?

白:只有不匹配得离谱,才引出隐喻。说常识太泛,其实就是一个中间件,给出了相谐度的评价。

李:不匹配离谱 的前提是 先逃进坑。谁决定的 枪要跳进坑o,而不是 s?肯定不是常识。

白:枪指挥党就跳进s。

李:对呀。谁决定的?Svo 决定的,准确说是,T1 svo T2 决定的。

白:反正离谱而且没有正解,于是回到svo,或者说,没有相谐度方面给出加分,改变不了句法初始设定的优先格局。是检查了之后没推翻它,而不是不需要检查。

李:不如不检查。这是争论的焦点。不检查先做,做错了“休眠唤醒”再反悔 也是常态。一多半根本就到不了需要检查那一步 就差不多成了铁案。

白:检查了推翻也是常态。不等检查结果出来就做也可以,这只是不同的控制策略。上不到标准层面。

李:譬如 x 指挥 y,根本就走不到相谐还是不相谐,“系统说了算”,这里系统指句法。

白:维也纳爱乐乐团指挥够了,他又来指挥费城了。

@宋柔 不一定。假设李四有个to do list,上写“打张三”“打王五”等等。做完一件事,就划去一项。

宋:“张三杀了”有歧义:杀别人和自己被杀,如此才有了“张三杀了李四也该收手了吧”的歧义。如果换成“打嬴了”,“张三打嬴了”没有歧义,一定是张三打别人。此时,“张三打嬴了李四也该收手了吧”也没有歧义。这个句子的语义就要靠语法来分析了。

李:白老师可以把 “打-赢” 拆开来论证语义大于句法 也许。谁打 谁赢……

宋:不要“打”。只要”嬴”。“张三嬴了李四也该收手了吧”。

白:打是S/2N,赢是S/N。合并的时候两个坑共用一个萝卜,一个占名额,一个不占。

宋:“张三赢了李四让教练很生气。” 谁的教练?

白:@宋柔 都可以,张三李四都行。

宋:除非有更大的语境进行强制约束,否则还是张三的教练生气。这是句法胜过语义。句法胜过常识。

白:句法语义都行,但是sentiment是顺着一头儿说的。赢和生气的不应该是一头儿的,除非教练安排只许败不许胜。因为有只许败不许胜的“找辙”,句法没被颠覆。

宋:当有人说“张三赢了李四让教练很生气。”后,一定会有人觉得奇怪,问“为什么生气?”

白:如果是“有人说”,那么“赢了”后面会有一个停顿。

宋:这里是说没有停顿的情况。有停顿的话就要加逗号。“赢了”后面没有停顿。

白:不吃最后一个馒头不饱,总有人觉得之前的馒头可以不吃。

宋:一般人都会觉得这个表述很奇怪,违反常理。

白:有保镖在身边没人敢动你,并不说明不需要保镖。“李四”后面有没有停顿?

宋:李四后面与无停顿都一样。

白:好像不是。可以都不停顿,但李四后面的间隔更小。这时难说。主要是叙述的视点变化奇怪,并不是句法。

宋:我感觉这句话体现了了句法的硬性约束:教练一定是张三的。但是,嬴者的教练本应高兴,实际的情况是生气,于是就有矛盾。如果教练可以是李四的,就没有矛盾,听者就不会奇怪了。

白:“张三痛打了李四,脸都肿了。”

谁的脸?是句法决定的?跟上面句法可是完全平行。谁的脸肿了,跟谁挨打有直接的事理关联。这就是常识“拗得过”句法了。刚才那个只是没拗过而已,因为可以只许败不许胜,尤其在团队作战时,为了在下一轮避开某个对手。这说明确实两方面因素在较劲。如果不是同时出场,较劲就不会发生。

宋:任何一种行得通的理解都有一种合理的解释。问题在于听者在强大的事理约束下居然并不顺从,还会疑问,就说明句法胜过了事理。

白:胜过了非但不证明句法早起单独起作用,反而证明了事理因素早期就参与较量。恰恰是我的观点的一个旁证。

宋:但较量不过。

白:是。但不是都较量不过。平行的句子也有相反的结果。语义和事理早期参与了较量,这个就够了。

宋:是的。句法约束胜过语义的例子不大好举。

白:伟哥的意思是根本句法就在唱独角戏,语义和事理没参加较量。

宋:路线斗争。李维:先看句法再看语义;白硕:先看语义,辨不清时再看句法。

白:我是句法先拿到基准分,出不出线,要看句法和其他因素的较量结果。较量可以不改变得分的高低顺序。

宋:合二而一。

白:但是这时,非句法因素相当于最后一个馒头、相当于没有动手的保镖,不可以认为非句法因素是多余的,是不在现场的。较量不是多余的,基准分不是一锤定音的。甚至,如果并行机制设计得好的话,拿基准分和较量可以异步。中间有一段时间存在叠加态,保留部分坛坛罐罐走不齐。

宋:当然。我完全同意语义的重要性,只是觉得词汇语义+事理常识+专业知识,实在是无边无际,难以控制。某个句子可以采用某种语义关系加以解释,但可选用的语义关系非常多,机器怎么就能选对了语义关系进而做出正确的解释?大数据并非万能。所以,挖掘句法的硬约束还是有意义的。

白:硬约束已经在基本分里体现了呀

宋:一些硬约束其实还没有挖掘出来。操纵语义需要极大的功力。当然,做实际应用系统,语义相谐性是绝对离不开的,而且是最大量的工作所在。

白:软约束就像保险,花点小钱,保你关键时刻用非句法兜底。也许没用到,但是不等于没有用。特别是,软约束可以灵活地面对长尾。看起来每一个都是小概率,但是放在一起并不少。所谓没用到,就是较量了但没产生颠覆效果。并不是没较量。

宋:解决长尾问题必须靠软约束,但这个尾巴太大,需要的软约束太多,如何挖掘和使用软约束是一个极困难的问题。

白:软约束不仅数量大而且类型多、机制复杂。我现在尝试做的事情是:1、不管什么类型什么机制,最后都折合为同一种量(优先级),这是较量的前提。2、当个别软约束缺失时,不会影响其他软约束以及硬约束的较量,这是软约束增量化建设的需要。3、集中把两三个重要的软约束类型吃透做透,形成明显的“高地”,再图类型的扩充。其实绝不是无边无际,完全把握得住的。

宋:我觉得难度非常大。在某一个较小的专业领域,可能可以正确解决大多数问题。做一个通用的理解系统,恐怕不好办。

白:先分类型,再抓主要类型,铺开规模时以领域为抓手。做出来的不会是通用理解系统,但可能是通用理解机制框架+领域资源。

宋:AI的知识工程(知识获取、知识表示、知识使用)讲了几十年了,未见到突破性进展。现在的数据驱动+深度学习是一个突破,但是范围很受限。

白:加类型不影响通用机制,上规模不影响通用机制,改参数不影响通用机制。而且它不是知识处理,只是标签演算。也不能说是理解,只是某种程度上的精准解析。

我们范围也很受限。

(喘口气儿,待续…… 《李白王116:常识是情报的冤家(2/2)》

【相关】

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

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

《朝华午拾》总目录

《李白刘114:围着火炉吃西瓜闲聊点文字》

立委按:白沙龙是个神奇的所在 / 感觉有点像围着火炉吃西瓜 / 有一搭没一搭 /貌似漫不经心 / 不时闪现火花。“学问”也可以是聊出来的吗?

白:“包里揣着自行车座的天津人”,有伪歧义,但可以干掉。人揣不进包里,size不匹配,包装方式也不人道。人成为被自行车座领属的对象,组合也怪异。

李:Vt + N1 + de + N2

subcat pattern ambiguity, similar to the PP-attachment ambiguity in English, 不过这个例子到了细线条的 “sub-subcat” 就排除歧义了,Vt两个子类:

1.  Vt-person –> Vt

2. Vt-non-person –> Vt

“揣着” is Vt-non-person sub-subcat,默认不能带 【human】(“天津人”),只能带【!human】(“自行车座”)。

白:外星人/机器人,说不准。小矮人,似乎也可考虑。罐头小人,更没问题了。还是多管齐下好,东方不亮西方亮,总有一条堵得住。ad hoc的简单不是真简单,系统性的简单才靠谱。

李:subcat 是公认的词典细化知识,subcat 不是 ad hoc,sub-subcat 就不算 ad hoc,同一条延长线上。多管齐下才不简单呢,每一管都是一个窗口,知识非常容易发散。一般来说,开放知识难以维护,知识平衡也不好实现和追踪。当然,高手另算,白老师定有秘器。

刘:“懂事是没人疼出来”,这句有点难。

白:趋向补语优先级高于状语,更高于主语。所以“疼-出来”先结合,“没人”后加入。至于两个谓词的坑共用一个萝卜,倒不是事儿。

刘:这里疼出来先结合不通,没人疼有特定含义,应该先结合

白:“没人疼”当一个词倒也简单了。状中固定搭配的优先级已经是顶格了。

“他从来没有不作为过”

那个“过”与“作为”的优先级也是干不过“不作为”固定搭配的优先级。

刘:难就难在这里,怎么知道没人疼就变成一个词了呢

白:不过这个真的不重要。“作为”与“过”的结合也好,“疼”与“出来”的结合也好,都不影响语义。只是说“作为”、“疼”是中心词,代表结构跟外面发生关系。中心词可以在结合之后被否定。

当然紧耦合、强搭配的,顺序反过来也一样。语言学界不是讨论过“A的媳妇是B的妈”的问题吗?这个句子的中心词主干是“媳妇是妈”。但这个主干不具有保语义性。就是说,枝叉的添加,会改变“媳妇”和“妈”两个带坑名词的共指性。

看这两个图,谁先结合要紧吗?

李:“从来没有不X过” ,可以看作是 X 的形态(变体)

白:某种aspect

李:词典规则大概就是:

从来没有不X过 –》X(VG,perfect,always)

perfect+always (same as never1 for backward aspect in contrast to never2 forward, e.g. “never forget class struggle” ) are tense-aspect,VG is its category (V) and phrasal sign (Group, or X one bar).

总之就是用可以枚举的前后缀或小词材料的有限组合,去对 X 做词法句法的加持而已。没有必要再去细分其内部的词法结构。X 哪怕不是 V,也被强制为 VG 了。5gram以内的可以记住的组合,可以一律交给词典标注或词典习得,不必寻找其中的结构规则。

白:看主干,还真是“媳妇是妈”,仔细想想没错,既为人妻又为人母,多个角色而已。但是,两个坑没萝卜,这两个坑“共用”一个萝卜就是“奥卡姆剃刀”的体现了。这发生在句法分析之后。

奥卡姆剃刀,本人对“如无必要,勿增实体”表示过不满意,而且特地给了一个修正版本:“如无必要,勿增实体,勿减标配。”

坑是否共用,取决于“标配”做到什么份儿上。

“从来没有不爱也从来没有放弃过”

白:出情况了:“毕加索”被推定为“挂”的逻辑主语。

为什么不是,需要给个系统性的说法。挂的逻辑主语,和墙的关系比和画的关系要深?查了一下,这个推定关系在诸多关联边中,优先级是最低的。等于是规定动作做完了,开始做自选动作时搞出来的。我们的系统是看到“挂”的逻辑主语是Human,而且空缺,“毕加索”的本体标签也是Human,于是启动了把填坑的正式名额置换出来的机制。

看来通过“的”引入的萝卜和通过介词引入的萝卜要区别对待:介词宾语与谓词关联紧密,可以更加无障碍地用于填补谓词的未饱和坑;“的”的领项,用于填补“的”的属项相对优先,用于向的字结构外部填坑则应受到某种限制。

“他的小提琴拉得很好”当中的“他”,是修饰语的已填坑萝卜,但却可以穿透到“拉”,这是优点。这个优点和前面的缺点,怎么样兴利除弊,需要进一步完善。

李:“我的小提琴他拉得很好。”

?“他的小提琴被拉得不成样子”

“他的小提琴被砸得不成样子。”

“他的小提琴砸得不成样子。”

谁“砸”小提琴,不大可能是“他”。

白:

“被”阻断了“他”的填坑可能性。“被”自己升格,根本不关心向前文可能的回指。这个逻辑在我们的系统里简单粗暴,但是大体上有效。如果“被”标作介词的标配形式S+/N,就免不了要面对这一麻烦。当然,有的坑我们规定了单向填入,纵使变成了残坑,也依然受到约束。

这个还不行。修饰语的已填坑萝卜和被修饰语的未饱和坑结合时,看来还是需要修饰语和被修饰语的某种一致性。怎么划定边界是个问题。

从统计上看,“拉小提琴”是强搭配,“砸小提琴”是弱搭配,难道这个线索works?强搭配可穿透,弱搭配不可穿透?

“他的文章写得非常感人。”“他的文章改得面目全非。”

“写文章”是强搭配,“他”可以穿透到“写”;“改文章”是弱搭配,“他”穿透到“改”就遭遇主体的“弥散”,至少有歧义了。

总结:1、修饰语和被修饰语类型匹配时,已填坑萝卜对未饱和坑有穿透性;2、修饰语和被修饰语类型不匹配时,如果已填坑萝卜和未饱和坑之间有强搭配,那么可穿透;3、修饰语和被修饰语类型不匹配时,如果已填坑萝卜和未饱和坑之间只有弱搭配,那么不可穿透。

“他的小提琴砸得不成样子”,在弱搭配下,“小提琴”成为与谓词松耦合的物体,“他”成为“小提琴”的单纯领属角色。补语“不成样子”的语义指向也锁定“小提琴”。设想,“砸小提琴”如果成为一种职业或习惯性破坏行为,就构成了紧耦合,“他”就会兼作“砸”的逻辑主语,补语“不成样子”也会指向谓词“砸”,谓之砸得不够专业。幸亏现实世界没有这么个职业。

所以有没有歧义,全在于系统有没有把“砸-小提琴”列入强搭配名单,或者说大数据有没有把“砸-小提琴”训练成强搭配。砸,被砸之物是有后果的。拉(演奏义),被拉之物不必然有后果。所以“拉得不成样子”没有歧义,语义指向一定是动词“拉”。

【相关】

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

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

《朝华午拾》总目录

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

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

白:坑之交响曲:

脑补进行时:

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

白:这不算subcat,只是POS

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

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

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

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

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

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

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

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

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

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

白:是。

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

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

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

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

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

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

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

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

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

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

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

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

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

李:如果折扣的话,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

李:好例。改造一下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

白:对。

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

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

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

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

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

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

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

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

【相关】

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

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

《一日一析系列》

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

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

《朝华午拾》总目录

【一日一析:谁是谁同桌?】

白:“同桌偷了张三一块橡皮给我。”“张三偷了同桌一块橡皮给我。”

谁是谁同桌?

“同桌偷了张三一块橡皮给李四。”这个能说不?如果能,谁是谁同桌?

“张三逼同桌骂了李四一通”,张三的同桌无疑。“张三逼同桌骂了我一通”,含糊了,我的同桌也是可能的。说话人一直是“在场的(present)”,所以先行的语境里有这么一号角色在。“张三逼李四骂了同桌一通”,似乎又是李四的同桌了。先行与否、就近与否、旁路与否、一直在场与否,都对填这个坑的候选萝卜有影响。刚才列举的选择不同也说明了:兼语式的主支(含兼语动词的那一支)不是旁路,和介词短语不同。

“同桌当着张三的面骂了李四一通。”

好像,既不是张三的同桌,也不是李四的同桌。

李:解析器觉得是李四的同桌,大概是因为张三沉底了:

(解析忘了把 hidden link 加上,谁当着张三的面?“当-面”的逻辑主语是“同桌”。这个bug容易fix,结构很清晰。)

所谓伴随情况状语(attendantR),是附带性的谓词,与主句谓语不在一个层次。从句法层次角度,“同桌”更应该是“李四”的,虽然物理距离更远。当然,人的理解机制有点一团浆糊的味道,其实没必要把人的理解神圣化。在诸多因素参与角力的时候,人的认知理解和判断其实不是确定的,因人而异,因背景而已,甚至同一个人也会因时而异。

在物理距离与句法层次的较量中,不同的人有不同关联和解读,是正常的。这个加分减分的较量,即便有一个机制去计算,也没有一个确定性的目标去最终评判。最多是企望有个理解的容忍范围。何况,对于 heterogeneous evidence,整出一个合适的加分减分的算法,一直以来就是挑战。把不同层面的因素,整到(投射到)同一个平面折合成统一的度量,然后根据这些因素之间的冗余性,打合适的折扣,最终能做出一个最优结果,同时又能讲出道理来,听上去就让人头皮发麻。

寄希望于深度神经,哪怕“讲出道理来”这一条暂时达不到也行。

白:“同桌”挖了一个坑,这个坑回指(先行词填坑)时是清晰的,预指(后继词填坑)时是模糊的,一般都是说话人(“我”)填坑。如果硬要别人填坑,除非语境有所交代,否则默认说话人填坑好了。回指的规则就是所谓“最近提及+类型相谐”。

“李四骂了同桌一通”,同桌是李四的同桌。“同桌骂了李四一通”,谁的同桌就不好说了。但说话人的同桌是标配。

李:

白:旁路上的先行词,待遇差点儿:“张三当着李四的面骂了同桌一通。”好像还是张三的同桌。

李:如果所模拟的人的理解过程就是浆糊,再牛的算法,加上再大的数据,也没辙。也许,有些牛角尖不值得钻。如果是语言理解多项选择问答题,大概是这样:

问:“同桌当着张三的面骂了李四一通”这句中,谁是谁同桌?

答:

  1. 张三的同桌 (A)
  2. 李四的同桌 (B)
  3. 未知人的同桌(不是张三也不是李四的同桌:!A & !B)
  4. 既是张三的同桌,也是李四的同桌 (A&B)
  5. 不是张三的同桌,就是李四的同桌 (A XOR B)
  6. 任何人的同桌 (一团浆糊,语言未指明,A|B|…, 但不care)

【Parsing 标签】

1 词类:V = Verb; N = Noun; A = Adjective; RB = Adverb;
DT = Determiner; UH = Interjection; punc = punctuation;

2 短语:VP = Verb Phrase; AP = Adjective Phrase; NP = Noun Phrase;
VG = Verb Group; NG = Noun Group; NE = Named Entity; DE = Data Entity;
Pred = Predicate; CL = Clause;

3 句法:H = Head; O = Object; S = Subject;M = Modifier; R = Adverbial;
(veryR = Intensifier-adverbial;possM = possessive-modifier);
NX = Next; CN = Conjoin;
sCL = Subject Clause;oCL = Object Clause; mCL = Modifier/Relative Clause;
Z = Functional; X = Optional Function

【相关】

《一日一析系列》

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

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

《朝华午拾》总目录

《一日一析:“你家的地得扫了”》

parse parse,用 PSG:“你家的地得扫了”

再 parse parse,用 DG:“打倒罪有应得的地主”

李:都是中规中矩的句子,没有难点。

白:分好词再玩这个游戏就看不出热闹了。要看就看怎么分词,分错了怎么找补回来。的地得,都有其他词性标注。在哪里、依据什么原则排除的。

李:不是特地分好词,词典分词的本来面目就是如此啊。不查词典,如何解析呢。到了的地得这种极高频小词,主要靠的也不是词性标注了,就是直接量。用法各个不同,量体裁衣。

李:“一句话用的地得太简单了,毫无挑战”。热闹来了,还真是挑战呢:

“的地得”三元组进词典,当然可以。刚才拼音输入 dedide,还真就出来了“的地得”,可见这个三元组入词典也算是理所当然的。咱们词典不够大而已。

“那就不好玩了”。可如果坚持不走词典化道路,还有啥好招吗?

“做大事不必考虑一城一地的得与失”。

这里的难点不在的地得,是条件紧缩句(NX)费点琢磨: if 做大事 then 不必考虑一城一地的得与失

(if) (you) VP1 (NX:then) (you) VP2

零形式,条件太不清晰。嗯,有点难,有点难。


@王伟DL: 三兄弟若是独立为词的话,可靠句法来分拨;三兄弟若是其中几个掛了某个强力词的一角的话,不太好办,保不准有把高强度词扯开的情况。

白:
白硕SH
3月3日 22:12 独立成词的“地”和“得”都不好伺候。

【相关】

《一日一析系列》

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

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

《朝华午拾》总目录

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

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

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

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

parse parse 看:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

李:很好,拷贝留存如下

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

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

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

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

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

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

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

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

【相关】

《一日一析系列》

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

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

《朝华午拾》总目录

【李白104: 孤岛禁忌,还是残坑过继找萝卜?】

李:
老话题,中文句式 “NP1 NP2 Vt …”中,谁(逻辑)主语,谁宾语呢?

“这帮饿鬼一席好菜吃得盆干碗净”
“一席好菜这帮饿鬼吃得盆干碗净”

白:
两个左填坑,多清晰。非要在大小主语和逻辑主宾语的标签之间纠缠干啥?

深究的话,两个左填坑是填向同一个动词的,还是一个填向核心动词另一个填向残坑的,这才是需要区别的。但就算是填残坑的,也不必然是大小主语这种很局限的概念所能容纳的。

“小提琴他梁祝拉得最好。”

这是大小宾语夹着逻辑主语。小提琴和梁祝,都跟谓语动词相谐,可坑只有一个。所以另一个只能降格。

“胡子他从来不刮鬓角。”
“胡子他鬓角从来不刮。”

“鱼他从来不吃头。”
“鱼他头从来不吃。”

这是填残坑。如果允许任意私拉飞线,发现属性或部件关系不是问题。但若仅限“邻对”才能建立二元关系,技术上就有的扯了。私拉飞线的代价就是复杂性上升到平方级。

“部队的战友他只跟张三来往。”
“部队的战友他只有张三还有来往。”

“一起去旅游的朋友他只知道张三的下落。”
“一起去旅游的朋友他只有张三知道下落。”

李:
决定私拉还是决定相邻 没有来自UG的理据 主要是语言本身的特点。

白:
语言本身的特点应该词汇自带

李:
短语结构必须相邻 是一种偶然的约定。赶巧从英语出发,发现有所便利。不过,短语结构的分析路线客观上杜绝了交叉的可能性。这里面貌似有一些逻辑上防止思维紊乱的好处在。也就是说,短语结构的左右边界的约束使得交叉二元关系成为不可能。这符合绝大多数的语言事实。但缺点是,例外在这个框架里面很难容纳。

在 abcd 中,如果a与c发生关系 b和d就不可能发生关系,这是犯了“交叉禁忌”。从短语结构来看 这是必然排除的:(abc) d 或 a(bcd)。

有括号大墙挡着 交叉不被允许:*(a[bc)d]

其实我想说的是,交叉禁忌作为逻辑追求清晰的天性,也许的确具有超出语言本身的普世理据,但是,利用短语结构的形式约束来实现或贯彻这个理据。第一是太死板,没有给例外留下容纳的余地。第二,感觉上短语结构这种等价于打括号的做法,也不是实现这种约束最精简的机制。

交叉禁忌与最大跨度类似 都是原则,都有人类的思维逻辑里面某种共同的要求,都在语言事实上有统计意义的反映,但都不是铁律。

白:
这个括号类比有一个bug,主导词(坑)和跟随词(萝卜)以及修饰词(萝卜皮)的区别没有了,只剩下左右。这大错。一个词既可以释放坑,又可以同时释放萝卜的特性没有了。关联不一定是边界。关联会引起辖域变化,但不一定是自家辖域。a和b关联,引起c辖域的变化。因为c是head,管着b,但b的辖域就那样了。不会因为新增关联而扩张。

李:
那是一个比喻。短语结构两个要素:一个是左右边界,即括号。还有一个是头词的确立。等价于依存中的父节点代表。

白:
所以一个位置,可能会出现既填坑又被填坑、既修饰又被修饰的复杂情况,岂是一个只能在左右之间选一的括号所能代表。比如,“小张把眼睛哭肿了”的“肿”。它的辖域归顺了“哭”以后就不再扩张,但它的残坑一直蠢蠢欲动,直到遇见“眼睛”才消停。有点像基金,你有所有权,但你赎回之前没有处置权。是基金经理在处置你的资产。关系是你的,但辖域不是你的。代表辖域处置你的残坑的,是head。这样既避免了飞线的复杂性,又扩展了二元关系的可能范围。正所谓合则两利。同时,卧底是你派的,打赢了地盘归我,这好事哪个head不愿意干啊……

以“王冕死了父亲”为例:“王冕”是“父亲”的卧底,“父亲”在内战中已经归顺“死”,于是在“王冕”的地盘和“死”的地盘交上火了以后,“父亲”就可以通过这一层卧底关系,招安“王冕”到“死”的地盘中来。处置权和所有权分离,辖域主人和二元关系当事人分离,是这一切的关键所在。

更何况,“死”自己已经给不出未饱和坑,只能靠“父亲”这个加盟店带来的残坑凑数了。典型的“羊毛出在猪身上”。谁让猪加盟了呢。所以我说括号的比喻有bug,bug就在把辖域的所有权和二元关系的所有权做了多此一举的捆绑。其实,辖域都是我的了,我管辖范围之内的残坑归我支配有什么大不了的?只要有支配权,这局棋就走得下去,二元关系的所有权只是个名份,给出去有什么要紧?

李:
残坑的说法也可能有问题。所谓修饰语被头词吃掉以后,把自己的坑带给了头词成为残坑。等于是说,本来的短语黑箱子又变透明了。

语言学里面有个 island constraint 说的就是黑箱子性质。被包裹起来的内在元素,从外面是看不见的。到底看得见看不见?感觉上,两边的证据都有。包有包的理由,过继有过继的理由,都不足以涵盖全部事实。

白:
这恰恰是要质疑的。拿黑箱子论证不交叉,感觉是自说自话。这俩如果都不对,就塌了。

李:
例如,“他做了三例心脏手术。”  谁的心脏?

白:
患者的。

李:
这个问题不存在,或者说,这个坑被包住了,不能过继。为什么?因为它在NP最里面。从 x bar 理论来说,第一层是 NG,“心脏”就被吃了。第二层是 NP,“心脏”就被裹进去两个括号,完全看不见了。自然谈不上去找萝卜了。如果硬找,八成是错的。“他” 更可能是大夫。

白:
我的观点是,已经过继了,外面萝卜不相谐或者有歧义,那是另外的问题,不应该跟有没有过继连在一起。跟几个括号不应该有关系,硬不硬找都不是关键。不找是本份,输出是义务。

李:
“患者的心脏”,那不是语言。那是本体。 静态常识。说了白说。

白:
不是抽象患者,是具体患者,可以落地那种,只是没有外部名字,内部是有id的。就是三个id当中分配了一个。

李:
问题是落不了地,也不该落地。因为埋藏太深了。

白:
“他做了三例心脏手术,其中一位患者出现异常反应。” 怎么连起来的?“心脏”给那位异常反应者。

李:
这是硬要去联系,不是语言理解所需要。“患者” 与 “手术” 有直接关系。这是语言理解需要的。“患者” 与 “心脏”的联系,最多是间接的,不是理解所需要的。“心脏”就是限制“手术”,表明手术种类。“心脏”没有落地的必要性。

白:
需要的时候给不出来就是失职啊。但也引入了待定事项。

“他做了三例心脏手术,其中一位植入了人工瓣膜。”

李:
咱们推向极端,把句法进一步推向词法,这个道理就更清楚了。“心脏病”,听到这个合成词,没有人感觉需要了解谁的心脏。要了解的是,谁的病?虽然逻辑上,可以推理出来,谁的病,就是谁的心脏。但是这个填坑 没有语言信息表达 传输和理解的必要性,不增加有效信息。

白:
心脏没限定功能,“的”有限定功能。有个载体是明确的,x而已。

有备无患,萝卜来了就是有效信息,萝卜没来就是潜在信息。萝卜也不一定是落地实体,可以是逻辑算子。所有、全部、某些、某个、特定,都是一种落地方式。

李:
谈心脏病,追问谁的心脏,这不是常人的思维和信息需求。这是一种干扰,干扰了真正需要理解的信息。换句话说,保持不定状态对于有效的语言表达和理解,也许与填坑落地 同样重要。Keep it unspecified as a necessary and natural part of communication, 这就好比大脑。大脑的遗忘与大脑的记忆功能 同样重要。如果一个人一辈子只记忆 不遗忘 想来是非常可怕的。

该填的萝卜没填上与本来就不该填的坑,硬要去填, 这二者需要区别。区别在于某种程度的 孤岛限制。

白:
最多可以说,它的输出不活跃、被动,区别于活动的和主动的,但绝不是没有输出。一旦有萝卜就能填,和有了萝卜也无坑可填,也是需要区别的,或者说更是需要区别的。

分三档我也没意见:一定不用、default不用但可用,default用。但把中间一档去掉我不同意。微结构不打开就不用,打开就可用。

李:
赞成。

词法、“短语法”、句法,、是三个台阶。每一个台阶 都带有某种黑箱子味道。就是那种防止坑变成残坑的趋向。

白:
词法归词法,微结构毕竟可以不打开。但是非词法的部分,特别是自由组合的部分,一定是default可用的。而且从default可用,过渡到default不用但可用,我也不同意取决于残坑的嵌套深度。

很多嵌套是修饰语的叠加,基本上没什么衰减。每次残坑转移衰减一次我赞同。就是换一次干爹衰减一次。

“小提琴他梁祝拉得最好。”
“胡子他从来不刮鬓角。”
“胡子他鬓角从来不刮。”
“鱼他从来不吃头。”
“鱼他头从来都不吃。”

“这个会所我二楼从来不去”

“二号楼”没坑,“二楼”有坑。所以刀郎唱的“八楼”很让人困惑。汽车怎么会停在某建筑物的八楼,还是公交车,原来人家是专名。

与属性/部件相关的语义理解,不是难在语义描述本身上,而是难在穿插变幻的语序上。打开语序的约束(邻对),就要handle满天的飞线;不打开语序的约束,就会漏掉交叉现象。所以我们研究把语序约束开一条小缝,控制住飞线,同时又能捕捉交叉。语义本身的描述是结果,handle语序是过程。看结果,只看得见“正确”与否,看不见“可行”与否。所以,HowNet告诉我们语义长什么样是一回事,通过一个可行的过程把握语序,最后搞成那样子,是另一回事。

李:
说得很好。关键是这条缝怎么开了。

漏掉交叉现象,以前不认为是问题。至少在英语解析中,从来都认为是天经地义的。没人愿意违反交叉禁忌原则。这个问题成为问题,主要还是到了中文以后。中文表达里面,“违反原则”的事儿不少。不得不有个应对。这才有开一条门缝的说法。才有依存关系图优于短语结构句法树的论证,因为前者的表现力更加丰富自由,没有那么多原则和禁忌。

白:
回到辖域代表权和二元关系落地权之间捆绑还是松绑的问题。这是两件事。在不交叉“原则”的背后,有一个观念认为应该捆绑。中国人的语言实践则说明二者可以松绑。松绑无害。

李:
但是,另一方面来看,尽管中文违反原则的事儿并不难寻,但隐隐约约感觉,英语中有效的那些原则,包括反对交叉原则,实际上在中文也有一定的影响力。

白老师经常举一些奇奇怪怪的违反原则的例子。好多例子听起来有一种不同程度的“别扭”。别扭在人类的句法原则和语义原则发生了冲突,给人感觉怪怪的,到底是合法非法,界限模糊了。

白:
那是你在英语世界呆久了。交叉不影响相谐,反而利用相谐。句法说的结构只是辖域之间的包含结构。只是针对这一种形式关系,不应扩大化。辖域代表权和二元关系落地权可以拆离。

李:
语义原则就是从本体来的萝卜填坑的“相谐”性,句法原则就包括结构不允许交叉依存。

多数现象二者没有矛盾。到了发生矛盾的时候,就是那种语言比较边缘的地带了,属于毛毛虫的毛刺部分。但对于解析来说,也还是要应对。而且人虽然感觉别扭,也还是听得懂。

套句马列主义课堂上学到的辩证法,原本是谈经济基础和上层建筑的。语义是决定性的,句法是非决定性的,但是句法对于语义有反作用。反作用的表现就是那些原则虽然可以违反,但是违反了感觉上不自然。

白:
多说几遍就没有反作用了。也许只是一种参数化的容忍度,有个体差异,阈值可调。

李:
哈,多说无数遍就成为成语黑箱子了,自然反作用也趋向于零了。

这里面有一个很长的灰色地带,或者说毛刺地带。有点像鸡肋,食之无味,扔之可惜。遇到社会媒体这种monster,还不得不对付。

白:
看这个:“这个会所我二楼从来不去”。念两遍,自然顺了。分析从宽,生成从严。分析不出来怪人违反原则,不是很健壮。

李:统计上应该有反映的。“这个会所二楼我从来不去”,“我从来不去这个会所二楼”,感觉上,会有多得多的人这么表达。

白:
统计有的扯,到底怎么采集就算平衡了。长尾难道该死。

分析不要管毛毛虫的实际边界,要管“外包络”。生成也不用管毛毛虫的实际边界,要管“内包络”。不踩线更安全。内外包络可以都是平滑的。在两个包络之间,如果有统计信息可以利用,可以走得更远。所以我现在在做理解的场合很少关注什么不能说,除非可以用来作为消岐的线索。

李:
内包络外包络的说法很好,不必踩线划线,在灰色地带做无意义没结果的争论。但是,灰色地带比起黑色地带,到底还有个分别。纯粹从语言工程上考量,也还是优先搞定黑色地带,灰色地带可以推后。这是其一。其二,灰色地带的难度相对大,收益相对小,也一般是事实。

白:
关键是方向。分析要从宽,包容性要大。说三遍就通的句子,要当作合法句子处理。可说可不说的,一律按可说处理。

如果一个机制能够罩住一堆长尾,但是同时也能罩住不是长尾的一堆胡说八道,只要统计上那些胡说八道的出现概率足够小,这个机制就是非常诱人的。如果落地的环节还有过滤那些胡说八道的第二道防线,那就更没什么担忧的了。

我们不是先有一个粗线条的机制罩住80%,再用另一个精细化的机制去罩住更多。我们是一开始就罩住很多,但胡说八道也会罩进来。搏的是胡说八道占比很低。所以不存在精细化环节带来的成本收益考量。毕竟难为我们也赚不了什么钱,为此在网上大肆制造胡说八道语料,得不偿失。

“学校我从来不从正门进。

“正门”绝对处于旁岔(介词宾语)。但是,它留下的残坑辗转换了两次干爹,每个干爹又各自扩充了地盘之后,在干爹“进”的带领下最终迎来了相谐的大萝卜——学校。

【相关】

【一日一析:表层句法形式变化,深层逻辑形式不变】

《一日一析系列》

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

《朝华午拾》总目录

 

【一日一析:表层句法形式变化,深层逻辑形式不变】

这也是老生常谈了,从上世纪50年代乔姆斯基的表层结构深层结构的转换就开始了。但这的确是自然语言最突出的特性:一个意思有多种(几乎)等价的表达。例如:

(1a)这帮饿鬼把一席好菜吃得盆干碗净
(1b)这帮饿鬼一席好菜吃得盆干碗净

一字之差,中文句法解析完全不同。

介词“把”字的省略,造成了两个名词短语相邻,所以句法解析可能就走不同路径了。这是中文语法学界讨论蛮多的话题句式,第一个NP是话题 Topic,很像一个句子的大主语。第二个NP才是主语,也有语言学家分析说是个“小主语”,它与动词短语结合在一起,作为大主语的大谓语。无论句法上解析为大小主语也好,大小谓语也好,或者话题加单句也好,但是说来归齐,这种省略了“把”的句子与没省略“把”字的句子,说的是一个意思。因此,逻辑语义深度解析还是要统一到同样的逻辑形式(logical form)表达的。这正是我们深度解析(deep parsing)需要做的工作。下图的依存关系图是我们目前中文深度解析器的最终输出结果,就是上述逻辑形式的统一表达。

类似的,“被”字也可能省略。除了把字句和被字句外,其他句法形式还包括重叠式与得字结构。这些都是汉语句法讨论过很多年的语言现象。

(2a)一席好菜被这帮饿鬼吃得盆干碗净
(2b) 一席好菜这帮饿鬼吃得盆干碗净

(3a)这帮饿鬼吃一席好菜;这帮饿鬼吃得盆干碗净
(3b)这帮饿鬼吃一席好菜吃得盆干碗净

 

 

 

【图例】
S: Subject; O:Object; B: Buyu; M: Modifier;
X: Purely functional; Z: Functional

 

【相关】

《一日一析系列》

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

《朝华午拾》总目录

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[consider a chart parsing sample.]

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

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

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

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

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

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

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

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

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

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

(for instance)

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

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

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

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

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

[References]

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

特转载学习。

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

 

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

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

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

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

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

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

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

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

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

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

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

 

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

 

【李白103: 爱冰 恋冰 不见冰,思过 想过 没有过】

李:
爱冰 恋冰 不见冰”,为群主求下对。

毛:
吃了 喝了 不玩了。

李:
思过 想过 没有过。”

不错,parsing 中规中矩,可下对就有些乱套了:

为什么乱套?“过” 是名词还是时态助词?

(1) 自左向右 propagate 的话,“思过” 是词典绑架来的,所以“过” 是名词(“过错”),根据著名的 one sense per discourse 的NLP认知的经验法则,那就都是名词了,意思是:

闭门思过,我思啊想啊,狠斗私字一闪念,可我就是没有过错呀

2. 自右向左 propagate 来实现 one sense per discourse,则是助词:

头脑里面是想过的,但实际上没有过
(想过啥 没有过啥,大家见仁见智,总之是见不得光的事儿)

有思想,无行动。不以思想入罪,就是无罪。

3. 如果贯彻原则无论西东,咱们可以来个简单的 majority vote,助词“过” 两票,名词“过”一票,助词胜。语义计算同2.

白:
@wei 同样的逻辑,我30多年前根张桂平讨论的时候已经在用了:“没有花香,没有树高,我是一棵无人知道的小草。”第一小句,“花香”词典捆绑为名词,捎带激活“没有”的“不存在”义项,整个小句意为“不存在花的香味”。第二小句,“没有”依惯性继续“不存在”义项,激活“树高”的名词义项,但此名词义项是一个实体度量,与“不存在”义项不相谐,转而激活“比不上”义项,相应地对“树高”进行拆解,得到一个主谓结构,整个小句意为“比不上树那么高”。但由于前两小句有排比对举之嫌疑,于是引导到第一小句翻盘,“没有”的“比不上”义项占了上风,拐带着“花香”的“主谓结构”义项也跟着占了上风,第一小句语义改为“比不上花那么香”。一二小句在这种排比解释下,都缺逻辑主语之坑未填。到了“我是一棵无人知道的小草”则谜底揭晓:与“花”“树”对举的“小草”之代表“我”,才是填前两个小句中逻辑主语坑的不二选择。

用时下流行的话说,“树高“的名词义项是“没有”的“不存在”义项的猪队友。“小草”是两个“没有”的“比不上”义项的“神助攻”。

吕:
@白硕  这个例子牛叉…..

李:

例子牛叉,parsing 就牛不起来了:神助攻,不容易啊。

道理上,“神助攻”的实现可以通过休眠唤醒(【李白100:Parsing 的休眠唤醒机制】)。唤醒的种子和条件差不多已经具备:(i)“花香” 从词典来的微结构是 mn(修饰)sv(主谓)同形,sv被休眠;(ii)“没有树高”的比较级解析已经完美(“树高”的逻辑sv呼之即出);(iii)平行结构的形式痕迹很清晰(字数相同,动词相同)。

可“我是一棵无人知道的小草”,还是先对付鸡零狗碎的 daily chore,高大上的神功且候着,让“休眠”飞一会儿。

 

【相关】

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

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

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

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

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

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

《一日一析系列》

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

《朝华午拾》总目录

 

【一日一析:成语泛化,“1234应犹在,只是56改”】

白老师在他的NLP语义计算群转了一个让人喷饭的神翻译,如此之神(原文的谐音而不是语义保留下来),可以认定是人工的调侃段子,而不是“神经的翻译(NMT)”:神经再深度,还不可能如此之疯,疯得如此机巧。

马老师说,“端到端的(语音输入)翻译有可能性,不过应该是人翻译的”。但那要把两种语言混杂的情况考虑进去,“you cannot” 的英译汉状态 在遇到不可解片段时(beyond 语言模型的某个 thresholds),动态调整到反向的 mei more tai 的汉译英状态。这一直是MT的一个痛点,在同声传译场景更是如此。我们这些中文中喜欢夹杂英语单词的用户,也常常把MT弄晕,错得离谱。但注意到他们有做这方面的努力,如果汉语夹杂特别常见的英文词,如 ok,yes,等,有些系统已经可以对付。

As usual,“parse parse see see”:你将来可能会赚更多的钱,但你没茅台

两个分句是转折(BUT: contrast)的关系。显然是提醒家有珍藏的老板们如虎总,要好好珍惜茅台啊:票子会跑风,而茅台越久越值

 

这仍然是一个带转折的复句。其中的看点之一是“越久越值”,就是不久前提到的“成语泛化”(【从博鳌机器同传“一带一路”的翻译笑话说起】):越A1越A2。可见,成语泛化就是在固定语素字符串的成语用法里面有合适的变量来应对成语的活用,因此成语不再是单纯的词典和记忆问题,而是参杂了泛化的成分。以前提过,成语泛化在中文并不鲜见,其典型案例是:“1234应犹在,只是56改”:

由于汉语的音节特性和汉字语素与音节一一对应的特性,成语泛化的一个根本约束是字数(或音节数),甚过对变量词类或子类的约束,否则读起来就不像个成语。受众如果不能联想到一个特定的成语,说者也就失去了“活用”的妙趣和幽默。下面是 1234(四个音节) 和 56(两个音节) 这两个变量的自然活用案例:

可怜玉砌应犹在,只是天地改
昔日桃花应犹在,只是人面改

再举一些成语活用的解析案例:

(1) 无巧不成书 –> 无x不成y: 广州人无鸡不成宴吖

(2) 不V不知道 / 一V吓一跳: 真是不买不知道,1买吓一跳       

(3) n [animal] m [animal] 之力: 五虎六狮之力   

(5) 不费 vn 之力: 不费眨眼之力

 

成语泛化,是不为也,非不能也!

 

【Parsing 标签】

1 词类:名 N; 形 A; 动 V; 副 RB; 介词 P; 冠词 DT; 叹词 UH; 标点 Punc;

2 短语:名词短语 NP; 动词短语 VP; 形容词短语 AP; 介词短语 PP;
名词组 NG; 动词组 VG; 实体专名 NE; 数据实体 DE;
谓语 Pred; 分句 CL;

3 句法:头词 H;主 S; 宾 O; 定 M; 状 R; 补 B;
接续 NX; 并列 CN; 转折 BUT;
主语从句 sCL;宾语从句 oCL; 定语从句 mCL;
条件状语 ifR; 程度状语 veryR;
功能成分 Z; 其他虚词 X

 

 

【相关】

从博鳌机器同传“一带一路”的翻译笑话说起

NLP 历史上最大的媒体误导:成语难倒了电脑

立委随笔:成语从来不是问题

《一日一析系列》

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

《朝华午拾》总目录

 

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

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

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

陈:
有了dl,谁还费力想其它的

李:
周教授就是“费力”想其他的人。他指出了深度神经的缺陷:1 调参的困扰;2. 可重复性差;3. 模型复杂度不能随数据自动适应;4. 理论分析难;5. 黑箱;6. 依赖海量标注。由于这些问题的存在,并不是每一个AI任务都合适用深度神经。对于同一个任务,也不是每一个AI团队都可以重复AI大咖的成绩。

毛:
谁说每个AI任务都合适用深度神经了?DL只是补上缺失的一环。

李:
没人明说,无数人这么 assume

毛:
应该说,无数人这么 misunderstand。

李:
哈,我称之为“迷思”:misconception

毛:
反正是mis-something

李:
从我的导师辈就开始的无数探索和实践,最后得出了自然语言的解析和理解必须多层进行的结论。虽然这与教科书,与乔姆斯基相悖。

陈:
小孩好像从不这么理解

李:
以前论过的:鉴于自然语言的结构复杂性,文句的深度解析和理解很难在单层的系统一蹴而就,自浅而深的多层管式系统于是成为一个很有吸引力的策略。多年的实践表明,多层系统有利于模块化开发和维护,为深度解析的工程化和实用化开辟了道路。但多层系统面临一个巨大的挑战,这个挑战来自于语言中的并不鲜见的相互依赖的歧义现象。

多层了以后,很多不可解的问题,变得可解了。论解析的深度和应对复杂现象和结构能力,多层系统与单层系统完全不可同日而语。30多年前,我的导师做的解析系统是四、五层。但是多层的思路已经萌芽,而且方法论得到确认。最近20多年,我自己的摸索和尝试,发现大约是 50-100 层这个区间比较从容和自如。这不是因为语言中表现出来的递归结构需要这么多层,如果只是为了对付真实语言的递归,五六层也足够了。多层的必要性为的是要有足够的厚度及其动态的中间表达,去容纳从词法分析、实体识别、(嵌套)短语分析、单句分析、复句分析乃至跨句分析(篇章分析)以及从形式分析、语义分析到语用分析的全谱。

当然,这么多层能够顺利推展,前提是要找到解决多层系统面临的挑战的有效方法,即:对相互依赖现象的化解之策。如何在多层系统中确保“负负得正”而不是“错误放大”(error propagation)(【立委科普:管式系统是错误放大还是负负得正?】 )?如何应对 nondeterministic 结果的多层组合爆炸?如果采用 deterministic 的结果,多层的相互依赖陷阱如何规避?我们论过的“休眠唤醒”的创新就是其中一个对策(【立委科普:结构歧义的休眠唤醒演义】)。

毛:
乔老爷没说不能多层啊。递归与多层不就是一回事?

李:
他的递归是在一层里面 parse 的,CFG chart parsing 是教科书里面的文法学派的经典算法。

毛:
这只是形式和实质的区别。我觉得只是深度优先与宽度优先的区别。

李:
他鼓吹 CFG 的递归特性,正是因为他不懂得或不屑认真对待多层叠加的道路。

后者理论上的确不够漂亮。多少有些“凑”的意思,太多工程的味道,模块化的味道,补丁摞补丁的味道,这不符合乔老爷的口味,但实践中比他的递归论要强得多。CFG 能做到的,叠加和拓展了的 FSAs 全部可以做到,但是 叠加的 FSAs 所能达到的深度和能力,CFG 却望尘莫及。递归算个啥事儿嘛,不过是在多层里n次循环调用而已。多层所解决的问题比递归结构的挑战要广得多,包括困扰parsing界很久的“伪歧义”问题(【李白雷梅59:自动句法分析中的伪歧义泥潭】)。

毛:
我倒也是更赞同你说的 FSA,但是认为本质上没有什么不同,不同的只是方法。

李:
这是第一个英雄所见,或殊途同归。深度神经现在几百层了,deep parsing 也 50-100 层了。不是不能超过 100 层,而是确实没有这个必要。迄今还没有发现语言现象复杂到需要超过百层的符号逻辑。

毛:
这两个多层,性质是不一样的。

李:
所以我说这种比对可能“牵强”。但哲学上有诸多相通之处,的确二者都是很 deep 的,有厚度。

那边叫隐藏层,反正我是搞不懂。这边倒是小葱拌豆腐,一清二白的,不说老妪能解吧,但这些个符号逻辑的层次,至少可以对语言学家,领域专家,还有AI哲学家像毛老和群主,还有AI工程大咖利人,可以对你们这些“老人”讲清楚的。这就是我说的,所谓符号逻辑,就是人类自己跟自己玩一个游戏,其中的每一个步骤都是透明的,可解释的。符号派的旗号可以是“模拟”人脑的思维逻辑,其实这个旗号也就是个旗号而已。模拟不摸拟,这一点已经不重要了,关键是效果。何况鬼知道人的语言认知是不是这么乏味、死板、机械,拼拼凑凑,还不如玩家家呢(如果人类思维真的是符号派所模型的那个样子,其实感觉人类蛮可怜的)。

毛:
大多数人的思维可能还没有这么复杂。

李:
但这种游戏般的模拟,在实践中的好处是显然的,它利于开发(自己能跟自己玩的那些游戏规则有助于步骤的梳理,以便各个击破),容易维护和debug(比较容易知道是哪一层的错误,或哪几层有修复的机会及其各自的利弊).

马:
越是层次的思维越是更容易模拟,符号派模拟的是高层次的。

毛:
对,就是缺了低层次这一环,才需要由DL来补上。

郭:
@毛德操,周志华 这次演讲,还特别强调了 深度之于广度的核心差异,那就是他的第二条:每层都是在不同特征维度上。

他从两个角度阐明这点。一,至少在1989年,大家就已经知道,在无限逼近任意连续可微函数这件事上,只要宽度足够,单隐含层就好。多层貌似并非必要,或者说多层并没有提高“表达力”。但是,单层系统,从来没能达到同规模多层系统的学习和泛化能力。

二,多层,就可以有结构。譬如resnet,可以在不同层面选取综合不同维度的特征,可以有多信息流。这条,貌似隐含地说了,人的干预还是重要的。

李:
是的,周教授强调的第二点是特征逐层更新。深度学习之前的系统是在同一个静态特征集上work的,包括最像符号逻辑的决策树模型。而深度之所以 deep,之所以有效和powerful,是与特征的变化更新分不开的,这个道理不难理解。深度的系统不可能在静态的特征上发力,或者说,特征静态也就没有深度的必要了。深度系统是一个接力赛的过程,是一浪推一浪的。这一点在我们的实践中是预设的,当成不言而喻的公理。

我们的深度解析,起点就是词典特征和形态特征,随着从浅层到深层的逐层推进,每一步处理都是在更新特征:根据各种角度的上下文条件,不断增加新特征,消除过时的旧特征,或细化已有的特征。后面一层层就这样在越来越优化的特征上,逐步取得对于语言的结构解析和理解。

毛:
深度优先与广度优先,没有绝对的好坏或强弱,要看具体的应用。在NLP中也许是广度优先好一些。乔姆斯基讲的是专门针对 CFG 的,你那个实际上已经越出了这个范畴。

李:
特征是动态的,反映了搜素空间不断缩小,是真理不断逼近的认知过程。很难想象一个系统在一个静态特征的平面可以达到对于复杂语言现象的深度解析。

马:
在某些特殊情况下,已经证明层数少,需要指数级的增加神经元才可以达到层数深的效果。而神经元的增加又加大了计算复杂性,对数据量的要求更大。

毛:
如果上下文相关,那么分层恐怕确实更灵活一些。

李:
这就是我说的乔老爷把“power”这个日常用词术语化以后,实际上给人带来了巨大的误导:他的更 “powerful” 的 递归 CFG 比二等公民的 less powerful 的 FSA 所多出来的 “power” 不过就是在单层系统里面可以处理一些递归结构而已。而把一批 FSAs 一叠加,其 power 立马超越 CFG。

总之,特征不断更新是深度解析的题中应有之义。而这一点又恰好与深度神经不谋而合,殊途同归了。

周教授眼毒啊。

教授的第三点,关于深度系统需要足够的模型复杂度,我不大有把握可以做一个合适的比对。直觉上,由于分而治之由浅入深的多层系统对于组合爆炸的天然应对能力,如果我们假想我们有一种超自然的能力能够把一个 50 层的解析系统,完全碾压到一个平面,那将是一个多大的 network,遮天蔽日,大到难以想象!

马:
符号表示的复杂性可以说是无穷大吧?模型的复杂度指表达能力?太复杂又容易过拟合

李:
周说的是,因为不知道多复杂合适,所以得先弄得很复杂,然后再降低复杂度。他把这个说成是深度神经的一个缺陷。

郭:
周志华特别强调,他的“复杂度”,不是指“表达力”(“单层多层同样的表达力,但多层可以复杂的多”)。

他没给定义,但举了resnet作为例子,并且明确提了“特征信息流的数目”,还说了:多层,但特征信息流动单一的,也没有复杂度。

回顾周说的这三条,李维的 deep parser 条条符合!

有逐层的处理 — 李维的,少说也有50层吧!

有特征的内部变化 — 李维的,每层都在不同的维度/颗粒度/角度,用不同的特征/属性,产生新的特征/属性

有足够的模型复杂度 — 李维的,也有明显的“复杂度”(周志华强调,“复杂度”,不是指“表达力”。过度的“表达力”,往往是负面的)。李维的,不仅有传统的 linguistics motivated 概念/特征/属性,也广泛采用“大数据”(基于统计的)。最近也开始利用“AI”(基于分布式表示的)。

还有一点,周志华多次强调(我认为是作为“三条件”必然推论的),“深度学习,关键是深度,但不一定要 ‘端到端’ ”。他更强调(至少是我的理解),为了端到端,一味追求可微可导,是本末倒置。深度学习,中间有 不可微不可导 的特征/存储,应该是允许甚至是必要的。

对这一点,李维的“休眠唤醒”,大概也可算是 remotely related.

白:
拉倒。带前后条件的FSA早已不是纯种的FSA,只是拿FSA说事儿而已,真实的能力早已超过FSA几条街。

毛:
这就对了。其实,自然语言哪里是 CFG 可以套得上的。

李:
我其实不想拿 FSA 或 FSA++ 说事儿,听上去就那么低端小气不上档次。可总得有个名儿吧,白老师帮助起个名字?教给实习生的时候,我说你熟悉 regex 吧,这就好比是个大号的 regex,可实习生一上手 说不对呀 这比 regex 大太多了。这套 formalism 光 specs,已经厚厚一摞了,的确太超过。要害是剔除了没有线性算法的递归能力。

毛:
记得白老师提过毛毛虫的说法,我还说了句“毛毛虫的长度大于CFG的直径”。(【白硕– 穿越乔家大院寻找“毛毛虫”】

白:
有cat,有subcat,还拿这些东西的逻辑组合构成前后条件,还有优先级。有相谐性,有远距离雷达,有实例化程度不等带来的优先级设定。哪个FSA有这么全套的装备?

陈:
基于规则,遇到长句子一般必死

李:
非规则的 找个不死的瞧瞧。再看看规则的怎么个死法。反正是死。看谁死得优雅。你出一组长句子,找一个学习的 parser,然后咱们可以比较一下死的形态。

白:
先说任务是啥,再说死活。

李:
我是说利人的腔调,极具代表性,那种典型的“成见/偏见”(【W. Li & T. Tang: 主流的傲慢与偏见:规则系统与机器学习】)。

马:
人家DL端到端,不做parser。现在有人做从语音直接到文本的翻译,不过效果还不行,主要可能是数据问题

李:
苹果梨子如何比较死活。

毛:
乔老爷的CFG不应该算入AI,那只是形式语言的解析。

陈:
确实都死。。。但一个死了也没法解释,不要解释。另一个就得思考哪个规则出问题了

毛:
人也好不到哪里,只不过人不死,只是懵了。

李:
😄 懵了就是人造死,artificial death

马:
规则的好处是,你说什么不行?我马上可以加一个规则。这就是我前面说的复杂性无穷。😄 即表达能力无穷

白:
假设任务是从文本抽取一堆关系,放进知识图谱。

假设任务是根据用户反馈,把错的对话改对,同时对的对话不错。

陈:
抽取这个很重要,很多理解的问题其实是抽取问题。比如,阅读问答题

毛:
我还是相信多层符号会赢。

李:
从文本抽取关系 谁更行,需要假设同等资源的投入才好比。我以前一直坚信多层符号,现在有些犹疑了,主要是标注人工太便宜了。到了标注车间,简直就是回到了卓别林的《摩登时代》,生产线上的标注“白领”面对源源不断的数据,马不停蹄地标啊标啊,那真不是人干的活儿啊,重复、单调、乏味,没看见智能,只看见人工,甭管数据有多冗余和灰色。这就是当今主流“人工智能”的依托,让人唏嘘。当然,另一方面看,这是当今AI在取代了很多人工岗位后,难得地给社会创造就业机会呢,将功补过,多多益善,管他什么工作,凡是创造就业机会的,一律应予鼓励。

毛:
@wei 这不正好是训练条件反射吗

陈:
反正智能的事都让机器去做了,人就只好做些低级如标注的活了

白:
问题是啥叫符号?基于字节?字符?基于词已经是符号了吧。是不是要退到茹毛饮血,连词也不分,才算非符号。否则都是站在符号肩膀上

毛:
我认为可以这样来类比: 一个社会经验丰富、老江湖的文盲,跟一个教授,谁能理解更多的语句。我想,除那些江湖切口和黑话,还有些需要“锣鼓听声,说话听音”的暗示以外,一定是教授能理解更多的语句。而且,即使是江湖切口黑话,也能慢慢加到教授的知识库中。

李:
都是站在符号肩膀上。然而,符号系统的实质不是符号,而是显性的 可解释的符号逻辑。就是那套自己跟自己玩 系统内部能够自圆其说 有过程 有因果链条的针对符号及其动态特征做处理的算法。相对于建立在符号和特征基础上的不可解释的学习系统,很多时候这些系统被归结为一个分类问题,就是用原子化的类别符号作为语言落地的端对端目标。如果一个落地场景需要10个分类,只要定义清晰界限相对分明,你就找一批大学生甚至 crowd source 给一批在家的家庭妇女标注好了,一个类标它百万千万,然后深度训练。要是需要100个分类,也可以这么办,虽然标注的组织工作和质量控制要艰难得多,好在大唐最不缺的就是人工。可是,如果落地场景需要一千个、一万个不同侧面的分类,标注和学习的路线就难以为继了。

白:
结果是一个集合,已经比较复杂了。结果是关系集合,又更加复杂。让人类标注,好不到哪儿去。标注一个关系集合,等价于标注一个结构。

 

【相关】

周志华:满足这三大条件,可以考虑不用深度神经网络

周志华最新演讲:深度学习为什么深?

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

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

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

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

【泥沙龙笔记:NLP 专门语言是规则系统的斧头】

【新智元:理论家的围墙和工程师的私货】

乔姆斯基批判

泥沙龙笔记:再聊乔老爷的递归陷阱

泥沙龙笔记:骨灰级砖家一席谈,真伪结构歧义的对策(2/2) 

《自然语言是递归的么?》

语言创造简史

【立委科普:管式系统是错误放大还是负负得正?】

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

W. Li & T. Tang: 主流的傲慢与偏见:规则系统与机器学习

《一日一析系列》

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

《朝华午拾》总目录

【一日一析:“对叙军事打击是一次性行为”】

“对叙军事打击是一次性行为”

对不起,不是对“性行为”或成人话题有偏好,可是这两天老在想这个案例,疑似语言学走火入魔。微信群最近疯传的这个视频,字幕如上,属于 #中文理解太难了# 一类歧义案例,可读出来却不是,那位女播音员低下头,读起来是这样的:“对叙军事打击是一次性…性行为”。

估计是她没有预先看一遍稿子,结果突然看到这三个字,有点不知所措,结巴了。我们 “parse parse see see”:

如果结巴或停顿不用省略号记录的话,就是这样的:

这里面牵涉到的语言学和计算语言学在哪里呢?有什么可琢磨的点?

首先,文句是歧义的(因此可以休眠唤醒:前两天论过,唤醒的时候,把“一次-性”中的后缀“性”剪枝,改嫁给“行为”做定语,只是一个结构微调整,整个NP大局不变,比起VP/NP歧义的cases如“烤红薯”的休眠唤醒要简单一些),到了播音的时候,因为增加了一个“性”而变得没有歧义了。

更有意思的是,为什么没有歧义了,听众却仍然可以排除听到的结构,反而还原为另一种结构解读呢?

一种说法是,听众有常识,说“军事打击”是“性行为”,违背常识。这样解释自然不错。

另一种说法是,语音的音调和重音这些文字通常不记载的痕迹表明播音员口误了,慌张了,结巴了,因此我们还原到另一个结构的解读。如果是正常的阅读,除了两个性之间的停顿外,“一次性性行为” 中第一个“性”是轻声,重音在 “(一)次” 上,第二个“性”则是重音,可是播音员的第二个“性”读出来反而含混了。由此可见,两个 x 很可能是一个 x 的重复或结巴,因此人脑 parse 的时候是利用了 reduplication 机制处理了这个重叠,从而把原结构的歧义凸显出来,为另一种解读留下了空间。

在这个话题的延长线上,我们看某贪官被双规后对其权色交易的辩解:“这次性行为是一次性行为”。

改成“第一次”又如何呢?

有问,这“第一次”词典化了,如果是“第102次”看系统还能如此解析吗?

“这次” 、“第一次”和 “一次” 有啥不同?为什么决定了其后三个字的不同解读?parser 里面到底有什么神机妙算在内可以做出这种区分?

先不说模拟人脑的 parser 如何实现的,说一说人脑怎么 parse 的。人脑大概用的是排除法。另一个结构的解读呈现下列形态:这次 x 是一次 x,这是一句没有信息量的语句(this x is an x)。因为有定(the)或无定(a)的量词结构是很虚的东西,所以上句结构从实体概念看就是: x ISA x,逻辑上的同义重复,基本没有信息。有信息的 ISA 句应该有一个逻辑上的区分量 y(百科全书中概念定义的典型句式):x ISA y x’ (x belongs to x’), 譬如:”贪官就是违法乱纪的官员”,其中 “违法乱纪” 就是 y.

同理,“一次性” 也是 y(“第一次”也是y), 人脑于是排除了无信息量的结构解读“一次-性行为”,大家不约而同的采纳了具有信息量的常规 ISA句式的解读 “一次性-行为”,虽然理论上的结构歧义依然存在。至于,如何让电脑实现人类的歧义辨识语言认知这一套,那是另一个章回了,先打住。有没有下回分解也说不定了,看彼时的情绪吧。兴起而码字,兴尽而收笔,这是自媒体的好处不是?

 

【Parsing 标签】

1 词类:V = Verb; N = Noun; A = Adjective; RB = Adverb;
DT = Determiner; UH = Interjection; punc = punctuation;

2 短语:VP = Verb Phrase; AP = Adjective Phrase; NP = Noun Phrase;
VG = Verb Group; NG = Noun Group; NE = Named Entity; DE = Data Entity;
Pred = Predicate; CL = Clause;

3 句法:H = Head; O = Object; S = Subject;M = Modifier; R = Adverbial;
(veryR = Intensifier-Adverbial); NX = Next; CN = Conjoin;
sCL = Subject Clause;oCL = Object Clause; mCL = Modifier/Relative Clause;
Z = Functional; X = Optional Function

 

 

【相关】

《一日一析系列》

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

《朝华午拾》总目录

【一日一析:中文解析中的动名短语歧义】

老友让 parse 两句让人搞笑的歧义句。前一阵子微信里流传过的。那就试试:

性教育先进,吾党理应当仁不让。还有一句啥来着?

承诺什么?要是承诺性行为,对不起,不允许,因为你有钱。如果换成:”少林寺众僧禁止性行为承诺书”,承诺的应该是 “禁止性行为” 哈。俗人的社会,一种是有钱(譬如群主),一种是有权或有势(譬如正遭网民痛殴的语言学家沈阳),这两种人的性行为需要管束,否则权色交易,钱色交易就会猖獗。

“禁止 性行为” vs “禁止性 行为”,如何知道呢?

不知道,咱就选个标配结构,同时留了个后门:【禁止V+性+N行为】 暂时定为定中(定语修饰名词中心语)的结构 NG,做承诺书的修饰语。但里面留了种子,等以后见机翻案,可“休眠唤醒”其作为 VP 的结构语义。一旦翻案,V 变成为 VP 的 head (H),“行为” 自然成为其宾语(O),中间的那个“性”可以修剪,从“禁止”的后缀,改嫁为O的定语。这一套符号逻辑形式上是走得通的,就看实际落地的时候觉得值不值得做了。

中文句法的诡异在于,这种VP(动宾结构的动词短语)和NG(名词词组)同形歧义现象相当普遍。英语也有动词名词的同形歧义现象(study; works; etc)  但是到了短语级别,这种歧义就消失了。中文不然,典型的例子还有:“烤红薯”。到底是【烤…】 (VP) 还是 【…红薯】(NG)?

“我吃烤红薯”,“吃”的是“红薯”。“我想烤红薯”,“想”的是“烤”。

 

可是,“我喜欢烤红薯”呢?到底是喜欢“烤”,还是喜欢“红薯”,还是二者都喜欢,还是喜欢其中之一?所以,休眠唤醒,也有永远换不醒的,到死也翻不了案。这也没啥,人类听和说,一多半的时候,都是模模糊糊地说,一知半解地听。这实际上是语言交流的常态。也不必苛求机器比人还清晰了。

【Parsing 标签】

1 词类:V = Verb; N = Noun; A = Adjective; RB = Adverb;
DT = Determiner; UH = Interjection; punc = punctuation;

2 短语:VP = Verb Phrase; AP = Adjective Phrase; NP = Noun Phrase;
VG = Verb Group; NG = Noun Group; NE = Named Entity; DE = Data Entity;
Pred = Predicate; CL = Clause;

3 句法:H = Head; O = Object; S = Subject;M = Modifier; R = Adverbial;
(veryR = Intensifier-Adverbial); NX = Next; CN = Conjoin;
sCL = Subject Clause;oCL = Object Clause; mCL = Modifier/Relative Clause;
Z = Functional; X = Optional Function

 

 

【相关】

《一日一析系列》

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

《朝华午拾》总目录

 

【李白101: 话题在逻辑上是个什么东东?】

 

李:
“你们多少钱一条毛毯”

“你们”是主语,or 话题?即便说是“话题”,逻辑语义算个啥?(“毛毯”的【所有(者)】?):

“蓝色的你没有货吗?”

类似的,“蓝色的” 逻辑语义是“货”的【所有】吗?

但上句与下句还不同:

“你没有蓝色的货吗”

后者是全称否定:在你所有的货品中,你缺少蓝色的(子集)。前者是:在这种(你知我知)货品中,你缺少蓝色的款式。

看样子,句首的所谓话题,对于结构语义解析中的 scope 解读,有说法。话题呢,就是先画个圈圈,后面的 argument structure 里面的 args 跳不出这个圈圈。

回到“”你们多少钱一条毛毯”,也有说是省略了谓词:

“你们多少钱一条毛毯卖的?”
“你们多少钱一条毛毯买的?”

前者是 卖家,“毛毯” 的曾经所有者。后者是 买家,“毛毯”的新所有者。默认是卖家,因为这个应该是交易之前的询问。

白:
表“运载”类的动词,介于“给予”类和“取得”类之间:“你们多少钱一斤搬的?”当中,“你们”既可以是出钱的,也可以是干活的。所以,概括来说话题就是“后面一坨当中的未饱和坑”。如果未饱和坑多于一个,其中满足相谐性条件的也多于一个,满足对某些小类的动词可以有倾向性标配,对另外一些小类的动词无倾向性标配。不光领属可以,领属的领属也可以:“王冕昨天父亲腰扭伤了”,“我昨天拉了三趟煤。” 可能我是运输工人、运输老板或者运输客户。或者我自力更生自运自用。

所以,话题是一个纯形式的角色,它对应的逻辑角色是不确定的,完全取决于后面一坨空出来的坑的逻辑属性。如果空出来的坑也是不确定的,那就必然产生歧义。

【Parsing 标签】

1 词类:V = Verb; N = Noun; A = Adjective; RB = Adverb;
DT = Determiner; UH = Interjection; punc = punctuation;

2 短语:VP = Verb Phrase; AP = Adjective Phrase; NP = Noun Phrase;
VG = Verb Group; NG = Noun Group; NE = Named Entity; DE = Data Entity;
Pred = Predicate; CL = Clause;

3 句法:H = Head; O = Object; S = Subject;M = Modifier; R = Adverbial;
(veryR = Intensifier-Adverbial); NX = Next; CN = Conjoin;
sCL = Subject Clause;oCL = Object Clause; mCL = Modifier/Relative Clause;
Z = Functional; X = Optional Function

 

 

【相关】

《一日一析系列》

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

《朝华午拾》总目录

 

【李白102: 标题就是个大NP,痛点在谓词结构的安放】

白:
“中国证监会编造、传播虚假信息行政处罚案例综述”

李:

解析起来有几个 catches:

1. “案例” 和 “综述” 以及二者的组合“案例综述”,都是那个“另类”名词,它们不是前面的动词的宾语,而是要求一个动词性的前修饰语,逻辑语义是【内容】或【同位】。上面的 parse 不幸中了套。

2. “编造”/“传播” 与 “信息” 的动宾搭配:成为 VP

3. 所谓【修饰语的组合爆炸挑战】:这是一个很长的标题类NP,麻烦的是里面还有两个动词性的结构(“编造、传播……“,”行政处罚”)。

4. 两个动词结构的关系:VP(负面)【原因状语 ?】+ “行政处罚”

白:
“行政处罚”和与之固定搭配的行政处罚主体,有统计显著性。

李:
5. 居首的”中国证监会“到底是整个 NP 的修饰语,还是 VP 的主语?换句话说,这个动词性结构在做修饰语之前,左边界是不清的,到底是 VP 还是 CL(子句)做修饰语?

白:
这个跟“这本书出版日期”一样。

李:
最大的问题是: VP(负面)+ “行政处罚”,这种个性关系的总结,实现起来感觉心里不踏实。

白:
但是:NP(有权主体)+VP(负面)+“行政处罚”又不相同。

李:
如果再考虑前面的 NP,那就更稀疏了。

即便一切都处理妥当,预备各就各位了,这种案例的诡异在于头重脚轻:“VP+行政处罚” 这个头 应该是 “案例综述” 这个脚的同位修饰语。头重脚轻在汉语的修饰语通常都是用“的”来平衡的,不用“的”修饰语又超长就很游离来(outlier),模型起来极易弄巧成拙。

得,动宾搭配又跑了。弄巧成拙和按下葫芦起了瓢这种事儿 主要说的就是这种 outlier 案例的过度迁就(类似于学习系统的overfitting)。

打住,到此为止。要抑制钻牛角的好奇心。

白:
此标题的文章作者已经撤回。被我指出歧义觉得不妥了。

 

【Parsing 标签】

1 词类:V = Verb; N = Noun; A = Adjective; RB = Adverb;
DT = Determiner; UH = Interjection; punc = punctuation;

2 短语:VP = Verb Phrase; AP = Adjective Phrase; NP = Noun Phrase;
VG = Verb Group; NG = Noun Group; NE = Named Entity; DE = Data Entity;
Pred = Predicate; CL = Clause;

3 句法:H = Head; O = Object; S = Subject;M = Modifier; R = Adverbial;
(veryR = Intensifier-Adverbial); NX = Next; CN = Conjoin;
sCL = Subject Clause;oCL = Object Clause; mCL = Modifier/Relative Clause;
Z = Functional; X = Optional Function

 

 

【相关】

《一日一析系列》

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

《朝华午拾》总目录

 

《一日一析系列》

【立委按】汇集的《一日一析》,乃是日常遭遇的中文有趣文句,作为中文自动解析(deep parsing)的“压力”测试。兴之所至,对暗含的解构机巧,或点入讲解,或借题发挥。不求完整,但求启迪。谈资之余,或可管中窥豹,集腋成裘也。

 

【一日一析:“爱情这种事……”】

【一日一parsing:“举报毒品违法 犯罪活动有奖”】

【一日一parsing:修饰语的组合爆炸挑战】

【一日一parsing:parser 貌似发疯了】

【一日一parsing:汉语单音节动词的语义分析很难缠】

【一日一parsing:”钱是没有问题”】

【一日一parsing:从“见面”的subcat谈起】

【一日一parsing:#自然语言理解太难了# 吗?】

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

【一日一parsing:NLP应用可以对parsing有所包容】

【一日一parsing:degraded text and robust parsing】

【一日一parsing,而山不加增,何苦而不平?】

【一日一parsing:中秋節談月亮和花錢】

【一日一析:“爱情这种事……”】

【一日一parsing:“爱情这种事……”】

爱情这种事 太极端 要么一生 要么陌生

精辟啊。不过,概率上很不对等,还是擦肩而过形如陌路的居多。一辈子见过多少人,一生的只有一个。

所谓缘分,就是n年修得同船渡,m年修得共枕眠: m > n > 10.

老友说:失恋也不是喝江小白的理由啊

 

【Parsing 标签】

1 词类:V = Verb; N = Noun; A = Adjective; RB = Adverb;
DT = Determiner; UH = Interjection; punc = punctuation;

2 短语:VP = Verb Phrase; AP = Adjective Phrase; NP = Noun Phrase;
VG = Verb Group; NG = Noun Group; NE = Named Entity; DE = Data Entity;
Pred = Predicate; CL = Clause;

3 句法:H = Head; O = Object; S = Subject;M = Modifier; R = Adverbial;
(veryR = Intensifier-Adverbial); NX = Next; CN = Conjoin;
sCL = Subject Clause;oCL = Object Clause; mCL = Modifier/Relative Clause;
Z = Functional; X = Optional Function

 

 

【相关】

《朝华午拾:与白衣天使擦肩而过》

《音乐心情:落雨的时节,失恋者的歌》

《一日一析系列》

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

《朝华午拾》总目录

 

 

【一日一parsing:“举报毒品违法 犯罪活动有奖”】

什么?

词类:V = Verb; N = Noun; punc = punctuation;
短语:VP = Verb Phrase; AP = Adjective Phrase; NP = Noun Phrase;
Pred = Predicate; CL = Clause;
句法:H = Head; O = Object; M = Modifier; S = Subject; SubjS = Subject Clause

都是“回车”惹的祸:

正常句子没有回车,没有逗号,空格也不会有,那就对了:

谁说标点符号可有可无,对于 parsing 无关紧要?如果是口语就是,谁说停顿语气对于语言理解不重要?

 

【相关】

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

《朝华午拾》总目录

 

【一日一parsing:修饰语的组合爆炸挑战】

中文合成词、术语命名可以很长很长,如果顾及内部的修饰关系的边界,是一种典型的结构歧义的组合爆炸。排列组合算一算,N个修饰语有多少种结构歧义?

怎么整?其实,人对于这种超长短语的理解,也基本上是糊里糊涂听,对于里面潜在的歧义无感居多。那机器去做呢,两个办法,一个是凑合大局,不拘小节,出个 deterministic 的结果。另一个办法就是穷举其中的潜在歧义,也不难,问题是穷举了以后如何是好,还是糊涂。

量子区块链AI韭菜盒子店

NG=Noun Group;  AP = Adjective Phrase; NE = Named Entity;
M/m=Modifier; H = Head; O/o=Object;
N = Noun; A = Adjective; V = Verb;

what is 量子区块链?

马氏体区块链智能韭菜盒子

马氏体?or 体区块链?马氏-style?

AI牌马氏体大数据区块链智能云韭菜盒子

智能云 or 云韭菜盒子?

AI牌马氏体大数据区块链智能云全自动去中心韭菜盒子

AI牌马氏体大数据区块链智能云全自动去中心韭菜盒子声控密钥无人店

这已经超过10个修饰语了:AI牌 / 马氏体 / 大数据 / 区块链 / 智能云 / 全自动 / 去中心 / 韭菜盒子 / 声控 / 密钥 / 无人店

“声控密钥” 感觉是直接修饰 “无人店“ 也许更合理。可现在这种结构也凑合了。好在 XP 内部的纠结,对于句子中 XPs 之间的关系基本没有影响。不过,这种超长NE或NP其实也很少出现在句子里面,通常都是做标题用。

(注:以上例句是尼沙龙人工智能群老友故意拿 buzz words 调侃清华人工智能马教授的一手好菜“生造”出来的。但这些例子反映现代汉语的语言事实,并不离谱。)

O网页链接 【一日一parsing:修饰语的组合爆炸挑战】@马少平THU @立委_米拉  @算文解字 @冯志伟文化博客 @zhazhaba @李利鹏-汇真科技 @永恒的侠少 @白硕SH ​就此谈点自己的看法:
1. 正规文档无论标题还是内容,应该不会出现这种过多个不相关的(即便相关)词罗列堆砌在一起的,既不利于传播也不利于理解。当然,有些新闻媒体,或者某些政府公文的题头内容,比文中本身内容都难理解,可能是另有用意,其实并不相信撰稿人就是真水平不及,或许让人产生印象或其他?无论文章或标题,若是总摆着一副“万层茧”的姿态话,我个人意见,人不用去看,机器更犯不着去分析,即便分析那结果也难看的很,无实用价值,就当是那样的是数据传输的一串乱码。要么,文者水平太差,此文不必去读;要么文者就是想着难为人,那我为何还耐着性子去受难呢。
2. 少数几个词组合在一起,在人们容忍范围内的,还是有一定价值的,毕竟不能要求每个人都有通文晓典,行文都能如丝滑般的顺畅。这种平素不相往来的几个词临时组团赴会,初期可以先作为一个团体来看,然后再在随后的文里看看是否离队的分子,若有,再看看是谁谁频繁结伴单游,再回头看看原来这个团的豪华标签,基本上就有所清晰理解。正所谓“不怕你们聚得紧,就看你们分开时”。若通篇没有一处是分开的,而且大块头的合成词语还挺愿意抛头露面的,且不嫌穿那么长衫而行动不便,那这八成就是专有词了,专有词,何去分析拆解它?作为一个词能从文首进,从文尾出就好,也懒得分析了。
3. 至于是凑合大局还是用穷举来罩它,既然早晚都是糊涂,那单独就句分析句就是没太多必要,别累坏俺们的不经世事的幼年机器哈。
from 微博

【相关】

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

《朝华午拾》总目录

 

 

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

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

李:
主语施事是侬?

 

这是一个疑问句。

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

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

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

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

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

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

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

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

李:
这个原则上是对的。

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

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

白:
不太通

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

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

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

白:
学意识流。

李:
存心难为 parser:

wrong,as expected

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

李:

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

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

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

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

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

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

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

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

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

白:
看是哪种实践了

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

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

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

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

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

白:

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

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

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

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

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

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

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

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

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

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

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

两个休眠唤醒策略:

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

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

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

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

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

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

 

【相关】

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

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

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

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

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

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

《朝华午拾》总目录

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

白:
“这家公司从年报看业绩没什么起色。”

李:
“业绩”可以是小s 也可以是“看”的宾语,其实语义基本不变。“从N看”很像个习惯表达法,可以等于 “从N看上去”(“以N而观之”)。

白:
“这个人从眼睛看瞳孔是蓝色的。”

董:
两位,“这家公司”、“这个人”,还是“状语”吗?怕不合适吧?

李:
主语。“从N看”可以做状语。还是大s小s那套,及其变式。逻辑上就是整体与部分的情形,谓语说部分自然也在说整体。感觉 大小S的问题 有很强的逻辑意味 是逻辑在语言中的表现形式。大S是整体 小s是部分 谓语直接说的是部分,自然也就间接说了整体,这是逻辑上的不完全归纳,与三段论的演绎正好相反。归纳不如演绎严谨,容易引发种种争议,但归纳是人类认识和表达世界广泛使用的手段,表现在语言形式上就很有说法了。

这个问题我们在做舆情分析中,无数次遭遇:说 “iPhone 屏幕很好”,直接说的是“屏幕”,间接说的是 “iPhone”,算不算是说 iPhone 的好话?当然算,至少是找到了 iPhone 的一个亮点。

A:iPhone屏幕好
B:iPhone 屏幕好,但别的都不行。
A:照你说,iPhone 只剩屏幕好了?
…………

A 是说 iPhone 的好话,用的逻辑是不完全归纳。B 是说 iPhone 的坏话,但也做到了与 A 并不矛盾,根据的是归纳的不完全原理。所以说 不完全归纳就是那半瓶水,乐观主义看见的是水,算是点赞;悲观主义看见的是空气,可以是吐槽。如果反过来用三段论演绎法,说的是整体而不是部分,譬如 “iPhone 就是好”,就没有这些弯弯绕了,不会留下模糊的空间。

大前提:iPhone 好
小前提:iPhone 屏幕也是 iPhone (有机部分)
结论:iPhone 屏幕好。

这跟 “文化大革命就是好” 一个道理,是点赞没商量。

回到原句:“这家公司从年报看业绩没什么起色。” 句法上的大S在逻辑语义层转为O,句法上的小s上升为S,这些都说得通,只欠O(整体)与S(部分)之间的关系了:

愿意做细活的话,这个有点特别的 “从N看”(习惯表达法)可以看成是状语或插入语,它不是语句的重心。不过,这种细活做多了,不仅费工,而且也难免弄巧成拙,譬如,万一前面出现了一个通常不出现的主语“我们”或“大家”,就找不到自己的谓语了。

“这个人从眼睛看瞳孔是蓝色的。”

“瞳孔是蓝色的。”
“这个人是蓝色的。”

这就是不完全归纳法推向极端的情形:上句因为是极限事例,听上去不 make sense,但却的的确确隐含归纳法从部分到整体的逻辑链条在内。如果改写成这样,就貌似有些道理了:

“就瞳孔而言,这个人是蓝色的。”

“瞳孔” 这个概念 在其常识性本体知识库里 在Color的字段下 其 appropriate 的属性值里面包括了“蓝色”。但是 “人” 这个概念里面 常识本体库里面的 Color 栏目 没有“蓝色”这个选项,只有“黑 白 黄 红”。说 这个人是蓝色的 违背了这个常识 所以觉得很怪:除了妖怪和童话,怎么会有蓝色的人呢?但人的某个部位的确可以是蓝色的。部分的属性推广到整体的时候 遇到了矛盾。

“希特勒特别善于演说”

是说 希特勒好 吗?还真地就是说他的好话。在舆情抽取的时候,我们记录每一个这种表述,部分好相当于给整体好投了一票,但抽取的碎片化情报只是零散的一票一票,到了对于整个数据源进行信息融合(fusion)的时候,这每一张投票就被统计出来,“舆情”就自然得出。

白:
这是诛心。说鸡蛋好是不是也给下蛋的母鸡投了一票?

李:
最后的结果非常 make sense。原来,在与希特勒相关的舆情数据里面,整体而言,点赞的不足 1% 吐槽的高达 99%,可见其不得民心。这是全貌。舆情的细线条分析 进一步揭示 即便点赞,赞他的方面(aspects)或依据(why)几乎总是其客观能力(演说才能)等,吐槽的却是他的实质:思想,行动,内心,等。

说鸡蛋好,的确是给那只老母鸡点了赞。虽然钱先生对喜欢他的《围城》的粉丝说,鸡蛋好吃,又何必认识老母鸡呢。其实钱先生不仅仅是谦虚或清高,其实就是懒。懒得搭理那些无穷无尽的崇拜者。他内心何尝不知道,鸡蛋吃得香的人,对于老母鸡是有赞的。至少,我去超市买鸡蛋,对于能下黄鸡蛋的母鸡,比只会下食之无味的白鸡蛋的母鸡,心里不是一视同仁的。anyway,我们做了多年舆情挖掘,就是这么个原理。利用的是不完全归纳,对于不完全归纳所带来的副作用和逻辑不严谨,弥补的手段就是大数据投票。并不离谱,有全貌,有细节。

在大数据下,好人不会被评坏了,坏人也不会被评好了。当然,国内水军据说可以左右大数据,另当别论:主要是数据还不够大,水军也太便宜。

白:
无罪推定的原则,逻辑上(典型的就是三段论)推不出来的,你不能安给我。统计算个数也就罢了,把标签落到人头上,贻害无穷。这与诛心何异。比如,我反对一个人的证据(比如钓鱼贴里面那种荒唐证据),对其结论并没表态(尽管结论可能很政治正确),这是一个正常的理性行为。如果因为这个给我打上政治不正确的标签,我很难接受。

李:
大数据下,任何标签都不是黑或白。

白:
可是这种粗暴做法,冠以“舆情分析”的高科技帽子,几乎每天都在发生着。

李:
说你 99% 的政治正确,1% 的政治不正确,你应该很高兴。我要是开个餐馆,或经营一家NLP咨询公司,只要有 80% 的赞誉度 就笑懵了。每次找餐馆,我从来不特别找全五星的,总是找4星以上的,一万个评论打了四星的,比一千个评论打了五星的,要好得多。

白:
评好人缺点的人、不赞成拍好人马屁的人、不赞成捧杀好人的人、不赞成用荒唐论据支持好人的人被当作跟好人不一伙的人,这样的技术是危险的。其实是在诛心,或者在实现一种诛心的逻辑。

李:
退回到人工问券调查民意的时代,手工民意测验其实更差 更不完备。因为大S作为调查对象虽然是确定的,这个 大S的方方面面 那些点赞他吐槽他的种种理由 却五花八门。这些五花八门 个体可能有诛心的风险 整体统计却化解了风险。到了民主政治 一人一票 根本就无心可诛。大数据下 只看票 不看理由。

白:
挺转和反转,就因为双方的旗手而呈现站队状态。反崔挺崔,反方挺方,本来与挺转和反转是互相独立的,在舆论场中愣是给弄成掰不开了。这个话题与政治关系不大。一个人只要不满崔,就会被当成挺转分子。

 

【相关】

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

《朝华午拾》总目录

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

李:
微信群转来的,想,配个图吧。

做自动解析(parsing)走火入魔,几乎成本能了。凡是人说难度极大,或者盛赞中文奇妙的语录,都忍不住想 parse parse 试试,到底看看离形式化自动化分析距离究竟有多远:稀奇古怪的句子其实不是自动系统的关注点,但它们往往像疲劳测试一样,可以把问题推向极端,考验自动解析的鲁棒度和机械系统应对灵活多变的能力,而且好玩,有fun。

某上海大学生为了显摆,在迎新会上出了一则上联:
上海自来水来自海上。

Note:
CL(clause)= 句;NP(Noun Phrase)= 名词短语;Pred(Predicate)= 谓语;N(Noun)= 名词;V(Verb)= 动词;H(Head)= 头词
S/s(Subject)= 主语;O/o(Object)= 宾语;M/m(Modifier)= 定语;R/r(Adverbial) = 状语

顺念倒念完全一样,难度极大!但其他省的学生也不是吃干饭的,
北京大学生对曰:
香山碧云寺云碧山香。

这个不好整,形容词活用古汉语常见,现代汉语罕见,算是 sublanguage 的问题,同一个系统难以兼顾两种可能冲突的子语言现象。先凑合吧。

山东大学生对曰:
山东落花生花落东山。

山西大学生对曰:
山西悬空寺空悬西山。

安徽大学生对曰:
黄山落叶松叶落山黄。

海南大学生也不示弱,对曰:
海南护卫舰卫护南海。

白:
这倒是像照妖镜一样把每个下联的工整程度晒出来了。

金:
NLP大学生对曰:
语言学老炮老学言语。

李:

“语言学老炮”是有来历的,指的就是白老师。见最近风行的新智元的专访报道:

【老炮儿白硕开讲】区块链可替AI对抗数据寡头

我在朋友圈推送了:看得懂还是不懂 还是雾里看花 似懂非懂 反正我是一字一字看完了。白老师的科普 无条件推送。懂行的看门道 不懂行的可以欣赏文字和说法。

微信还流传着这么一个帖子,一律有惊悚的标题:孔子临终遗言出土,惊动世界,反动之极:

《子寿终录》

子寿寝前弥留少时,唤诸弟子近叩于榻侧。子声微而缓,然神烁。嘱曰:吾穷数载说列侯,终未见礼归乐清。吾身食素也,衣麻也,车陋 也,至尽路洞悉天授之欲而徒弃乃大不智也。  汝之所学,乃固王位,束苍生,或为君王绣袍之言。无奈王者耳木,赏妙乐如闻杂雀鸣,掷司寇之衔于仲尼,窃以为大辱。其断不可长也。鸿鹄伟志实毁于为奴他人而未知自主。无位则无为,徒损智也,吾识之晚矣。呜呼,鲁国者,乃吾仕途之伤心地也。汝勿复师之辙,王不成,侯为次,再次商贾,授业觅食终温饱耳,不及大盗者爽。吾之所悟,授于尔等,切记:践行者盛,空叙者萎。施一法于国,胜百思于竹。吾料后若有成大器之人君,定遵吾之法以驭民,塑吾体于庙堂以为国之魂灵。然非尊吾身,吾言,乃假仲尼名实其位耳。  拥兵者人之主也,生灵万物足下蛆;献谋者君之奴也,锦食玉衣仰人息。锋舌焉与利剑比乎?愚哉!旷古鲜见书生为王者,皆因不识干戈,空耗于文章。寥寥行者,或栖武者帐下,或卧奸雄侧室。如此,焉令天下乎?王座立于枯骨,君觞溢流紫液,新朝旧君异乎?凡王者祈万代永续,枉然矣!物之可掠,强人必效之;位之可夺,豪杰必谋之。遂周而复始,得之,失之,复得之,复失之,如市井奇货易主耳。概言之,行而优则王,神也;学而优则仕,奴耳;算而优则商,豪也;痴书不疑者,愚夫也。智者起事皆言为民,故从者众。待业就,诺遁矣。易其巧舌令从者拥主,而民以为然。故定乾坤者必善借民势。民愚国则稳,民慧世则乱。  武王人皆誉之,纣王人皆谤之。实无异也!俱视土、众为私。私者唯惧失也。凡为君者多无度,随心所欲,迎其好者,侍君如待孺子。明此理,旋君王如于股掌,挟同僚若持羽毛,腾达不日。逆而行之,君,虎也,僚,虎之爪也,汝猝死而不知其由。遇昏聩者,则有隙,断可取而代之。  治天下者知百姓须瘦之。抑民之欲,民谢王。民欲旺,则王施恩不果也。投食饿夫得仁者誉,轻物媚予侯门其奴亦嗤之。仁非钓饵乎?塞民之利途而由王予之,民永颂君王仁。  御民者,缚其魂为上,囚其身为不得已,毁其体则下之。授男子以权羁女子,君劳半也。授父以权辖子,君劳半之半也。吾所言忠者,义者,孝者,实乃不违上者也。  礼者,钳民魂、体之枷也。锁之在君,启之亦在君。古来未闻君束于礼,却见制礼者多被枷之,况于布衣呼?礼虽无形,乃锐器也,胜骁勇万千。  乐者,君之颂章也。乐清则民思君如甘露,乐浊则渔于惑众者。隘民异音,犯上者则无为。不智君王,只知戟可屠众,未识言能溃堤,其国皆亡之。故鼓舌者,必戳之。  吾即赴冥府,言无诳,汝循此诫,然坦途矣!切切。
  言毕,子逝

白:
个人认为,不加连词的复杂谓语结构,在先秦时期似乎是没有的。

李:
这个遗言太现代人了 哈。

白:
“鸿鹄伟志实毁于为奴他人而未知自主。”这哪是先秦的话。

李:
这叫挟圣人以讽世。那行文不是先秦,是我祖父那一辈人常用的文白夹杂的“时文”(见《李老夫子遗墨》)。胡佛塔馆藏的蒋中正日记里也常见。

只好也凑合了。半文半白,难得兼顾,子语言中各别的部分,需要针对性对付。这跟领域化(domain porting)道理同。

王:
临别时,与弟子说一些“吾十有五而志于学…”之类的话似乎更靠谱。人家正在延揽学究攻此项目,大家静下心来,观棋不语真君子!

李:
孔老夫子长寿的秘诀是什么?他那个年代 73岁是寿星了,才能从“耳顺”,到“从心所欲”。那个年代,夭折不计的话,平均寿命也不足40吧。最近一个世纪,人的寿命才显著增长,而且貌似没有停下来的意思。所以才有谷歌忽悠跳大神的勾当,一本正经研究长生不老。所以才有脸书的娃娃扎哥放豪言,要以他的财力资助现代医学,“根治”一切不治之症。特斯拉钢铁侠于是正式立项,推进移民火星计划。地球装不下啊。

有时候想,当年大跃进,毛主席放豪言要20年赶英30年超美,亩产万斤,这种热昏的胡话也有人信,终于三年饥荒,饿死几千万收场。但如果比起谷歌脸书特斯拉大佬们的豪言,热昏度上看,那是小巫见大巫啊。

Lin:
你说的是“说话者的热昏度”,还是“狂热群众听者的热昏度”?

李:
good point,好在西方大佬们把牛吹上天,没有太多恶性后果,反正花的是投资人和股民的银子,愿者上钩:人有多大胆,股有多大产。股民喜欢这些。假作真时真亦假,先帝再世也只能自叹弗如了。

扯远了,回到语言学 parsing 来。那句仿古文句的白话文译文是:

我的伟大理想没有实现是因为我只知道给他人做奴才

姜:
@wei 用您的这套“照妖镜”工具体系能分析出此文是否是孔子的遗言么?

李:
这事儿估计不如机器学习的分类系统。真伪问题更多是用词而不是结构。统计性 ngram 蛛丝马迹,比宏观结构的异同更重要。文本分类是 parsing 的短项,关键词学习系统的长项,不是合适的场地(见《规则系统的软肋在文章分类》)。看一个林子的颜色,不需要对每棵树每片叶子做精细的分析。

 

【相关】

《李老夫子遗墨》

孔子临终遗言出土,惊动世界,反动之极

【老炮儿白硕开讲】区块链可替AI对抗数据寡头

规则系统的软肋在文章分类

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

《朝华午拾》总目录

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

李:
大S小s 即所谓双主语句,又叫话题句、主谓谓语句,是中文文法非常著名的现象,与西方语言很不同的一种句式。例如:

她个儿高 盘儿靓 心眼儿还特好

“她”是主语 是话语研究(discourse study)中的话题(topic),谓语的内部结构里面还有个小主语,所以叫主谓谓语(主谓结构整体做谓语)。中文里面特常见,翻译成英文试试?没有对应的句型 只好转弯抹角换个说法 不是换词汇 就是换结构。

She is tall, pretty and kind.
She is tall, with a pretty face and kind heart.

硬译过去 就惨不忍睹:

* She body tall face pretty and still heart kind.

老外不是看不懂这种洋泾浜,但文法错乱难以忍受。好回到今天正题,再看一个实际例子:

“和我在超市买的速溶咖啡口味不同”

买的是咖啡,不是口味,可真要辨别清楚,不容易,或不值得。“口味不同” 貌似可以成为一个复合谓语,但这样处理,需要协调前面的 possessive NP 的情形,比较:

1. 速溶咖啡【口味不同】
2. 速溶咖啡的【口味不同】

【口味不同‘】做了谓语,例2中那个“的”字就悬在那里了。如果硬要建立 possisive 的关系,从 PSG (短语结构文法)来看,就违反了关系不得交叉的原则:

  • <(速溶咖啡)的 [ 口味 > 不同 ]

有意思的是,这类交叉关系的逻辑困境,换了 DG(依存关系文法) 表达法,就烟消云散了:

只要允许同一个儿子(“咖啡”)可以有两个老子:做“不同”的主语“大S”,做“口味”的定语 Mod,依存关系里面逻辑纠缠的问题就迎刃而解。道理就是,PSG 是在线性流上面标记,很容易陷入边界陷阱。而更加逻辑化表达的DG则是增加一个维度,head (头词)可以上升为老子(父节点),空间的伸展化解了逻辑形式的矛盾。

白:
交叉要有前提条件,就是过继。“口味”也是有价名词。同理。“王冕死了父亲”,“父亲”的坑过继给“死”,吃一吐一,还留着一个坑给王冕。操作层面算在动词账上,实质层面算在有价名词账上。

李:
以前遇到的左右两个修饰语争抢中间的 head 的伪歧义也是同理,在 PSG 里面不可化解,于是成为歧义(其实是没有意义的“伪歧义”),但到了 DG,head 沿着 Y 轴上升为老子,歧义就自然消失:mod1 H mod2

(1)  ((mod1 H) mod2)
(2)  (mod1 (H mod2))

到了 DG,就是:

(mod1 (H) mod2)

这个 (H) 实际上是升上天了,mod1 mod2 也就没得抢了。

其实 SVO 也是如此,文法书一贯的教导都是: VO 先形成 VP 做谓语,才有资格与主语 S 对谈。但 DG 其实不管,动词中心论说的就是把 V 推到皇帝的宝座,S 和 O 不过左右丞相的区分而已。

所以:((S V) O) 其实不比 (S (V O)) 逊色,反正是两个坑,谁先跳进去,其实对于逻辑和理解是无所谓的。只是到了具体语言,这个次序在句法上可能有个方便和不方便的区别。强调句法的人,可能觉得 VP 先成立 对于语言现象的概括和捕捉更加方便和精炼,但实际上这树怎么画没有想象中的那样绝对。

“和我在超市买的速溶咖啡口味不同”

“和咖啡不同” 还是 “和口味不同”?显然是口味。但是如果短语结构是那样的话,“买”的就是“口味”而不是“咖啡”了(见上图)。PSG parsing 常常遇到这种忠孝不能两全的困境。如果硬要 “买咖啡”的 VO 和谐,把“口味”从VP中踢出去,前面加的那个”和“字,就找不到北了,因为“和”所引导的比较对象是“口味”而不是“咖啡”。矛盾不矛盾?

白:
张三和李四不是同一个老师。
张三和李四不是情敌。

买的口味,肯定错了。买的咖啡、口味,传统说法是大小主语的关系。咖啡-口味能作为大小主语,就不作为定中关系。即使作为定中关系,反填也优先于定中。

李:
说的就是难以两全:

1. 和我在超市买的速溶咖啡口味不同
2. 和我在超市买的速溶咖啡的口味不同”

照顾了1 就照顾不了 2.

(我(身体好) 和 ((我的身体)好) 也是如此。身体好先行成为谓语,就把 “的” 字悬在空中了,当然我们也可以强行,把小词用 X 抹去,过河拆桥:

(我S 的X (身体好)Pred)。

白:
“孤苦伶仃的王冕父亲死了。”

谁孤苦伶仃?

“不符合规定的流程取消了。”

不符合规定,还是不符合流程?

李:
不符合规定的流程, 取消了。
不符合所规定的流程, 取消了。

白:
“的”的辖域本来就有歧义。

李:
或者就霸王硬上弓,出现“的”就X抹去,等到将来建立“所有”关系(反填逻辑语义)需要借助“的”的时候,再复活它。

白:
大小主语关系和定中关系,落到有价名词身上,填坑效果是一样的。区别只是名份的区别,没有实质意义。“的”字的介入,只是在没有实质意义的区别天平的一端加重了砝码而已,结果做出的区别仍然是没有实质意义的。

李:
“的”的句法默认就是 possessive,突然悬空了,句法上的确不好看。两害取其轻,管他“的”不“的”,见贼杀贼,抹去就抹去罢。

白:
所以伟哥建议去掉“的”在这个具体场合有他的道理。问题是,如果能判断出属于这个具体场合,也就等于解开这道题最难的部分了。感觉画树纯粹是面子工程,就该直接画图,管他交叉不交叉。

李:
实际上是把显性句法形式的定语关系,与隐性的逻辑语义所属关系,都化作隐性对待了。使定中有形式,但无PSG表达。属于不得已为之的。最终还都是图,而不是树。图比树多了个维度,摆脱了语言线性次序的束缚。

白:
画树只是为了对应栈操作。实际上栈操作可以通过“过继”机制实现有控制的交叉。也就是以树为“拐棍儿”,达成图的目标。把树神圣化、教条化,就走向反面了。

李:
PS树从来就是拐棍。用的时候,还要再转一次。

白:
所以,有没有桥,和有没有路,是两回事。没有直通的桥,还可以有借路的桥。过河拆桥,是拆的借路的桥。最终看到的和最终关心的其实是路。

李:
PSG 的交叉把边界节点算进去了,到了 DG 边界节点不算 两头相安无事。真正交叉的逻辑陷阱 不应该包括边界点 因为逻辑层是脱离了线性次序的,思维的本性就是天马行空,无拘无束。

白:
“王冕父亲死了”无论把“王冕”和“父亲”的句法标签确定为“定中”还是“大小主语”,都显得多余。它们之间逻辑上只有领属关系。

李:
当然 的确也有合理的交叉 可以跳进其他结构的内部去这种。但毕竟统计上罕见多了 而且凡是出现那种情形 人的理智和情感就多少感觉拧巴。换句话说 跳进内部 里通外国 干涉别国内政 必须要有非常强大的理由 不是儿戏。

在长期批评中文的种种文法不严谨的缺点以后,可以为中文句法表达的丰富性点个赞了。寸有所长 有些优点是缺陷的孪生子。说的是谓语的丰富性。与欧洲语言谓语必须由动词当纲不同 汉语谓语丰富多彩多了。名形动三大类 NP、AP、VP 都可以上台主演谓语的戏,PP 更不要说,介词跟情态词类似,是副动词,做谓语都天然合理。更绝的还有这“主谓谓语”。

这小护士大眼睛 盘儿靓 爱读书 一心为病人 非常漂亮暖心。

S【这小护士】Pred【NP(大眼睛) sV(盘儿靓) VP(爱读书)PP(一心为病人) AP(非常漂亮得暖心】

NP sV VP PP AP 连在一起 做并列谓语 毫无违和感。厉害了,汉语。搁在英语 就要叠床架屋了。

那个味道好
(i) That taste is good
(ii) The taste of that thing is good.

这么简单的句子也有歧义了。虽然一般人不问这里面的区别,对歧义无感,但汉语的主谓谓语句式的确提供了另一种解读的可能性。第二种解读在口语里面,“那个”后略有停顿(应该加逗号或留个空格):“那个 味道好”。

汉语中,主谓谓语居然可以嵌套,一个大S,一个中s,和一个小s:

(i)   小 s:味道好
(ii)  中 s:菜味道好
(iii) 大 S:这场宴会菜味道好,饭不怎么样。

【这场宴会S【菜s【味道s 好】】】

这个现象真地有些奇特,头小身子大,是集体领导的奇葩。凡遇到中文特别的句法,神经翻译就真地神经了:

 

【相关】

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

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

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

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

《语义三巨人》

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

《朝华午拾》总目录

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

白:
“《舌尖3》被骂看了吃不下饭,不如来吃炭烧牛蛙吧”
看见了“如来”。

李:
不是问题 trigram 搞定的事儿 : 不如/来。

难的是,

如来请打的 不来也没问题。
要不如来 要不活佛 总之是神就行。

其实,“如来请打的”(if coming please call a taxi)并不能完全排除“如来(佛)”义,虽然语用层面可能性几为0:菩萨请打的 不来也没问题。

白:
“墙内开花墙外香,我转基因抗虫水稻获得美食用许可”

李:

此处不破别处破,唉。“食用”的是“许可” 哈。“许可”、“计划” 等以前论过,是另类,修正一下。

白:
“李书福买奔驰了”

李:

李:

这个 VG 与 这个谓语算是啥关系?形式上似乎是主谓,又好像是说因果关系:

if 看了then 吃不下饭

这类东西中文巨多,算是中文区别于欧洲语言的一个特点。突然想到试试有道翻译,结果:

哈 它不跳坑,搞不清就无视,反正给你一个顺溜的句子出来。这就是神经MT:(1)化有为无:“看了”;(2)无中生有:“我”(此处的无中生有倒是赶巧对路了)。这还不算神经最大胆的地方。更糟糕的是指鹿为马,也见过不少,以前举过一些例子。

白:
“哈佛机器人研究全景图:超越想象,完爆科幻”
机器人-研究-全景图,完美SVO
A panoramic view of harvard robotics
翻得很不错

他为什么可以不管SVO的顺序,直奔主题呢?因为离他最近的那些样本就是这么做的,没有给通用规则的坑留下施展干扰的半点机会。反过来说,基于规则/符号的方法,理应给出例句距离测度的更好估值才对。做不到是不尽职。

所有例句均取自机器人处于研究阶段且机器人尚不具备独立研究能力时期的信息来源,所以科幻场面基本不在考虑之列。包括“机器人专家”究竟是机器人领域的人类专家还是机器人本身就是专家,也是同样问题。

李:
“全景图” 也是那个“另类” 与 “计划” 一样:

机器人-研究-计划

当然,假以场景,任何例外都可以存在:

机器人研究计划后决定马上改变原计划,立刻向人类发起攻击。

白:
After the robot research project decided to change the original plan immediately, immediately launched an attack on the human.
这里果然中招

李:
可以预示的,如果不这样才奇怪了。与“研究计划”类似的,是食品和菜名:“烤土豆”。后者更有意思,VO 关系不变,但一个是【 VO】,一个是 【(被)V 的 O】。

关于符号系统和符号推理,貌似亦步亦趋直接模拟人的思维过程。感觉不仅缺乏弹性,常常也很拙。以前说过,“符号主义基本是人类自己跟自己玩。符号系统很多时候就是个自娱自乐的游戏”。不止一次遇到过这样的情形:符号命名不好,系统受到批评或遇到疑虑,后来把符号重新命名了,原来的批评者就接受了。所以说,很多时候就是一个助忆符的选择问题。复杂的符号系统特别讲究命名,虽然命名没有任何理论价值。有一个符合人类思维习惯的命名方法,复杂的符号系统才可能建成,并持续被维护。这跟复杂的程序必须用高级语言去写,没人可以维护一个复杂的汇编语言程序的道理相同,虽然理论上高级语言并没有汇编语言不能实现的能力。

关于“休眠唤醒”(【立委科普:结构歧义的休眠唤醒演义】),想到几点:

1. 唤醒就是 patching,补漏,机制上就是对结构就如nodes一样,可以局部重新来过,更新:老的关系可以切断,新的关系可以建立,因为条件不同了。

2 需要建立两套feature系统,一套明,一套暗:明的系统按部就班,可以是 deterministic,但可以随时更新;暗的那套深藏不露,平时就当没有。唤醒的时刻 就是变暗为明的时机。

 

 

【相关】

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

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

《朝华午拾》总目录

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

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

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

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

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

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

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

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

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

S –》 NP VP
NP –》 Det N

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

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

你走好
你走就好。

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

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

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

你走就好运作了。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 

【相关】

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

《朝华午拾》总目录

【尼沙龙笔记:图灵测试是语言理解的合理表示吗?】

毛:
伟哥对 理解 的理解似乎与二师兄不同?@wei

李:
董老师是我的启蒙老师 他当年的逻辑语义学说 回答了一个语句理解的问题 觉得豁然开朗 迄今也没别的学说这样让我信服过。@董振东

毛:
愿闻其详 ?

李:
说理解了一句话 就是解构出里面的逻辑语义:谁是逻辑主语 逻辑宾语 等。董老师定义了将近 100 种逻辑语义角色,形成一个 hierarchy,最上层的逻辑语义角色不过10种。简单说 就是搞明白 谁 对谁 做了 什么  何时 何地  何原因 如何做的 等等。

毛:
那就必定是符号派了?
乡下的老太太,根本不知道主语谓语,她们不是也能理解吗?

Nick:
@毛德操 老太太不知道,但老太太的大脑知道。老太太不知道自己的大脑知道

李:
是啊 老太太知道 “她喜欢红烧肉” 与  “红烧肉她喜欢” 是一个意思,也知道与 “红烧肉喜欢她” 意思正好相反,后者是胡说。所以老太太的逻辑语义是明白的 虽然她不懂得这就叫 parsing 或逻辑语义解析。

毛:
那怎么知道老太太的大脑知道?她可能并未转化成符号并加以解析。
@wei 你讲的 理解 是否包含对于因果的认知?

李:
语句理解包含部分的因果。

毛:
“部分”,多大的部分?有多大的部分,才算是 理解 了?老太太的大脑知道,其外部表现是什么?如何判定?

郭:
“理解”,我的理解如下:我脑子里有一个我自己的“大前提”,或者叫“common sense”,就是我的“认知”。你说一句话,如果我“理解”了,我就可以把你的话作为“小前提”。然后,我可以用“我自己的逻辑”,“推导”出“我的结论”来。这里,是否“符号”并不必然。这“逻辑”,也完全可以“非 亚里士多德”,更不必“因果”。但无论如何,要能再走一步。

毛:
这其实就是图灵测试的变形,只是把它用在人与人之间(而不是机器与人之间)。你是以你自己的认知作为对照,看老太太的反应是否与这个对照者等同。所以,我认为唯一的办法就是图灵测试。

郭:
“老太太的大脑”的判定,其实无异于图灵测试。你说“我喜欢红烧肉”,她如果回答“我小时候吃不起啊”,我就认为她“理解”了。

毛:
对。你还可以问:“为什么吃不起”,如果回答“没钱”,就更说明她理解了。通过了图灵测试,就可以认为测试目标真的理解了,或者说具有了(正常)人的智能。图灵在五几年就想透了这一层。问题其实在庄子那个时候就提出来了(子非鱼),但是他没有答案,没有提出方法。

郭:
不过,图灵测试,可是批评者众啊!也是问题一大堆。

白:
图灵测试这思路不对。

毛:
愿闻其详 ?批评者众可以,但是得要提出替代方案。

白:
我喜欢Winograd Scheme的路子。用代词指代考系统。

毛:
那都涉及语法,可是许多人根本不知语法为何物。比方说我五岁的外孙女,她已经能理解不少事情了,但是她根本不知道语法。

白:
没有显性语法,普通人做得出来的。比如“张三告诉李四他很伤心,他安慰了他。” 然后问:谁很伤心?谁安慰了谁?这完全不涉及显性的语法。

毛:
问题是,你怎么知道她会运用隐性的语法?你钻不到她脑子里,只能从外部观察。

白:
都是这套路。不管有没有隐性语法,做出来算。

毛:
对,做出来算,这实质上就已经是图灵测试了。

白:
不是自然对话,是语言学家和NLP专家设计出来的考题。比较人和机器的考分。

毛:
这实质上仍是图灵测试,形式上有所不同。当然,现在机器一般而言还没有能通过图灵测试。但是观察目标物对于外部刺激所作的反应,并与对照物相比,这个原理是一样的。我们在考察一个软件模块时只看其外部表现,即API, 而不追究其内部实现,也是同样的思路。

白:
其实音乐和语法问题很类似。会唱的听众可以不识谱,但是哪里跟原曲不一致是可以听出来的。

毛:
对的。其实这就对应着符号和神经两条路线的差异。

白:
但是用什么记谱更精确,这个问题是有答案的。

李:
说一千道一万,我还是迷信SVO,即逻辑语义。

毛:
你自己已经说了,迷信。

白:
手握精确武器的人对手握原始武器的人,的确有傲视的资本。

毛:
SVO是高级的思维活动,而神经元是低级的,接近于本能的反应(所谓 下意识 的反应)。下意识的反应猫狗都有,而 SVO 只有人能做。所以脱离 SVO 谈人工智能是不现实的,只是目前的热点是在解决 下意识 活动而已。

白:
记谱法的好坏不需要迷信。

毛:
记谱方法的好坏,是符号派内部的冲突。简谱与五线谱,基本上就是首调唱名与固调唱名的分岐,我觉得都有道理。一些年轻人把人脸识别说得神乎其神,我说: 别以为你这就有多牛,你去牵条狗来,它照样也能人脸识别。

白:
比如说切分音,这个概念在不同记谱法里面可能表现形式不同,这无关大局。但假设一个记谱法里居然没办法表示切分音,这就是落后的记谱法了。

毛:
是的。这就是所谓“不完备”。这里又可看出深度学习与符号推理之间的差异。前者相当于能跟着唱,或记住了几支小调,但绝对成不了音乐家。所以,连接主义所能达到的水平,只能相当于人类中的文盲。而若想要知书达理,就得上学校去读书,学习符号与推理。

白:
当年表示不了“异或”的情况,就很像表示不了切分音的记谱法。

毛:
对对对

白:
如今表达不了robustness的符号逻辑,则是另一种尴尬。都构成被鄙视的理由。

毛:
反正戈德尔已经说了,逻辑本身就是不完备的。但是这并不意味着可以不要逻辑。

白:
表达不了灵活语序的形式语言,也是另一种尴尬。也不意味着逻辑不要创新。

毛:
那是因为有得必有失。你把语言简化了,当然就得付出代价。

白:
还原复杂的路径不止一条,也不为某种技术路线所专属。

毛:
对,应该互补。所以符号推理与深度学习都需要,而且得要能打通才好。

白:
也许真相离大家都有点远,谁不创新都是危险的。

毛:
是啊。但是创新难呐。

 

【相关】

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

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

《朝华午拾》总目录

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

梁:
“爱因斯坦是卓别林的崇拜者。” 谁崇拜谁?

李:
好句。歧义句。

爱因斯坦的崇拜者是卓别林
卓别林的崇拜者是爱因斯坦

也都歧义。

以前提过,“者” 是一个看上去像词法后缀(-er),但其实常常跳到句法层面的词素,V-者;VP-者:

违者; 违规者;违反规定者;违反中央三令五申的七项规定者

某人的崇拜者:(1)【(对)某人的崇拜】-者 == 【崇拜某人】-者;(2) 某人【(对别人)的崇拜】-者。

中文好鬼。

如果改成“对象”,就避免的这个讨厌的“者“带来的歧义:“某人的崇拜对象”。崇拜的宾语(即“对象”)必须他指,而修饰语只能是施事。

我是鲁迅的崇拜者;鲁迅的崇拜者是我。

这个没有歧义。是语言外的知识补脑进来消灭了歧义:我是小人物,鲁迅是大人物;我是当今人,鲁迅是历史人物。常识告诉我们:小人物崇拜大人物,而不是相反。时间铁律告诉我们,活人可以崇拜过世的人物,但历史人物绝不可能了解,更不可能崇拜今人。

爱因斯坦卓别林是同时代人,印象两人见过面的。好像见过两人的合影照片。相互崇拜都是可能的。外部知识不能提供区别性消歧支持。

梁:
印象很深,小时候听过“Einstein was a great admirer of Charlie Chaplin’s films.“

李:
“邓公是毛公的批评者“,也同样歧义。在毛时代,邓是属下,根本不敢批评毛,只有被批的份儿(三上三下)。在邓时代,邓继大位,毛已作古不能批,只能被批。

于:
@梁焰 @wei 语句的意义由语法不一定能确定,而是语用确定,现在不已经是常识了吗?

白:
现在讨论的是语用确定落实到什么地方

于:
@白硕 语用似是考虑语境吧?语境似包含:说者、听者、时间、地点、事件、意图等等。同一语句的不同语义,依赖于语境的变化。目前语境的研究也有一些进展
语境的可计算性方面取得了一些进展

白:
希望有轻武器对接parser,不要一上来就是重武器,30年搞不完那种。

于:
@白硕 轻武器很难。据我所知,语境计算似刚刚起步,跟parser对接还得等等。不过,可以写文章了

阮:
很多领域应用中,语境相对明确,感觉可以有轻武器。

于:
@阮彤 那就得领域限定,情境也也就相应限定了。限定一定程度,理论上会有轻武器。

白:
批评者作批评对象理解,太少见了。可以做例外处理。至少要一个什么局部占优势的语境才能激活这个例外才可以。标配还是施事。有崇拜者,没有崇拜,更没有崇拜的内部(填坑)结构,自然就打住了。

李:
句法可以高高在上,暂时不烦心深层的逻辑语义。等到落地的时候再看要不要烦,到那时候,绝大多数的问题已经烟消云散。能够留在雷达上的,就是那个落地所指向的实际应用领域场景。进入场景,就是另外一个世界了,领域知识(包括领域本体图谱和领域实体图谱),业务逻辑等开始发力。

白:
现在已经有了“xx对象”这种清晰的表述,再用“xx者”这么暧昧的表述,纯属段子手了。所以“xx者”已经是标配的施事专业户了。

从轻发落的一个办法是,对一个有n个坑的动词V,“V者”只负责填一个坑而不锁定哪个坑。V的pos标记是S/nN,“者”的pos标记是N/S,二者结合并考虑反填的结果就是N/(n-1)N。在这样的句法体系里不必确定逻辑主宾语,也不必确定施受事,只对未饱和坑做加减法。等到说“谁的什么者”的时候,又可以少一个坑。所以,我们不在乎引入“者”的内部结构。这样处理,只不过为了在句法层面找一个能说明“谁和谁有关系”但不必深究“是什么关系”的合适边界。“是什么关系”语义层面自会给出“标配解”,如果必要,语用层面再给出“精确解”。虽然也是高高在上,但是句法本身就能确定的句法结构绝不留给语义。如果V是不及物动词或形容词(S/N),则一切不确定性消失,与“者”结合后形成的就是N。

有意思的是,英语有词法主动被动两个后缀,对歧义完全免疫,比中文的类后缀“者”与“对象”的对比彻底:

A is B’s admirer : A admires B
A is B’s admiree: B admires A

哈 网上有争论说 admiree 不如 admired:-ee 是一个接受度不够广泛的后缀,见:https://www.quora.com/Does-the-word-admiree-exist-as-opposed-to-admirer

高:
killee
lovee

李:
lovee exists in theory; loved (one), beloved are used orally.  We never know, as language is evolving, someday this suffix might be more widely adopted or might fade away……

 

 

 

【相关】

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

《朝华午拾》总目录