《镜子大全》《朝华午拾》分享 http://blog.sciencenet.cn/u/liwei999 曾任红小兵,插队修地球,1991年去国离乡,不知行止。

博文

【新智元笔记:机器的馅饼(续篇)】

已有 3328 次阅读 2016-4-19 09:55 |个人分类:立委科普|系统分类:教学心得| 平衡, 歧义, 语义, precision, recall

《新智元笔记:机器的馅饼专砸用心者的头》【续篇】


我:不过,一般人不这样说话的,更常见的说话应该是: “他们把杀害孩子父亲的同伙抓到了”

白:这个简化有问题:“他们把杀害孩子父亲的同伙抓到了”。我说的意思是“父亲的同伙”。

要说什么知识能在“孩子的父亲”和“父亲的凶手”争抢“父亲”时选择“孩子的父亲”,我觉得统计就可以。再多就重了。同理,在“孩子的凶手”和“凶手的同伙”之间,选择后者的原因也可以仅仅是统计。当然,我们可以写一条词例化规则,名词“凶手”优先接受“含坑谓词+的”类型定语的修饰。

“N1的N2”做个双向的协同推荐,多大个事儿。

但“同伙”处理起来比“凶手”头疼。“凶手”和谓词有更紧密关联,但毕竟是可以独当一面的。但“同伙”却要求一个名词(或名词短语)作为先行词,也就是说“同伙”隐含了一个坑,让一个名词往里跳。(参考:“同伙都招了,你还在这死扛,有意思吗?”)

我: 怎么讲? “N1的N2”做个双向的协同推荐,多大个事儿。”

所谓统计可以定谁的力量大,道理上没问题,实现起来并不是那么容易。先放着。

协同推荐是什么?

孩子的父亲的同伙,pattern 是: human de human de human,结构呢?

       [[孩子的父亲] 的同伙] or [孩子[父亲的同伙]] ?  

Based on ontology, the link between 孩子 and 父亲 seems to be stronger than 父亲 and 同伙(although it is not as strong as 凶手 and 同伙)。这是其一。只从本体的角度看,只看这个言语片段,不看更大的上下文。

其二,正因为普世本体(universal ontology)把孩子与父母之间紧密相连,到了汉语,实际语言中在提到二者的“定中”关系的时候,syntax 上就趋向于省去 “的” 来表达这种紧密度:我们更多地说 “孩子父亲“, 而不是  ”孩子的父亲“,尤其是在一个有很多 “的” 字连续使用的场景。

根据汉语的这个特点,我们在结构歧义中正好得出了与本体相反的 association: 优选 [孩子的[父亲 的同伙]],而不该是 [[孩子的父亲] 的同伙], 理由就是如果是后一种意思,通常的说法应该省去第一个“的”。

这样一来就有两个角度,两股力量,来对这个歧义结构发生影响,而这两个影响正好是相对抗的。

一个系统要是能做到这一步,细化到可以协调普世本体和句法趋向的矛盾,虽然可以想象,但是很可能捉襟见肘。还不如拉倒,就把两种可能路径都 decode 出来,给语用阶段的语义落地一个 recall 更好的支持。这才是更现实的路线。都是 human,再往更细处找 heuristics 是吃力不讨好,容易捡了芝麻,丢了西瓜。而 decode 出更多的可能路径,在语义中间件去做,现在已经发现是完全 tractable 的任务。

前两天给的 case 就是这样一个 例证,各种可能的依存关系都双双成对(bianry linking)了,也许是迄今最酷的图之一吧(反正我看了图就乐,这个 non-deterministic dependency graph 看上去不是很酷吗?):



而在语义中间件实现它,一点没费我多大事儿。一两条简单的规则就搞定。

一般而言,普世本体因为是标配(default semantics),总是让位于句法的。今天谈的case(“孩子的父亲的同伙”)很不巧,并不是 hard 句法,而是 soft 句法、一种句法趋向,基本属于统计的 heuristic,在这种情况下,就不敢说,本体要让位于句法了。

本体让位于句法存在于 hard syntax 中,譬如乔老爷的 green ideas 里面的种种关系,一律是句法赢了本体。

或者是下面这样的 hard syntax cases:

       鸡吃了我。

       鸡把我吃了。

既然各路力量角逐不清,明智的路线是尽可能不 jump to conclusions,不惹它 (keep ambiguity untouched,keep options open)。

白:

蒙牛那个图,光看箭头不作数的。同样的入边,有的是并存关系,有的是互斥关系。只有标了互斥关系,才能在一念之间倒向一种语义解释,同时抹掉互斥的歧义解释。所以不是个一般的图,而是个与或图。

我: 其实没那么复杂。多一些 binary links,不过是增加了 recall 的可能。在一个实用的鲁棒的系统中,即便是一个包含了很多 binary links 的完整的 sentential parse,在运用(譬如索引和检索)的时候,为了 robustness和 recall 的需要,往往还要人为打破全 parse,更不用说这种 additional 对这些links 之间的制约了。

该有的制约除去以后,会不会损失应用和语义落地的精准?当然会。不过,多年的经验表明,这个损失比起所收获的好处,是不值一提的。

再举一例,一个 phrase 或 chunk,存到了 index 里面,当 query 来搜索匹配的时候,是坚持全匹配好呢,还是部分匹配好呢?显然,full string matching 最精准,partial matching 有漏洞,照顾了 recall 牺牲的是 precision。我们做研发的还在那里争论啊、琢磨啊怎么去平衡,或者试图想出什么更精妙、精巧的办法来。结果,做应用的工程师根本就不管,三下五除二就决定实施了 partial 的策略。最后不得不服,这是最合理的一个 heuristic,至少在我们的应用场景,query 大多是品牌和产品名的情形下,partial matching 是最有效的一个 heuristic。

白: 不能并存的放在一起,碍眼。

这个蒙牛图有点像歧义图形,说像鸭子就越看越像鸭子,说像兔子就越看越像兔子。

我:哈,要的就是这个效果。语用就好这一口。因为到了语用,发愁的是该有的不在雷达上(recall support 不足),而不用担心损失精准度(precision),因为语用聚焦的结果就是词驱动(word-driven)的语义抽取,本性就是偏向精准(precision-oriented)的。因此如果语用对鸭子感兴趣,就不愁抽不出鸭子来。反之亦然。




【相关】


《新智元笔记:机器的馅饼专砸用心者的头》


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


【deep parsing:植树为林自成景(30/n)】 


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




【置顶:立委科学网博客NLP博文一览(定期更新版)】 


 《朝华午拾》总目录





https://blog.sciencenet.cn/blog-362400-971112.html

上一篇:双赢的shopping
下一篇:【新智元笔记:词的幽灵在NLP徘徊】
收藏 IP: 192.168.0.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-9 14:26

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部