《parsing 可以颠覆关键词吗?》

我: 汉语的裸体准成语:你不理财,财不理你。穿上小词的衣服就是:你(如果)不理财,财(就)不理你:如果 ... 就...。也可以穿戴更多一点:(如果)你不理财(的话),(那么)财(就)不(会)理你:如果 ... 的话 / 如果 ... 那么 ... 等。)穿得越多,越没有歧义,越容易理解,当然也越容易电脑处理。可是国人觉得那样不简约,不能显示我语之性感。

现代汉语的框式结构是非常漂亮的小词结构,漂亮在它不仅给了左括号,也没忘记右括号,这样一来,边界歧义的问题就消弭了。这个框式手段,是比西方语言更高明的显性形式,应予大力推广,以彰显我语严谨的一面。框式结构更多的例子有:因为 ... 所以;虽然 ... 但是;在 ... 中/上/下/间。

顾: 英语也有省略小词: no pain, no gain.

我: 语言是线性表达,因此常常有边界不清晰的问题存在。数学语言(譬如公式)也是线性的,想到的办法就是括号。汉语不知道哪个年代发明的这个框式手段,基本就是括号的意思。这个很高明。

顾: 而且似乎某些高能人群倾向于省略小词。例如华尔街投行和硅谷人士的某些交流中,如果小词太多反而被鄙视,被认为不简洁不性感,这大概是人性,不是中国独有。举一例,出自Liar's Poker, 某trader跳槽,老板以忠诚挽留,他回答,
“You want loyalty, hire a cocker spaniel”

我: 有了框式结构,语言不仅清晰了,而且灵活了。灵活是因为左右括号如此明晰,以致于可以放宽括号内成分的句法条件。

Nick: 可以处理括号的都是什么自动机?我理论忘光了。

我:多层括号需要的是中心递归,就是乔姆斯基的 CFG,有限状态不能对付n层括号。上面的汉语案例大多只使用单层括号,没有用到括号的嵌套("如果...的话" 与 “如果......那么”可以算有了一层嵌套,左括号共用一个小词“如果”,右括号不同,可以放在两个模块层去做),不需要栈结构,不需要递归和回溯。

白: 有限状态加计数器,是毛毛虫,可以对付括号,保证线速。

顾: 注意这里主从句之间是逗号,不是问号。我刚才特定去书里查对了没错。

RW: long time no see 是华尔街英语的典范!

我: 成语不怕,成语都是可枚举的、有限的,就是个存贮记忆问题。成语的极致就是编码,包括密电码,acronyms 如 IBM,ABC 就是密码式成语。成语是NLP中不用讨论的话题。可以讨论的是,产生式“类成语”,譬如“一X就Y”(如 一抓就灵,一放就乱), "不X不Y"(如,不见不散,不服不行)。这个有点讨厌,因为词典对付不了,可是又不符合一般的句法,通常用词驱动小的规则来对付。(小规则是大规则的例外。)

顾: 但某些高能人群,尤其是科学家和教授,尤其是在思辨场合下,小词就少有省略。而汉语在写数学教材时,也多用小词。因此是否用小词跟语言用途也有关,愚以为不能否认汉语追求简洁优美是弱点,也不能认为汉语不善加小词或准确表达概念和逻辑。

我: 还是有个程度吧,汉语小词常可省略,总体上就是一个爱裸奔的东方美女。

顾: 偶爱裸体美女。

我: 偶也爱裸女,东方的尤甚,因为亲切,可是 ...... 欧化句式侵入后,白话文运动以来,可以看到一种加小词的趋向,小词在汉语发展道路上开始产生影响了。是吃了伊甸园的智慧树的果子知羞了?

顾: long time no see 据认为是汉语入侵英语之后产生的,只是大家觉得自然,英美人也用了。这个语句困扰我很久,在网上查了据说是如此,但未必是严肃考证。

我: long time no see 是最直接的展示我东方裸体美女的一个案例。西人突然悟过来,原来语言可以如此简洁,这样地不遮不掩啊。他们觉得可以接受,是因为赶巧这对应了一个常用的语用(pragmatic)场景,朋友见面时候的套话之一,不分中外。在有语用的帮助下,句法可以马虎一些,这也是这类新成语(熟语)形成的背后理由。

RW: 我只在老外和中国人打招呼时听他们说过,没见过他们互相之间用过。因此,我觉得他们没有接受这是一个常规用法。

顾: 另外,我觉得如果要分析理解语言,也不能拘泥于句子结构。句子之间的含义同样重要,如果过于依赖小词,可能难以将句中和句间的关联统一理解。而如果看句子之间的联系理解,英文在句间小词也很少用。

我: 用语义(隐性形式)当然好,但是不容易写一个形式化的系统去 parse 啊。用小词(显性形式)的话,那就好办多了。

白: 伟哥还是说说“我是县长”是怎么hold住的吧。问题的实质是,有限状态自动机没有lookahead 能力,如果语义跟着同步走,有很多构造(合一)会是明显浪费的。

Nick: @wei 白老师问:"我是县长派来的"

我: “的字结构”很讨厌。大体上就是英语的 what-clause 对应的句法形式。但比 what-clause 还难缠,因为该死 “的” 字太 overloaded 了。

雷: 中心嵌套也可以是线性的?

白: 某些可以是,全集不是。比如,a^nb^n,可以线性parse。

我: 当然可以线性,除非嵌套是无限层。如果是无限层,栈也要溢出的,无论memory多大。中心嵌套本质上不是 “人话”,这个我和白老师有共识。乔姆斯基之谬,以此为最。

雷: 问题是有些text有冷不丁的多层。有些国内的新闻稿有。

我: 举例,看是人话还是数学?

雷: 当然我们可以排除这些极少数。有些翻译有。

我: 用递归回溯对付嵌套,不过是理论上的漂亮,没有多少实践的意义。

白: 记得everybody likes somebody转换成否定式很难搞。基本归到不是人话一类。

我: 不是人话,就不理睬它!语言中要抓的现象那么多,什么时候能轮到中心嵌套?

白: “我是县长派来的”,是人话,还没揭锅呢

我: I am the one who was sent by the county mayor,这大体是对应的英语吧。英语的 what-clause 只能用于物,不能用于人。“苹果是县长送来的”,the apple is what the county mayor sent

白: 我的问题不是翻译,是有限状态木有lookahead能力,局部生成“我是县长”的问题咋避免。

我: 避免不难。不过就是加大规则的长度而已。有限状态的规则可以任意加长后条件(post-condition)。至于前条件(precondition)比较麻烦,因为前条件改变了 matching 的起点,容易乱套。

白: 短的规则还在啊。根据哪一条,长的压制短的?

我: 对,叫 longest principle,这是所有matching的基本原则,无论是词典查询还是模式匹配。有两个方法来用后条件:(1)加长后条件,以确保 pattern 本身是要抓取的对象,譬如第一近似就是 check 县长后面不是动词。(2)加长后条件来排除例外:这样的规则是没有结论的规则,就是为了排除例外的。这样一来,下一条短规则就可以成功,而且没有误抓的困恼了。

白: 除非你那已经不是纯FSA了。纯FSA只看当前吃进字符做决策。往后check就相当于LR(k)了。

我: 我的 FSA 从来不是纯的,是 FSA++。这个昨天就说过的,我随时要求我的工程师去对这个 formalism 做各种扩展,直到他们抱怨影响了线性速度为止。

白: 那就不奇怪了。

我: 在做 NLP 平台过程中,会有很多的扩展才好应对自然语言parsing的需要。很多人以为一个标准的 formalism 拿来用就好了,那哪行?也因此,编译器只能是内部自己实现(built in house),而不能使用 off-shelf 的,因为后者你根本无法扩充,也难以优化速度。

雷: LR或RR都是线性的。

白: 对。我还以为发生奇迹了呢。

我: 不是奇迹么?抓到老鼠就是奇迹。

白:套用一句潮话:这不科学呀。

我: 如果标准的 formalism 不能碰的话,那么有经验的设计师与一个新毕业生比,就没有任何优势了。我们说生姜老的辣,就是因为老生姜可以很容易把经验的需要转化成软件的 specs,而新手搞不清如何去定义。白老师,“这不科学啊” 的批评声音我常听到。一个是来自我太太,在日常生活中,她一个本科生经常对我这个首席(科学家)呵斥,你一点不讲科学!另一个是来自我一个短暂时期的老板,这个老板是学界主流,她看我写的 proposal,说这里面缺乏 science。我心里说,邓小平也没有 science,他不是把一个大国也治理了,烹小鲜而已。

白: 白猫黑猫拿到耗子都是科学的,狗拿到耗子就略微那个了点,所以澄清不是狗拿的还是很有必要的。

雷: @wei 白老师追求的是形式美。你的是工程美。两者一直你拖我拉的往前走。

我: 狗啊猫啊,是主观定位,无所谓呀,FSA,还是 FSA++,标签而已。我看自然语言是俯视的,成了习惯。太阳底下没有新鲜事儿,因为见到的语言现象太多了。

白: 总是要交流的呀。

我: 当然,也不能乱来,前提是任何"不科学"的扩展,不能最后引致灾难:一个是速度的灾难。一个是不可维护、不可持续发展的灾难。如果这两点可以掌控,就问题不大了。对速度我很敏感,愿意为此自我束缚手脚,只要证明某个扩展影响了线性速度的本性,我就投降,然后选择折衷方案。

雷: 抛弃中心嵌套,cfg就是线性的。

我: cfg 的痛点还不是中心嵌套导致的速度问题,根本缺陷在单层,眉毛鼻子一把抓,不分共性与个性,这才是致命的。

白: 我天天玩工程,不过我们的工程师如果突然说他使用了某个形式化机制但其实不纯粹,我还是会跟他较真的。狗肉好吃,不能成为挂羊头的理由。

Nick: 赞同白老师。spagetti对大工程不行。

我: 你们是主流,站着说话不腰疼。不挂羊头, 语言学家早死绝了。我17个政府项目全部是挂羊头得到的。

Nick: 伟哥可能有绝活,不愿说。

我: 绝活有,细节不谈,谈原则。原则就是,你要做精算师或工程师的老板,而不是相反。绝大多数语言学家没这个底气,只能打下手,做资料员。

雷: nlp的难点或苦活不在parsing,而是知识工程方面的整合。

白: 上下通气。

雷: 呵呵,形象。

白: 米国股市里有知识工程概念股么?

顾: 这是大数据啊!Data Thinker可以。。。(此处省略一千字)

Nick: 中国有?

白: 木有。讯飞在往这方面发展,但眼下不是。

我: 挂羊头卖狗肉的故事在这里:《在美国写基金申请的酸甜苦辣》。Quote:

说到含金量,其实很多课题,特别是面向应用的课题,并不是什么高精尖的火箭技术(not rocket science),不可能要求一个申请预示某种突破。撰写申请的人是游说方,有责任 highlight 自己的提议里面的亮点,谈方案远景的时候少不了这个突破那个革命的说辞,多少迎合了政府主管部门好大喜功的心态,但实际上很少有多少研究项目会包含那么多闪光的思想和科学研究的革命性转变。(纯科学的研究,突破也不多吧,更何况应用型研究。)应用领域“奇迹”的发生往往植根于细节的积累(所谓 the Devil is in the details),而不是原理上的突破。而对于问题领域的细节,我是有把握的。这是我的长处,也是我提出科研方案比较让人信服的原因。有的时候,不得不有迎合“时尚”的考量,譬如领域里正流行 bootstrapping 等机器自学习的算法,虽然很不成熟,难以解决实际问题,但是基金报告列上它对申请的批准是有益的。不用担心所提议的听上去时尚的方案最后不工作,由于科研的探索性质,最终的解决方案完全可以是另一种路子。说直白了就是,挂羊头卖狗肉不是诚实的科研态度,但是羊头狗头都挂上以后再卖狗肉就没有问题。绝不可以一棵树上吊死。

我: 不挂羊头,必死无疑,生存之道决定的。同意雷司令 parsing 问题解决后,真正的关键在挖掘(知识工程)以及最终建立预测模型。

白:NLP应用场景是很考验想象力的。

我: 非结构数据突然结构化了。面对结构的海洋,传统的数据挖掘需要拓展才好应对。挖掘目前做得很浅,就是 retrieval 里面的一个小东西,凑合事儿。parsing 是见树,mining 才见林。以前没有条件见林子 mining 没有实验基地,限制了它的发展和深入。如今不同了。

昨天与xiaoyun还谈到这个,我们都觉得,哪怕只利用 parsing 的一个部分,譬如只做SVO(主谓宾),理论上也是对所有现存关键词技术所驱动的应用的一个颠覆,因为突然多了一个维度。以前所做的不过是 baseline 而已,如今只要有大数据、大计算、大存储,再加上mining,那么凡是关键词技术生存的地方都可以革命,包括搜索、分类、聚合为基础的等等的应用。这个总体趋向是明晰的,条件也基本成熟,现在是考验想象力的时候,然后就是脚踏实地一个应用一个应用的去做

白: 还是要想新的商业模式,革关键词的命,从商业角度未必成立。关键词是拿来卖的,你把人命革了,卖什么?总要有个替代品吧,总不会卖FSA吧。

我: 革命不是杀头,parsing 对关键词,就是爱因斯坦对牛顿。到了语义语用层,关键词,或者叫驱动词(driving words),也是不可或缺的。

Nick: 卖regex到也不见得不可能。

我: 抽取挖掘搜索,往往需要两条腿,一条是关键词,另一条就是结构。如果 regex 可以卖了,离开直接卖 parse 就不远了。

其实我们的 power users 已经开始要求直接用简化的 parse 去满足他的信息需求了。用户是可以训练出来的。我们整整一代人都被关键词训练过、洗脑过了。以致于当自然语言接口技术刚刚尝试的时候,不少用户抱怨说:关键词多简单,跟机器说话,要自然语言干嘛?Power users 在简单的关键词之上用 boolean query 的很多,有些 query 看上去又臭又长又难看,不也忍受了。也见到过创业者,就是用 domain ontology 加上 keyword boolean 作为技术基础,也满足了一个 niche market 的需求而生存的。

Nick: 这是说的哪家公司?

我: 两年前在北京调研时候遇到的,名字忘记了。他们一点也不保守,把 query 直接给我们看,我心想这是一目了然啊,很容易复制的。可贵的是,他们先一步找到了那个市场需求,定义了那个 niche market,也找到了客户,后去就是那些 queries 的库不断更新维护而已。

我: @Nick 说,spagetti对大工程不行。Google 搜索是大工程吧,看一下里面的 spagetti: http://blog.sciencenet.cn/blog-362400-804469.html

原载:《泥沙龙笔记:铿锵众人行,parsing 可以颠覆关键词吗?

《泥沙龙笔记:铿锵三人行》

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

《朝华午拾》总目录

【基于关键词的舆情分类面临挑战】

[Abstract] Five challenges to keyword-based sentiment classification: (1)  domain portability; (2)  micro-blogs: sentence/twit classification is a lot tougher than document classification; (3) when big data become small: big data load when sliced and diced based on the users' needs quickly becomes mall, and  a precision-challenged classifier is bound to have trouble; (4) association of sentiments with object:  e.g. comparative expressions like "Google is a lot better than Yahoo"; (5) too coarse-grained: no actionable insights, this is fatal.

做自动舆情挖掘(sentiment mining)已经好几年了,做之前思考这个课题又有好多年(当年我给这个方向的项目起了个名字,叫 Value Tagging,代码 VTag,大约2002年吧,做了一些可行性研究,把研发的 proposal 提交给老板,当时因为管理层的意见不一和工程及产品经理的合作不佳,使得我的研发组对这个关键项目没能上马,保守地说,由此而来的技术损失伤害了公司的起飞),该是做一个简单的科普式小结的时候了。

首先对大数据的舆情挖掘是建立在对具体语言单位的舆情抽取(sentiment extraction)的基础之上。只有当语言海洋中千千万万的舆情表达被抽取存贮到某个数据库以后,我们才有条件针对具体的舆情问题(如某特定品牌的网络形象或某话题的舆情走势),搜索有代表性的舆情资料,并将搜索结果整合提炼,然后以某种方式(譬如《品牌舆情图》或《话题晴雨表》)表达给情报使用者。

舆情抽取的主流是利用机器学习基于关键词的分类(sentiment classification),通常的做法非常粗线条,就是把要处理的语言单位(通常是文章 document 或帖子 post)分类为正面(positive)和负面(negative),所谓 thumbs up and down classification。后来加入了中性(neutral),也有在中性之外加入一类 mixed (正反兼有)。这种做法非常流行快捷,在某个特定领域(譬如影评论坛 movie reviews),分类质量可以很高。18年前,我们让实习生做过这样的暑假项目,用的是简单的贝叶斯算法,在影评数据上精度也达到90%以上。这是因为在一个狭窄的领域里面,评论用语相当固定有限,正面负面的评价用词及其密度不同,界限清晰,识别自然不难。而且现在很多领域都不愁 labeled data,越来越多的用户评价系统在网络上运转,如 Amazon,Yelp,积累了大量的已经分类好的数据,给机器分类的广泛应用提供了有理的大数据条件。

但是,上述分类遇到了以下挑战。

首先,领域移植性不好,影评数据训练出来的分类器换到电子器件的客户评价分类上就不管用。

要对多个领域训练出多个分类器,很耗时,效果也不能得到保证。于是有人开始研究独立于领域(domain-independent)的舆情分类,其假设前提是舆情表达各个领域之间既有领域独有的表述方式,也有共通的表达(比如,好/good 在任何领域都是正面的形容词,坏/bad 在任何领域都是负面的),而且二者有相当的信息冗余度。这个假设在语言单位较大(譬如长的帖子或文本)时,是成立的。因此,这个挑战不算是致命的。但是很多应用领域,语言单位不大,譬如社会媒体中风行的微博/tweets,就很短,这一点构成下述第二个挑战。

第二个挑战来自移动时代压倒多数的短消息。语言单位的缩小使得分类所需要的词汇证据减少,分类难为无米之炊,精度自然大受影响。

从文件到帖子到段落再到短消息,语言单位每一步变小,舆情分类日益艰难。这就是为什么多数分类支持的舆情系统在微博主导的社会媒体应用时文本抽取质量低下的根本原因(一般精度不过50%-60%)。当然,文本抽取精度不好并不表明不可用,它可以用大数据来弥补(由于大数据信息天生的大冗余度,利用sampling、整合等方法,一个大数据源的整体精度可以远远高于具体文本抽取的精度),使得最终挖掘出来的舆情概貌还是靠谱的。然而,大数据即便在大数据时代也不是总是存在的,因为一个真实世界的应用系统需要提供各种数据切割(slicing and dicing)的功能,这就使得很多应用场景大数据变成了小数据,这是下面要谈的第三个问题。

第三是大数据切割的挑战。

本来我们利用机器来应对大数据时代的信息挑战,起因就是信息时代的数据量之大。如果数据量小,蛮可以利用传统方式雇佣分析员,用人的分析来提供所要的情报,很多年以来的客户调查就是如此。可是现在大数据了,别说社会媒体整体的爆炸性增长,就是一个大品牌的粉丝网页(fan pages)或一个企业的官方网页,每时每刻所产生的数据也相当惊人,总之无法依靠人工去捕捉、监测情报的变化,以便随时调整与客户的互动策略。这是机器挖掘(无论分类还是更细致的舆情分析)不可不行的时代召唤和现实基础。但是,观察具体应用和情报需求的现场就会发现,用户不会满足于一个静态的、概览似的情报结果,他们所需要的是这样一个工具,它可以随时对原始数据和抽取情报进行各种各样的动态切割(slice/dice 原是烹饪术语,用在情报现场,就是,
"to break a body of information down into smaller parts or to examine it from different viewpoints so that you can understand it better",
摘自 http://whatis.techtarget.com/definition/slice-and-dice)。舆情切割有种种不同依据的需求,譬如根据舆情的类别,根据男女的性别,根据数据源,根据时间或地理位置,根据数据的点击率等。有的时候还有多次切割的需求,譬如要看看美国加州(地理)的妇女(性别)对于某个品牌在去年夏季(时间)的舆论反映。最典型的切割应用是以时间为维度的《动态晴雨表》,可以反映一个研究对象的舆情走势(trends)。譬如把一年的总数据,根据每月、每周、每日,甚至每小时予以切割,然后观察其分布走势,这对于监测和追踪新话题的舆情消长,对于新产品的发布,新广告的效用评估(譬如美式足球赛上的巨额品牌广告的客户效应)等,都有着至关重要的情报作用。总之,大数据很可能在具体应用时要被切割成小数据,一个分类精度不高(precision-challenged)的系统就会捉襟见肘,被大数据遮盖的缺陷凸显,被过滤净化的结果在小数据时会变得不再可信。

第四个挑战是找舆情对象的问题。

在几乎所有的舆情分析应用中,舆情与舆情的对象必须联系起来,而这一基本要求常常成为舆情分类系统的软肋。当然,在特定数据源和场景中,可能不存在这个问题,比如对 Amazon/Yelp 这类客户评价数据 (review data) 的舆情分析,可以预设舆情的对象是已知的(往往在标题上,或者其他 meta data 的固定位子),每一个review都是针对这个对象(虽然不尽然,reviews 中也可能提到其他的品牌或产品,但是总体上是没问题的,这是由 review data 的特性决定的)。然而在很多社会媒体的自发舆情表述中(譬如微博/脸书/论坛等),在舆情分类之后就有一个找对象的问题。这个问题在比较类语言表达中(比如,"谷歌比雅虎强老鼻子啦" 这样语句,正面评价“强”到底是指雅虎还是谷歌,这看似简单的问题,就难倒了一大帮机器学家,道理很简单,机器分类系统依靠的是 keywords,一般没有语言结构的支持,更谈不上理解)。与青春躁动期的小屁孩也差不多,满腔情绪却找不到合适的表达或发泄对象,这几乎成了所有褒贬分类系统的克星。在随兴自发的社会媒体中,这类语言现象并不鲜见,一边夸张三一边骂李四更是网络粉丝们常见的表达(譬如方韩粉丝的网络大战)。

第五个挑战是颗粒度的问题。

这是分类系统的致命伤,它们只知道数翘大拇指还是伸出中指的数量,这对舆情的总体概览有点意义,但是这远远不是最有价值的舆情情报,关于这一点,我在以前的科普随笔中论述过:

褒贬分析只提供舆情的一个概览,它本身并不是 actionable insights.  知道很多人喜欢或者不喜欢一个品牌,so what?企业还是不知道怎么办,最多是在广告宣传投资量的决策上有些参考价值,对于改进品牌产品,适应用户需求,褒贬舆情太过抽象,不能提供有价值的情报。这就要求舆情分析冲破两分、三分、五分的分类法,去发掘这些情绪的背后的动因(reasons/motivation),回答为什么网民喜欢(不喜欢)一个品牌的问题。譬如挖掘发现,原来喜欢麦当劳的主要原因是它发放优惠券,而不喜欢它的原因主要是嫌它热量太大,不利减肥。这样的舆情才是企业在了解自己品牌基本形象以后,最渴望得到的 actionable 情报,因为他们可以据此调整产品方向(如增加绿色品种和花样,水果、色拉等),改变广告策略(如强调其绿色的部分)。摘自【立委科普:舆情挖掘的背后

上面列举的机器舆情分类系统的挑战,并不是要否定机器学习在舆情领域的价值,而是要阐明以下的观点:粗线条的机器分类只是舆情自动分析的开始,万里长征的第一步。一个真正有价值的舆情挖掘系统还需要更多更细致的舆情自动抽取和挖掘的技术来支持。鉴于学界和业界 90% 以上自称做 sentiment 的系统,都是以机器分类作为基础支撑的,明白这一点尤其重要。那么什么是舆情抽取和挖掘系统所需要的完整的技术基础呢?且听下回分解吧(如果兴起的话)。

原载:【立委科普:基于关键词的舆情分类系统面临挑战

【相关】

《立委科普:关键词外传》

《立委科普:关键词革命》

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

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

《朝华午拾》总目录

《李白毛55: 漫谈中文NLP和数据流》

立委按:谈笑有鸿儒,泥沙龙写照也。毛白李三剑客,隔洋神交,日颠夜倒,天马行空,人生快事也。语言理解,人工智慧,软体硬件,万言不离其宗也。铿锵三人行,行迹可存,笔记于此,以飨同仁也。

白: 转:《夏洛特烦恼》我以为主角叫夏洛特 。原来男一号叫夏洛 ;接下来会不会有《郭敬明天见》《周立波很大》《吴奇隆胸记》《王宝强奸案》《郭富城会玩》《井柏然并卵》《黄秋生无可恋》《贾乃亮了》《奥巴马上来》《周润发财了》《权志龙虾壳》《金正恩仇录》。

李: 边界之争。夏洛特是词典一方 特+烦恼 是句法一方 作为一般原则 句法认输。所有的边界之争 你总可以找到一种语境 来支持任何一方,但是实际系统中 还是按原则办事(除非某特定语境出现频率大 而且可以形式化被捕捉作为原则的例外)。“郭敬明” 是词典,“明天”或“明天见”也是词典,词典与词典相争。 谁赢呢?要分不同情形。情形对应的是 heuristics。对于此情形,“明天见” 赢。因为有这么一条 heuristic:最少词数胜出。郭敬/明天见, 算两词。郭敬明/天/见 是三词。更深的理由是 音节数量的匀称的 heuristic:3 1 1 不如 2 3 匀称。

白: 无后坐力炮,经常被读成2 3节奏,按构词法,应该是1 3 1。可否不那么早定输赢,都打到上一层。

李:可,keep ambiguity untouched 的办法 也是一招,不过加大了后去 parsing 的搜索空间 也可能不妙。

白: 上层用Ngram也无所谓。看一个滑动窗口激活一个还是两个词袋。

李: 这就是拼积木,难的积木留在最后拼。拼积木ngram比cfg容易,没有爆炸的问题。

白: 正是。

李: 汉语的节奏对称还是很厉害的,举反例总会有,但是实际中发现,音节数的条件,比起其他的条件(词类、子类、语义分类)往往也很好用、可靠。另外一个相关的体会是排比句式,汉语(包括古汉语)排比句式的使用往往可以把本来占有统计劣势的 parse 变得有效起来。不过,至今没想到利用排比句式帮助消歧的好的实现办法。感觉排比的发现和使用是处于另一层,而且排比的 scope 不好事先确定。

毛: 对于汉语NLP, 二位觉得有什么好书可以推荐?不用很深,科普就行。

李: 我很多年不看书了,还是白老师推荐吧。最好的是白老师正在写的,这个无疑问,但你需要等。汉语 NLP 论文献,80% 谈的是切词,全领域走火入魔了,陷入细枝末节和烦琐哲学,很大程度上非常可惜的一种智力浪费。

毛: 等倒没关系,反正暂时也没时间看。其实我不太会有机会用到这方面的知识了,我这是“朝闻道夕死可也”。尼克,Unix的那些Utility,每个都是基于一个while主循环,这就是lambda的语义。Java8让你有一种简洁的方法来表达这种语义,然后它替你生成这样的循环。

白: 自然语言的语义,也有lambda的份儿。

毛: 是,所以我觉得数据流在 NLP 方面可以发挥一些作用。

白: 表函数、表关系、表部件的词(中点、姐夫、抽屉)都是。需要一个带坑的语义结构去定义。坑,就是约束变元。

李: semantic subcat?  Syntactic subcat specifies the form of roles in a frame,correspondingly, semantic subcat specifies the preferred semantic classes for the expected roles of a frame. 语义 subcat 都是必填的,虽然句法上还是可省略。

白: 坑有必填的和可选的两种。

李:如果加上可选的,那就超出了subcat,而进入 cat 了。因为可选的角色一般针对大类,而必填的才针对子类。

白: 这点商榷一下,时间地点等,往往不是必填的。

李: exactly,时间地点等边缘角色针对的是大类。所有的动作、行为都适用。它们都在时间与空间中存在。而一元谓词,还是二元谓词、三元谓词,甚至零元谓词,这些都是子类的区别。天气动词语义上是零元的,虽然句法上可以加一个:“It” is raining 、“老天”下雨了。世界语最接近逻辑,语义的零元,句法也是零元,就不用加这种无意义的主语:Pluvas。

毛: 我觉得最有前景的可能是并行多路的parsing。就如你们刚才说的“无后座力炮”,如果系统能立马分出两个数据流分支,按不同规则加以解析,然后由高一层的规则判断何者为优,那效率就高了。这在NLP方面不是什么新概念,问题在于能否搭出这么灵活而高效的系统。但是NLP所处理的原料不太可能是世界语的文本呀。

李: 只是说明语义和句法之间既对应,又不完全对应的情形。比较不同语言,这些不对应的部分反映了不同语言的应对策略,这是很有意思的对比。

白: 标签化的表达比函数式的表达,应对非必选的东东就灵活多了。

李: 英语用 it,谁知道这 it 是什么东西?汉语比较具体,用的是“老天”。

白: 相反吧,汉语不说。

李: 汉语也可以不说,“下雨了”。如果不说,那就与世界语一样逻辑了,躶体出境。

白: 不说不是省略,是比省略高明的模糊。

李:  这里不是省略,因为逻辑语义上没有这一元的地位。

白: 语义上就有0元谓词,但是句法上没有地位,于是搞了个貌似省略的充数。

李:”老天“ 直译过去就很可笑:The sky is raining, Mother Nature is raining, or, God is raining?

白: 比it还富有想象力.

高: 像黑格尔说的,Was ist Das.

毛: 可以用函数式的方式来处理标签,把二者结合起来。我相信在NLP这一边已经有了许多很好的概念和方法,问题在于怎样搭出好的系统来高效加以实现。所以数据流应该有用武之地。

李: 语言很有意思,可以从三层来看这种“坑”。Filmore 把这个叫做【格语法】,他写过 “Case for case”,许国璋教授翻的,叫《格辩》,得其神韵,很妙。《格辩》是与乔姆斯基唱对台戏,是反乔派中最有分量的历史文献了,高举的是语义大旗。对NLP有深远的影响。所以,“坑”(case)可以分三层来看。第一级是 morphology case,这是“格”的本来用法,主格、宾格、工具格等等的词尾形式所表达的。第二级是 syntactic case,刻画的是 subcat 对语言形式的条件要求,包括具体语言中每个 Role 的词序、介词等的要求。第三级是 semantic case,刻画的是输出框,这是各语言共同的,又叫深层格,是 Filmore 提出的概念,与乔姆斯基的逻辑形式(logical form)对应。要几个元(格)是由谓词的概念子类决定的,它反映的是自然的关系(可以包括本体常识)。可是每个语言在实现这些深层格的时候,会利用不同的句法或词法的形式,于是穿上了句法或词法的外衣。

毛: 好吧,你们先掐。

白: 毛老,函数式和标签式表达,只有一墙之隔。标签其实就是最高抽象类的里面的“准”全局变量,谁都可以继承来塞点私货。不塞也无妨。

毛: 所以,我认为应该重启五代机的研究。有人说现在神经元网络是六代机了,我认为不对,因为说到底总还是“人工智能机”。

李: AI机只是六代机的一个引擎?

毛: 至少是现在,通过图灵测试是计算机的上限,所以不应该有高于AI机的计算机了。

白: 把RNN、多层FSA、多层词袋这些东东做成硬件就是了。

毛: 神经元系统只是一种计算模型,它也要通过编程在计算机上实现。神经元网络的运转说到底还是程序的执行。

白: FPGA实现就很好,能做成NLP协处理器就更棒了,NPU。

毛: 对是对的,但是如果变化太多,硬件实现就太不经济了。另一方面,如果有很多这样的部件,那么如何灵活高效地加以调度,根据具体情况动态搭出合适的系统,这本身就是个问题,这就又要涉及数据流了。我们平时在碰到困难时说要 “换一个思路”, 实际上就是要换一种数据流。

白: 希望NLP能早日成熟到毛老可以对接上的水平。

毛: 我觉得很可能是反过来的, 搞系统的人何时能搭出适合于NLP的系统,NLP Oriented Systems。 问题是搞系统的人一般都不懂NLP。

白: 是NLP这边说不清楚。回头说格。 “把”在汉语里号称是宾格介词,但是遇到“把我累死了”这种例子,又找不到哪个谓词提供宾格的坑。实际上,“累”是“使累”,是一个使动用法。所以顺序很重要,先使动 ,后宾格,一切OK。先宾格,后使动,北都找不着。

毛: “我累” 怎么解析?

白: 主谓啊。但“我累死你”不是。

毛: 哦。那就是“我使你累死”

白:

虚线框内形成一个虚拟谓词(复合然后缩合而成),对于这个虚线框,“你”貌似它的宾语,所以也获得了使用“把”表示宾格的能力。在句法层面,“使”不见了,“把”却在横行。

毛: 那么这种“使动”的属性就作为标签加在“累”这个词上?

李: “累”和“死” 先合成,然后针对宾格的坑就出来了。“累死”这样的算是合成词,不过这种合成词是 productive 的。

白: 气糊涂,饿疯, 都一样, "忙晕", "乐坏".

毛: 累死 应该是 累到死 累到要死的程度 的意思,这个死是补语吧?

白: 是补语,语义上对应一个程度标签,非必选的,所以不算框的正式坑。加标签是随手做,填坑是大动静。所以正规军和游击队,待遇就是不一样。

李: 累死我了 --》 把我累死了。符合正常的位移转换(movement/transformation)方式。【累(V的某种子类)+死】就是一个造词小规则,是产生式合成词的规则。符合这个规则的合成词就带有如下特征:及物,具体说,是使动的及物,并有表示程度的结果(“死”,不是真死)在内。带“把”提前是及物的共性,不用管。只要这个规则成功的时候,subcat 标签加对了,后去就顺理成章,无需特别操作。

毛: 所以呀,面向NLP的系统应该很方便很灵活地让你动态挖个坑,而且是同时挖上好几个坑,可以并行去试试不同的坑。这样才好。

白: “这些馒头把我吃胖了”。这个复杂些,有主有宾,只是虚线框里面拧着,了的时态含义省略了。胖,有一个坑。使和吃,各有两个坑。复合后缩合的虚线框部分,只有两个坑,一主一宾。与“吃”相比,正好颠倒了。所以,这类补语不仅是表程度,而是具体表致使后果的程度。

毛: 期待白老师的科普书早日出来。你的书里会画这些图吗?

白: 会。一个框,本质上就是一个函数定义式,也就是lambda表达式。入矢代表输入(自变量),出矢代表输出(因变量)。复合的时候,正是玩lambda表达式的时候,而且都是带类型的。

毛: 对呀,我在想这些图应该能转化成DAG式的数据流。

白: 每个坑都有类型,譬如,吃,输入类型两个坑分别是有生命、食物,输出类型是事件。

李:对,坑有两个信息:一个是坑本身的类型(what role),一个是坑里面的东西的“格”条件。role 是坑的主人决定的(词典里面的 谓词 subcat 或者规则产出的 谓词 subcat),“格”其实也是  subcat 题中应有之意,规定好的。格是输入匹配条件,roles 是输出事件语义。

毛: 数据流,结合立委的多层 FSA 模型,如果能做成通用的系统,我觉得是个很好的进展。有没有统计过像这样的图大概有多少?(以复盖常用句型为度)

李: 常用句型几十个吧,10-100 的区间。

毛: 哦

李: 看定义的粗细,谓词 subcat 最多只有三元 (所谓 S【V】OC),元里面还可以细分,大体 < 100 可以搞定

毛: 这个就可以用上分层嵌套的方法。

李: 这段对话,毛老、白老师,要我整理出来么?你们定,如果要,我就整理成博文。这次是你们俩主唱,我只是敲边鼓的,纯粹语言学的边鼓。

毛: 那当然好啰,要从尼克提到lambda开始。

白: 没问题啊。

李: 我其实不懂数据流,函数式略懂皮毛。lambda 在学语义学的时候学过一点,但是一直没完全整明白过。

毛: 那是工具性的,NLP本身才是关键。

李: 不过 subcat 在产生式合成词中会有变换,是我在 Morphology 课上学过的,而且学过的案例相当多。复杂案例的变换也不少。白老师的后一个例子是复杂案例之一。语言学家很善于总结这些格框变换的模式。

毛: 尼克最喜欢搞锵锵三人行, 咱就来一下三人行。

李:毛老、白老师,想起一件可能与数据流相关的事来,先写在这里,省得忘了。信息抽取(IE)这个领域刚开创的时候(20年前,由 DARPA 主持推动的 MUC 启动了这个领域,是NLP的实用化努力,非常了不起的一个推动,把NLP从象牙塔拉了出来),主流统计派还没回过味来,因此IE领域中的规则系统并不少,因为规则简单直接好用。其中,规则系统中,比较有影响的是斯坦福研究中心(SRI)推出的所谓 Cascaded FSTs,现在想来就是毛老说的数据流了。虽然后来我领导的小组也一直做多层FSAs,有时也贴上 Cascade 的标签,二者区别是显著的,虽然本质相同。斯坦福做的 Cascaded FSTs(finite state transducers)是把每一层编译的 network 直接用“数据流”串起来的一体化流程,cascade 是编译(或运行?)内部的机制。而我们做的所谓 cascade 就是从外部叠加调用,这是传统软件项目中管式系统(pipeline)的模块化开发,然后在运行的时候,从外部来接口,是大路货的路线。

洪: 看看有没有modern Hadoop实现

李:  总之,昨天我还发懵,搞不清为什么谈多层NLP的时候,毛老非要强调数据流,今天醒过来,原来如此。不过,我个人的感觉是,那种内部数据流的 Cascaded FSTs 后来逐渐淡出视野,一定有它内在的局限或问题。而我走的外部pipeline系统的方法,却得心应手,开花结果了。尽管理论上,数据流的路线应该更容易高效,更容易固化,但是肯定是遇到了什么坎儿过不去。

白:关于数据流,一直感觉NLP涉及的比较细粒度,就算自动机的堆叠或者分层的词袋,仍然粒度过细,一个句子里就可能多次流动,更不要说RNN这种自己转着圈玩的了……把这么细粒度的流动用大数据处理的利器来玩,是不是有点高射炮打蚊子?请毛老指教。但是,自动机堆叠一个实现上重要的架构就是pipelining。底层边吃进输入,边产生阶段性的输出,又变成上一层的输入。这个pipelining的框架如何在系统层面优化实现,很有油水。还有,当数千个自动机协同工作时,它们当中一定有共享的数据结构和计算,如何进行优化,乃至硬件层面的优化,这里面大有文章可做。

毛: 白老师说的对,数据流运用于NLP有许多细节的问题,特别是粒度的问题,还要好好推敲,现在还只是个朦胧的方向。粒度的问题一方面取决于具体的业务逻辑,一方面也跟硬件有密切关系,例如有没有GPU这一点,就对数据流的粒度和形状都会有很大影响。

李: 毛老,这是 SRI 的 work,叫 FASTUS。我在找他们描述 implementation of casaced FSTs 的部分,好像言之不详。以前不求甚解,反正自己已经找到了一条顺风顺水的路子,管人家怎么实现的,用的啥数据流。

毛: 好,谢谢立委。Cascade肯定就是pipelining,这就是一维数据流。

李:这个数据流的概念上没有问题。我是想知道,他们是不是把一个模块的 network 与pipeline 线上的其他 networks 整合成一个 integrated 的 network?我想知道,是不是整个编译全系统,还是像我们一样,每个模块是单单编译,单单调用的?

白: 如果有同步的语义操作,我相信会的。

李: 我的印象是,他们是编译全系统的,所以我们一直承认自己是 external 的 cascade,我们只是外部连接。重点的重点是,里面有一个共同的数据结构,无论 Pipieline 怎么流,不外是对这个数据结构的更新而已。

毛: 所以立委和白老师得要多掐,我就在旁听着,边听边想数据流的事。

李: 唉,还是没看到实现细节,保不定他们所谓的 cascade 与我们的做法一致,不过是利用共同的数据结构作为粘合剂,一个模块一个模块的调用。早年的文献中,最原始最愚蠢的数据结构是 string 进 string 出,然后他们描述怎么在这个一维的string上加各种括号和标签。下一个模块必须在模式匹配的时候要跳过这些人为的括号与标签,才能更新信息,那个愚蠢透顶,不可思议。我还真照文献说的实现过一个prototype,一边做一边骂这帮傻老帽。那个玩意儿根本做不下去,超过两层的处理就焦头烂额了。后来有人(譬如英国著名的NLP平台 GATE)用 XML 作为模块间连接的标准接口,本质上也还是 string,不过是多了一些现成的工具,可以用来 parse 这样的数据成内部结构。当然,在不同系统对接的时候,开发者和使用者是不同的组织,XML 作为标准接口往往是最少扯皮的一种方案,因为内部的数据结构不具有这种传递性。然而对于一个系统内部的各模块,用 XML 做数据传输近乎胡闹。做个 prototype 也许可行,做应用肯定不好。

毛: 立委讲的外部连接和全编译的问题,我理解就是节点间动态局部连接的问题。全编译就是一次性把整个数据流搭好,以后就不变了。所谓外部连接,就是按需要把若干计算节点局部地临时连在一起,灵活可变。当然是后者更好,不过应该是全局框架中的局部变化。我说的要研究怎样根据NLP的特点灵活构筑合适的数据流,就是这个意思。

李: 全局框架的保证就是一个共同的丰富的可扩展的数据结构。只要保证这个数据结构的设计是合理的,一切就好办了。

毛: 昨天群主一声吆喝,立委说话的风格还真的就变了,马雅可夫斯基的调调不见了。

李: 从善如流嘛。
设计一个NLP专项平台,就包括数据结构的设计,NLP语言的设计,该语言的编译和执行,以及数据流流程的配置和优化。这几个环节都是相互联系的,没有丰富的经验根本玩不转。

毛: 在数据流、即函数式程序设计中,不会由多个节点对同一份数据结构进行修改,这就是输入是否immutable和有没有共享变量的问题。不过对于NLP来说这属于实现细节。

李: 为什么不会由多个节点对同一份数据结构进行修改?每个节点都是单向递进的,数据结构因此变得越来越丰富,分析越来越深入,是为 deep parsing。简单的设计允许数据结构信息的增量更新,不允许或者制约了对数据结构的破坏性操作。譬如,推翻一个内部结构,进行重构(因为 patching 的需要)。但是聪明的工程师在实现的时候,不认为破坏一个局部的内部结构有太严重的问题,不过就是实现费劲一点罢了,屁股总是可以擦干净的。所以我说,只有想不到的,没有做不到的,我才不管他内部怎么实现的,只要用起来顺手就好。只有在实现影响了速度的时候,我可以做让步,允许工程师对我的操作做一些限制。

毛: 如果允许,那就有同步等等的问题,不同节点之间就会互相牵制,而且这样的系统是最容易有bug的。而函数式程序设计,其基本的要求就是:每一个计算节点都是数学意义上的函数,都没有副作用,这就要求:1)没有共享变量,2)所有输入都是immutable。把数据流系统设想成一个供水系统,如果水管在一个点上分支,那么在其中的一个分支上投毒,是不会影响另一个分支的。

李: 照这么说,只允许增量式更新是管式系统开发的安全原则?一开始是增量式的,后来是我坚持要多给我一个做 patching 的手段,打破了这个限制。如果不做 patching,我就只剩下一个手段,那就是先扫除例外,后做一般规则。如果允许 patching,我就多了一条路子,先做大路货,然后遇到问题或例外,再做修补。表面上,这两个办法不过就是数据流中个性与共性操作的位置不同而已,但是实践中总是多一条路子,用起来顺手。其实,做破坏性操作,我开始是有担心的,总怕屁股擦不干净。但是,好像还是在可控范围内。

毛: 对,你所说的对工程师们的能力要求,问题就在于那种结构模式本来就是很不可靠的,得要非常高明的人才能对付,所以一般都尽量把同步、互斥这些事情移到操作系统和语言编译器中解决,因为那些都是真正的高手才玩得。但是即使如此,对于复杂的系统,如果不采用函数式即数据流的结构和方法,难度还是很大。

李: 原因可能是,破坏的结构不过是中间的局部结构,还没到要用它的时候,只要最后系统出来的结构是合理的,就似乎没有问题了。

毛: 你挺幸运,手下有几个高明的工程师,要不然恐怕还做不出那么些成果。

李: 因为我是他们的唯一顾客,顾客是上帝。我一直是这么说的。

毛: 端着人的饭碗,就得听人管。

李: 好在我不懂系统,否则可能不敢这么大手大脚。

毛: 但是,这是有限度的,问题再复杂一点,他们可能就会对付不了。这时候就得考虑模式的改变。不走邪路,也不走回头路,咱走正路。

李: 同意这里面有个度。另一方面,系统太漂亮了不顶用。上得厅堂,下得厨房,这个标准对做系统也一样。正路就是厅堂,厨房就是我这样的实用主义,以邓小平思想为指针。

【相关】

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

中文处理

Parsing

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

《朝华午拾》总目录

【立委科普:漫谈语言形式】

如果有兴趣的话,准备在群里讲一次语言的形式手段的话题,这是语言学的基础。是 hard-core 语言学,不是电脑学。 一觉醒来了,有精神,有三个呼应,就开讲,谈为什么语言掌握得多的人,或语言学受过训练的人,看到的更多是语言共性。

独: 期待
黄: 呼应~
qj: +1
迈: +2

学生算半个。好,三个半了。可惜毛老,洪爷,雷司令,白老师和尼克等没在。不管这些IT达人了,咱们开讲语言学202。

各位都学过电脑语言,也都会自然语言,可以做个比照。作为符号系统,语言说到底就是以形式来反映内容。语言的不同是形式的不同,内容一定是相同的,否则人不可能交流思想,语言的翻译也就失去了基础,这个道理老少咸知。

那么什么是语言形式呢?回答这个问题就进入语言学了。

如果我们要把内容和形式分开来研究(当然是分不开的,但是理论上可以,否则就没有乔姆斯基革命了),什么是语言形式呢?乍一看语言,不就是 string 么?语音流也好,文字串也好。这个回答不算错,但那是太直观的答案。这个string是有单位的,所以至少可以说语言形式是一个 list of items,items 就是词(more precisely 词素)。list 就是词序。

所以,作为第一个抽象,我们至少得出了词序(word order,有时也叫 linear sequence)是一个重要的语言形式(语言的表达手段)。另一个重要的形式就是词,不过这个还不太够意思,太直感,不够理论,没有抽象。

顾: 语言形式是否是将语言用有限个确定元素进行表示的方法?

可以这么说,问题是词不能算有限的(finite)的单位。

穷举很难,而且即便列举了,也无法抽象,没有抽象,就没有掌握,人不可能学会语言,人脑不比电脑,记忆力可怜。所以,探究语言形式要研究词是个什么玩意儿。这就进入了语言学最基本分支了,叫 morphology,可以称 small syntax,就是一个词范围内的结构。对于有些语言,morphology 很繁复,譬如俄语,拉丁语。对于有些语言,morphology 很贫乏,或者可以说没有 morphology,譬如汉语,英语。

撇开这些语言的元件中的构造性差别,我们在研究“词“的时候,第一眼看到的差别是它的两大类别。一类叫实词(notional words,or open-ended vocabulary),原则上是一个开放的集合;一类是虚词或小词,即功能词(function words or closed vocabulary),是可枚举项。

这个分类很重要,因为作为语言形式,能够掌握的必须是 finite 的集合。对于功能词,因为数量有限,没有问题。功能词就是介词,连词,疑问词,感叹词之类,其实延伸一下也可以包括前缀、后缀等材料(叫语缀),在所有的语言中都是有限量的,出现频率高,可以死记的。它本身就是语言形式,原则上无需抽象(虽然也给他们简单分类),因为可以枚举。

黄: 所以也可以叫做闭类词
qj: 这个词分类对所有语言都适用吗?

对,所有语言都是这样的。欢迎毛老,这下可热闹了。

到此,我们至少得到了三个具体的语言形式了:1 词序; 2. 小词; 3 词缀。语言的不同不是形式的不同,而是形式的倚重和比例的不同,下面还要讲,这才是有趣的语言学。那么实词呢?实词当然是语言形式,但是因为是开放集,必须给他们分类才好形式化。除了成语和习惯表达法,一般来说,你总不能用枚举的办法为每一个实词写规则吧(真有这么做的,在很窄的领域),人脑也是在实词词类的基础上总结抽象的。实词于是有大类(Part of Speech), 名(noun)、形(adjective)、动(verb)三大类。副词(adverb)一般不算单独的大类,往往是形容词派生而来,或者与形容词同形。只有少部分原副词(original adverbs)属于小词的范畴,可以枚举。

实词三大类还是太粗,对于语言的抽象和掌握不够用,于是可以进一步再分类。特别是动词,有一种很重要的句型再分类叫 subcat(subcaegorization),是重要的语言手段,就是区别所谓单宾语子类,双宾语子类,宾语+补足语的不同子类,等等,所有的大辞典后面的附录都有的。再进一步,词汇的语义分类(lexical semantic classification,人啦,动物拉,家具,地点,机构等的分类)也可以加入进来,作为语义的形式化手段,可以用 WordNet 或者董老师的《知网》,这就把语义甚至常识偷偷引进句法了。

总结一下语言形式,1 词序, 2 小词, 3 词缀, 4 词类(包括子类)

张: 在吃火锅间隙,忍不住看了讨论
qj: 正好是晚饭时间。这些宾语子类都是limited的吗?

子类当然是有限的,分类的目的就是让理论上无穷的词汇,转变成有限的分类(包括子类),以便掌握和运用。朗曼词典列出的英语 subcat 类有30多个,牛津大辞典好像列出了20个左右。大同小异,颗粒度略有不同。其实常用的动词句型子类也就是不到10个。汉语的传统词典不列句型小类,但是语言所后来出的《动词用法词典》,还有《汉语800词》等,开始分子类,并标注了。

qj: 恩 英语的规则比汉语更加清晰简单

毛: @wei 这里正好是晚饭时间,你那已是凌晨3点,要不你先睡一觉,醒来再接着讲?你这个应该作为一个大课题开讲并讨论才好。

黄: 汉语800词不错

我睡醒了,才想到开讲的,没关系,你们吃饭。物质文明和精神文明并举。:)

语言形式这么一分,自然语言一下子就豁然开朗了,管它什么语言,不外乎是这四种形式的交错使用,比例搭配和倚重不同而已。所谓语法,也不外是用这四种形式对语言的现象及其背后的结构做描述而已。

白: 正在包饺子,很感兴趣伟哥会把枯燥的句法讲得多么生动。

白老师指正则个。

毛: 刚才@Sophia 说英语的规则比汉语清晰,这一点我觉得就值得讨论,因为我一直认为文言的规则不清晰和岐义在很大程度上阻碍了中国近代的科技进步。

对,毛老,英语确实比汉语清晰,德语法语又比英语(虽然英语是从的德语法语杂交而来的,“不幸” 的是后来走了汉语的道路)清晰。这里的所谓 ”清晰“, 是指这些语言有显性的形式来表达结构关系, 而汉语缺乏这种显性形式,因此做汉语自动分析就显得难。什么是显性的形式?譬如词法范畴的名词的性(gender)、数(number)、格(case),动词的时(tense)、体(aspect)、态(voice)。这些词法范畴是以显性的后缀(词尾)形式来表达的。但是汉语没有。

毛: 如果是跟白话文比呢?
qj: 我就是那种学起文言文大脑一片混沌的人。学过英文的语法结构 以后反过来看当代汉语 反而思路清晰一些
毛: 前几天也曾讲到过一个,文言除在古代可以降低成本以外,实际上仅对艺术有益,对于科技发展则害处极大。

文言更加缺乏显性形式。文言虚词就那么几个,不如现代汉语的小词丰富,因此比现代汉语更难(将来退休以后,准备就做文言 parsing 玩儿)。现代汉语的形式化相对容易一些。

黄: 语法在汉语中的作用不像英语规范(虽然英语也是soso),因此语义的研究尤为重要。

对。再回来看一下形式的分类:1 词序 2 小词 3 词缀 4 词的分类

黄: 有朋友在做文言机器翻译文到现代文的机器翻译。
毛: 由此又影响到中国的传统文化,也是艺术性强都科学技术逻辑都很欠缺。

凡是 morphology (各种词缀)复杂的语言,通常不需要运用词序的手段,也较少依赖小词。譬如俄语,还有世界语(Esperanto),“我爱你”,就三个词,可以用六种词序表达,排列组合。

黄: 世界语不能算是自然语言吧。

世界语算是准自然语言。诞生不自然,发展自然了。为什么语序自由呢,因为有宾格这样的后缀形式,跑到哪里都是动宾的关系。当然就不需要依赖语序的形式了。

回来谈为什么汉语不如西方语言严谨?因为汉语发展过程中,没有走语词综合(利用语缀)的道路,而是坚持在分析(利用小词)的道路上走到黑。从语言学的高度,语缀也好,小词也好,其实也都是差不多的材料(形式),但是,语缀的范畴化,比起小词,要发达得多,因此严谨得多,也冗余得多。可以举例说明。

毛: 有没有人研究过语言跟民族文化与民众性格之间的关系?

肯定有,不过我眼里只有语言和语言学,从来不敢发散。一辈子就想这一件事儿,搞得都有点条件反射了,跟洪爷似的,什么 input 都映射成诗歌,我是什么 input(语言形式)都自动转成树了。管它显性形式还是隐性的形式,全部映射成所谓逻辑形式(logical form),即带有丰富节点信息的结构树。

毛: @wei 你的条件反射就是通过有限自动机完成的。

什么是隐性形式?隐性形式就是词类和各种子类。为什么说是隐性,因为需要标注才能显性化、形式化。那些词本身并没有这些标记。如果用显性的后缀“标注”了,那就成显性了。譬如,“兄弟” 在汉语是名词(noun),这个是词典标注的,或者是 POS 程序标注的(如果有歧义的话),不是这词本身的印记。但是 frato (兄弟) 在世界语就不需要词典标注,因为有名词后缀 -o。再看 汉语的复数 “兄弟们”,这里用了小词“们”,世界语呢,用后缀 -j,fratoj。乍看,这不一样么,都是用有限的语言材料,都是显性的表达。但是,汉语的复数概念表达是有时候显性有时候隐性,这个“们”不是必需的,而有数这个范畴的西方语言(包括世界语)却是永远的显性,那个后缀是不能省略的。

“三个兄弟没水喝”

这里的兄弟就没有小词“们”,而且汉语文法规定了不允许在数量结构后面加复数的小词,硬把显性的表达转变成了隐性的表达。这样的语言是不严谨的,因为信息冗余度不够。换句话说,严谨的语言较少倚赖上下文来确定其结构语义,不严谨的语言离不开上下文,兄弟的复数意义需要上文的数量结构。

汉语的小词是从古汉语的实词虚化而成,这是语言的进步。

毛: 所以乔老爷的CFG解析更适合用于结构严谨的语言。

好了,今天大概就是讲透了一个主题,什么是语言形式。从这个基点,以后可以讨论很多话题,包括文言文与现代汉语,世界语美不美妙不妙,西方语言为什么更加严谨。

RW: 从文言文到白话文,有无语言形式变化?如果有,系统地体现在哪几点?
qj: 如果语言无比严谨没有歧义, 各位也就没有这工作机会了也没得争辩哈哈哈
北: 如果无比严谨, 那就是计算机语言了 世界上觉得程序比小说好看的人是有 但是太少了 根本无足轻重
毛: 语言没有变化和差异,是否正是能够更好更忠实地表达思想的变化和差异?

毛老思维太活跃, 跟不上您.  今天这一讲就完了,现在算是闲聊,借题发挥。

毛: 哈哈,多谢立委一觉醒来忽然心血来潮,这个话题太有趣了
顾: 是否所有的思想,皆可用一种语言表达?

本讲就讲了一点:形式有四种,语序,小词,词缀,分类。只要从这四点出发,很多现象就可以解释。语言大不了就是围绕实词的概念,用这些手段连接起来,表达概念之间的关系意义。

其实“语言形式”这个话题,还没引申来谈,谈起来还有很多有趣的东西,譬如语缀与小词之间的关系,相互补充和替代的作用,语言发展中倚赖语缀的综合道路,以及倚赖小词的分析道路,以及两条路线的斗争,等等,以后有闲再谈。

 

【相关】

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

《朝华午拾》总目录

 

《立委科普:关键词外传》

Keywords as Technology and as Business Model. The entire search industry has relied on keywords as money-making machines. What are the limitations of keywords as technology? What are the limitations of keywords as business model? What are prospects beyond keywords? These are issues discussed in this blog and the next (in progress).

信息爆炸的时代,IT 领域风云多变,群雄争霸,此伏彼起。其中最精彩的故事之一就是搜索巨头的崛起。他们的谋生本领从技术和商业模式两方面看,都是所谓关键词(keywords)。于是关键词有了两个含义,一个是关键词的技术,另一个是作为广告基点的可以卖钱的关键词。

作为技术的关键词,从原理上看是再简单不过的了,就是给海量文本做个索引,以便检索。建索引是个相当古老的传统,严肃一点的教科书、手册和科技书籍,差不多都会在书前的目录之外,再建一个术语索引附于书后,以备读者查询。从满足信息需求的角度看,目录与索引的区别在方便随意浏览还是临时查询。一般人两种需求都有,譬如,每天查看新闻是很多人的习惯,那么进入新闻目录去分类浏览就是自然而然的了(这个需求的延伸就是如今手机上各类新闻推送,个性化服务,送货上门了)。一般而言,这个需求的特点是事先没有一个明确的问题需要解答,浏览看上去有点漫无目的,至少没有一个焦点,就是了解个动态。因此预制的目录和分类可以比较好的适应这种需求。第二个需求不同,信息需求者有个具体的焦点,或者疑问,他需要寻求答案。譬如家里抽水马桶坏了,查一查怎么修理抽水马桶。这类具体的需求千差万别,每个人每个不同的时间点,都可能产生一个特定的问题需要答案。因此,要想事先给这无限的开放的信息需求及其答案做目录式分类,是不可能的,因为有限的分类无法应付无限的问题。为了以不变应万变,关键词索引和检索应运而生,满足了这种需要。因为所有的具体问题或信息焦点,说到底都是由关键词组成的。前述抽水马桶的问题,心里的问题大概是“我的抽水马桶坏了,怎么修理呢”,电脑不懂人话,只好抽出表达主要概念的词(不抽的是所谓 stop words,就是”我“、“的”、“了、”呢“、”怎么“ 之类, 多是高频小词),其关键词就是:抽水马桶,坏,修理。关键词是语言表达的基本单位,因此从信息海洋中检索出来的网页只要按照这些关键词出现的密度(keyword density)排序,要寻找的答案应该就在里面了。(关键词密度排序是最基础的搜索技术,后来改进版的排序算法 Page Rank 更加注重网页本身的信誉度。)
互联网发展伊始,很快迎来了网页的爆发性增长,网人在信息的海洋中找不着北了。于是给网页做目录分类的雅虎兴盛了,门户网站门庭若市。人多了就好做生意,于是门户网站开始了网络时代的广告生意,各种闪烁的广告条让人眼花缭乱。后来人们发现,信息需求靠有限的目录和分类是无法满足的,需要一个工具来帮助搜索。谷歌百度等搜索引擎为支撑的公司遇到了历史的机遇。不过,刚开始的时候,他们也不知道怎样才能挣钱,他们不过是研制了这么一个搜索工具供网人自由使用,他们没有门户网站分门别类的丰富内容,对用户没有粘性,用户拿来就用,用完就走,很可能是回到了内容丰富规整的雅虎去浏览新闻去了。于是,他们就到各大网站去推销这套引擎,凡是大一点的门户或网站,都有一个支持网站内搜索的需求,也就需要搜索引擎,他们于是收取 license fee,这是典型的 B2B(企业对企业) 商业模式,卖的是技术(工具)本身。可这么做难以做大,不过是网站门户的补充而已。
直到有一天,新的 B2C (企业对消费者) 模式出来了,这才开启了搜索引擎大佬财源滚滚的时代。这个模式的基础就是发现了,关键词不仅仅是技术,是索引和查询的元件,而且关键词本身也可以卖大钱。卖给谁?当然是广告商,谁出钱多,就卖给谁,而且关键词数量巨大,加上关键词之间的组合( 可以对关键词做与、或、非等操作),这个盘子可以做得很大,定期竞标,实现利润最大化(百度的所谓竞价排名:顺便说一下,比起谷歌的广告不得影响搜索排序结果的做法,百度有时太没品了,让人无语)。这一切的一切都基于关键词是最简单而且最容易掌控的语言表达的形式,广告商需要借助它与信息搜取者(潜在的用户)匹配上,这样就大大提高了广告的效益,因为广告从传统的被动轰炸客户(如传统媒体譬如电视)一下子提升到主动迎合客户的信息需求,因为在搜索过程中遇到的广告都是与所搜索的关键词密切相关的内容。这个关键词卖钱的商业模式是迄今互联网最成功的模式,经久不衰。
说到这里,我们可以问一下:用关键词来表达信息需求(譬如问题)、满足信息需求(譬如根据密度信誉度返回相关网页)以及代表广告内容,靠谱么?答案是 yes and no。从用户体验来看也是如此。很多时候似乎用关键词,再花点时间阅读反馈回来的前几个网页,就找到了问题的答案。也有的时候发现找不到答案,于是把自己的问题变换一下,抽取不同的关键词,譬如变成 “抽水马桶”,“不工作” 再去查询,答案就出来了,就在新返回的网页里。反正电脑检索是立等可取的,变换几次虽然要多费点儿劲儿尝试(trial and error),满足了需求也还是可以接受的。也确实有些时候,关键词怎么也玩不转,费了九牛二虎之力,尝试不同关键词的组合,可就是找不到答案。有的是心中的问题难以用关键词抽取来表达,譬如你想寻找产品发布的信息,就很难用关键词表达,第一,产品这个概念是一个开放集,没法用关键词去枚举。第二,“发布” 这个关键词是多义的,政治新闻的发布就与产品没有一毛钱的关系,没有动宾关系的制约,硬拿它做关键词去搜索,得到的就是信息巨多,太多杂音。总之,关键词作为语言的元件,表达信息不可能完整准确,它的好处是简单、鲁棒(robust)和查全率(recall)好,作为语言表达,关键词不过是一个最简单的近似,一个无奈的选择。

总结一下,关键词只是表象,它的价值植根于对信息的表达(载体)。是这种信息载体的身份使得它把用户的需求、网页的相关以及广告商的目标这三者联合起来,成为互联网经济的三大基石之一(电商交易和游戏服务是另外的两大互联网产业)。然而,关键词只是信息表达的最原始粗糙的元件,它没有抽象度,无法应对不可枚举的概念(譬如“产品”),它没有语词结构,最多只能用逻辑“与或非”操作关键词(术语叫 boolean query),而无法表达文法关系(譬如表达 “发布”的对象必须是产品)。所有这一切都是根子上的局限。因此,关键词不可能是信息时代的终点。关键词技术和关键词模式都面临而且需要一场颠覆式的革新。

下一讲预告《立委科普:关键词革新》,谈关键词的三面都面临怎样的颠覆式改革。

【后记】

这篇是地地道道的科普,太浅显、白话、常识了,老妪能解了吧,只是结论部分从天下大势和技术基础的角度指出了关键词技术和关键词模式的根本局限,算是夹带了私货:关键词面临革命(或者叫颠覆式革新更易让人接受,也更妥帖,因为不可能杀掉关键词,只是要剥夺它的信息唯一载体的地位)。

原载:《立委科普:关键词外传》

【相关】

《立委科普:关键词革命》 

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

《泥沙龙笔记:铿锵三人行》

泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索

【研发笔记:没有语言结构可以解析语义么?浅论 LSA】

【立委科普:基于关键词的舆情分类系统面临挑战】

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

《朝华午拾》总目录

《立委科普:关键词革命》

上篇 《立委科普:关键词外传》提到了关键词的三个面向,关键词作为互联网摇钱树的秘密就在于它是这三面的粘合剂,以信息载体的身份。本篇要论的就是关键词在这三方面所面临的挑战和机遇。一场颠覆式改革正在大数据浪潮中酝酿。
回顾一下,从关键词最大的应用“搜索”的角度,关键词有三个接口两个层面。三个接口是:(1)面对大数据文本,需要事先建立关键词索引(offline indexing);(2) 面对用户的信息需求,关键词query作为默认的搜索形式是在线检索服务(online retrieval)的起点;(3)面对客户广告商,可拍卖的关键词是广告连接用户搜索场景的入口。前二者构成了了关键词的技术层面,着眼于如何满足用户的信息需求:这个迄今不涉及钱,因为互联网大佬们都不约而同选择了免费服务的模式;第(3)项是关键词的生意层面,才涉及 business model:关键词竞价拍卖,唯利是图。原理很简单,我用免费服务吸引用户的频繁使用和眼球,再去广告商客户那儿找钱。对于搜索产业,用户和客户是分离的。这个模式很牛逼,支撑了搜索产业近20年!
可是,随着大数据新时代的到来,随着语言技术的进步,关键词革新在所难免。一方面,盛名之下其实难副,关键词作为信息载体支持现有模式,其局限越来越突出。另一方面,比关键词高级的自然语言处理(NLP)的 深度句法分析(deep parsing)技术业已成熟,就像爱因斯坦体系注定包容并取代牛顿体系一样,深度句法颠覆关键词乃是大势所趋,只是一个时间的问题。

先从关键词的优缺点谈起。关键词的优点是:简单(simple),鲁棒(robust),查全率好(good recall)。这些优点也决定了它的两大局限:(1)查准率差(poor precision);(2)表达手段贫乏(not expressive),甚至无法表达,不能胜任信息载体的工作。

优点缺点一个面向一个面向地谈,这样可以帮助看清关键词的全貌及其发展趋向。

先从用户的视角说,关键词的“简单”显而易见,因为任何信息都是由词汇组成的,训练用户在词汇中提取关键词是比较自然的事儿,所以基本人人会用。也有开始不会用的用户,譬如不知道把非关键的停止词(stop words)除掉,或者留下了太多的关键词(关键词之间默认是“逻辑与”的关系),这样去搜索,结果往往找不到合适的信息,但是吃几次亏用户慢慢就适应了。

关键词 query 作为检索的入口,其表达的贫乏和局限,我们每个网人都有过体会,有些想找的信息用关键词匹配就是找不到。道理很简单,思想和语言都是二维的,而关键词是一维,严格说,连一维都不够, 因为关键词的默认就是一袋子词,连次序的维度都不在内。具体来说,关键词作为query,既不精准,也不概括,在查准率(precision)与查全率(recall)两方面都有根本的局限。不精准的原因是所查的关键词之间关系是简单的“与”,因此无法确定返回的网页链接(URLs)里是不是有自己想要的情报,还是关键词的偶然共现(如果网页文字很多,偶然共现的可能性很大,返回来的则多为噪音)。对付这类噪音,目前的办法是给关键词加上引号(quoted query)把一袋子词变成线性词串去做 exact match,这个办法增加了词序的维度,的确大大降低了噪音,但同时也往往漏掉了太多,因为语言中相关联的关键词并不是总挨在一起,事实上紧挨着的通常是极少数。作为信息载体,关键词之间的关联的最好表达还是要揭示其内在的文法关系,这一点很少异议。第二条缺陷是关键词不具有概括性,因此也影响了查全率。很多人认为关键词除了简单外,最大的优点就是查全率好,这样看来似乎与缺乏概括性有矛盾。这个疑似矛盾实际上是基于查全率的两个不同定义。查全率的形式定义几乎就是为关键词量身定制的,说的是,关键词检索理论上可以做到100%的查全率:对于被索引的网页,系统完全可以返回所有的符合关键词query条件的相关网页,一个不拉,这在技术上是可以保证的。然而这种“查全率”不能反映用户的真实需求,因为同一个概念完全可能以不同的关键词来表达。满足信息需求的查全率必须以概念而不是关键词来计算。当这个概念是语词不可枚举的时候,关键词技术则根本无法表达,用户所要的查全率无法实现。【注一】

举个例子,如果你想搜寻公司购并的情报,现在的办法就是搜索 “公司购并”。这个效果差太远了,因为谈论公司购并里面恰好提到这两个词的是少数。多数的情形都是,Dell 购并了EMC, 苹果准备购买特斯拉,腾讯要买京东之类。关键词在这里遇到两大挑战:其一关键词没有概括能力,而有很多概念在语言表达中是没有办法枚举的,譬如公司的概念,我们没法在query一一列举所有的公司名: Dell|EMC|苹果|特拉斯|腾讯|京东......,这个给公司自动标注的工作叫做 NE(Named Entity tagging),通常是语言分析系统里面的一个组件。第二,关键词的 query 不允许设定任何文法关系的条件。譬如,公司购并的情报需要”公司“类的词作为 BUY (包括“购并”、“购买”、“买”等) 的宾语(对象),没有这个动宾(VO)条件的限定,返回的文件可能是噪音,里面恰好提到 BUY 和公司,但二者并没有并购的关系。对于这二者,深度分析系统都已经把握 了,其结果表达表现为带有节点语词及其标注的句法树,其中树结构的核心就是SVO(主谓宾)。因此,关键词query的升级应该是 SVO 这类关系条件的表达。这样的技术革新面对的最大问题就是如何培训用户使用SVO而不是简单的关键词 query。面对亿万用户,这似乎很难。然而,用户是可以训练出来的。我们整整一代人都被关键词训练过、洗脑过了,才学会了怎样使用关键词的不同组合尝试找到最好的结果。同理,SVO 也会经历这个用户自适应的过程。只要搜索界面设计得巧妙和intuitive,允许两种搜索并存,尝到SVO搜索甜头的用户会逐渐影响带动其他的用户。

第二个面向是大头,就是对大数据处理的关键词升级。从搜索引擎所面对的整个互联网而言,使用任何比简单的关键词索引更高级的语言技术,即便理论上可以实现,无论从成本还是运作上,都将是一个巨大的挑战,在可预见的将来,没有理由相信仅存的几家互联网搜索巨头会冒这个险。然而,近年来大数据架构的突破性发展,以及硬件成本的下降,至少使得我们相信,在互联网大海的一个子集(譬如社会媒体,譬如维基世界,譬如某垂直领域)施行语言处理技术的升级,是完全可行的。

从行业的总体趋势看,关键词技术不可能永远不思进取而立于不败之地。

我们看到,自然语言的深度分析技术已经进过反复验证和在 niche markets 的产品中成功应用,技术升级的条件业已成熟。 哪怕只利用深度分析的一个部分,譬如只做SVO(主谓宾)

,甚至只做 VO

,理论上也是对所有现存关键词技术驱动的应用(不仅仅是搜索)的一个颠覆。因为突然多了一个维度,在词汇之上,增加了关键的结构信息:非结构的大数据突然结构化了。面对结构的海洋,传统的数据搜索和挖掘势必拓展。挖掘(mining)方面目前做得很浅,就是检索(retrieval)里面的一个小东西,凑合事儿。技术上看二者的关系,parsing 是见树,挖掘才见林。以前只有关键词索引,没有条件见林子,挖掘没有实验基地,限制了它的发展和深入。以此观之,以前所做的不过是 baseline 而已,如今只要有大数据、大计算(parsing比起关键词索引就是大计算)、大存储,再加上新的挖掘和检索的自然拓展,那么凡是关键词技术生存的地方都可以革命,包括以搜索(search)、分类(classification)、聚合(clustering)为基础的各类应用(与搜索直接相关的有智能搜索和问答系统,其他的应用还包括舆情挖掘、客户情报、自动文摘、新闻推送、智能助理、机器人接口等等)。这个总体趋向如此明晰,条件也基本成熟,现在是考验想象力的时候,然后就是产品老总配合语言技术创新者,脚踏实地一个应用一个应用的去做

最后说一下作为搜索公司客户的广告商(金主)。关键词的简单特性,在这里表现为商业标的的清晰,这是一个很大的优点。以关键词博弈定价易于操作,关键词最清晰,最少纠纷,谁买了就归谁,没有扯皮的事儿。广告商只要愿意花钱,可以竞标购买任何热门的关键词,也可以预见自己广告的投放情境,一切都是透明的。有权威人士认为关键词商业标的的清晰是压倒性的优点,以致任何革新如果削弱了这一点就难以成功。尽管如此,关键词的两大局限“精准度差”和“表达力弱”,从广告商的角度同样存在,而且很严重,因为这些局限直接影响了广告商客户的核心利益。长远看来,广告商不可能满足于用简单的关键词来作为广告内容连接用户的表达方式,因为它实在太简陋了。广告商的终极目标是精准投放,关键词虽然比传统广告的被动轰炸要精准,但是无法与语言自动分析理解基础上的精准匹配相比拟。从历史上看,关键词对传统广告的革命就是基于精准投放这个核心价值。前搜索时代,被动轰炸是广告商的唯一模式,突然出现关键词了,精准度大幅度提高,广告效果也容易追踪测量。现在 SVO 出现了,搜索面对的是更高阶段的精准投放,与上次广告革命非常相似。如果说让普罗百姓很快学会SVO来代替关键词不大现实,可作为广告商,直接购买表现力丰富得多的SVO 不是不可以想象的事儿。事实上,也可以对广告商客户做专业服务(professional service),不用他们操心广告高精准投放所需的SVO的具体表达形式,只要展示精准投放的实际效果即可。当然前提是搜索内容的 indexing 也做了相同的革新, 这样才能衔接得上,商业模式的推进才有可能。

总结一下,作为现存语言技术基础的关键词面临一场技术革命,因为语言深度分析技术与大数据处理的技术双方都已经成熟。革命不是杀头,深度分析对关键词,就是爱因斯坦对牛顿。抽取挖掘搜索等的质量大提升需要的是两条腿走路,一条是关键词,另一条就是SVO。到了应用领域的语义语用层,关键词,或者叫驱动词(driving words:严格地说,在SVO中,有的关键词保留成为驱动词,有的抽象为词的 feature了),依然不可或缺,但对关键词技术的颠覆式创新增加了语言结构这个关键。正如语言所老所长吕叔湘先生很多年前谈文法的关键性作用时说的,光有珍珠成不了项链,还要有珍珠串子。作为革新,信息载体应该也必须从关键词向 “驱动词+SVO” 过渡。

【注一】

其实,即便一个概念是可以枚举的,关键词 query 也常常困难重重。可以枚举的关键词理论上只要用逻辑“或”即可表达概念的外延,从而保证查全率。但事实上,很多关键词都是多义的,并不能多对一到想要搜寻的概念上,因此产生噪音。事实上,搜索服务曾经做过所谓“同义词扩展”(synonym expansion)的尝试,但很多时候由于自然语言词汇的多义带来的噪音而得不偿失。这个困扰在革命性的 SVO query 框架内不再成为挑战,因为在 SVO 看来,关键词不再是孤立的存在,而是受到上下文的文法关系约束的驱动词。多义在句法上下文中,噪音自然减除。这是 SVO 高于关键词的一个极大优势。

原载:《立委科普:关键词革新》

【相关】

《立委科普:关键词外传》

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

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

《朝华午拾》总目录

【立委随笔:听喜马拉雅老罗侃人工智能】

关于AI的几点小感想:

1. AI这一波狂热,甚至连文科生罗胖都开始信服了。那天堵车听喜马拉雅,收听罗胖的跨年演讲,谈产品 高科技等,觉得这小子铁嘴钢牙,不全是嘴皮子功夫,有真货。譬如,论产品和服务,从空间移向时间,就很有高度。唯独他谈AI的时候,让我莫名。有几分道理,更多是谬误,参杂一起,言之凿凿。这才相信了AI的营销已经多么有成效,把一个完全的外行人也整成导师了。

罗胖说,很快(言之凿凿说的是五到十年)一多半人就要失业了,为人工智能取代。这不是新鲜的观点,开复老师等大咖也一直在说。老罗说人类历史都是人奴役、压榨、剥削人的历史,终于历史走到了尽头:大多数人连被奴役被剥削的价值也没有了,因为人工智能不怕被奴役和剥削,不抱怨、不造反、不暴动。干嘛要剥削人呢?

怎么办?也许就是给这些完全没有价值的多余人一个VR的眼镜,让他们一辈子在游戏中度过。如果不想落入这个群体,很少的几个可能是做设计家和创新家。因为对于现存的一切,人工智能无所不能。只有对不存在的东西,对于新设计和新创新,人类还有一点点赢面。

这些把人类与人工智能割裂成两个平等、独立或对立的竞争对手的说法,已经流传甚广,似是而非,但也很难证伪。先放在一边。

奇葩的是,他居然搞懂了深度神经。简单说就是深度神经就是一个怪兽,胃口特别大,只要给它喂大数据,他就无所不能。罗胖说,深度神经可以看历史上所有的医书,然后分析你所有的生命数据,然后给你建议吃什么药。你必须听他的,因为你穷尽一辈子也不可能理解人工智能的智能。但是他肯定比你和你在人类所能找到的任何专家高明。

总之人工智能行的是上帝的逻辑,我们人的逻辑无法理解 也无须理解。顺之者昌逆之者亡。这个逻辑的算法基础就是深度神经。

罗胖这些说法其实早已在现下媒体,以及早先的科幻中,为无数记者作家描述过。他不过是利用他所特长的语言艺术表达出来。

2. 看老友在朋友圈提ai+酒,就让我想起历史上魏晋的药+酒,都是性感、时髦、流行而且催情的。很浪漫,也很颓靡。

3. 老友接着谈他看好机器人情感,觉得前景无限。老友说的机器人的 AI 情感,这里的情感是说的什么呢?

(1) AI 对于人类表述的情感的捕捉:譬如舆情挖掘
(2) AI 机器人(譬如微软小冰)自己所表现出来的情感表述

(1)是已经和正在实现的事儿,毋庸置疑,但与常人所说的机器人情感大概不是一回事儿,虽然不少人有意无意混淆二者。

(2)是典型的“逢场作戏”:微软小冰细语款款地说爱我很多次了,我要不是做 NLU 的,可能早就被她迷惑了。

说的是(2)这种情感大有前途么?

可以想到的前途是: 虚拟恋人(安慰失恋的人);老人陪伴(宽慰孤独的老人)。不怀疑这种东西最终可以以假乱真。将来市场化时候唯一要着力做的是,消除心理障碍,要给客户洗脑,这个机器人,不是机器,而是人。

(绝不能泄露天机:这与人类情感,没有一毛钱的关系。她爱死你了,你也爱死她了,你们结婚,也绝不会有爱的结晶。)

 

【相关】

【泥沙龙笔记:强人工智能的伟哥测试】

强弱人工智能之辩

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

《朝华午拾》总目录

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

白:
“这些国家的统治者必须变革,不然就是在冒被一脚踢开的风险。”
1、“冒……风险”,离合词;
2、“风险”属于“N/S”型的名词,不反填定语从句;
3、“被”由N+升格为N,占“一脚踢开”提供的两个坑中的一个;
4、先行成分“这些国家的统治者”填“一脚踢开”提供的另一个坑。

李:

【冒VP的风险】

汉语离合词 是框式结构之一种,离合词里面的 XP 是啥 离合词本身决定。可以认为是由该词的subcat模板所规定。 这个case里面规定是要 VP。离合词“冒-险”(“冒-之|的 险|风险”)本身也是(动宾式)VP,于是我们赶上了内外两个 VPs:“Gui 冒杀头之险”。Subcat 如是说:

1 Gui 冒险。

2 Gui 杀头: 实际上是被杀头。“杀-头”本身也是离合词 里面应该是要的NP。NP外化就成了句法主语和逻辑宾语,也就是所谓隐式被动:Gui杀头 == Gui被杀头 == 把Gui杀头 == 杀Gui的头 == 对Gui杀头。这才叫语言学,微观语言学, subcat 执导。subcat 是语言个性与共性的接口

3 两个 VPs 之间的关系: 当然也由外面这个离合词“冒-险”来决定。具体说就是,内VP是外VP的同位语,是给外VP填充“冒险”的内容:冒什么险?杀头之险。这个同位语来源于内VP是外VP里宾语的定语这种形式,是随着离合词动态合成为动宾合成词,由宾语的同位语定语,捎带过来的(定语转状语,主子单位是变大了,但mod本性不变)。这个现象是动宾离合词的共性,再如:洗个痛快的澡 == 痛快洗澡.

4 剩下一些句法语义的鸡零狗碎 也仍然是外VP的subcat决定的:包括内VP是非谓语VP,因此不能用句法(或词法)的时体形式,语义上表达的是不定式。至于外VP,它当然是谓语VP, 譬如可以有进行体:“Gui正在冒杀头之险”。

总结一下:subcat 可以有很丰富的内容,很复杂的规定,它连接句法形式(模式s)与其对应的语义。好在 subcat 都是词典词条决定的,所以再复杂琐碎,在词典主义(lexicalist)看来也不难把控。

理论上 subcat 的这种复杂性最好由subcat的复杂特征结构(SUBCATT typed feature structure)来描述。上面举的例子及其相关句法语义的约束及其与逻辑语义的接口,可以非常从容、非常精细地在诸如 HPSG 的复杂特征结构里面透明地表达出来。如果是象牙塔玩符号逻辑,可说是进入了符号逻辑的天国:个性共性 词典grammar, 句法语义 燕舞莺歌,太平世界 同此凉热,在在美景 处处和谐。这就是我以前说的 玩 HPSG 可以入迷的原因。下面给几个HPSG 的复杂特征结构的图示,展现一下其叠床架屋背后的合一(unification)风采:

但我们终究还是抛弃了复杂特征结构,为了线速,为了简略,为了多层,为了模块化和易维护。总之是为了现世的便利,挥别了理想的符号天国。

 

【相关】

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

中文处理

Parsing

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

《朝华午拾》总目录

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

李:
"不晓得是啥":不晓得[ ]是啥

不晓得【萝卜】是啥。
这个宾语从句中的主语的坑省略以后,萝卜哪里去了呢?

萝卜不晓得是啥
不晓得是啥的萝卜
一口可口可乐喝完, 吐出一块不晓得是啥的东西

白:
“拿一些自己都不晓得是啥的东西来糊弄别人。”
定语从句反而是自然的

李:
why not 不晓得 NP[是啥的东西]? “晓得”的 subcats 既可带宾语从句,也可带NP宾语的:

不晓得啥东西
不晓得这东西

then, why the parse [[不晓得是啥]的东西] is better than [不晓得[是啥的东西]]?回答清楚这个问题,貌似需要一点说法。

白:
“他是个连微积分都不晓得是啥的东西”
又回去了。“晓得”带小句宾时,不满足穿透性,就是说晓得的逻辑主语并不必然成为小句的逻辑主语。这样“不晓得是啥”作为一个整体进入定语从句的时候,就出现了两个坑,不知道反填哪一个,这是要避免的。

李:
是吗?
“我不晓得到哪里去” == 我不晓得【我】到哪里去。

白:
不一定,可自主决策类,可以穿透。一般性的动词,无法穿透。

李:
“不晓得是啥的东西” 与“狂吠的狗”应该是一个逻辑。

白:
狂吠是不及物的,一个坑。没有歧义。

李:
“不晓得是啥” 也是vp 也是不及物 或 宾语已经内部 saturated。

白:
不晓得是啥,两个坑:a不晓得b是啥。但“连微积分都不晓得是啥”,微积分填掉了一个坑,就没这个问题了。b锁定,只剩a了。“东西”必然指“晓得”的逻辑主语。只剩下这个可能。东西只有在负面情感时才可指人,虽然逻辑上包含人。连……都不晓得是啥,显然承载了这个负面情感。

李:
对。两个坑。但是 b 坑比 a 坑更具有必填性。

在“不知道是啥的东西”里,“东西” 与 “晓得” 没有直接关系, “东西” 微观上是 “是啥” 的主语,宏观上 是 “不晓得是啥” 的主语。“这玩意是大家都不晓得是啥的东西。”
这里“晓得”的主语是“大家”。

白:
有“大家”,先填掉了逻辑主语。“东西”拔不走了。

李:
“晓得”的第二个坑 是宾语子句。“东西” 显然与 “晓得” 没有直接关系,因为根本就没坑了, “晓得” 已经饱和了。如果引进短语结构ps,可以说 “不晓得是啥” 这个 vp,还有两个坑。有两个坑的 vp 听上去很奇怪。但在汉语的所谓 “双主语句式”中有可能存在。

白:
“是”的两个坑,“啥”占了一个

晓得的逻辑宾语是X,S比N优先,顺序比逆序优先。
“这玩意儿他们不晓得”。这种情况又可以了。晓得的逻辑主语跟另一个不兼容。又多出来一个。整体上还是相当于一个及物动词。

李:
大主语 topic,有可能是一个 arg 的坑 也有可能不占坑 那就是 mod。小主语必然填一个坑。

白:
双主语有两种情形,一种是大小主语,往往有part of联系;另一种是宾语提前或话题化,这种没有part of联系。有part of的,可以名词自带坑。没有的,只能消费里面的坑。名词自带坑的,里面就可以是不及物动词了。一个坑就够。另一个靠带坑的名词自吃自吐。自带坑的名词甚至可以传导到更遥远的补语。“他眼睛哭肿了”实际是:1、他哭;2、眼睛肿;3、眼睛是他身体的部分。眼睛,和哭,共享“他”这个萝卜。因为“肿”合并到“哭”,“肿”辖域内的残坑(谁的眼睛)获得免费额度。可以复用已填坑的萝卜。

李:
有 part of 这种特别有意思:“他身体不错”。

== 【他 身体】不错。
== 他 【身体 不错】

这两个看似水火不容的结构,都有各自的合理和优点,二者互补才反映全貌。

(1) “他的身体不错”:显性形式的小词“的”,让“他”降格为修饰语,属于填了“身体”所留的坑的修饰语。

白:
有“的”,修饰语辖域自然归并到被修饰语辖域,也获得免费额度。他,可以既填“的”本身的坑,也可以再填“身体”的坑。

李:
(2) 他身体方面不错:“身体”被降格,降格成后置词短语PP“身体方面”(Postpositional Phrase),类似状语。
(3) “他么,身体不错”,“他”降格为话题状语,用了口语小词“么”。
(4) “他身体好,又聪明” 可算是谓词“升格”(或“小句降格”)。从一元化领导升格为集体领导。本来谓词(譬如“聪明”)就是谓语,但现在“身体好”这个短语或小句整体变成了谓语,与另一个AP谓语“聪明”并列。

白:
“身体好”整体相当于一个不及物动词。两个带坑的成分级联,略去中间环节,还是吃N吐S。

李:
这些现象极端有趣,fascinating。表明 在基本相同的逻辑语义底层结构中,语言表达可以借助语言学的形式手段,给这个底层结构穿不同的衣服,打扮成不同的形象。进而对其语义做某种非核心的修饰。

白:
从填坑角度看只是初等的数学运算。免费额度算清楚了,其他都是小菜一碟。这又打破树的形态,真心不是树。

李:
但是 即便所有的坑都填妥了,那也只是逻辑语义的胜利,底层核心的被求解,表层的细微语义差别(nuances), 那些不同表达方式,那些“升格”、“降格”的不同语言形式。它们所反映的东西 严格地说 也应该被恰当的捕捉和表达。

白:
两件事情,谁和谁有什么关系是逻辑语义的事儿。用什么顺序表达是另一件事。后者也负载信息。

李:
对呀。

白:
比如听说双方之前各知道什么,强调什么,诸如此类。这些不在“主结构”框架内,但是是一些“环境变量”,需要的时候可以从里面捕捉这些信息。

李:
最典型的例子是 “我读书” 与 “我读的书”,二者语义的区别,虽然逻辑语义核心以及填坑关系是相同的。

白:
焦点不同、有定性不同,已然未然不同,甚至单复数也可能不同。我当下正在读的书可能标配是单数,我读过的书标配就是复数。

李:
这些语义 与 逻辑语义,处于不同的层面。逻辑语义是本体(ontoogy)作为模版, 这些语义与本体模版无关。所谓本体模版,说到底就是规定了坑与萝卜,及其 type appropriateness(相谐性),他不反映这些有待填充的模版之间的结构关系,也不反映关系中的节点上附加的语义或细微差别,诸如 强调、委婉、正式、非正式、语气 等。

白:
这些都可以抽象为:语境的坑,只不过这些是需要经常update和reshuffle的。做下一代人机对话不做这个的,都是耍流氓。

李:
不仅仅人机对话,机器翻译也要这个。
30年前,董老师强调要以语言之间的核心,即逻辑语义,作为机器翻译的基础。让我们脑洞大开 深受启蒙。然而 这只是翻译需要正确传达的一个方面,的确是最核心的一面,但不是全部。边缘意义和细微差别,在核心问题基本解决后,就成为需要着力的另一方面。典型的例子是被动语态的机器翻译。从逻辑语义的角度看,主动被动是表层的语言现象,在逻辑上没有地位。因此所有的被动语态都可以转变为逻辑等价的主动语态来翻译。这有合理、逻辑和简明的一面,但人不是这样翻译的:一个高明的译者懂得,什么时候被动可以翻译成主动,什么时候需要翻译成显式的被动,什么时候可以翻译成隐式的被动,什么时候改造成反身自动的表达方式(譬如在英语到法语的翻译中加 se)。

白:
视角选择,也是一个考量因素。有时,被动语态的采用,纯粹是为了视角的连贯。跟立场态度并无直接瓜葛。

李:
总之 逻辑语义是个纲 纲举目不一定张 对目下功夫是区别一个好的系统和一个很好的系统重要指针。

白:
纳入语境的坑,一个好处就是所有填坑的机制可以复用过来,无需另起炉灶。说话人、听话人、处所、时间、先序语段、先序焦点、相对阶位等等,都可以套用本体的subcat。

李:
这个方向探索不多。但现在是可以考虑的时候了。

白:
我考虑很久了。语义是船,语境是河。船有内部结构,但行进也受到河的左右。内部结构不能完全决定行进的选择。

白:
不知道“王冕死了父亲”算是交叉还是不交叉?
王冕游离在外,另一部分的中心词是死,但王冕却不填它的坑,而是去填“父亲”留下的残坑。成为“死了父亲”这个短语的事实上的逻辑主语。但是还原到二元关系,这个link还是在王冕和父亲之间。从形式上看,王冕(N)和父亲填坑后的残坑(/N)中间隔着中心谓词“死(S)”,但这个吃饱了的S对N和/N之间的眉来眼去是无感的。
乐见其成。

F:
如果是语义依存,是non-projective的,是有交叉的,"父亲"这个词的投射不连续。

白:
‘’倒是“父亲”填“死”坑的一刹那,让我们见证了“右侧单坑核心成分”比“左侧单坑核心成分”优先级高的现实。如果双坑,则是左侧核心成分优先级高,我把它们处理成句法上存在填坑关系了。

李:
“王冕死了父亲”的交叉与否的问题,这个以前想过。不交叉原则针对的是句法关系
这是句法关系的逻辑底线,交叉了逻辑上无法说通,所以判违规。还没见过例外:句法关系可以并列,嵌套,但不能交叉。但不交叉原则不适用于逻辑语义关系。其实,严格说,相对于逻辑语义的不应该叫句法关系,也包括词法关系(可以看成是小句法)。总之是形式层面的结构关系。形式层面的结构关系不允许交叉,这个原则是对的。有意思的是,语言中的不同层面的形式结构关系,戴上逻辑语义的眼镜,或映射到逻辑语义的表达的时候,就可能发现交叉现象。原因是昨天说过的,逻辑语义讲的是萝卜和坑的语义关系。逻辑语义的图(graph)中是不包含句法结构层次之间的关系语义的。换句话说,逻辑语义把“结构”打平了。譬如在句法中被局限在词法层面的萝卜,完全有可能去填句法层面的逻辑语义的坑。反之亦然:词法层面中的坑,完全有可能让句法层面的萝卜去填。用乔老爷的Xbar句法框架或概念来说就是,语言单位X的层次,在逻辑语义看来是不重要甚至不存在的,无论是 X 是 -1 (我把词法内部的层上标为负数),0(词一级),1(组一级),2(短语一级)。萝卜与坑可以在这些不同层次中继承或跳转,但是句法上却有层次之间的区别和禁忌。

这些层次以及层次间的关系和规定(譬如不交叉原则)是客观存在的反映,是逻辑语义以外的另一层结构语义。这种东西在重视层级的短语结构句法(PSG)及其表达中,体现得较好。在不重视层级的依存文法(DG)中就反映和表达得不好或不够。不管我多么喜欢DG,多么讨厌PSG表达的叠床架屋,我还是要指出DG的某些不足,正是PSG的长处。

回到白老师的例子,可以看得清晰具体一些:“王冕死了父亲”。PSG句法上,王冕 是NP,“死了父亲”是VP,构成S。VP里面“死了”是V-bar, “父亲”是NP宾语。这里面的结构不可能有任何交叉出现。“王冕”与“父亲”处于不同的层次,句法不允许一个单位钻进另一单位的里面去建立联系,这是违反了君臣父子的天条。一个句法结构,对外就是一个元素,里面是黑箱子,不透明(但可以利用某种机制传递某种东西)。唯此,才能维护结构的清晰。但是到了逻辑语义,这些条条框框都可以打破:一个儿子可以有n个老子,交叉也不是不可以。树(tree)是无法承载逻辑语义的任意性和结构扁平化了,于是需要用图(graph)。我早就说过,DG本性上比较亲近逻辑语义(深层核心结构),而PSG则亲近的表层句法结构。很多人以为它们是互换的或等价的,只是表达(reprentation)方式不同。其实不仅如此。在我们饭还吃不饱的时候,我们首先想到的肚子问题,核心问题。当我们衣食无忧的时候,我们就要讲究全面一些,核心和边缘都不放过。并不是不放过边缘,不放过表层结构语义,就一定要回到PSG,但是至少仅仅逻辑语义是不够的,还需要添加其他,就如白老师昨天提到的那些以及他的一些表达方案。

白:
这些所谓的句法,功劳不大,脾气倒是不小。比他多识别出有价值的二元关系,反而有毛病了。哪儿说理去。我认为这里面存在一个次序问题。

站在外层N的角度,它确实填了一个/N的坑。但不同粒度会看见不同的结果。“死了父亲”是一个联合体,这个联合体挖了一个名词坑,“王冕”填进去,天造地设、严丝合缝。既没有穿越也没有交叉。“他哭肿了眼睛”也是一样。“肿了眼睛”作为一个联合体挖了一个名词坑。和“哭”的名词坑一道,共享“他”这个萝卜。

中心词作为组块的代表,统一对外提供坑。这是对的。但是这坑未必是中心词自带的,可以是中心词在组块内部兼并而来的。把坑拘泥于中心词自带的坑,相当于用镣铐把自己锁起来。何苦自己为难自己?

李:
今天的对话,符号逻辑,参杂点黑话与绿色幽默,有点绕,烧点脑。管他呢,还是发了吧。

白:
“把字句”与补语所带坑的深度捆绑,也是受这个“联合体意义上的坑”规律所支配的。“他把眼睛哭肿了”单看“哭”和“肿”,没有坑可以共享萝卜,“哭”与human相谐,“肿”与body part相谐,二者尿不到一个壶里。但是“眼睛”恰恰在这里起到了“转换插头”的作用,吃human,吐human body。看这个“肿了眼睛”的联合体所带的坑,与“哭”所带的坑,完全相谐,恰恰是可以共享的了。所以,在PSG那里避之唯恐不及的穿越交叉,其实隐藏着重大玄机。恰如其分地把它请回句法,可以起到四两拨千斤的作用。我对什么该放在句法层面,其实只有一个标准,能描述谁和谁有关系。如果谁和谁就是交叉着发生关系,句法不仅不应该回避,而且应该忠实描述。更何况,大的方面,中心词代表所在组块对外发生关系方面,并无违反。只是“过继的坑”也可以代替“亲生的坑”而已。树状结构、亲生的坑,都不应该成为忠实描述“谁跟谁有关系”的障碍。如果有障碍,一定是障碍错了而不是关系错了。

退一步海阔天空。只要把“在你辖域里残留的坑”统统在名义上算作“你的坑”,什么都结了。

李:
说得不错。但估计乔老爷是不认账的。他在句法与语义之间打隔断,坚信不隔断 谁也做不好 做不纯粹和深入。何况 语义是全人类共同的 哪有句法有性格和多姿多彩又万变不离其宗呢。他的普遍文法(UG) 仍然基于句法独立于语义的根本原则。只有句法才是真正的语言学。到了语义,语言学就开始参杂逻辑的杂质了。

白:
我说的也都是句法,不是语义。只不过是能给语义省点事儿的句法。

李:
夹杂了本体,或本体的隐藏式 譬如 大数据中间件,就不能说是纯句法,因为常识揉进了形式系统。

白:
只是在控制(怎么做)层面引入了本体/大数据,在描述(是什么)层面无需引入。而老乔的语言学一样是不管控制层面的事儿的。也就是说,如果只是为了写一本句法书而不是为了做parser,本体连一句话都不需要提。那就在这个层面比,谁揭示了更多的结构性信息。

 

【相关】

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

中文处理

Parsing

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

《朝华午拾》总目录

大数据淹没下的冰美人: 喜欢范冰冰的理由

最近两年“忽悠”大数据,常有网友问我:OK,我看到了,热点话题你是可以从大数据中挖掘出一些东东来,做成奇奇怪怪的词云来,蛮唬人的。可这些信息有什么价值?差不多都是我耳闻过的 rumors 。

Good question,说破大天去,挖掘出来的情报如果没有信息量(e.g.人所共知),或者只是进一步传谣,所谓大数据及其挖掘不过是浮云。大数据专家?饶了我吧。不如回家种红薯,或可产生些许价值。But wait,这个问题细究起来,绝对不是简单否定,就可解决的。至少可以从下面几个方面来看:

1. 对象和目的:回顾一下,我们的对象是海量增长的社会媒体大数据,我们的目的是透过这些 人一辈子也无法尽览的大数据,挖掘民意和舆情。这些舆情都是有统计意义的现实存在,而不是存在于个别人头脑里的天才思想,只要挖掘出来的情报具有代表性,这些情报是不是新颖,不影响我们为挖掘所设立的舆情目标。

2. 信息量问题:乍看,挖掘出来的情报都似有所闻,但其实挖掘还是增加了信息的价值。似有所闻并不奇怪,本来就是流传广泛的公共信息(open sources)。所增加的信息在于,作为个体,每个人的所闻都是零碎的,不可能具有大数据挖掘的全面。更重要的是,即便你是一个 人生即网网即人生 的无可救药的网虫,多数挖掘对你都不是新闻,你对这些信息也不可能具有量化的排序能力。就说你是冰美人死心塌地的粉丝,你也不可能给我们列出大众心目中的冰冰小姐随时间曲线的形象消长,也无法量化大家喜欢她或者不喜欢她的种种理由的分布。你也许可以蒙对几项,你绝不可能给出本文给出的结果。这些排序和分布就是附加的新信息。从另一个角度看这个问题,如果 90% 的挖掘结果不具有新闻价值,而只具有印证的意义(但也间接说明大数据挖掘是靠谱的),那也不坏。作为信息消费者,我们会自然把注意力集中到意想不到的情报上去,wow,原来还有这个啊。这些 surprise info 是你不借助大数据深度挖掘工具永远无法看到的信息,它被淹没在数据的海洋中。

3.  挖掘的情报价值:这个话题太大,不同的消费者,政府、企业或个人,可以看到和用到不同的价值,你觉得没有价值的结果,在有心者眼里可能具有决定的意义。一个企业愿意花百万美元去挖掘社煤大数据中的客户情报,他们必然是看到了一般人感觉不到的挖掘价值。手工民意调查的时代即将过去,因为大数据的挖掘会更加多快好省。如果你是范冰冰团队的策划人,下述挖掘对整个团队的市场化努力以及公关策略的调整,应该具有相当的参考价值。

回到冰美人的大数据挖掘来。前面的博文已经展示了舆情概貌,总之是冰小姐现在是如日中天,压倒性地被大众喜爱,甚至迷恋。那么喜欢她的理由呢?先看褒贬云图:

理由千千万,代表性的理由归纳列表如下:

Why like her Mentions
漂亮美艳 …… 6420
霸气 2493
火, 红 1208
范冰冰的胸 686
公益项目 684
时尚女王 446
武媚娘传奇 326
底妆白皙 298
年轻 232
时尚 229
敬业 133
范爷的皮肤 164
 

成功

130
愈挫愈勇 121
低调 121
大方 118
聪明 110
精湛 92
精致 87
合拍 84
成熟 75

我个人的理由也在其列呢:看来不少人与我一样,因为《武媚娘传奇》而喜欢她。我们择其几点,drill down  看看真实数据怎样表达的:

(1) 前两项压倒性的美丽和霸气,是喜欢的最大理由。

自动化所吴同...

范爷霸气

barbiewong

范冰冰靚到

sunnynoe

范冰冰最好看

奢享时光。

范爷好看

@janiceho96  范冰冰好美好美
lingwu01

还是范爷霸气威武

THE_MIST

范冰冰幾靚

奢享时光。F

范冰冰好漂亮

caotiantian9

还是喜欢范爷, 霸气

莫欺少年穷丶楠

范冰冰, 妖艳

(2) 公益项目:原来这条公益项目的新闻大体是同一个来源,被各大网站反复转载,至少说明冰小姐团队做得很成功。

这名字真的无语

12月11日, 吴亦凡参加《我们小区艺体能》“圣诞慈善篮球赛”,慈善赛的收入将在比赛结束后以冠军队的名义捐赠给福利机构, 用于帮助困难居民。 2014年6月, 吴亦凡加入范冰冰公益项目“爱里的心”捐赠队伍, 成为继李嘉诚后第二个捐助的人。

(3) 范冰冰的胸:女星被人评头论足,不足为怪。但范小姐的胸之所以跃升为好评前五,其实有两个原因。

一是冰美人的自身条件的优越(魔鬼身材)以及形象塑造的重点所致,性感女神,是很多人的由衷赞佩。

二是在传统社会与现代化过程的急剧变革时期,她的美胸展示不仅仅是粉丝喜爱的理由,也成为争议的焦点(事实上,后面还会提到,冰美人的胸不仅是喜爱的理由,也是不喜爱的理由,尺度太大,被某些人认为是伤风败俗)。有争议就会有卫护、有赞美:

节奏大师大手子

范冰冰的胸真的好美

野猪

谈谈法制晚报中青网新华社死磕毕福剑与不道德视频的播放 范冰冰的胸没有危害, 有危害的是你龌蹉的思想意识; 毕福剑的嘴没有危害, 有危害的是僵化教条、极端政治的思维方式。

其实,以范冰冰饰演的武媚娘为代表的唐代仕女式的袒胸露背,曾经被广电局严审,视为洪水猛兽,以致片子被勒令重新剪接,曾经引起社会媒体的轩然大波, 编剧李亚玲的痛心评论传遍全网:

烟入眼而落泪

此事件造成了颇为强烈的网络热议。 著名编剧李亚玲做出评论:“《武媚娘传奇》中的胸确实剪掉了! 真没想到21世纪的人会这么保守, 甚至不如千年前的唐人开放。

自由飞翔的鸟人

在停播的四天中, 片方解决了重大技术问题, 紧锣密鼓的将原有画面全部裁成了大头贴, 斥资千万的服装造型只剩下脸上的粉底...... 著名编剧李亚玲就此事做出评论:“《武媚娘传奇》中的胸确实剪掉了! 真没想到21世纪的人会这么保守, 甚至不如千年前的唐人开放。

Unknown

由于播出方湖南卫视在一官方微博中, 对于此次停播给出的“因技术原因”这一理由过于简单, 使网友在一头雾水的同时, 也对相关部门的管理水平提出质疑。 对此, 著名编剧李亚玲做出评论:“《武媚娘传奇》中的胸确实剪掉了! 真没想到21世纪的人会这么保守, 甚至不如千年前的唐人开放。

MJ浮生若梦

昨晚复播的三集中,“武媚娘”和其他众妃子宫女们的胸部镜头全部被剪, 画面仅呈现远景和肩膀以上的近景, 网友纷纷吐槽:“现在一个屏幕全是脸”、“满屏都是大头照”。 著名编剧李亚玲也表达了自己的看法:“《武媚娘传奇》中的胸确实剪掉了! 真没想到21世纪的人会这么保守, 甚至不如千年前的唐人开放。”

光明社区

我一个女性都看不下去了, 还我们原版。” 对此, 著名编剧李亚玲做出评论:“《武媚娘传奇》中的胸确实剪掉了! 真没想到21世纪的人会这么保守, 甚至不如千年前的唐人开放。

(3) 底妆白皙:地球人都明白,冰小姐代表了化妆艺术的巅峰。她的底妆衬托了她形象的明艳绝色。有老友说,我只爱化妆的冰冰。

Unknown

蕾哈娜 (Rihanna) 的阳光感卷发, 与健康的蜜糖棕色皮肤融为一体, 浓密卷翘的假睫毛塑造出迷人电眼。 鱼草网化妆猜你喜欢的文章: 范爷搪瓷底妆白皙胜雪 女星美妆花尽心思 泫雅红唇领衔4minute 秀冷傲别样风情 赵丽颖周冬雨戏内争宠 戏外淡妆拼清纯

503247463

【范冰冰搪瓷底妆白皙胜雪彩妆花尽心思】近日, 电影《一夜惊喜》在北京召开发布会。 主演范冰冰、蒋劲夫、李治廷、导演金依萌出席, 范冰冰当天搪瓷底妆展现如雪的肌肤, 纤长浓密的假睫毛是范爷明亮双眸的利器, 加上丰盈感十足的大波浪卷发, 俨然真实版芭比娃娃

(4)皮肤:光靠化妆是做不了影后的,赞美冰美人除了酥胸外,就是她凝脂般的雪肤了(她的脸相对比之下,则争议较多,有机会可以挖掘展示一下,总之是粉丝视若桃花,爱得要死,但也有横挑鼻子竖挑眼的嫌她面相不正):

博士一年级

范爷的皮肤真好

zahara蕾儿

这时皮肤吸收最好! 范爷的皮肤为什么这么好! 就是每日坚持一片面膜!

Unknown

难怪范爷的皮肤这么棒呢

幻雨不幻风

范爷的皮肤貌似一直都挺好的

ambrosia52

不过范爷的皮肤真心好啊·羡慕! 我都是懒, 嫌麻烦不敷面膜。

糖口香糖

范爷的皮肤真是没话说, 和林志玲有的一拼

关闭

范爷的皮肤真的好好哟, 哇,坚持15年每天用面膜呀, 向她看齐。

十世轮回阴阳间

范爷的皮肤一直都很好, 人家是纯天然的

Unknown

谢霆锋与范冰冰亲密合影 范爷的皮肤白皙细腻 在《锋味》中, 范冰冰真人出镜, 与谢霆锋暧昧互动。

康婕

我想想啊... 高圆圆, 范爷的皮肤不错, 范范也可以, 春哥, AG 虽然是整的· .... 不过他们的黑眼圈

总之,喜欢女星的理由,看来还是以貌取人为主,人之常情。其他品质(敬业、低调、聪明、成熟云云)也有提及,当无法与美胸美肤相比。那么不喜欢的理由呢?大约多与娱乐界的绯闻和流言蜚语有关,这方面挖掘下去近乎传谣了,不太好写,假语村言,点到为止,留待下篇博文拿捏分寸吧。

 

【相关】

【社煤挖掘:大数据女星排行榜】

【社煤挖掘:大数据男神排行榜】

【大数据淹没下的冰美人】的系列博文链接:

大数据淹没下的冰美人(之一)

大数据淹没下的冰美人(之二) 

大数据淹没下的冰美人(之四): 流言蜚语篇(慎入)

中文处理

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

《朝华午拾》总目录

 

【社煤挖掘:大数据女星排行榜】

Mirror mirror on the wall, who now is the fairest one of all?

自从毛委员开启新中国,半个多世纪以来影视娱乐界历经磨难起伏,如今迎来了百花齐放星光灿烂的黄金时代。被无数粉丝奉为当今中国影视女皇的范冰冰,在众多女星中究竟排名如何?我们让大数据说话,让社会媒体告诉你。

先比较一下据说当今PK范冰冰呼声最高的张馨予。

PK

张馨予天生丽质,比范冰冰更接地气,可惜她饰演的几位角色都是刁毒的坏女人,据说连带她也受牵累。下表是过去27个月社煤大数据挖掘的概览比较:

单看这概览便知,在大家心目中,张馨予还嫩了点,无法挑战范冰冰的影后地位。从人气上看,张小姐还不及范小姐的四分之一;褒贬指标 45% 虽然算是不错的媒体形象了,但也远远不及范冰冰的 62%。粉丝的狂热度也略逊一筹(70 pk 76)。下图是时间曲线。首先是热议度比较,可见出除了 2013 年十月前后,张馨予的热议度陡升外(为什么陡升,等空来细细挖掘看),过去两年多的其余时间均不及冰小姐。

反映媒体形象的褒贬指标(net-sentiment)的曲线表明,范冰冰差不多步步领先张馨予,而且评价度一直比较平稳。张馨予则起伏较大,只在四个时间点短暂超越范冰冰。

下面的情绪指标(passion intensity)也类似,不过两位更加接近(有三个时间点馨予短暂超越冰冰),说明各自都有一批狂热死忠的粉丝,争吵起来不惧激烈。

上述挖掘比较的结果,用我们创造的同时含有人气指标(品牌大小或泡泡的大小来表示),褒贬指标(net sentiment 横轴)和激情指标(passion intensity 纵轴)的多维品牌比较一览图 (Brand Passion Index,BPI) 独特图示如下:

张馨予不在话下,那么其他红星呢?请看:

哈,论人气,范冰冰稳居第一,比第二位的章子怡还要高出一倍。可论受欢迎的程度(褒贬度)这项硬指标,美丽大方接地气的高圆圆才是普罗百姓(也是笔者)心目中真正的无冕之后,高达 74 %,比范小姐高出 12 个点。

网民心目中的真正星后 高圆圆

(可惜的是,我所喜欢的徐静蕾风光不再,逐渐淡出女星圈,步入中年的她已经更多转型为导演了。)

高圆圆 pk 范冰冰是完胜。过去两年多除了几个短暂的时间点,圆圆是一路领先:

范冰冰只能说是话题女王或眼球女王,高圆圆才是网民心目中的真正皇后:

高圆圆为什么具有如此高的口碑成为网民的偶像呢?下面是圆圆的两张云图,可以提供一点insights:

最后把调查的六位当红女星的过去两年多的比较曲线一并提供如下,供大数据爱好者们研究参照:

 

【后记】

《圆冰之战花絮:泥沙龙笔记,核武器封喉篇》

我:
这个需要较真,为大数据正名。自摸、莫衷一是、粉丝之战都是有的,根子都是缺乏大数据的nlp,有了nlp,我们就坐在大数据之上,而不是被数据淹死,看不到真像,无论真像多么残酷。你冰的脑残粉多不多,当然不少,不独你一个,有图为证

大数据淹没下的冰美人(之三): 喜欢的理由

但是,世界上怕就怕大数据nlp和但是二词,与脑残粉一样巨多的是流言蜚语:大数据淹没下的冰美人(之四): 流言蜚语篇(慎入)。而事实上,流言蜚语对你冰的buzz的贡献巨大,你懂的,国人奏好这口。这些都是舆情,但只是舆情的一个片面,大象的耳朵或大腿而已。真正决定舆情的是大数据的褒贬比例(所谓 net sentiment),为此立委洋洋洒洒写了五大篇大数据调查的总结系列,对你冰算是仁至义尽了吧。

请看结论篇: 大数据淹没下的冰美人(之五): 星光灿烂谁为最?

比没文化更可怕的是没核武器。圆冰之战,该结束了吧

 

【大数据淹没下的冰美人】的系列博文链接:

大数据淹没下的冰美人(之一)
大数据淹没下的冰美人(之二)

大数据淹没下的冰美人(之三): 喜欢的理由

大数据淹没下的冰美人(之四): 流言蜚语篇

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

 

【社煤挖掘:大数据男神排行榜】

女弟子有花痴者,为心目中的男神排名争论不休。究竟大众舆论是怎样的呢?为女生谋福利,咱们大数据挖掘一把,也好增加她们的谈资。

以前为女星排名狠狠挖掘过一次(见篇末【相关博文】),结果甚合吾意,高圆圆是众望所归当之无愧的女皇,而范冰冰不过是炒作女神。

到了男星,就麻烦了,根本就记不住谁是谁,在我眼里,他们跟你我一样,都是一坨泥巴。于是专从女生中收集候选人,做了这次社会媒体的形象排名,叫做男神榜,供女生争论和消遣用。

无数女为你痴狂:男神榜首宁泽涛

初步排名结果如下。宁泽涛高居榜首。进一步的细节挖掘待后发布。

看看这张男星图,体育圈的宁泽涛出类拔萃,卓尔不群的样子。

男神对比图(Brand Passion Index)里三个维度,褒贬度(毁誉的比例),狂热度(就是脑残度),炒作度(背后往往有推手)。

炒作由圈的大小表示,决定于媒体中提及和眼球数的多寡。另外两个维度是 XY 坐标,X 是褒贬,Y 是热度。

这够一目了然了吧,这图是有专利的。

下表是中文社会媒体大数据过去两年半对这八位男星自动舆情挖掘排列出来的男神排行榜。

男神第二名:靳东

男神第三名:钟汉良

男神第四名:王凯

男神第五名:胡歌

男神第六名:林丹

男神第八名:霍建华

 

Download

impressions 是眼球数,与炒作度mentions基本一致。最重要的是 net-sentiment 褒贬指数,喜欢与不喜欢的比例,好话多于坏话就是零度以上,坏话多于好话就是零下。男神嘛,都在零上。50% 算是相当地受欢迎了。

竖线不是零度,竖线是被比较的几位的中值。

passion 是狂热度,情绪的烈度,数字越大,脑残越多。


Download

这是炒作度排名。黄晓明为最。估计是那场婚礼闹的,虽然他的受欢迎程度其实很一般,褒贬指数才 38。但以我男生的眼光,他确实有型,五官跟雕塑刀刻似的,而且也有胸肌。可你为啥着急娶了女神 Baby 呢。世纪婚礼究竟是给你涨了粉丝,还是碎了粉丝的心,下次大数据挖掘告诉你。

男神第七名黄晓明

 

【相关博文】

《圣皋陶之苗裔兮》

《立委随笔:圣皋陶之苗裔兮》 (6833 bytes)
Posted by: 立委
Date: April 30, 2007 04:28PM

 

中国文人自屈原始,就喜欢吹嘘自己祖上如何如何,“帝高阳之苗裔兮”云云,以示自己根正苗红,血统高贵。这两天整理校对《李老夫子遗墨:序类》,第一篇“李氏创修宗谱序”也提到“李氏”的来源如下: 

“按李氏之先,自嬴姓顓頊高阳氏曰皋陶者,为堯大理官,始为理氏,至殷紂时有曰利贞者,偕母逃难于伊候之墟,食李实以全生,复改理为李,子孙因以为氏焉。” 

以前读《李老夫子遗墨》比较偷懒,基本跳过晦涩难懂的李老夫子正文,而对《遗墨附录》中更贴近近現代生活的两位叔爷的“时文”感兴趣,因此对这段“李氏”来源的掌故没有印象。甜甜曾经问我:“Dad, you said our family name Li (Lee) means plum, how come? Does that mean we Li family like plums in particular?”我当时不知道“李氏”跟李子到底有沒有关联,只好顾左右而言他,告诉甜甜,据最新统计,“李氏”似乎已经上升到中国的(可能也是世界上的)第一大姓,extremely popular, 就連小小的水牛城辦公室就有兩位 Uncle Li's, 其中一位還是朝鮮族裔,但八百年前都是一家人哪。 

李老夫子對祖上家道中落、改“理”為“李”、“指树为姓”的歷史,撰述失之簡陋。立委于是上網進一步搜尋資料,查得《李姓血祖皋陶并李姓考》([zhidao.baidu.com])。原來,李家的始祖皋陶在堯舜時代就任國家重臣“大理官”(司法部長),清明正則,功勛卓著,經邦緯國,英名蓋世,舜帝親立為接班人,甚至孔夫子也拜其为上古“四圣”之一。古人以官为氏,因称理氏。所惜圣皋陶帝業未举而病亡。至商紂王朝,圣皋陶的后代理征仍繼任理官,正直清廉,为荒淫昏庸的纣王所不容,终遭殺身之祸。于是,“理征的妻子契和氏带着幼子利贞逃了出来,奔于伊候之墟(今河南境内),饥饿不堪,见一树上结有果实,便采了来吃,母子得以活命,其后,利贞畏于纣王的追捕而不敢姓理,于是以‘木子’救命之恩,改称李氏”。天下第一大姓李氏由此而宗派繁衍,生生不息。 

我告訴甜甜:咱們非但出身書香門第,還是大圣人皋陶的传人呢。 

2007-04-30 

================================
[zhidao.baidu.com] 
李姓血祖皋陶并李姓考 

据《秘笈新书》引《姓纂》及《新唐书.宗室世系表》记载:“李氏,帝颛顼高阳之裔。颛顼生大业,大业生女华,女华生咎繇(皋陶)”。皋陶是原始社会时期东夷部族的首领,曾经任理官,掌管当时部落联盟的司法大权,他曾经主持制定了五种刑罚(墨、劓、非刂、宫、大辟),并依照罪行的轻重来量刑治之,还对不用五刑的罪人分等流放,天下人莫不信服。 

传说皋陶专门训养了一头名叫(角圭)(角虎)的独角奇兽,这奇兽有一种特异功能,那就是能辩善恶真伪,它一遇见有罪的人,就会用尖利的独角去冲撞;一发现谁在说假话,就会怒气冲冲,令人生畏,皋陶用这样的奇兽断案,真是再好不过了,所以,皋陶以善理刑狱著称于世,神话毕竟是神话,可这个神话故事却把人们带到遥远的上古时代,仿佛看到皋陶正直而果断的形象。 

正是由于皋陶崇高的威望,所以至舜继位后,仍用皋陶为大理,于是,天下罪恶得以平正,人们安居乐业,任职期间,皋陶多次提出贤明的谋略,认为治天下须慎修其身,特别强调“知人”和“安民”他的主张深得舜帝赏识,舜帝以皋陶最贤,将他作为继位的候选人,但是,舜帝还未来得及把帝位禅让给皋陶,皋陶就病逝了。 

据《史记》引《括地志》云:皋陶死后“葬之于六”。即现安徽省六安市城东7.5公里、六安至合肥公路北侧15米处,东北35米处为皋陶祠旧址。皋陶被孔子列为上古“四圣”之一,《史记·索隐》载:“六安国六安,咎后偃姓所封国”,故六安有皋城之称。皋陶墓为圆形土冢,周长97米,高6.2米,墓顶平面直径4米,上有黄连木一棵,形同华盖,墓前有清同治年(1869年)安徽布政使吴坤修手书“古皋陶墓”碑刻一块,碑高1.82米,宽0.92米。1981年公布为六安县重点文物保护单位,同年被上海辞书出版社收入《中国名胜大辞典》。据《史记》引《括地志》记载:禹封其少子于六,以奉其祀,以后六便成为一个偃姓小国,楚穆王火之,无谱。皋陶有长子伯益,《帝王世纪》说:“伯翳(益),为舜王畜多,故赐姓赢氏。”可知,伯益因善训鸟兽而被舜帝赐了赢姓,成为赢姓部落的首领,皋陶的次子名仲甄,又叫仲偃,仍以偃为姓,以后,偃姓奉皋陶为祖,以姓为氏,皋陶之后,历虞、夏、商,26二十六世为理官,按照古人以官为氏的习惯,故称皋陶及其子孙为理氏,以官为氏的理氏,传至理征时,任商纣王的理官,时商纣王昏庸无道,沉湎于女色,理征屡屡进谏,执法不阿,为昏淫的纣王所不容,终遭亡身之祸,理征的妻子契和氏带着幼子利贞逃了出来,奔于伊候之墟(今河南境内),饥饿不堪,见一树上结有果实,便采了来吃,母子得以活命,其后,利贞畏于纣王的追捕而不敢姓理,于是以“木子”救命之恩,改称李氏,这就是后来“指树为姓”之说,按此说,李姓之始当在商末周初。 

综上所述,李姓以皋陶为血缘始祖,是偃姓的后裔,曾以官为氏称理姓,据清儒秦嘉谟所辑《世本》案:古理、里、李三字并通,《史记.五帝本纪》记载皋陶为大理,而《管之法法》记载:皋陶为李(理);《史记.魏世家》记为“李克”而《韩诗外传》则记为“里克”等等,因而,李姓以做作理官的皋陶为血缘始祖之说,实不为妄。理征之子利贞,当是李姓的得姓始祖。 

==============================

《李老夫子遗墨:序类》 

李氏创修宗谱序 

攷之姜嫄履跡,哉生弃,传十五世来,周发纘绪,不源后稷,而统古公。君子曰,是殆亲其亲者欤,自亲亲之谊不明,编世族纪者,徒事頇颟,不仗声威,即席閥(?原文门外代内,查无此字)阅,甚有爬罗剔抉,不问谁何,同姓者是,以为绣像演图,不如是不足以充门闾而芬齿颊,而其劳之娜愉不顾焉,又孰知有大谬不然者哉。客有繇旧镇来者,告于余曰,今秋吾友李君宝初,惧族之散,而思有以收之,爰召号族人,创修宗谱,以盛公由豫章迁繁为一世祖,夫盛公字法先,号纯夫,明初官指挥使也,其父隆二公讳思明,字景彰,乘元末乱,击贼累月不脱甲,亦以功封武德将军,一门发迹,声施烂然,至今犹可想见。迨隆二公以疾卒于军,公收骸骨归,后随太祖大军南下,过繁阳之荻港,道经旧镇,慕其风淳俗朴,山水清奇,遂上疏解职,家于此,生子四,太?(左辶右上口下佳)、太铠、太钦、太钊,均业儒,卓卓有声,公殆汉之疏广疏受之流亚欤。伊族以公为始祖,其高风亮节,固堪光宠宗族,而为千百世子孙之法守,独于隆二公以上之世系,付之阙如,揆诸孝子慈孙追远之苦衷,得毋犹有遗议乎。余应之曰,唯唯,否否,不然,昆仑山之脉,而五岳则自为宗焉。星宿水之源,而九河则自为派焉。按李氏之先,自嬴姓顓頊高阳氏曰皋陶者,为尧大理官,始为理氏,至殷紂时有曰利贞者,偕母逃难于伊候之墟,食李实以全生,复改理为李,子孙因以为氏焉。他如周之耳,汉之广,唐之渊,以及宋元两朝,贤人君子,棋布于史册诸列传者,难以屈指数。然斯人也,固为千百世夫人之先河,非仅仅足楷模一姓之子孙也。如必检入家乘,附会焉曲为点缀,颜之曰,某某是吾宗,某某是吾派,纵不近渎,亦私也,非公也,亦小之乎视若而人也,况谱以明血统,别异同,辨亲疏,崇实也,昭敬也,骨肉而途人者非,途人而骨肉者亦非也。语云,五百年前一家,盖谓同姓而异族,犹山水之各宗其宗,各派其派,总之不离亲其亲者为近是,如客所言,宝初先生循孔子删书自唐虞例,以创修兹谱也,可谓曰知矣。呜呼,噫嘻,余有感焉。世道盛衰之辜较,风俗人心而已。程子常论管摄人心厚风俗,莫若明谱系立宗法,夫宗法之废久矣,惟谱系修明,秩伦著恩,犹有古宗法之遗意,今宝初先生举此钜典,行见宗族睦矣,人心固而风俗厚矣,是即维持世道之权舆也。余牖下微伧,安敢雌黄其侧,幸蒙不弃,谨作歌以貺之,歌曰:满腔铁血定山川,不为功名利禄缠,好挈妻与眷,尽泛五湖船。曷若核图问以卜,兼相彼流泉,栽花种竹结书缘,兰桂阶庭子孙贤,君不见姬宗稼穑开基先,旦复旦兮八百,年俎豆莘莘礼教宣,喆人起兮世泽延,宝级琅函寿地天,荫流瓜瓞永绵绵。 

--------------------------------------------------
喆 zhé ◎ 同“哲”,多用于人名。English: ◎ a sage; wise; sagacious 
瓞 拼音:dié ◎ 小瓜。English: ◎ young melons just forming

Date: May 02, 2007 10:44AM
反正小立委不冒泡,不还嘴,乘机歪批他的祖宗 (80528) 
Posted by: 田牛 
Date: May 01, 2007 11:07PM 摘一段狗来的《旧五代史》,看看宋人薛居正等是怎么议论“认祖归宗”大原则的。 
立委冒泡,还嘴,我立刻认罪删帖。 [www.guoxue.com] 

王者祖有功而宗有德,汉、魏之制,非有功德不得立为祖宗,商、周受命,以稷、契有大功于唐、虞之际,故追尊为太祖。自秦、汉之后,其礼不然,虽祖有功,仍须亲庙。今亦粗言往例,以取证明。秦称造父之后,不以造父为始祖;汉称唐尧、刘累之后,不以尧、累为始祖;魏称曹参之后,不以参为始祖;晋称赵将司马卯之后,不以仰为始祖;宋称汉楚元王之后,不以元王为始祖;齐、梁皆称萧何之后,不以萧何为始祖;陈称太丘长陈实之后,不以实为始祖;元魏称李陵之后,不以陵为始祖;后周称神农之后,不以神农为始祖;隋称杨震之后,不以杨震为始祖;唐称皋陶、老子之后,不以皋陶、老子为始祖。 

===========================
哈哈,“认祖归宗”的大原则?曾祖李老夫子對“妄将古時帝王為祖者”向不以為然,早有所論焉: 

“余閱譜夥矣,類皆以古時聖帝明王為之祖,而自為其後者也,然古時聖帝明王,信有子孫矣,而古時平民,獨無子孫乎,豈知非其祖而祖之,春秋祭祀,其来格乎,當祖而不祖之,将置其祖于何地,此皆無知無識,何足道也,歲庚午秋,余詣黑沙洲省岳母,舅君輔傑将其父創修宗譜遺稿示余,檢閱全卷,自某公遷繁以後,支分派衍,皆近代可考,今育坤先生纠集族諸君子,纂輯而編訂之,以文理公为始祖,虽有老譜,而残篇破简,恐不足徴,虽有世系,而代遠年湮,恐不足信,此中不敢棄遺,亦不敢妄續,雖本先岳之遗规,而昭血統,明宗法,所謂善作者不必善成,善繼者唯能善述,先生之與余先岳,其功績均垂不朽,先生少從余先父游,其得余先父之遗訓欤,抑先生獨具卓见欤,有此卓见,以親妄将古時帝王為祖者,相去奚啻霄壤也,至於先生偉功巨業,自有名功巨卿序述,余才薄筆疏,焉敢論次,今貴族華乘将成,謹以所見,约略序之如此。”

【相关】

《李老夫子遗墨》总目次

《老爸 - 人生记忆:风雨几春秋》

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

Guo:
@白 你前几天提到“算符优先”,今天又提type,猜想你的二元相偕是离散(而不是连续)的。能问下你的运算符和类型大概的数目规模吗?

完全不用“复杂特征集”,把所有不同关系都拍平在同一层,感觉颗粒度不容易掌握。

白:
(1)type是贯穿于句法和语义的;(2)算符优先是仅适用于句法的;(3)二元相谐是仅适用于语义中间件(subcat+统计)的;(4)平拍是贯穿于句法和语义的。算符的数目几十;句法cat少得可怜;subcat目前1000多。

Guo:
几件不同的事情!谢了!

白:
神奇的是,少得可怜的句法cat,居然管了这么多事儿。勾画了毛毛虫的“包络”。subcat确定了毛毛虫的细节。

李:
平拍是what

白:
把萝卜和坑搁同一个桌面上。坑不再嵌套。就是单子化的意思。

李:
哦 扁平化。
我自己在扁平化过程中,也有很多机关很好玩的,我叫做原子化。原子了,但taxonomy还在。非常轻便利索,但一样容纳知识结构。

白:
taxonomy是框架定义,不是实例定义。具体到实例都是扁平化的。

李:
本体(ontology)里面的主线 ISA 就是 taxonomy. 社科院跟刘老师做MT的时候,就是我提议的扁平化,说话30多年了。刘老师当时很高兴,给起了一个高大上的名字叫背景知识库(BGKB)。与白老师现在的中间件处于同一个地位。

白:
一个词在说人,就犯不上扯猿猴啊灵长类什么的。

李:
问题在当那个说【人】的词填坑的时候,【灵长类】啥的需要参与。当然,用大数据中间件也许可以绕过去了。但传统的优选语义的约束必须要用到 taxonomy,具体说就是,如果是用到灵长类,语义相谐给满分。

白:
萝卜和坑的subcat不一致时需要借助taxonomy一致化,具体就是求格(lattice)的下确界。

李:
就是。
理论上taxonomy往上是满分,taxonomy 向下需要打个折扣。你要的是【人】,那遇到【职业】的话,是满分。你要的是【职业】,遇到了【人】,那需要打个折扣,因为并不是所有的人都有职业。

白:
但是所谓绕过去,只是在借助subcat解决parsing问题(例如伪歧义)的意义上绕过去,解决语义问题则是绕不过去的。也就是说,大数据可以部分替代subcat来确定谁跟谁有关系,但不能进一步确定是什么关系。确定是什么关系(落到哪个槽里)还得subcat出马。

Guo:
说到这,此毛毛虫已非彼毛毛虫了。

@wei 在模式匹配下的分层,我理解主要是为了方便(在nonterminal级)lookahead并引入有限的上下文相关。

其实顺着LR(k)的思路,对其稍加改造,也是可以对含有一定上下文相关规则的文法等价地单次无回溯做parsing的。

李:
等价这种东西理论上可以证明,实际上做起来就知道,模块化是怎样一个让人放心的开发策略了。哪个大型软件不是模块化的?为什么偏偏到了自然语言这个 monster,非要一锅烩呢?

这里面有一个坎儿,不是认知和策略层面的, 而是算法层面的。如果你的parsing算法的基因就是单层搜索,即便你接受模块化的好处,多层的从容和开发维护的便利,你可能还是难以改造成多层。

白:
拿具体例子说。哪个策略是算符优先做不到的。
算符优先碍着开发什么事儿了

李:
我说不过你,但你说不服我,=)
我是打死也不会回到单层去。

白:
我一张优先序大表,表上每个格子对应一个模块。

李:
对啊

白:
绝对是模块化的,但算法是按照优先序统一调度的。这没矛盾啊。

李:
事实上Brill tagger就是单层,但是里面的200条规则是有次序的,或优先级的,等价于200多个模块的多层pipeline。这个道理我懂。

白:
语言学家只需要关注一个一个模块的事情,只需要关心优先序的语言学合理性,不需要关心调度算法。这在开发上哪点不好了?

李:
也许吧,这要等到哪天我投奔白老师做个语言学码农的时候,才能体会到,是不是在单层里面也有模块化开发的感觉了。

白:
调度算法只有一锅煮才是最合理的。

李:
一锅煮合理的argument本来是立足于自然语言现象的相互纠缠,interdependency。

白:
不是的

李:
既然你一锅煮了 还是要补以休眠唤醒等机制,那么这个根基就动摇了。

Guo:
计算上不等价。算符优先,如算术表达式,计算复杂性与算符数无关。规则优先,如Brill Tagger,计算量随规则数目增加。

李:
一锅还是分层,最终都有个唤醒的问题。

白:
一锅煮是提炼了语言学无关的过程性控制策略的共性,语言学相关的,都封装在模块里了。唤醒也是语言学无关的。@Guo 我规则数为0。

李: 唤醒与语言学远距离句法有关。
可以反过来问:有什么一锅煮能解决的,分层解决不了或解决不好?

以前的例子是有的,譬如 hidden ambiguity, 尤其是汉语切词,在一锅烩中,理论上在理想状态下,这个问题是可以自然解决的。但是切词模块被分开后,这个问题就不能。解决只有靠休眠唤醒。

白:
不加反悔,都解决不好。

李:
不加反悔,理论上一锅烩的 parsing 是可以解决的。当然理论与实践有距离。所以白老师即便一锅烩,也不解决它。

白:
加了反悔,给分层带来多大架构上的冲击我不知道,但是给一锅煮+算符优先带来的架构上的冲击几乎为零。

李:
反悔与分层是天然亲密的。chemistry 很好。反悔不过看成是分层的延伸而已。不过是最后多加几层罢了。

白:
那大家殊途同归好了

李:
而且因为反悔都是在后期,条件成熟了,efficiency上极为合理优化。我现在做反悔,都是在结构上做,不在线性序列上做,那叫一个痛快,一打一个准。反悔从机制上几乎等价于抽取了。

白:
kick off也是在结构上做:一个萝卜出,一个萝卜进。坑还是原来的坑。

Guo:
分层并不天然地等价于模块化。Brill Tagger,改中间任何一条规则,后面全部规则都要重写。这是“负负得正”的负面。

李:
如果是 adaptive 目标驱动,就没有了这个负面。为什么我们多层开发的每一个模块的变动,都必须要通过目标驱动的 regression 测试呢。这些都是软件开发的老生常谈了。

白:
词典化的词负载结构框架下,没有改规则的问题,只有写词条的问题。

李:
模块化的好处是解析性好,可以理喻。一个bug来了,很容易找到出问题的模块,不会是隔靴搔痒。

白:
模块化所有人都没有意见,可以忽略。

李:
到了真地进入这个模块去debug的时候,情况就不再是局部模块了,而是全视野 目标驱动的。这样既保证了一打一个准,有保证了没有副作用。既埋头拉车,也抬头看路。所以Guo的那个顾虑不是问题。

白:
但,模块化并不必然推出分层,分层并不必然推出单向无反悔,模块化也并不必然推出算符优先哪里不work。算符优先相当于桶排序,而桶排序是线性的。

李:
撤了。今天有个 Tech Day。白老师也夜深了,good night

白:
至于目标驱动,这是软件工程的老生常谈。软件工程还说要做边界测试、压力测试、极限测试。

李:
的确是老生常谈。
“白老师也夜深了”

白:
好句

李:
这句里面,主语“白老师”,“也X了”是典型的谓语。句法主语与谓语是什么逻辑语义呢?

白:
顺杆爬,主语所在地。

李:
哈:白老师(那地儿)也夜深了。

白:
这是隔着时区说话才有的语义。

李:
这是同一个战壕战友的关切黑话

 

【相关】

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

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

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

【李白董铿锵行:说不完的subcat和逻辑语义】

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

中文处理

Parsing

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

《朝华午拾》总目录

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

【立委按:30年前,董老师就是我学逻辑语义的启蒙老师。30年后还可以拜技术所赐,与老师坐而论道,由衷感激。逻辑语义这个术语的命名和流行 源自董老师的论文。类似的术语有 Deep case (菲尔墨),Theta role(乔姆斯基), Semantic role , 但我还是最喜欢用董老师的逻辑语义。】

白:
【今天冲击30度,明天骤降6度伴随雷阵雨】
为啥30度是目标值,6度是差值?

李:
逻辑语义 与 句法角色 的主要差别就是,前者依存的老子是细颗粒的概念或语义,后者依存的老子是粗颗粒的子范畴(subcat)。“冲击” 与 “降” 的概念差别,决定了所带的逻辑语义角色的分别。从subcat看 这两个动词属于一类,因此句法儿子相同 都叫宾语,但是从语义角度 这两个动作概念有距离,查一下 hownet 就知道了。细颗粒到什么程度呢 要看系统的设计了。譬如 hownet 有将近 100 个逻辑语义角色,相对应的语义颗粒度或分辨度就显得相当细。【升降变化】 这类肯定要单列出来,也可以想象 逻辑语义压缩到 20 到 30 的样子 合并一些接近的角色,那么统领逻辑语义的谓词的概念颗粒度就可以粗一些。

总之逻辑语义不象句法角色那样抽象 独立和粗线条,逻辑语义是比较紧密地配合谓词语义概念去 make sense 的。【心理】谓词的主语 在逻辑语义叫 experiencer(体验者),但【行为动作】谓词的主语 则逻辑语义叫 agent(施事)。这种呼应除了有本体知识(ontology)体系内在的设计需要外,还有让人看着舒服、容易理解的考量,也就是我以前说的,语义表达带有某种人类自己与自己玩的色彩。

在董老师面前说这些 难免显得浅薄。我等董老师打板子 批评纠正。

董:
按知网的规定:冲击30度,30度的逻辑语义是“StateFin-终状态”;降6度,6度的逻辑语义是“QCompare-比较量”。但是知网的分析系统我预计它做不对。因为这样的区别要有更加专门化的知识,气象的常识来解决。知网没有如此细的常识表达。单靠两个动词的语义差别,我想不出来如何解决。

李维说的没错。是会有自己玩的色彩。每个人有自己对客观世界的自己的认识,研究有自己的风格,有自己的要求,或遇到的不同的需求。总觉得自己那个好,不要紧,是正常的,但不要总觉得别人的一定不好,那也许就不太好了。

李:
也有的语义表达体系走极端,觉得哪怕细颗粒度也不够好,100个逻辑语义根本不足以表达语义关系的细微差别。譬如 hpsg,它在语义表达上不喜欢任何抽象,agent呀,patient 呀,experiencer 呀,都太过抽象,就更甭提逻辑主语、逻辑宾语了。一不做二不休,他们的语义关系的命名变成了一个开放集。本体有多少谓词语义终结节点(石实践中常常就用那个谓词的词),就有多少个对应的语义关系。逻辑主语加后缀 -er,逻辑宾语加 -ee,这样来命名逻辑语义。因此,like 的 主语叫 liker,宾语 叫 likee;hit 的主语 叫 hitter,宾语叫 hittee。完全没有概括性了,我把这种设计叫做词汇主义极端派,有点走火入魔了。但有一个优点,人一看就明白是什么角色。

我觉得其所以语义表达有自己跟自己玩的色彩和空间,是因为一个知识体系是某种连续的存在。语义学家在模型这个体系的时候,必须抽象到离散的点去。这就需要切刀。切几刀 怎样切 比较合理 比较适应人的理解和应用,不同的设计家会有不同的考量。

董:
再者,上例中30度是个”点“;6度是个”量“,没有气象知识怕不容易分别了。

李:
“降6度” 感觉没有歧义。难的是 “冲击30度”。后者可能需要专业知识才能消歧。一个通用性常识本体的知识库,不足以做出这种区分。如果是 “降到 6度”,也没有歧义。

讲个故事:
“我们实验室是做低温实验的。我们设计了一个装置可以不断降低实验空间的温度。第一天我们成功降低了10度 只用了三秒钟。第二天我们降了20度。我们改进了设计以后 正全力冲击30度。”

这个故事说明歧义在特定场景是可以翻盘的。在气象领域 他的标配歧义消解了,根据的是气象里面的领域常识。但场景可能打败这个标配语义。

白:
都不需要术语来指定角色。完全可以说,1号角色,2号角色。这是本源。施事受事的,都是次生的。

李:
有不少文法就是这么叫的:arg1、arg2,然后可以提供一个词典查询来求解:like 的 arg1 就是逻辑主语体验者,相当于 liker。这样看语义表达,就更凸显了人类在逻辑和语义上有相当浓厚的自己玩的色彩。

董:
说实在的,就是主谓宾定状补都不能弄对呢?少了,多了,又能怎样?

白:
信息抽取的角度看,弄不对,就可能提取不出来想要的情报,或者提取出错误的情报。从群体舆情分析的角度看,错一个漏一个都无妨。从个体观点分析角度看,错了,可能认友为敌或者认敌为友。

李:
信息抽取的模板定义本身,也有不少自己玩的色彩,当然是要玩得让客户高兴。譬如【公司购并】事件,谓词是 acquire 或 buy,句法的主语,逻辑语义的施事,与信息抽取模板中的角色【购并公司】的对应,就是在玩命名的游戏。句法的宾语,逻辑语义的受事,模板里面叫【被购并公司】。

白:
当然,只要语义对,句法错甚至没句法,又如何?

李:
没有楼梯爬上三楼的绝技人也是有的。事实是,尽管有这样的绝技存在,生产楼梯的厂家却不会倒闭。

董:
按李维说的,其实是不用再搞一套施事、受事等。

李:
我觉得100个这个量级是太细了一点儿。另外,逻辑主语、逻辑宾语的概念感觉很好使。这样 experiencer 和 agent 的区别就不重要了。因为这种区别,如果某个应用需要的话,总是可以通过查询谓词是什么得出来。

董:
你是能少则少,能省一个是一个。

李:
可能我来了美国19年,一头扎进了信息抽取。从抽取好用这个角度,我不需要那么细的逻辑语义。换其他应用,我不敢说。

董:
嫌多,少用就是了;如果嫌少了可就不那么好办了。关键是要能自圆其说。多有多的道理,少有少的道理。再一个,就是多了,能否乱。计算机不是不怕多吗?

白:
编号不怕多。

李:
这是一方面,多了总可以合:或者用逻辑或,或者用taxonomy定义一个上位关系。问题不在这里。问题在多了以后,deep parsing那边就不得不费工。费了力气做了区分,发现用到的场合不多,就觉得不值了。关键还是,对于概念之间的依存关系,谁与谁发生关系是第一位的,老子儿子必须区分清楚。关系的种类粗一点无关大局。

白:
deep parsing的首要目标仍然是确定谁跟谁有关系,而不是确定是什么关系。所以角色再多,不应该影响deep parsing. 即便影响,也只是影响搂草打兔子的部分, 那本来就是天上掉馅饼, 可遇不可求的。

李:
因为语义是在句法图中决定的。有了依存关系图,有了节点的本体知识,粗线条关系随时可以细化, as needed,不必把这种细化搅合到parsing里面。

白老师讲的与我说的,是一样的呀。

白:
我是说,语义角色多了就导致deep parsing不得不费工,这样的设计是有问题的。

李:
多了一个 role labeling的细活。而这个细线条 roles 在落地时候大多不需要。认真说,也没那么多活,也不是不可以做,就是觉得没必要做。因为信息抽取的根本原理是词驱动。在词驱动的语义落地场景,语义关系的细化没有多少助益。

白:
语义角色第一不要设限,第二不要用跨词汇的概念绑死,第三不要跟句法绑死。需要的时候接的上就行,和句法松耦合。想多就多,不要影响句法。直接拿次范畴去玩。

李:
IE根本连次范畴都不要,就是词驱动。多用几个逻辑或就齐了。范畴集合如此之小,爱怎么枚举怎么枚举,管它的谓词本体概念属于哪个集合呢。

白:
IE和实体知识库的差别,实体知识库是照单全收,IE是只取自己那一瓢。只取自己那一瓢,当然不需要subcat;照单全收是不行的,必须有subcat。

董:
我看你们常说次范畴或subcat,谁是与之相对的主范畴呢?

李:
董老师,文法里面所谓subcat,其对应是cat或叫POS,尤其是POS里面的谓词:VB或JJ等,这些cat会进一步细分为subcats。

董:
那么subcat是诸如什么?

白:
cat那东西,各家也有不同

李:
当然白老师泛化了subcat,一切的词汇子集给个词典标签都叫subcat了。但是在HPSG这类文法里面,subcat是一个谓词句型规则的浓缩。里面是一个丰富的 feature structure,句型方面的某个子集。文法里面的 subcat典型代表是vt、vi这类。

董:
你给个具体例子吧?我都快被绕糊涂了?名词是cat,那么sub名词是什么?

李:
名词是cat,那么subcat可以有带宾语和宾语补足语的名词,譬如 translation:其subcat就是:"translate" of NP【受事】 from NP1【来源】 into NP2【目标】。对于这个subcat的句型潜力,给它取个标签,这个标签就是 subcat 的 atomic feature,譬如 vt、vi。

董:
懂了,谢谢。

李:
但是在复杂特征集的文法里面,subcat不取一个简单的标签,而是展开来写到数据结构里面去,这样一来这个数据结构几乎就是一个产生式规则,虽然理论上这个数据结构不是过程性的。所以所谓的HPSG没有规则,其实就是玩的这么个游戏。

发现,思想活跃的知识分子永远不显老,而蓝领老人就特别容易衰老。董老师冯老师都有这个特点,我老爸也是。可见信息也是一种养分,比营养更重要。

董:
不看或极少看“养生堂”之类的胡说八道的,多半可以长寿。

冯:
多动脑子有益健康。

董振东:
有道理。
昨晚的有关arg、subcat、等的讨论,我明白了。其实我们是不同路上的车,可能都是被英文parsing误导的,至少我是被误导了。大家的目标、方法、资源等都不一样。但不论如何环视对我们的研发很有帮助的。关于诸如逻辑语义等问题,等你们真的要关心时,你们可以看我们的专著《HowNet and the Computation of the Meaning》。

李:30年前,董老师就是我学逻辑语义的启蒙老师。30年后还可以拜技术所赐,与老师坐而论道,由衷感激。

 

【相关】

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

中文处理

Parsing

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

《朝华午拾》总目录

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

白:
定义subcat很有讲究的,后面有强大的数学。什么类型填什么类型的坑,结果是什么类型,数学早给我们准备好工具了。不知道这种数学,只能“自发”地做。知道了,就有条件“自觉”地做。type theory,带类型的lambda演算,早就给我们准备好了工具。为什么说小词也可以负载结构,原理是同样的。不是心血来潮,不是头疼医头,不是工程上的取巧,是有数学支持的。

李:
以前流行的那些 unification grammars or constraint based grammars 都是建立在 typed feature structures 之上的: CFG GPSG HPSG.  对于 type hierarchy and it's inheritance, 对于 attribute value 的 type appropriateness 都有说法, Typed feature structure 是这些文法的形式化基础。不知道这是不是就是所指的背后的数学或逻辑。

白:
type化最彻底的就是categoral grammar,但是CG最大的问题就是不实用。我已经把CG改造成了非常实用的程度,但是底子还是CG的底子。十多年前,我的学生@赵章界 (也在本群)的博士论文已经对中心词的继承特性在CG当中的形式化机制做了刻画。我最近的工作,进一步把这种继承性和修饰关系做了无缝对接。

李:
CG 没钻研过。其他那些文法的 typed feature structure 主要就是一种表达语言信息的数据结构,与软件工程里面 object-oriented class hierarchy 有很多相通之处。涉及到“演算”的似乎主要在表达语义的那部分feature structure (SEM)。自然语言的语义有一个总的原则是composionality, 就是用有限的语言材料(词,成语)组合成无限的句义。于是当一个单位与另一个单位在parsing中结合的时候,就有个怎样从简单的词义一步步“演算”成短语和句子语义来的课题。但这个演算过程,也带有浓厚的自己跟自己玩逻辑的成分。那些精心构造出来的句子的“语义”表达,显得繁琐、繁复,逻辑上好看,但实际语义落地其实并不一定需要这种。

白:
一眼看现状不中用就扔掉是一种策略。把它改造成中用是另一种策略。

李:
在feature structure unification based的系统中,这种演算就是通过structure sharing 让信息在feature结构中跳来跳去。跟玩游戏似的。如果某个语义在SEM整体的表达中没安排妥帖,或者缺乏合适的地方去表示,就挖尽心思改造那个 SEM structure,结果弄得越来越烦琐哲学。眉毛胡子一把抓,为语义而语义,忘记了语义落地的初衷。玩过一遍这类游戏以后,就开始删繁就简。

白:
化腐朽为神奇,有窍门的。单子化(singleton)是关键。废弃多层结构,把萝卜和坑摆到同一个桌面上。世界顿时清明。这里面藏着一个大秘密。

李:
你这也是删繁就简。那些复杂feature结构,都是那么的侯门深似海。错综复杂,各种嵌套,逻辑上能讲出很多道道来。

白:
但是singleton这是一个最有意思的子集。逻辑上一样有道理。只不过躲开了复杂结构而已。但那些复杂结构本来就是添乱的。本质上有用的,singleton足够了。

李:
同意应躲过复杂结构。我的系统是基于 atomic features 的。

白:
毛毛虫假设下,singleton is enough,所以,叠床架屋的结构已经事实上废掉,但数学上仍是严谨的。去掉其他冗余,只剩下唯一一种可以还原为singleton的结构。这是毛毛虫的最大贡献。所以我面对的不是通用的CG,不是通用的复杂特征集,而是专为毛毛虫准备的singleton类型演算。好像人类的语言从遗传上就是只为singleton准备的。换了任意定义的一个CFG,还不一定能占到这个便宜呢。

singleton就是萝卜和坑只有一层,不嵌套。所有嵌套都可以简化为修饰和合并。修饰是继承的简化形式,合并是括号下分配律的简化形式。还原了都是填坑。本质上只有填坑一种运算。但是通过用修饰和合并来重写(rewrite)某些填坑,整个体系就完全扁平化了。这个工作,写论文也是拿得出手的,不过我目前还真顾不上。

李:
白老师有时间举几个例子就好了,说明怎么扁平化。

白:

李:
怎么讲?

白:
左面是CG,右面是我的简化

李:
上面是:形+名。逻辑上,形是谓词,名填坑:beautiful(girl)。结构上,形在前,修饰名。形被名吃掉:[(beautiful) girl]。

白:
在CG,是 名 被 形 吃掉,再吐出一个 名。在坑论,是 名 吸收掉 形。
关键是输出的路径,一个在形,一个在名。

李:
名是head。逻辑上,名被形吃掉没有问题。但是结构上的head怎么办呢?吐出一个名不能解决head的问题,因为head涉及的不仅仅是POS,而是一套 head features(包括本体及其taxonomy)以及head token,包括词形。

beautiful girl == girl  (who is) beautiful

白:
当初为了解决这个矛盾,设计了CG输入输出之间的绑定机制,但是仍然不够直接。

李:
修饰与填坑的关系不是在一个平面。

白:
现在的表示最直接:修饰是填坑+绑定的简化。简化以后,就都变成singleton了,俗称“捋直了”,

李:
修饰是句法关系(是反映结构上的主与次),而填坑是逻辑关系,反映的是谓词与arg?左边CG的表达,没看明白。右边倒是显得简单了:作为 singleton , N+ 就是一个 atomic POS,等价于JJ,他右边遇到N(就是POS NN),就被吃掉。JJ被NN吃掉,算是绑定?那NN填JJ的坑,表现在哪里呢?

白:
已经重定向了。JJ可以认为没有坑了。

李:
这种逻辑关系与结构关系在语义表达上的纠缠,在ING词表现更明显:
ING做修饰语的时候,譬如 running dog,一方面是一个被吃掉的可有可无的修饰语,另一方面 running 作为逻辑谓词,需要一个逻辑主语来填坑。结构上的 head 这时候屈尊成了填坑的萝卜(arg)。

白:
了,也是一样。逻辑上,了 是(S/N)/(S/N),但我们把它简化成+S

李:
+S 就是吃一个S 吐一个S?
吃一个 Aspect unspecified S,吐一个 Aspect=Perfect的S。

白:
@wei 然

刚才ing,如图:两个S消掉了,剩下两个N。在汉语里,如同“这本书的出版”。

李:
ing怎么就成了 N/S
可以把词尾看成小词,所谓小词负载结构。

白硕:
上图是CG:吃一个S,吐一个N。我现在的做法见下图:

+N结构强制分子上的S到N,分母上的N不变。填动词的坑变为填名词的坑了,因为被修饰语被修饰语强制了。

李:
N/N不就是 N+吗?N+ == JJ

白:
不是。二者不等价。这是一个真的坑,没有绑定机制。
这本书的出版,输出的是出版,不是这本书

李:
这本书 结构上是可有可无的修饰语,“的”来引导,逻辑上是arg,这双重身份(mod and arg),赶巧挂靠的都是相同的老子。“出版”的arg(宾语)是“这本书”;“出版”的mod也是“这本书”。比较:“这本书的出版” vs “出版的这本书”。

白:
我在说英语的ing,谈到“的”只是类比。英语的ing,从右侧修饰动词原形,把动词强制为名词,把动词带的坑也强制转为名词带的坑:their publishing the book

李:
这个CG好玩,吃啊吐啊的,当年怎么没注意它。

白:
没有绑定机制的CG,语言学意义是有限的,更像是数学而不像语言学。我的学生@赵章界 引入绑定机制后,才像语言学了。但是赵的工作许多人没有注意到它的核心价值。

李:
当年看过一点那啥 蒙氏文法,形式语义,这个演算那个演算的,被绕糊涂了。没看懂。

白:
Montago

李:
对,里面有Lambda演算啥的,对我太抽象了。记得Montago看不懂,就找中文的来看。原文看不懂的,中文就更看不懂了。就拉倒了。

什么叫绑定机制?

白:
就是吃的和吐的,具有同一性。如果将来吐的参与任何操作,都要把吃的带上。吃的所携带的任何语义特征,也都被传导给吐的。绑定机制基本就是这个意思。

李:
这个听上去就是HFP(Head Feature Principle)。大白话就是一个短语,头词是其代表,头词决定一切。坚持党的一元化领导不动摇。真正实现的时候,根本就不需要像HPSG那种,把 features 定义到嵌套的HEAD结构去,然后上下传来传去的。麻烦。还是我导师刘老师简单直接,head就是直接把修饰语吃掉,是真地吃掉了,看不见了。这么一来信息,就无需传送了。

白:
但是用原教旨的CG,即使引进了绑定机制,仍然是叠床架屋。我现在的方案就极为简单了,就是吃掉。但是理论上它是CG的简化形式。CG的所有严谨性都包含在里面。但是省去了传递。

李:
那些叠床架屋,主要是为了鸡零狗碎的一些边边角角的所谓 non-head features,为此不得不把 HEAD features 嵌套起来。真是为了芝麻,挤压了西瓜。

白:
叠床架屋的缺点去掉,优点保留。毛毛虫的毛刺。很多可以通过中间件摆平,就不需要这些边边角角了。

李:
这个中间件相谐,的确是个好东西。动态隐含地引进了常识,却没有了常识管理的负担。这是亮点和创新。以前的优选语义学(Preference Semantics)一直就困扰在尺寸无法掌握,现在用大数据解决了这个困扰。

白:
而且中间件只管二元关系,不需要涉及复杂结构。所有复杂结构都被singleton填坑化解了。只剩下扁平的二元关系。

李:
常识的基础形式就是二元的,即便牵连到多元,也可以用多个二元来近似:【animate】吃【food】,这个三元常识,不就是两个二元关系吗。

白:
用我的话说,就是“吃”挖了两个坑。两个坑和萝卜摆在一个货架上。这就是singleton。

李:
蛮好。
当然二元近似可能不完全等同它,但实践中的些微偏差,从效果上看,已经可忽略不计了。

白:
所以,我的方法,贯穿着CG的原理,但外部表现很像DG。在对小词的处理上比DG更为彻底,所有小词都纳入二元关系。而二元关系的背后有类型演算的数学作为基础。绝不是随意的或者为了工程而武断设定的。

李:
其实我们的做法和策略,有很多殊途同归的地方。不是高攀。都是各自思索多年,不约而同的决定舍弃什么,采纳什么。我现在缺的是大数据中间件,你那边还是单层,当然,你在单层里面加了优先啥的,近似了多层。

白:
有算符优先,单层也相当于多层

李:
但我还是觉得单层伸展不开,有点凑合事儿的味道。多层符合软件工程的标准做法,模块化。真正是把语言学当工程去做。

白:
但是如果引入kick of,单层+优先更轻便。

李:
对于复杂结构的舍弃或扬弃,我们思路是一致的:atomic features or singlton
当然严格说,singlton的subcat标注,比起复杂特征的SUBCAT 的精细描述以及里面体现的句法语义一体化,也显得有些伸展不开。但问题不大了,得大于失。

白:
语义那边自有知识图谱来承担更加复杂结构的表示。对接的途径都在,不会跑到途径外面去。句法的目标极为有限。伸展得开与否,要相对于这个有限目标来评估。不存在绝对的标准。这无非是二楼和三楼的分工问题。

李:
还有一点风格上的差异或美感因素在。
据说写 Unix 的人与写 Windows 的人,是两种人。互相看不上。后者嫌前者小家子气,前者不能忍受后者的挥霍。

白:
都很伟大。

 

【相关】

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

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

中文处理

Parsing

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

《朝华午拾》总目录

【李白之38:叫NLP太沉重】

没有规则的文法是怎么回事儿?

白:
“这件事非他莫属”,这种情况下“他”填谁的坑?

李:
填坑,从句法角度没有疑问,“这件事”是句法主语,“非他莫属”是谓语。如果主语是行为,采纳董老师的处理,把句法主语转为逻辑谓语,把句法谓语中的“他”提出来作为其逻辑语义的施事。如果主语不是行为,那么可以相应做一些逻辑语义表达(semantic representation)的调整,其中之一是,把该名词的“标配”动词作为省略成分提出来,“事儿”的标配就是“处理”或“做”(DO)。然后逻辑施事照旧。

“这件事非他莫属”
==(只有)他(能)DO(这件事儿)

这些个鸡零狗碎的处置,说到底都是自己跟自己玩儿。这里的所谓语义表达和语义落地,在pattern确定之后,我们其实心里都明白其涵义了,只不过需要用一种容易记忆容易处理的方式把“语义”表达出来,让人类看着舒服。其实这都是小事儿,属于 parsing 的 side effects,怎么方便怎么来,无一定之规,系统内部自足即可。关键不在作为 side effects 的 output,而在于什么样的 pattern 、什么样的条件与 input 匹配合适,匹配完了既然并无歧义,总能找到一个语义表达的出路。后面的考量也就是为了“好看”而已(就好比软件工程中很多内部数据结构表达出来要pretty print一样)。

白:
“拉小提琴他最拿手了”“去北京他最合适了”“喝白酒他二两就醉了”
这是一种很常见的格式,不是因熟语而发明的,熟语只不过往这上面靠而已。

李:
看电影他爱打瞌睡
做报告他出口成章
举样例他偷梁换柱。

白:
在我的体系里,这是一种已经在局部填了坑的萝卜,在满足一定条件的更大范围内又被再利用而已。

冯:
这是紧缩复句。

白:
在我这里是merge的一种。两个互不隶属的谓词的坑共享萝卜,都是merge。

冯:
merge也就是紧缩了。

白:
如果前面只是NP,就降格为状语:“这件事他最拿手了”当中“这件事“为状语。N降格为S+

李:
白老师的句法里面,“填坑”对应的是文法的arg,“修饰”对应的是mod,“合并”貌似对应的是conj或者comp,其余两个针对token自己的操作,不对应dependency的结构关系。这与词驱动HPSG有相当的吻合之处。

白:
可以认为有一个隐性的token

李:
HPSG 也声称只有词的结构表达,没有一条条文法规则,只有几个 schemata 或叫 Principles,其中一个是针对 arg 的 连接原则。另一个针对的是 mod。

白:
他还是用PSG作拐棍儿。我连小词都是负载结构的。

李:
如果仔细看那个根据原则而来的schemata,基本没啥内容,就是一点最抽象的关系限制。说的是,如果一个 token 要填另一个 token 在词典的 subcat pattern 里面规定的坑,除了所有规定的 features 必须能 unify 外(这个可以比喻为情投意合的自由恋爱),另外还有一点原则性限制(这个可以比喻为婚姻原则:譬如传统的婚姻原则必须是异性之间的结合,否则不发证书,也就是原则层面不允许结合,即便双方情投意合),加上一些子结构数据的 sharing 的规定。这个跟白老师声称没有规则,只有子范畴,以及根据子范畴的 parsing-runner 的抽象算法是同样的精神。当然,HPSG叠床架屋的数据结构以及PSG与生俱来的组合爆炸低效率以及伪歧义困扰,也许已经被白老师解决了。

白:
我没有组合爆炸。复杂特征集不是好东西,扔。

李:
我同意。可是一开始用会入迷。逻辑上很清晰、细致和美丽。可以把语言的任何单位模型成一个非常飘逸的玉人一般。

白:
严格限定只解决谁跟谁有关系,若非搂草打兔子顺手,绝不碰是什么关系。逻辑主宾语分不出来是本分,分出来是情分。

李:
这个分不分就是一个阶段的问题。本质上是所有的 args 都是 arg,这个上位概念是一致的,arg1 还是 arg2,还是 arg3,subcat 可以进一步去规约。

白:
隐性介词不知道什么格是本分,顺手安一个非他莫属的格标记是情分。

李:
到了语义层面,必须去进一步去区分。

白:
在检查相谐性的时候,有些角色已经跑不了了。这就叫搂草打兔子但是还有漏网之鱼,句法层面不 应该care。

比如“这场火多亏了消防队来得及时”里面,“这场火”前面有个隐性介词,知道这一点就够了。是啥介词管他呢。

李:
有人问,没有规则怎么能叫文法呢?这里面的trick就在,并不是没有规则,而是规则隐藏在词典里面了。本质上是词驱动的规则集,构成了词典主义的文法。如果这种规则的隐藏,不以大家通常习惯的显性的产生式(productions)的形式表现,而是以一套 lexical features 来表达,无论是 HPSG 那种非常精细繁复的 typed feature structure(表达形式是所谓 AVM, Attribute Value Matrix),还是白老师那种简省的原子化(atomic)的 cat 或 subcat的标注,那么就给人一个本文法无规则的“假象”。

没研究过这类parsing的人可能还是疑惑:无论如何,没有规则,只有features,那怎么做parsing呢?这事儿说玄也玄,说白了就是一层窗户纸。任何一个 parser 都是要对input文句做操作的,这是无论声称有规则还是无规则的系统,都必须要有的一个部分,我们通常称之为runner,可以形象地比喻成一个scanner。诀窍就在这个runner是怎样在run(parse)文句呢?在产生式的显性符号规则体系里,靠的就是对这些规则的解释(interpretation)或编译(compilation)。这个过程比较直观、可解析。在隐藏了过程性产生式规则的体系里面,runner怎么工作呢?回答是靠文法或模型自然不错,但太笼统。说就是靠词典里那些features的标注,先判你一个不及格,因为你没说明标注怎么转化为解析器(或自动机)的,里面还缺了啥。

歇口气儿,群里面的后学(NLP的fresh博士啊博士后啊啥的)不妨当成一个家庭作业,试着回答一下这个问题。不要以为NLP就是神经,或深度神经。除了神经,就没有NLP了。Parsing 是 NLP 的皇冠,如果只懂神经,不懂 parsing的基本原理和理论,你可能在工作市场上大卖,你也可能确实用神经做过parsing的工作,但AI这股热浪过后,你会发现叫自己是NLPer太沉重。

当然,我们这些还没神经的人,其实也是叫NLP太沉重,不过是倚老卖老罢了,反正我们终归是要退场的人。现如今不神经的话,都不好意思说自己是AI圈的人。认真说,隔行如隔山,行内也隔山,这是AI里面的真实写照。不隔山的全能的人有没有?肯定有,群主白老师就是。但90+%的大牛都不是,这也是事实。

Nick:
伟哥这是被人欺负了吗?

李:
哈,欺负个球啊。信笔写 想到哪里写到哪里,神经=NLP的感慨而已。炼到我这功夫早已百毒不侵了,谁欺负谁呀。把一个算法上升到一个领域,这是概念混乱。这种怪相你学AI历史的应该给个说法。

邓:
我觉得咱们开放心态看待会比较好,一个算法如果让一个行业上了一个大台阶,是会在一个历史时期称为这个行业的代名词的。听其言察其行。

阮:
要么理论上碾压,要么实验或系统验证。要么更有权有势。。三点都不占,就只能忍了。

马:
不为了深度而深度,也不不为了深度而不深度。我们组基本没有神经。

李:
我脑袋是parse不过来了,这口令绕的。

当然可以为神经欢呼 鼓吹 毕竟人家有实绩在那儿(图像、语音、机器神译)。问题不在其崇高的行业地位,而在于这种地位所带来的一种默认意识:(1) 只要是AI和NLP的任务,神经不仅仅是首选,而是是必需;(2) 甚至是,如果你不神经,就会异样地看着你:怎么可以不神经呢?(3) 还有很多问题,根本没有任何证明,神经可以work,但是行内和行外的压倒意识是:(i) 神经一定work,(ii) 而且非神经一定不work,或不值一提。

陈:
讨论的人也很神经

李:
这种观念是如此之深厚顽固,以至于你即便可以证明非神经也一样工作,或者工作得更好,也基本没有人听。这时候你才知道所谓科学家,其实一大半不如没文化的暴发户,因为暴发户至少有常识,懂得白猫黑猫,暴发户没有被洗脑。这个观察不是从神经流行才有的,至少20多年的体会了。

阮:
科学,越年轻越好,大家喜欢看到新方法而已,目前确实没看到其他新方法。

李:
一个人不可能抗拒一个世界。所以生存之道不是试图说服、试图证明,这些基本都没用。生存之道就是:(1)与暴发户为伍,不问姓社还是姓资。挖煤给钱就行。(2)另一个生存之道就是:挂羊头卖狗肉,努力靠拢,不管真心还是假意。无论是否真能融合,永远把羊头当成菩萨

 

【相关】

《朝华午拾:在美国写基金申请的酸甜苦辣》 

围脖:一个人对抗一个世界,理性主义大师Lenat 教授 ..

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

中文处理

Parsing

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

《朝华午拾》总目录

 

 

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

白:
“再有背景的小孩也还是逃不过被大人喊出来表演节目的命运 ​​。”

李:

【再 Pred1 的 N 也/都(还) Pred2】

说到底就是这么个pattern, 汉语中此类patterns不少。里面的XP(这里是谓语 Pred, 可以是VP,也可以是AP,甚至某些特殊的NP)比较适合有限的自顶而上的识别,然后插入,就比较完美了。

谁 Pred1?
小孩: (哪怕)小孩再有能力

谁 Pred2?
小孩: 小孩(也)逃不过。。。命运。

既然Pattern是固定的,这些语义关系也就确定了。“逃不过” XP “的命运”, 也是一个 pattern,嵌在里面。“逃不过”的 subcat 也允许带 VP,但是,“逃不过被大人喊出来表演节目” 敌不过 “逃不过 VP 的命运”,后者不但更长,根据最大匹配原则,而且后者是“端对端”的强搭配(或框式结构),前者的 subcate没那么强。最后可以考察一下变式,就更加明白里面的语义关系应该怎样玩才让人类满意了:

再 Pred1 的 N 也/都(还) Pred2
== N 再 Pred1(,)也/都(还) Pred2
== 哪怕 N 再 Pred1(,)N 也/都(还) Pred2

背后的逻辑语义不是昭然若揭了吗?一个让步子句的状语,一个主句,逻辑主语是相同的实体。既然这类句式非常容易通过小词呼应来枚举,里面的填充项应该可以以局部parsing来收拾。

wang:
先小词划界卡位,再在小区间内处理,这确实容易不少。

李:
记得语文老师叫我们造句:请以 “再。。。也”造句, 其实就是上面的pattern的一个drill.  既然人是这么受训去学语言的,机器也可以这么学。

白:
“再有”为什么不能结合?“背景的小孩”为什么不能结合?如果结合,让步逻辑还看得见吗?在考虑“再有”的结合可能性的时候,“也”离它多远?“有背景”处在sentiment的一极,强化了“再”的让步色彩才是关键。而“背景的小孩”语义相谐性是有条件的,就是需要谈论图片、场景一类。

李:
如果是“学习”呢?“他再学习也赶不上”。“学习”可算是勉强的 weakly positive的行为了,也许。问题是,如果不管这些语义细节,那个pattern会有啥问题?有多少反例。直觉上那个pattern应该是蛮精准的。

白:
“再有学习的机会我去” “再有学习的机会给他也是白搭”

李:
套用这个特定pattern的话,应该是:“再有学习的机会我也去”: 让步的状语语义貌似还在。说的是这个pattern的反例:再Pred1 的N 也/都(还) Pred2。

白:
不是说pattern不精准,是说它后知后觉。在前面等不到的情况下,会被拐走。

李:
说的就是不要被拐走啊。如果是用小词pattern蹲点, 而不是让小词参与local parsing搅在一起。就避免了被拐的命运。

白:
“再有学习的机会我也去”
小词都在,解读不同,没有让步义

李:
“再有学习机会的我也要去”,这个才是正宗:
== 哪怕我再有机会,我也还是要去(疯玩)

白:
这里“有……机会”风头太强劲
“再有学习机会的我也要去”貌似不通

李:
再:1.(与 也\都 呼应,表示 让步);2. again
为什么不通?这句坚定表达了一定要去的决心,不惜错过学习的机会。这就是pattern的力量。

白:
机会、去,没完结,有“去利用机会”的潜在完形,但这与让步相冲突。
的,后面可以通过容错机制,脑补一个“的时候”“的话”什么的,来达成这个完形。这样的话,pattern就落空了。有完形在勾引,脑补就会启动,不要低估脑补的力量。而“……的我”,一般只出现在歌词里。与学习机会什么的,距离甚远。

(等到)再有学习机会的(时候),我也去。
(如果)再有学习机会的(话),我也去。

李: 即便不允许“的我”,让步的可能貌似也还在:

(即使)再有学习机会的(话),我也去。

时间 条件 让步。既然都是状语,既然语言中状语语义的小词省掉了,说话者裸奔,听话者“裸听”好了。以裸对裸。Unspecified -- 怎么听上去语言学开始带色了?

白:
去哪,不自足。去学习,自足。去利用学习机会,自足。不自足不是标配,需要特定语境。完形程度,是可以度量的。

李:
裸对裸 也不是一定都不穿衣,也可以穿一件零形式的衣,也就是所谓皇帝的新衣,这就是标配的用场。标配怎么得来?大数据? 或者常识?

回到字驱动,中文不仅虚字可以驱动不少句法关系的句型(syntactic pattern),以前说过的开放式成语也是字驱动构词法的代表(morphological pattern for open compounding),譬如:非NP莫属。这个成语是动词,通常充当谓语(带一个主语的坑),其中的NP是内嵌的宾语。这个NP虽然常常是,但不仅仅是,实体名(NE):如,“非李白莫属”。它也可以是一个很长的NP:“此一战役之指挥,非久经沙场南征北战且具有黄埔军校学历者莫属。我提议林彪,主席说。” 英语的对等物大约是:have to be no one but NP。

这类开放式成语或成语的活用,给语言带来了让人惊喜的新鲜感,理应在词典解决,但其中牵涉到句法的XP,因此必须有一个字驱动的词典与句法的灵活接口,这个机制上的要求,与分离词(如 “洗-澡”)是一样的。

董:
你这两天的小文章,我都看了。可以看到其后面的数十年的心血和积累。我真的感同身受。今天你说到了“非...莫属”,很对。我还没来得及处理这一类型的结构分析。离合词已经基本完成了。刚才试了试“莫属”。你看这样的结果好吗?

我用到的主要规则是:

莫属 0000 CN[*pos==`verb`,*def=={be|是:relevant={?}}];L1[*pos==`pron`/`noun`];L2[*expr==`非`]$CN[*pos==`verb`,*def=={?},*TempInfo==`abso`];L1[*log==`relevant`]@bind(L1,L2)@chunk(CN,L1). // 重拾山河非他莫属;非马英九莫属;

DefineVVV 0124 CN[*FH==` `,*ES==` `,*pos==`verb`];RS[*FH==` `,*ES==` `,*pos==`verb`,*expr==`莫属`,*son==`relevant`];Z1[*pos==`pron`/`noun`]$Z1[*DeepLog==`agent`]@DeepLink(CN,Z1). // 他们边假装下棋边用监控相机拍照录像。他们一边假装下棋一边用监控相机拍照录像。

李:
类成语“非x莫属”翻译成白话就是:不是x不行。
== 只能是 x == x, 只有 x (“人民,只有人民才是创造历史的动力”)

董老师处理成逻辑【施事(agent)】 很好。因为这个谓语的句法主语(arg的坑)实际上是逻辑谓语,而这个谓语里面的类宾语实际上是逻辑施事:

重整山河非老邓莫属
谁重整山河?老邓。

【非x莫属/不行/不可/不能为/不足以胜任】,这些idiomatic的用法都是一个意思。强调的是x,所以作为“中缀”的句法上的类宾语,需要被提出来,其他的那些驱动字词不过是点缀的形式,表达的是强调的意味(x and only x)而已。

汉语中这类现象很多,形式痕迹明显可靠,但因为字词驱动,显得琐碎。但词典本来就是琐碎的家园。不利用白不利用。关键是要有个合适的机制,让词典与句法互动起来。

董:
谢谢你又为我列出这么多,我可以照猫画虎写规则。我现在分析的结果,就是你指出的:“他”是“重拾”的深层的agent。

李:
前置词与后置词的框式搭配,也是具有明显的形式痕迹。
语言现象中,我归纳有这么几类:

(1)是“四肢着地”走路,就是 ngram 成语。这个当然进成语词典,无需与句法互动,成语就是一个枚举的黑箱子。里面该预埋什么句法语义的种子(features),就埋下什么,包括休眠唤醒的hidden ambiguity种子,与普通词条基本无异。(当然成语不见得都是词,也可能是短语或小句,只要词典设计允许表达语言学所谓“词”以上的单位特征就可以了。)

(2)第二种是带有变量的成语(习惯表达法)或离合词,我把它叫做两条腿走路,因为这些语言材料都有一个以上的落脚点,包括,“非x莫属”;“在x领导下”;“n日不见,如隔m秋”。

(3)一条腿走路:就是具体谓词的subcat了,那个驱动的谓词就是这条腿。

(4)不要腿走路(磁悬浮?):这就是feature(包括POS)为基础的规则了,概括性强,但不是词典驱动的,没有落地的词。

所谓lexcalist文法,就是尽量排除(4)的一种规则系统。

白:
“这件事非他莫属”,这种情况下“他”填谁的坑?

李:
填坑,从句法角度没有疑问,“这件事”是句法主语,“非他莫属”是谓语。如果主语是行为,采纳董老师的上述处理,把句法主语转为逻辑谓语,把句法谓语中的“他”提出来作为其逻辑语义的施事。如果主语不是行为,那么可以相应做一些逻辑语义表达(semantic representation)的调整,其中之一是,把该名词的“标配”动词作为省略成分提出来,“事儿”的标配就是“处理”或“做”(DO)。然后逻辑施事照旧。

“这件事非他莫属”
==(只有)他(能)DO(这件事儿)

这些个鸡零狗碎的处置,说到底都是自己跟自己玩儿。这里的所谓语义表达和语义落地,在pattern确定之后,我们其实心里都明白其涵义了,只不过需要用一种容易记忆容易处理的方式把“语义”表达出来,让人类看着舒服。其实这都是小事儿,属于parsing的side effects,怎么方便怎么来,无一定之规,系统内部自足即可。关键不在作为 side effects 的 output,而在于什么样的 pattern 、什么样的条件与 input 匹配合适,匹配完了既然并无歧义,总能找到一个语义表达的出路。后面的考量也就是为了“好看”而已(就好比软件工程中很多内部数据结构表达出来要pretty print一样)。

董:
知网里"事"的框架如下:

{fact|事情} {thing|万物:CoEvent={event|事件},{happen|发生:experiencer={~},time={time|时间:modifier={specific|特定}},location={space|空间:modifier={specific|特定}}},modifier={abstract|抽象}}

说的是“事”即CoEvent={event|事件}。这样它是可以充当施事的。

 

【相关】

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

中文处理

Parsing

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

《朝华午拾》总目录

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

傻蛋架构师才会导致错误放大的恶果。Pipeline 系统理应负负得正。

今天早上在想一个老话题,管式(pipieline)系统是错误放大(error propagation)还是负负得正?这个问题是模块化串行大系统的根本问题。如果是前者,pipeline就死定了。对于模块之间有依赖关系的管式系统,很多人第一个反应和批评就是错误放大,说后续模块依赖前面模块的话,乘法效应决定了错误不断放大,哪怕是一个底子不错的系统,随着串行模块的增加,到头来会错得一塌糊涂,不可收拾。

这是不了解目标导向的开发模式的缘故。目标导向的开发不再把每一层模块的开发看成是一个独立的过程,而是一个动态协调的 adaptive dev 开发过程。在这个模式下,系统的主流是负负得正,而不是错误放大,至少是前者的正效应远远压倒后者的负效应。错误放大不可收拾的担忧是杞人忧天。实际研发过程中不应该发生。

在这样的模式下,一个模块的绝对精度的意义远远没有这个模块的调适性、可维护性(包括可读性,维护门槛降低、维护过程容错性强、维护线索清晰等)重要。举个例子吧,如果决定中文切词作为中文分析 pipeline 的一个基础模块,那么这个切词的模块并不是如许多人想象的可以随时地 plug-in, 看见哪家开源了一个更高水平的 segmenter,于是拿来就用,期望它能加强中文分析的能力。

不是这样的。

以前说过,谁都不愿意 reinvent wheels,但是对于 NLP,模块(component technoogy)拿来就用不断翻新绝不是正道。最多是为了 feasibility study或做个 prototype 可以偷这个懒。正经做系统的人,必须一切自己来(home-made or built-in-house)。

可以利用开源的 code base 和其他资源,但前提是消化改造成自己系统的“有机”模块(integrated module)。至于 license 一个 component technology,不到万不得已,不要做。因为商业性 licensed 过来的东西,与开源社区的资源不同,他们为了自身的利益,往往把模块黑箱化,使得消化集成和扩展这个模块的能力受到极大限制,长久下来,不是好事儿。

所以 这就造成了一个 catch-22.

自然语言这个 monster,要做深度分析(deep parsing)和理解,牵涉的层面不少,每一样都自己做,门槛蛮高,研发时间长。如果想偷懒,利用一些现成的模块,又会消化不良。从词典到文法,从词法到句法,从句法到语义,从本体到逻辑,从实体到关系,从浅层到深层,等等等等,真地有点烦,有点难。如果再加上领域和语种这两条延长线,以及业务场景语义落地的对接,简直就是做不完的活儿,难免产生吾生也有涯对无涯的无奈。

最后,再回到一开始的话题:pipeline 负负得正而不是错误放大的诀窍在哪里?简单总结来说就是 task-driven integrated adaptive modular development。

可以举一个NLP历史的经典例子来形象地说明这一点。稍微做过几年 NLP 的,没有人不知道 Brill's POS Tagger 的吧。Brill 发明了一个极其简单透明的,他命名为 transformation-based 符号规则的学习算法。(这个NLP大牛一看就是语言学外行,居然敢在计算语言学领域用 transformation 这个词,与乔老爷的语言学革命的经典术语撞车。简直是冒犯。)Anyway,这个所谓的 transformation 的学习机制,就是一个典型的 pipieline 负负得正的例证。整个学习过程都是最终目标驱动的,譬如 Penn Tree 里面的 POS 标准训练集。每一条规则可以看成是一个 pipeline 系统的一个模块的缩影。这个学习也叫 error-driven,意思是说,在每一层规则的学习过程中,当时现场的产生错误最小的规则胜出。因此第一条规则注定是全局最优的规则,但同时也是错漏百出的规则,跟筛子一样,大路货娄住了,后面需要大量的规则去擦屁股。每一个后续的规则都是替前面擦屁股,纠正其错误,也创造新错误,就是这么一个不断的负负得正的过程,使得规则越来越精细,概括性越来越低,错误面越来越小。初始错误不是放大,而是在不断缩小中。这一切的黄金指南就是最终的 task 的定义。这样的 Pipeline 哪里会有什么错误放大。恰恰相反呢。结果呢,对于 POS,大约是学出来 200 多条规则,就好比 200 多个模块,被一个 pipeline串起来。一个 200 多层的系统,按照错误放大理论,哪怕每个模块达到 90+% 精准(接近人的精度),放大 200 层,也是一塌糊涂。好在,这里不是错误放大,而是负负得正。一切拜 task-driven 和 integrated adaptive learning (or dev) 所赐。

好了,我想广为流传的错误放大的顾虑可以放下了。错误放大会出现,那是设计者的问题。是傻蛋架构师才会导致的恶果,不是 pipeline 系统本身的问题。

【语义计算群补记】
白:
这和公司有什么样的人有关。如果公司没有有悟性的语言学家,改造的事儿还是免了的好。

李:
不改造就很难负负得正。不改造又要降低模块的副作用,只好外包。简单说就是前堵后补。开发维护就不是一个一体化的过程。初期的甜头会被后期没完没了的异物感消弭,用的时间越长越觉得不合算:还不如当初自己咬咬牙从头做起呢。

白:
我觉得关键不在于你能改他的代码,而在于他能送给你多于一个候选结果。应该促成这种多选结果的标准化。

李:
还是不好,主要是数据结构的对接存在异物反应。它给你个XML的多结果表达,这边还要转来转去。表达能力也受限制:这种限制包括,它内部使用的可能有用的信息被隐藏了,不作为标准输出;也包括它输出的XML表达性不够,不能表达一些扩展的需要。总之是水土不服。只有改造才能服了水土。

姜:
@wei “初期的甜头会被后期没完没了的异物感消弭,用的时间越长越觉得不合算:还不如当初自己咬咬牙从头做起呢。”。很能理解您的这种感悟!有时咬咬牙自己做了就做了。

李:
我一直懊悔我的英语系统用了Brill。自己写一个POS一定比Brill好用。当时偷了这么个懒,后面擦了十几年的屁股。它的输出输入也格格不入,所用词典的格式与我内部的也很难一体化。成了一个鸡肋。回想起来是免费惹的祸。当年觉得,免费的东西,不用是傻瓜。其实在国内做MT早就弄过POS,比起后面的工作,虽然琐碎,但门槛相对低。其所以不自己做,也不完全是时间压力,还有不占便宜是傻蛋的心理作祟。幸运的是中文还没有这么一个久负盛名的免费POS诱惑我,在中文开发的时候绕过了这个陷阱。

白:
一个从终端落地应用角度驱动的、不预设语言学立场的集成者,或许可以更好地处理异构资源的协同性。毕竟同行是冤家,非同行立场更客观。

Guo:
多候选(n-best)在夸领域场合是不够的。多候选永远是在某种“语言模型”下的结果。如果这个模型离目标太远,期望值就常常不在n-best里。这时候“负负得正”就变成了一个开放问题。

白:
将错就对,也是一个策略,当年用过。只要你这样错的,那么我就把对应的某个对的拉进来做候选。

Guo:
与识别相反,pos tagging在给定标记集合上是个封闭问题。负负得正就变得有意义了。关键区别是这个“错-对”对应是开放的还是封闭的。

白:
pos tagging和parse不是前后工序的关系,而是相互决定的关系。在parse未完成时,pos tagging只有概率,没有对错。如果不能唤醒低概率的候选,就形不成闭环。

李:
绕过了中文pos与segmenter双重陷阱 是大幸。特别是那些声称在这方面表现优异的机器学习模块。你再优异也没用,用户几乎无法重新训练,于是就是一个死系统。且不说还有其他水土不服的种种。

白:
市面上的Pos压根儿就不是为 deep parsing 后道工序而存在的。

冯:
BRILL的transformation与CHOMSKY的transformation是完全不同的概念,BRILL的transformation实际上就是改错。应当把二者分开。不要顾名思义。

白:
二者拧在一起是个怪物。

李:
我觉得他在命名的时候,还没意识到这个撞车,否则不会这样命名。改错可以用很多其他的命名办法,不该与语言学革命的术语撞车。记得第一次读Brill,被他这么用“革命口号”吓倒了。当代计算语言学学者不了解语言学的 太多了,这只是一个表现。

冯:
有兴趣的专家不妨读一读我的《现代语言学流派》增订本(商务印书馆),丰富您的语言学常识。

 

【相关】

坚持四项基本原则,开发鲁棒性NLP系统

应该立法禁止切词研究:=) 

关于NLP体系和设计哲学

关于NLP方法论以及两条路线之争

关于 parsing

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

《朝华午拾》总目录

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

白:
话说,分层针对的是token间的二元关系,而token本身是不长眼睛的。所以一个token理论上可以喂给多层,此其一。随着各层的动态演化,可能会临时生出之前扫描不到的新的高优先级关系,甚至这种关系会把之前已经填好坑的萝卜再连根拔起。此其二。这样,虽然还可保持“线速”,但极端场景可能就是2N,而不是N。kick off的机制是一定要的。数理不一定等距,反而可以更细微地反映不等距。

李:
白老师今天的话起了个头,可以展开看看。其一其二说了分层面对的问题。但不足以否定分层。另外,2N有啥关系?可忽略不计吧。

分层多层是法宝。法宝到我其实不应该去宣扬,更不要去argue,自个儿得了好处一边偷着乐不好吗。粗话说,属于嘴欠。唯一的 catch 是,并不是承认或向往多层好处的人,都可以几刀就切干净。这时候语言学经验开始发力。

kick off机制点解?

白:
所谓kick off,可参见一排单摆,最后一个进来,第一个出去,其他纹丝不动。
“他死去多年的战友”“他死去多年的消息”前者启动kick off,后者不启动。“他不务正业、整天游手好闲的发小”;“他生前被人深深误解、死后被人广为称道的施政方针”。根本就不用勉强一定要看多远,远到不能错。先将错就错,占住坑再说,对的来了把我踢走就是了。可万一没错呢?再厉害的播音员也有buffer overflow的时候。“他不务正业、整天游手好闲的毛病”;“他生前被人深深误解、死后被人广为称道的传奇故事”。有kick off兜底,再长也不怕了。短的如“王冕死了父亲”也照用不误。当然,稍微加点条件就少一次折腾。lookahead什么的。

李:
嗯。
听上去就是休眠唤醒之一种。

白:
不是词法级,而是句法级。不预设无限大窗口,当前有限窗口里优先级最高的先处理掉。等到动态过程中优先级更高的来到,已处理的结果可以废掉。废掉是一对一的,不是全局性的redo。被set free的成分重新等待新的结合机会。具体到一个一个pair ,语言学知识的重要性毋庸置疑。但是local犯错误必须global来纠正的情况永远是存在的。这个时候,仍然寄希望于语言学知识来纠正,一定会按下葫芦起来瓢,而某种语言学无关的算法上的安排才是真正的出路。

李:
感觉主要还是语言学,不过是远距离的结构起作用罢了。句法级的休眠唤醒说到底就是修正local的关系(注意,local指的是短距离,不等于浅层关系,它可以在浅层,也可以在深层,可以是结构图的任意局部),对应的自然是局部修正 哪里化脓哪里上紫药水。所谓“推倒重来”就是除旧布新,最多是个 subtree,不会是全局革命。 全局推倒重来不 make sense,多层分层的路线决定了每一层绝大多数的关系是对的 要远距离唤醒和改正的必定是少数。如果不是大多数是对的 这只能说明层次的刀切错了 是语言学模块化的失败。模块化照顾的是步步为营多数受益的依存关系。在多层看来是一致的。

白:
语言学对与错都是数据的问题,不需要涉及算法。远距离唤醒需要的是算法而不是数据。算法不接受多数暴政。如果不想错得太难看,即使是小概率也要兜底。

李:
所谓远距离不过是顶层或接近顶层而已。到了接近顶层,再远距离 都变成 local tree.  天涯若比邻。

白:
分层和单向是两个概念,单向是不许后悔。分层不排斥后悔。

李:
对呀。
很多问题源自单层算法。多层以后 问题就没了。每一层的算法不必变,最多是增加一些 config而已 允许以可控的不同方式去处置。那是文法的running,不是文法的编译问题。

白:
如果在被语言学知识选中的pair之间加一些虚拟运算符,这个问题就像乘法比加法优先一样自然。

李:
哈。
怎么玩都可以。

白:
分层和算符优先是多么等价啊……

李:
分层更厉害。厉害就鲁莽。好在可以悔棋。因此多层与休眠唤醒是天然合作的。维持了线性,也维持了模块化和可维护。

白:
固定长度滑动窗口的算符优先,也需要悔棋配合。这是同样道理。而悔棋是一个算法问题,独立于具体的语言学知识。语言学知识都体现在算符里了。优先窗口计算算术表达式,也是会错的。窗口之外,是加号还是乘号,结果完全不同。有限窗口,加法乘法乘幂,这是领域知识。确定了谁比谁优先,这就是一个算法问题。限定了窗口有限,改错同样是一个算法问题。不是领域知识问题。不同点是,算术表达式中的算符是输入的一部分,而作为分析器输入的token序列中,没有算符。算符是local进行前后条件匹配后动态虚拟插入的。所以,对输入的扫描遍数不一样,极端情况下就是“两遍”。昨天说的2N就是这么来的。把语言学知识隐藏在算符后面,算法就可以一锅煮了。

李:
嘿嘿
算法机制化。不是要在算法上动手术 ,而是在算法的操作层面研究灵活性。

白:
所以,分层和算符优先真的是互通表里的。一锅煮不是错,一锅煮背后没有优先机制才是错。

李:
一锅煮要是等于单层 就难以恭维。

白:
优先机制中体现领域知识也是应有之义。有优先级的一锅煮等于变相分层。

李:
还是放不开,不够伸展。

白:
规则都没有了怎么会放不开

李:
而且优先级弄多了也麻烦,跟密电码似的,加强了规则之间的纠缠。

白:
跟层一样多就够了,又不是人去读

李:
规则与规则适度分开 是很讲分寸的

白:
不在一个优先级的pair不会纠缠。我们只看见pair,看不见规则。

李:
不是人去读?总得人调试呀。没有可读性 无法调试和维护。除非是神经。

白:
人调试,只需要调试一个优先级总表。语言学家完全看得懂,完全是数据。不是程序也不是算法,把算符搬来搬去而已。算符可以理解为特定类别的pair标签,比如<N+, N>这种pair,可能有几种,分别是什么标签,什么优先级,如此而已。单音节形容词修饰的定中结构、区别词修饰的定中结构、多音节形容词修饰的定中结构、的字结构修饰的定中结构、数量短语修饰的定中结构、核心角色介词(把、被、拿、将)构成的介词短语等等。它们的优先级不尽相同。有了这些做后盾,根本就不怕一锅煮。该先做的不会后做,因为窗口所限先做做错了的,随着窗口的滑动还会被踢掉,而且踢是点对点的,不会伤及无辜。语言学家完全不用关注kick off的实现,如果发生了kick off,语言学家是完全看得懂的。

总结一下观点:1、语言学知识用在局部;2、语言学知识转化为pair优先级、可作为虚拟算符纳入算符优先机制一锅煮;3、在窗口受限场景,可以引入kick off机制,支持句法级的休眠唤醒;4、因为输入token序列并不包含虚拟算符,虚拟算符的插入在极端情况下需要多浪费一遍扫描。

李:
虚拟算符是什么东东?

白:
可以理解为给一个二元关系在语言学上定性的标签。二元关系的两端token即使一样,语言学标签仍然可能不同,需要根据优先级区分和前后条件判据的需要加以细分。

李:
句法关系细类。

白:
我的大类只有填坑、合并、修饰、升格、降格,细分是必须的。但句法层面仅限于“控制优先顺序所必须”,绝不扩大化。五大类中,二元关系只有前三类,后两类只涉及自己,
一元。

所谓“绝不扩大化”,比如逻辑主谓,是不需要分的。但是萝卜来自坑的左方还是右方,这个区分可以有。因为,右方萝卜填谓词的坑,优先级高于左方。

白:
一个算术表达式,有加减,有乘除,有乘幂,还有括号。我们怎么确定对表达式的解析是一锅煮的还是分层的?在设定优先级的时候,事实上已经分层了,叫不叫分层纯属个人爱好。

李:
这个比喻贴切。

 

【相关】

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

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

中文处理

Parsing

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

《朝华午拾》总目录

【语义计算:"被二奶搞成少数几个男的开会被嫌弃的车型"】

刘:
【在中国被二奶搞成少数几个男的开会被嫌弃的车型之一】哪个句法分析器能把这个长定语分析清楚我就服我自己都看了好半天才明白过来

董:
别说分析,这句子看着就已经服了。

梁:
我看了好半天也没明白。

白:
关键是“开会”分词错误会干扰。

董:
“知识图谱实际有国界说”的例子耶!我想在别处,没有那么多二奶的过度,就完全不理解了。所以是有国界的。就算没有了句法上的别扭,没有二奶的国度的人一定也会莫名其妙的。

白:
这句子的坑,一是分词错误的干扰,二是“开”与“车”的远距离强关联被紧密结合成词的“车型”所冲淡。

刘:
【在中国被二奶搞成少数几个男的开会被嫌弃的车型之一】几个陷阱:1.“开会”应该切开成两个词;2.“开“的受事是车,离得太远;3.”几个男的“,几个是指车型,跟男的没有关系;4."被嫌弃的车型”,被嫌弃的是男的,不是车型。
太复杂了。

白:
看见了“车型”,有多少分析器还能同时看见“车”?
还有一个干扰,就是男的被谁嫌弃。“二奶”是先行词,而且是“男的”的相对词,所以产生“男的被二奶嫌弃”的短暂错觉。其实句中的意思是,买了送二奶开简直成了标配,男的自己开反而成了异类,受到其他人的嫌弃,
各种干扰,谁攒出来的,牛啊

“在中国被丈母娘搞成少数几个男的不送房就结不成婚的大城市之一。”

刘:
微博上真实的语言例子

严:
@刘 【在中国被二奶搞成少数几个男的开会被嫌弃的车型之一】,除了你说的四个陷阱,此句在“车型”之前还达到了七块临界。1搞成2少数3几个4男的开5会6被7嫌弃8的

刘:
七块临界我理解是指理解句子的时候记忆负担的一个阈值,应该只是心理学上的经验值吧,不知道有没有理论依据?这个句子如果画依存树我怀疑可能是非投射的

严:
陆丙甫教我的,发现遵循得很好。那些难懂的法律条款常有此通病。

梁:
我体会翻译或写作时,应该尽量把长句子 breakdown 成若干短句子,尽量把头重脚轻的句子变成 balance 的,尽量把一层一层嵌套的从句简单化。 语言表达的简洁清晰,应该是一种追求。数学语言,无非是表达方式之美。文化基因,如果想让它们容易传播出去,一定是简单的和自明的。做科学传播的,也许应该注意这个。

白:
@严 “被”,和“嫌弃”,是可以结合的,被,在省略介宾的情况下直接做状语。所以数目可能没超。

Me:
数目超不超 那都是一个极端的例子 离开 “不是人话” 不远了 不值得花太大力气。

白:
一顺手就灭了也未可知

Me:
遇到此类句子 我通常采这个态度:

1 看看极端例子能有什么功能性启发
可以实现新功能或加强已有功能 但不必一定要灭了它

2 现有的parser 做一遍 结果错了 但错得 “有理” 就好。

所谓有理 是按照系统设计 所走路径 是预期之内。譬如“开会”的强搭配距离近,系统就不给远距离的“开-车(型)”以机会。这类“错误”就是预期中的正常表现,如果不这样“错”,反而要警觉了。总体来说,对这两个“人也觉得很绕”的句子,分析器表现要正常。原则上不需要为这些outliers特地去“改进”:不仅是费功问题,更主要的是要严防弄巧成拙。关键是 预期之外隐藏一种危险,无论结果好坏。其实很多乍看出乎预期的好的表现,其实还是预期内的,可预期性是符号系统的本性吧。狗屎运是玩笑话 多数狗屎运 心里明白不是狗屎 也不是运。稍微思索两分钟 其实还是在预期之内的。符号主义的实质是 系统可解析。不能解析的符号主义行为 表明系统处于失控的边缘。

姜:
请教一下李老师何谓“符号主义”?

Me:
nlp 是 ai 之一种,nlp 所谓规则系统,归类到ai的符号主义,当然 ai 里面有一个重要成分是推理,nlp 系统较少需要推理。另一个重大区别是,在貌似已经没落的 ai 逻辑符号派诸流中,多层nlp规则系统是少有的最接地气和靠谱,在不少nlp关键应用领域(譬如 named entity tagging, shallow parsing, deep parsing, information extraction, sentiment analysis and question answering)可以胜过或匹敌深度学习质量的流派,虽然已经不在学界主流的视野之中。

白:
这里面有这么一个方法论:1、站在后知后觉立场上,当这个谜底揭晓,它是一个在系统所依据的句法理论下合理的解析吗?2、如果是,那么它一定会被暴力搜索出来,没搜出来一定是系统做了剪枝,可以评估剪枝策略是否合理。3、如果不是,可以评估系统所依据的句法理论是否合理。4、如果改进句法理论,系统是否要推倒重来。
好的句法框架可以容纳这种改进,坏的句法框架容纳不下这种改进。我可以肯定地说,CFG容纳不下。

句子有“不确定性过剩”和“不确定性稀缺”两种情况。过剩时好使的剪枝策略,用在稀缺的场景,很可能会栽。为了应对稀缺,过剩时又搞不定了。所以好的剪枝策略应该是随着不确定性的程度而动态自适应的。不确定性稀缺时,并不害怕暴力搜索。

Me:
白老师说的极是。不愧为山中高人。

白:
“张三的分数和李四的分数的差是李四的分数的两倍。”
只有一个正解,其余都是伪歧义。这是不确定性过剩,大胆剪枝。但到了“人话”的边缘,如果还是人话,还是暴力搜索管用。

Me:
为难之处在于百利一弊的策略。因为百利 不能轻易动它 但是那一弊就是那啥脚后跟,一旦出现了 或者容忍它 或者补救它 终归不能动大手术。此句的关键在 “开会” 这个词条 是个伪词。一切传统的词典查询都是最大匹配,这就断了补救的路子。

在应对了离合词的系统,这个 “开-会” 倒是从词典层面被当成两个词,因为有 “开什么会”、 “开个鸟会”、 “会开得一塌糊涂” 等变式。这似乎给解决这个问题留下了可能性。但是,即便是内嵌了离合词处理的系统,也难以抵制把 “开会” 提早处理的诱惑(这就是白老师说的“剪枝”,排除了远距离“开车”的可能性)。这种诱惑是实用主义的,是的的确确的百利,但难免一弊。

白:
真凶在休眠

Me:
英雄所见。对,真要补救 机制上可以是休眠唤醒。“开-会” 作为动宾合成词,从词典得来,可保留。但词典内部可以预留被唤醒拆分的种子,这从休眠唤醒机制上可以实现。

董:
一句破小编写的破句子,让我们这么讨论,太抬举他了。

Me:
哈。而且还不像人话。
借题发挥罢。

白:
还是有启发。比如“车型”这样的复合词怎么承载词素“车”的特征,跟“开”远距离搭配,这样的机制应该不是个案。

“空客380是他这么多年来坐过的最豪华的机型。”

“坐”和“机型”。前两天说的“增长率超过了联想”,是相反方向的脑补。

Me: “开会” 的问题 是早已熟知的最大匹配原则的百利一弊 以及 hidden ambiguity 的休眠唤醒机制 的体现(如果真要解决的话)。

白:
“机型”是“飞机”的属性名,“车型”是“车”的属性名,“增长率”是“指标”的属性名,“指标”是“公司”的属性名。“联想”是“公司”的instance。空客380是“机型”的instance。如果“顺杆儿爬”或者“顺杆儿滑”能够找到相谐的搭配词,也是一种广义的相谐。早有人提过使用图而不是线性序列的方式作为分词的输出。如果输入是词图,WSD结合当前已分析结果和后续待分析词语,作出动态优选,比直接分词算法说了算,会进一步。

Mo是修饰关系,Ma是填坑关系,Me是合并关系,Up是升格(修饰语提升为被修饰语),Sh是shift(移进,暂不处理)。

这个分析结果还有一点不满意的地方,就是“车型”填了“嫌弃”的坑。按说“男的”填这个坑最理想。

Me:
“坐过” 与 “380” 相谐呀 无需借助“机型”,无论大数据 还是通过本体。再者 这里还有一个 等价结构:o 是 s vt 过的 n。

白:
坐-机型 vs 搭乘-机型,无关380

Me:
380 是我坐过的。
380 是我坐过的玩意儿
这澡是我洗过的最糟的
这澡是我洗过的最糟的一次体验

“坐过” 与 “玩意儿” 很难说 谐不谐 还是要落实到380。

白:
“我坐过的最豪华的机型非空客380莫属。”

Me:
一个道理。有些词 譬如 玩意儿 机型 体验,可以作为类似指代词,它要从抽象落实到具体 然后才可以验证本体关系的 appropriateness。

白:
从结构看不能绕过,而且具体不是必然具体:“这是他坐过的最豪华的机型”

Me:
这句擦边

白:
不能说“这”的相关性比“机型”还高。

Me:
严格说这句有点犯规 除非认为是 有类似 380 的实体被省略

白:
句法没毛病。这就是,不确定性稀缺,不相谐的猴子称大王 犯不上在稀缺的时候进行严格的相谐性检查。

Me:
所谓语义犯规 本来就可以是合乎句法的,不然就没有乔老爷的绿色思想了。

白:
1、句法OK。2、本体里顺杆儿爬可以爬到相谐的节点。3、相谐的节点是真正想要的。
这比绿色思想还有意义得多,“增长率超过了联想”也是同理。

Me:
逻辑上是:这个机型是他坐过的飞机中的属于最豪华的机型。
逻辑啰嗦的时候 语言就偷懒 走捷径,语言表达偷逻辑的懒 案例比比皆是。惰性是人类的基础本性。

白:
前提是稀缺,如果伪歧义密集,再偷懒,就要自讨苦吃了

“男的”和“车型”争夺“嫌弃”仅剩的一个坑的逻辑:“车型”是基于定语从句所修饰的名词的反填;“男的”是基于“会”作为情态动词对填入自己的谓词宾语“嫌弃”的穿透。通常穿透的是逻辑主语(我之前也是这么理解的),但是这个例子里,逻辑主语已经被“被”的无名介宾所捷足先登,实际是穿透到逻辑宾语,所以穿透踩空了。

看来穿透的只是一道墙,不要绑死在墙里面的特定标签上。如果墙里面两个坑,逻辑主语可以优先;如果墙里面只有一个坑,那就逮谁算谁。

这算语义?已经是言外之力的层次了。以言行事。
语言三境界:以言指事、以言行事、以言成事。

郭:
@白【在中国被二奶搞成少数几个男的开会被嫌弃的车型之一】 "我可以肯定地说,CFG容纳不下",可否展开说说? 很想知道那个G在你心目中的样子。也只有知道了那个G,才能判断是不是CFG。

你以前举过一个例子: “张三、李四、王五的年龄分别是25岁、32岁、27岁,出生地分别是武汉、成都、苏州”。

我理解你心目中的G是那有名的(a^n b^n c^n)for any n, which is well known to be outside of CFG。

同样的话,在@wei 那里,我理解就是三型文法有限状态机,因为他有个“事不过三” “超过三个就不是人话”的trick。就算三步太少,那个“七块临界”限制,也把那个G带回正则文法。总之,只要那个n有个上界,就可穷举。

白:
这里面被定语从句修饰的中心语反填回定语从句中的动词所挖之坑的机制,一个成分多个爹,首先它长的样子就不是树。既然不是树,就谈不上CFG了。反填其实造成了“环”,即:名词-动词-的-名词。七块是栈的深度限制。至于放在栈里的东西怎么用,不同的G差别很大。不是说它一被常数界定,就肯定是三型文法了。这套机制的外面,还有语义中间件,把基于subcat的和基于统计的相谐性检验封装起来。面对伪歧义,这个中间件会做出筛选。这个CFG也没有。

Me:
PCFG (probabilistic CFG)是不是就带有了中间件的意味?@白
那玩意儿一度呼声很高。从我的角度看 是大锅烩的一层parsing 还是多层 parsing才是关键。

白:
@wei 有点。

Me:
一层去做cfg 不仅爆炸 没有线性算法 而且很难做深。螺蛳壳里怎么做得出一个像样的道场来。

白:
分析结果长什么样决定了格局。在这个大框架下,数据改变不了格局。

Me:
parsing 的尴尬在 自然语言现象太复杂 千丝万缕 分而治之吧 不知道这几刀怎么切。一锅烩吧 根本就顾不过来周全。

白:
太松,伪歧义就溜进来;太紧,就不robust

Me:
分而治之是显然的上策 只是没有一点经验和功力 往往不会分。我觉得。伪歧义的问题在多层系统中几乎就不是挑战,原因就是 松紧掌控也被分而治之了。每一个可能的剪枝行为可单独去调,数据驱动 假以时间 偏差就会从一个一个局部解决 ,从而获得全局最优。

白:
话说,形容词向左做补语和向右做定语,在你那里谁优先?
比如“做好男人”:

Me:
除了 定中合成词在词典外,词典的下一层是 “一字”补语,再下一层才是定语,现在是这样切的刀。因此 假如 “好男人” 不进词典,目前的分析是 【做好 男人】,但是如果一字以上 就不了。

白:
到处可见标配-例外的逻辑。
补语与时态助词呢?“哭肿了”是“哭肿-了”还是“哭-肿了”?

Me:
无所谓。爱谁谁。

白:
同级?

Me:
我是说对这种不预先特别设计,赶上哪个算哪个。

白:
分层,了总有个落脚之处吧……

Me:
目前是 “哭肿” 在先,因为 汉语有双音趋势:

白:
又不做语音合成

Me:
两个汉字的组合 看成是词典的延伸 处于非常底层

白:
照此说来,“折腾惨了”就该是“折腾-惨了”?

Me:
没问题呀,但遇到小词的时候(譬如“惨-了”的“了”),也不绝对。然而,“哭-肿” chunk 成(open)合成词了,但“折腾”-“惨”则仅仅是补语联系,而不是合成词。

白:
有点以貌取人啊……

Me:
必须滴。这个世界有完全不以貌取人的吗?何况句法乃是关于形式的系统,以貌取人,理所当然。 只是在句法语义的理解过程中,“貌”占多大比重的问题。 句法当然不仅仅追求心灵美,心灵美理应是语义的追求。当然,句法的最终目标还是语义(理解),所以句法语义接口的时候,外表美与心灵美需要一个平衡才好顺利过渡到自然语言的理解。

白:
“东西放忘了地方”,合法吗?经常有人这么说。但是“放忘”似乎没有因二字组合而产生成词的倾向。东西-放-地方,忘-地方。忘了-地方。

Me:
成词的趋向在 只是这个 bigram 的频度还不够高,用的人多了 就成词了 。

白:
这个不是大问题,皆可。吃光、用光,俨然就是词了。动结式动词

Me:
不太一样:

放x忘y
吃x x 光

动结的逻辑宾语常常出现在主语位置 不需要用显式的被动小词 “被”,这是共性。不同的是 ............

白:
“打疼了手”
别人的手疼,“打疼”是紧组合;自己的手疼,“打疼“是松组合?如果打xx疼和打xy疼能决定这个区别的话.

Me:
“打疼了手”,默认是自己的手

打他打疼了手 不是他的手。
伤透了心 是自己的心
伤透了脑筋 也是自己的脑筋

除非“操中南海的心”。把标配给冲了。

白:
这个问题在于手、心、脑筋都是部件,有坑的

郭:
“这里面被定语从句修饰的中心语反填回定语从句中的动词所挖之坑的机制,一个成分多个爹,首先它长的样子就不是树。既然不是树,就谈不上CFG了。”“反填其实造成了“环”,即:名词-动词-的-名词。”

撇开“句法制导的语义分析”,也撇开具体的句法分析过程,就纯句法描述而言,这无非就是: X -: N V 的 N

具体的“相谐”判断,用基于挖坑填坑的一致,或基于特征的合一,或基于统计的搭配,或基于经验的标配,只有分析的颗粒度和精度的差别而已,无关语言表达力。有了 X -: N V 的 N,怎样画内部的依存结构,是个“句法制导的翻译”问题。我们大可以说“在这样这样的坑/特征/统计/搭配/标配下”“V既是N的儿子又是它的老爸”,但这都不影响这个N作为X的代表一致对外。

我想探讨的是,如果把过程性的具体剖析方法从语言表达分离开,这个“描述性的”“纯”语言长什么样子。我是在找类似上面的 (a^n b^n c^n),如果这里的n是个任意值,它就是上下文相关语言,如果n是一个有界的值,它就是一个正则语言。这是一个纯描述性的语言,无关其分析方法,也无关其语义解释。

白:
先说“分别”这件事,也有粗粒度的处理方法,就是使用“列表”。不管长度,只管收拢。收拢对收拢。还有,如果描述指的是大边界。里面的小细节都归功于语义,那我指定一个全集岂不更痛快?功夫全在细节啊。我这里用的不是句法制导的方法,而是词负载结构的方法。一条显性的句法规则都没有。还有,仅就{x^ny^nz^n}这个形式语言实例而言,它的判定可以有线速算法,跟一般二型语言的判定复杂度是完全不在一个量级的。

 

 

【相关】

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

中文处理

Parsing

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

《朝华午拾》总目录

 

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

白:
“他拿了你不该拿的东西。”谁不该拿?

Me: 妙句。

他拿了他不该拿的东西。
他拿了人不该拿的东西。
他拿了不该拿的东西。

默认主语是 “人”, 其次是 “他”。这个 “人” 指的是 一般的人,正常的人,有底线的人 (decent human)。当默认主语的位置出现了 “你” 字,奇异的事儿发生了:

1 按照常理 “你” 取默认主语而代之, 这就造成了 “你” 与 默认的 decent human 或 “他” 的下意识比照。言下之意可以是:他拿了你不该拿(但他可以拿)的东西。这是一解,或可以想象的场景。

2 根据法律或规章面前人人平等的普世原则 上面的解读虽然合语言学的法 但不合现代社会的法。这就迫使默认主语 继续有效,“你” 于是不能雀占鸠巢, 不得不另寻他途。 于是“你”的定语角色 instead of 主语的可能进入理解:

他拿了你(的)不该拿的东西
== 他拿了他不该拿的属于你的东西。

3 一时想不通1与2的语义落地场景的人 会觉得这是个病句。

白:
其实,“拿”有三坑。谁,拿谁的,什么。
如果“你”进入定语从句,就少了一个萝卜,坑不饱和。所以,“完形优先”的策略会倾向于使坑饱和的分析结果。

Me:
我觉得“拿” 有两坑,通常不认为作为孙子的 “谁的” 可以提上来做儿子。

【谁】 拿 【什么】

【什么】有没有定语的坑 要看是什么名词。一般专名(如人名机构名) 材料(如 石头 钢铁)或产品种类(如智能手机 数字电视等)就无坑。但产品专名(如iPhone)可以有拥有者 算是有坑:“我拿石块”。石块不能算有坑,没有预期。如果强加了定语,那个定语是随机性的,不是语义必需的:“我拿了他家的石块”。

我拿iPhone7
默认是:我拿我的iPhone7。要是拿别人的,那可能就是窃了。

白:
拿人东西手短

Me:
还是有儿孙之别,长幼有序:

[human] take [thing]
[human] 's [thing]

“[human] take [human] 's [thing]” seems a bit too flat,cf: buy

[human] buy [thing]
I bought an iPhone7

of course we can say: I bought Apple's iPhone7,but Apple does not need to associate with "buy" directly

白:
表“取得”义有一大批动词,拿、捡、取、抢、夺、偷、窃、娶、借、买……,都有三个月坑,无需搞两层。间接宾语就是原所有者,逻辑主语就是新所有者。

Me:
定语一直很灰色(介于arg坑与随机mod之间)。如果这么说坑,也可以有四个坑五个坑:

【1 谁】 【2 从哪里】 拿 【3 谁的】 【4 什么】
【1 谁】 【2 从哪里】 拿 【3 谁的】 【4 什么】 【5 到哪里: 目标地】

白:
“所有”义由动词自带,无需借助其他手段。到哪里不是标配,谁的和哪里合并。给予类,给谁是标配。

Me:
从双宾 “给予” 开始,带两个实体的坑就逐渐处于灰色。“给予” 的 【接受者】 是公认的坑。到了另一种间接宾语 【为谁】 买 【什么】:
buy sb sth --》 buy sth for sb
就有点从arg的坑向mod的随机成分移动了。

白:
自洽、能产就好。

Me:
其他的实体角色几乎都可以或者看成是 mods,或者是孙子辈。arg struture,除了这两种间接宾语,宾语以外的坑通常是非谓语动词,也就是动词的右嵌套或者是形容词做补足语。当然这多少受欧洲语言句法框架的影响。如果超越句法,还是看 HowNet 的坑怎么定义的比较靠谱。这样一来,句法的args不过三,就需要突破了。

所谓“坑”,根子源自常识语义的本体,体现却在各个语言的句法。由于句法体系有个语言学共性,即我所谓args不过三的普世原则,结果,有些常识语义的“坑”在句法就被降格成 mods 了。这里面自有上帝造语言的玄机在,我以为。幸亏有上帝在,自然语言乱中有静,冥冥之中自有其不变之法。语言学家就是法师,可以直接与上帝对话,而普罗 native speakers 呢,只是下意识遵循,或试图不遵循:但也还是逃不过如来佛的手掌。你可以偶然违规,你不能永远违法,也不能连续不断地违规。语言可以灰色,但不可以黑色。社会媒体可以乱象丛生,但还是可以捕捉到舆情。中文可以裸奔,但不能无法。不管怎么裸奔,也还是个人形。无法的裸奔,那就成怪物了。汉语无文法论,可以休矣。无法,人如何把握,又如何能理解?

白:
怎么可能无法,最多就是一叶障目

 

【相关】

泥沙龙笔记:汉语就是一种“裸奔” 的语言
【李白之21:萝卜多坑不够咋办】 

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

中文处理

Parsing

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

《朝华午拾》总目录

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

【立委按】“真心说,语言学虽然不是显学,乍看颇落寞穷酸,但的确是最有趣的学问之一,是少有的能与上帝同在和对话的“科学”。要不世界几千年美国几百年不世出的千古学霸乔老爷能以此扬名立万呢。” 当然,乔老爷的天下无敌的引用数与崇高名声,只能说最多一半是语言学的功劳,另一半是他的左派社会主义的独立知识分子情怀及其犀利的现实批判精神。

王:
这本书把我看晕了。
这本书把我砸晕了。

N1 把 N2 V1 V2 了。

V2和哪个N发生语义关系、发生什么样的语义关系好像比较好确定;但是对V1来说,如果不看具体的句子,好像就不能确定,当N1 N2与V1结合后,各自的论元角色是什么。
李:
不确定这个句法树画得对不对……

白:
要用次范畴
但是,如果句法的目的仅仅是确定“谁跟谁有关系”而不在乎“是什么关系”,是主是宾,根本无须过问。“看”和“砸”都有两个坑,“我”填一个,剩下的N填另一个。句法的任务就完成了。所以这两句的分析在我的体系里长得没差别:

王:
谢谢白老师!下一步确定哪个萝卜进哪个坑,是不是就是知识本体的工作了。
就是您说的次范畴设计,是不是就是在词库里设定一些语义相谐的规则,萝卜只能进和它语义相谐的坑。

白老师,您的体系里只有两种pos tag?

白:
利用subcat可以确定“我看书”
但“书砸我”并不典型。
“我砸书”也不是不可以。
N、S、X 三种 X意思是“可N可S”。真正排除“我砸书”需要常识或者统计,subcat并不能做出这样的区分。通常是“硬砸软”而不会“软砸硬”,人体属于“标配软”,书则“标配硬”,也不排除硬的人体(冻僵了那种)和软的书(帛书)。

王:
谢谢白老师指点!

白:
语义相谐不一定要通过规则,也可以通过统计。
subcat只对词条标注,不对短语标注。
注意到我画的图里,“我”一个萝卜填了“看/砸”“晕”两个坑。这是因为补语动词并入谓语动词,相应的坑不占同一个萝卜的额度。

王:
对,李维老师上周推的文章里好像也说了,本体是人编的,知识图谱是统计出来的,都可以用来判断语义相谐。

李:
本体(ontology)也可以从大数据统计学出来 叫习得(acquisition),但跨领域的一般性本体不值得费劲儿去学。一来有现成的高质量的本体在 如董老师的 hownet,语义大师几十年打造的。跨领域跨语言的基本放之四海而皆准,仅次于上帝的工作。二来 学了半天 也难系统化 。但是 本体自动习得还是有一席之地,主要在,习得可以对领域 对数据有自动调适能力。更主要的是 习得可以包含本体常识的相谐的程度和或然性比较,这是人工标注 哪怕是大师的工作 所难以达到的。最终 常常是二者的结合。以专家本体框架为指导 以数据为对象 学出领域本体。

白:
相对标记,并不是每个本体都有的:“你打了他不该打的朋友。” 打,二价,但“朋友”自身仍有坑。

李:
当然 玩本体 这种 元层次语义 需要一些修为 非新手可玩 玩了也不会用 。但是 玩知识图谱这种 倒是相对人人可为 基本就是个力气活,砸的是人力和计算资源,不需要一定有语义全局的高度。

白:
标注种子词条,习得种子关联,推荐更多词条,推荐更多关联。所谓bootstrap。

李:
另外 所谓相谐(semantic coherence, or, attribute-value appropriateness) 是元知识 是本体的属性和功能 与一般的知识图谱无大干系。如果硬要 argue,在碎片化信息抽取整合成知识图谱的过程中,领域概念之间的相谐蕴含在图谱中,也不是没道理。但是关键在,相谐是作为一个软条件帮助语言分析理解,从而帮助抽取挖掘图谱的。图谱是结果,达到结果了 相谐已然过去式了。过河不必拆桥,但桥是为过河而设置,过了河就没桥什么事儿了。

另,“subcat只对词条标注,不对短语标注”,白老师这话不错。不过短语也可以继承词条的 subcat,继承的时候 已经填坑的要“折算”。换句话说 短语的 subcat 坑减少了。减少为0的时候 就功德圆满了 就没有了 subcat,譬如 s,那是最高的短语。

白:
坑的subcat没了,自身作为萝卜的还有

李:
当然 譬如右嵌套:s 可以作为子句 作宾语,是VP的右嵌套。这时候不圆满还不行 不圆满就做不了所要求的宾语子句。语言学理论里面 把这种条件叫做 configurational constraints, 也就是乔老爷的 x bar 的条件。如果这个条件要求的是尚未圆满(not fully saturated, or partially saturated) 的短语,就带着未填满的坑前行,各种好玩的语言逻辑的戏就开场了。

白:
如果词负载结构,这一切都在填坑中自然完成,无需另外的句法来“制导”。

李:
譬如 【书砸我】 还是 【我砸书】 这样的公案就出现了。到了 【书看我】 还是 【我看书】,本体常识或本体统计可以发力,当然 这种强搭配也可以不劳驾本体,而是当成词法或词典与句法的交互和接口,但是不强的搭配太柔软,句法就无计可施了,只能 identify 可能性 不能确认语义的唯一性。本体或反映本体的大数据 不得不上场。如果由于数据稀疏 上场了也不能解决 ,那只能保留歧义 有可能本来的语言表达就是双关。

真心说,语言学虽然不是显学,乍看颇落寞穷酸,但的确是最有趣的学问之一,是少有的能与上帝同在和对话的“科学”。要不世界几千年美国几百年不世出的千古学霸乔老爷能以此扬名立万呢。

 

【相关】

【语义网笔记:本体与知识图谱之辨】

语义三巨人

《泥沙龙笔记:知识习得对本体知识,信息抽取对知识图谱》

【泥沙龙笔记:再谈知识图谱和知识习得】

中文处理

Parsing

【立委科普:信息抽取】

【关于知识图谱】

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

《朝华午拾》总目录

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

Bai:
“老李把手不听使唤的徒弟骂了一顿。”
看点1、“把手”分词错误
看点2、“把+手”介词短语错误
看点3:谁的手?谁的徒弟?
“不听招呼”是非自主性状,和“把”天然矛盾。

Me:
这种东西没做过统计 究竟有多严重。统计性 值得不值得投入资源做 先放一边。可以从这类问题得到什么启示?有一个启示就是 也许我们可以适当地引入自顶而下(top down)的处理策略。很多年来 我们尝尽了自底而上(bottom up)的好处 以至于把它视为理所当然。Note 这里说的自底而上与教科书上的算法有所不同,教科书上的算法,无论自底还是自顶,指的是一层 parsing,我们说的是多层的自底而上处理。自底而上层层parsing 的好处包括鲁棒稳妥 靠谱接地气。层层推进有利分层和模块化 也有利打补丁。这些都是复杂系统难能可贵的重要品质。Having said that, 上面这类含有某种远距离搭配或关系的 cases 却可以设想一个 top down 的策略:

骂(一顿)【human】
--》把【human】骂(一顿)
--》把【rel-s 的 human】骂(一顿)

这个optional的定语从句 rel-s,可以自顶而下扩展为 【Subj Pred】,如此等等。这样一来,“手 不听使唤” 就中招了。

当年我们反潮流 反对 top down,根本理由是 top down 与主题先行一样 主观主义严重,隐藏的假设是说出的话都是合法的,所谓规范的句子。那么 我们从非终结节点 S  出发 根据有限的句式层层下推 就可以囊括所有句子。这种 top down parsing 是教科书上经典路数,但我们面对实际语料的时候,很快就举步维艰。后来把各种 subcat patterns 嵌入到 VP 里面,用词典主义(lexicalist) 细线条( fine-grainedness)来缓和矛盾,但仍然捉襟见肘,直到探索出多层的自底而上的 parsing 路线,才柳暗花明。
但必须承认,自底而上虽然条分缕析细致入微,却带有与生俱来的见树不见林的缺陷,对于远距离的结构把握不好。于是我们用拼拼凑凑或者打补丁,甚至休眠唤醒推倒重来的各种方法对此缺陷予以补救。

也许到了认真考虑如何“巧妙”结合两种路线的时候,bottom up为基础,适当穿插 top down。

 

【相关】

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

【李白对话录:从“把手”谈起】 

中文处理

Parsing

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

《朝华午拾》总目录