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

博文

【新智元笔记:从《知网》抽取逻辑动宾的关系】 精选

已有 2653 次阅读 2016-4-28 05:53 |个人分类:立委科普|系统分类:科研笔记|关键词:ontology,本体知识,hownet,知网,逻辑动宾,受事| Ontology, HowNet, 知网, 本体知识, 逻辑动宾

以前说过,自然语言分析(parsing)和理解的总原则是句法为主,语义为辅(【立委科普:自然语言理解当然是文法为主,常识为辅】),这是从我导师辈传下来的基本原则,永远不能动摇。在这个原则指导下,我们的 parser 开发以来,除了在必要的时候利用一些静态的语义标注(lexical semantic tags,如 HUMAN, FOOD)外,一直尽量绕开语言学以外的任何动态知识(如本体关系的网络)去做纯语言学的分析,力图把句法做到极限,然后才考虑跨越语言学。

 这一路走下来,就现代汉语parsing而言,句法已经快到尽头了,parser  久经考验,鲁棒(robust)而覆盖面宽(good recall),精准(precision)也颇可观,接近90%。文法结构的总体分析质量大体达到 native speakers 的平均水平,略逊于语言学家。这个质量在大规模(scale up to)运用于社会媒体大数据的舆情抽取和挖掘方面,已经满足企业产品对质量的要求。其挖掘质量经过独立第三方评测,领先于业界。

下一步怎么走?可以有两个方向。

第一是着力于结构歧义(structuralambiguity)的辨识(identification),保留多重结果(non-deterministic output),或者休眠歧义(keep ambiguity untouched《泥沙龙笔记:parsing 的休眠反悔机制》 ;【立委科普:结构歧义的休眠唤醒演义】),留待抽取(extraction)应用或其他语义落地(grounding)模块酌情解决。这一个方向一直在有条不紊地进行中,根据需要逐步补全。这个路子是实用主义的,没有什么悬念,主要就是如何表达合适(譬如,简单的结构歧义可以用违反一个孩子只有一个老子的原则来实行),属于系统内部的约定和协调问题。原则上,句法的本性就是可以识别结构歧义,但不能完全靠一己之力来排除歧义。留待语用阶段在做抽取或其他语义落地工作的时候做,排歧往往容易或简化很多,因为语言现象被聚焦了,往往词驱动的规则就可以搞定,而且领域知识也可以派上用场。甚至原有的歧义在领域里会消弭于无形。

第二个方向就是引入语言外知识,首先是本体知识(ontology),譬如董老师的知网》(HowNet)。这个方向更具挑战性和探索性,但也因此更加引人入胜,因为我们终于到了突破语言学的边缘,开始走向语言外知识(包括常识)的境界,这是令人激动的一刻。

与传统AI以常识或领域知识作为基础的系统不同,我们的知识引进是在句法框架下进行的,完全由句法决定何时调用这些知识。这有两大好处,一个是句法能搞定的多数现象中,不用劳驾语言外知识,因此减轻了系统的知识负担。二是知识的引进可以 peace-meal 进行,增量式弥补句法的不足,无需一次性纳入整个的 ontology,这对系统的稳定和健康,以及测量知识对于 parsing 的投入产出效益有很大的好处。Hopefullyontology 一上,parser 就如虎添翼了。

所谓本体知识,指的是知识本身的内部关系,而不是外部的信息情报。最常见的本体知识之一就是概念的定义,包括概念的上下位关系以及其他的修饰关系,譬如“人是一种【会说话的、会思想的、直立行走的、制造工具的】“动物”。

我们引入本体知识的第一个突破口选择为逻辑动宾(VO)的关系,里面隐含了尽人皆知的常识,譬如“吃”的对象是“食品”或“可吃之物”。首先是尝试从HowNet抽取我们需要的VO知识,HowNet O 叫做 PATIENT(受事),抽取笔记如下。 

eat       PATIENT        vegetable,physical,part,medicine,edible,artifact,beast,food,fish

vegetable,medicine, edible, beast, food, fish 都没有问题,经过 HowNet taxonomy,估计最后应该只剩下 edible 这个上位概念才对。上面的抽取,是自底而上从 HowNet 的动词概念的定义进行的,都是在 taxonomy 不同节点上的 patient 的优选语义,大多是reasonable但是,artifact physical 要是直接就用,可能问题就大了,因为这两个语义节点都是概括性很强的 entity,远远大于可吃之物,即便优选语义做放松,感觉上也放松不了那么远。吃桌子(artifact),吃大海(physical)这类,除非是句法强制,只能出现在寓言和梦境里。吃 part 就更不好说了,因为 part 不在taxonomy的主线上,什么事儿都会发生。所以,我怀疑是我助手从 HowNet 里面抽取错了。这类的本体知识库,白老师认为,将来要依靠大数据,从数据中学。我的感觉是,大数据可以对知识库做微调和领域延伸,自动适应不同的数据源但最好还是有一个人工的起点比较心安。


白:吃桌子,可能是以桌子为生的意思。吃大海,跟靠山吃山靠海吃海似乎有关。当年马希文老师也举过吃棺材铺的例子。

:lexical knowledge acquisition from big data 这一块听上去蛮有道理,路子也还算清晰。成功运用的案例(demo 不算,而是 scale up 而且铺开来实用的那种)迄今还没怎么见到,估计尚需时日。

:artifact,是人造物,可以卖了谋生。physical,很多自然资源,也可以谋生。吃延展到谋生,就是这个样子了。我说的不是学本体知识库,是学分析用的中间件,用来替换或者说避开本体知识库。而且人工起点做成大数据的样子也无妨。

:  哦。本体知识库是可以学的,不过本体比较静态,时代变迁不大,与其去学,不如人工的精雕细琢,反正是十年磨一剑,有董老师这样的圣人在。分析用的中间件,本来是指句法关系上一层的逻辑语义 role labeling譬如Topic 耍流氓”以后如何从良。回头说 VO 关系的种种延伸:语词中(包括成语)可能确实有各种延伸:吃豆腐,吃食堂,(靠山)吃山,喝西北风 ……但是,这些东西是不该进入本体知识的,否则就乱套了。这些延伸最好还是每个语言内部利用collocation 的机制去对付,e.g. “西北风喝了两年了,我终于找到了第一份像样的差事。”“喝西北风”在汉语,强盗绑架,盗亦有道,名正言顺。但是,喝东南风,喝台风,喝无产阶级东风,就越偏越远了。

目标很明确,我们要抽取普世ontology中的关于 VO patient)关系的概念对儿,然后一旦在一个语言的应用中调试成功,理论上,我可以运用到任何其他的语言。 

:

@wei你的助手大体上可以,看来可能是太宽泛了。如果我们来做的话应是这样的:用{eat|}作为关键字,键入HowNet Bwowser“Keyword”,选择的检索方式为“first”,然后检出{eat|:patient=...},这就是eat)的patients的语义约束。HowNet7个义项,“eat”4个义项。但只有{eat|}才是我们现在讨论的。另外,“patient”{part|部件}的不应泛化,而应该是有进一步限定的“part”。还应包括:{material|材料:MaterialOf={edible|食物}}(如:粮食、粗粮、豆油),{material|材料:{adjust|调整:PatientAttribute={Taste|味道},material={~}}},(如:酱油), 以及{material|材料:MaterialOf={food|食品}},(如:醋)等。

: 感动上帝,董老师本尊终于出来了。用 eat 作为关键字,是因为我们有这个 V 的起点。如果我的目标就是抽取所有的 VO,我怎么枚举 V 呢?似乎 HowNet 的设计是自底而上的,不支持这种没有 driving concept 的检索。

再看一例: 

remove  PATIENT            

institution,house,human,tool,livestock,ice,mark,tree,agreement,sound,excrement,dizzy,waste,inflamed,control,experience,gas,physical,material,mishap,phenomena,lights,fire,information,water,weapon,sad,fact,upset,bacteria,wind,weather,thinking,punish,disease,stone,army,addictive,system,building,emotion,text,chemical 

看样子这个 VO ontology 关系的抽取还要做点功夫,才不至于抽取过泛,不过还是比拍脑袋强多了,而且也可以保证覆盖面,应该是 HowNet encode进去的 patient 覆盖了概念区间,遗漏的应该是个别的情形,因为 HowNet 是自底而上多年精心编制而成。

可能是remove 这个action 太宽了,因此对于受事的要求就很宽泛,抽出来的就多。结果这么宽,这条 ontology 的制约就没什么用。换句话说,如果世界上的几乎所有东西都可以 remove也就意味着动作对对象实际上没有制约了在制约与制约争夺战的时候,怎么确定制约的强弱呢,确定了之后怎么给不同的权重或区分呢?这些都是研究课题。先摸石头过河吧。 

回董老师,语义限制会不会陷入优选语义的陷阱?不会的。如今引进 ontology parsing,我是有意识地从严不从宽。因为宽的问题现存句法已经在下面接住了。所以引入 HowNet ontology 的知识,就是为了在现有的句法上面,做得更精准一点。换句话说,即便优选的语义太“优选”了,推向极致,就是标准是如此之高,ontology 一个也抓不着,那么我在句法框架下引入的 ontology,最多是没有效果,但绝不会有副作用。因为系统是hierarchy的。做了一些无用功而已。因此 ontology 的引入,是抓住一个算一个,凡是抓住的,都是对系统的提升。现在初步探索,还不敢结论值得不值得,但思路应该是没有问题的。最坏的情况就是白老师说的大炮打蚊子,没打着。其实初步结论是,已经打着了,只是打到的不多,可能有个值得不值得的问题。这里说的是普世本体知识,eat-food之类,接近常识的那种。

至于语言内的VO搭配,吃-饭,洗-澡,睡-觉,发-怒,之类,那个好处是毋庸置疑的。那不是大炮,那是弹弓打笨鸟,一打一准。

: 又回到那个熟悉的原点,标配。

: 董老师,VO ontology 抽取出现一些难以解释的情况,我不知道是 HowNet 的体系我们没有理解对,还是助手抽取的缺漏。为了防止抓取 eat-part from 吃奶),我们已经排除了带有限制的 patient,只采纳直接的 patient 的关系。譬如 buy sell 只抓取出:

sell PATIENT drinks

buy PATIENT edible

商品社会,似乎无物不可买卖,绝不该只限于食品或饮料。难道自底而上的概念定义中,就没有其他的 VO 用到吃和喝供我们抽取出 VO ontology network 中这个概念对儿?可是其他的 VO 抽取就显得很丰富,譬如:

use PATIENT

time,furniture,house,expression,tool,internet,livestock,mark,sound,fund,community,implement,material,letter,language,computer,water,weapon,plans,wind,army,method

一眼看去,就觉得靠谱,也相对全面。可“用”之物,虽然比可“买卖”之物可能外延的确要大一些,但不该有如此大的悬殊。另外,为什么从“买”抽取的是食品(包括饮料),而从“卖”却只抽取出饮料?这两个是镜像概念,在本体网络里面应该是对称的,这种差异有些费解,肯定是我们哪里弄错了。

从一个个语词概念的定义中找寻VO来抽取的自底而上的路子,的确有可能逻辑不完整或有 accidental gaps,但是汉语英语的语词已经如此丰富,这样抽取归纳也不应该离谱或缺漏太多。本来想自底而上抽取接地气,从数据中来到数据中去比较务实,最多是有很多冗余,我们抽取完做一下 fusion 就可以了。但现在看似乎哪里没有抽到位。当然多数的抽取还是很make sense的,intuitively,再譬如:

kill PATIENT

animal,human,beast,livestock,bacteria

protect PATIENT  

bird,physical,animate,artifact,location,human,knowledge,livestock,publications,affairs,place,eye,tree,route,law,family,royal,rights,leg,method,plant

保护鸟类动物(生态),保护知识(产权),等,都是当代很重要的基本概念,慢慢融化到语词去,然后在本体定义中呈现,倒也符合本体知识的时间积淀本性。由此想到了基于语词概念的ontology与基于大数据的ontology的一个重要的区别,买、卖其所以没有抽取出足够多的 patients,可能是因为 HowNet 所涵盖的语词概念不大涉及这层关系。换句话说,语词化的概念(包括复合语词概念和成语)中,需要这种关系的量很少。也就是说,买、卖与其 patient 的关系更多地不是以词典记忆的 morphology 方式存于我们的脑袋,然后被 HowNet 模型出来的,而是由 open expressions 的句法自由结合的关系出现在语言大数据中。我们尝试寻找词典化的买卖与patient 的关系,还真不大能找着,这就难怪从概念词典抽取 ontology 显得不全了。要是从句法 parsing以后的大数据去抽取,那就会丰富得多。刚才想到一个词“卖艺”,想看看“卖”和“艺”是不是连上了我们所要的 VO 关系。结果 HowNet 不是这样的 literally 地定义这个语词,而是定义成更核心的概念:

DEF MakeLiving: means=perform

这里没有“卖”的义素出场的必要:我同意这个语词所对应的概念的确是“谋生”,而不是字面上的“卖”,手段表演(“艺”),而不仅仅是字面上的出卖它。

又想到了一个词“售票”,心里想,这  “售”“票”的 patient 关系总跑不掉了吧,这下至少不仅仅是饮料食品了。结果也没有直接的 VO 关联,而是在定义中强调的是“所有”物的转移?至于卖身卖淫卖笑卖国,我以后再查,总之是 patient 不在定义中。有意思,有意思。看来,义元定义概念也有直译义译的不同角度。这里面学问大了。

售票: DEF={sell|:domain={commerce|商业},possession={coupon|票证}}

VO型合成动词“售票”的确是“sell”这个主概念范畴的,但是定义中给这个主概念加关系限制的时候,没有 patient 的出场,而是用的 possession 加上领域概念 domain,原来,买卖的上位概念都是拥有(possession)在商业domain里。买卖的关系就是拥有关系的转移,转移的概念在 buy sell 的定义中,而不在其复合语词的概念中,这样才好理解。

现在总算清楚一些了。就是说,从大数据去习得(acquireontology 与从原子概念网络去抽取ontology,尽管很可能有很大的重合面,但也还有不少相互补充的地方。人如果把一种关系语词化、概念化、记忆到黑盒子去(memory),往往是因为它已经有某种引申,某种不透明。如果是全透明,人就不需要记忆,只需要规则去合成逻辑语义就好了。

“卖艺”之所以不仅仅是出卖手艺,就在于此。这样一来,语词化或概念原子化的网络里面必然会有一些本体关系的缺漏。这些缺漏对于原子概念(atomic concept,即义素)是无用的知识。因为原子概念体系内部是完整的,而这些缺漏都是可以按照一定的规则从原子概念通过某种句法叠加而来,所谓 semantic compositionality,这是一切 deep parsing 的最终目标和表达。

: @wei 关于语义和常识,我发了一篇博文,供参考。

: 谢谢。董老师最新博客:《语义和常识

QUOTE语义、语法、语用都应该是语言内知识。常识(ontology)则是语言外知识。但因为它是语义的基础,与语义密切相关,所以有时候似乎你中有我,我中有你,切不断理还乱。

常识是元知识or本体知识,属于语言外知识,应无疑问。语用在语言学的边缘上,是语义与领域接口,涉及领域知识,有点灰色地带的意思。句法(包括词法和词典)是最纯粹的语言学,语义则是句法的目标和结果。句法和语义是一个铜板的两面,一面是基于形式的组合规律;另一面对对这种组合的解释。

: 卖艺是卖服务,艺是服务的支撑。

: 卖艺是表象,谋生是实质,HowNet 这样解释似乎更深刻

当我们用“卖艺”这个词的时候,它与我们用自由组合卖苹果还是有不同的意味。前者是职业性的谋生行为,后者可能是临时性、一次性的行为。前者进入本体(ontology),后者留在语言。前者是本体的知识积淀(积淀的结果就是所谓常识),作为人类理解的基础支持和标配(default);而后者可以是IEInformationExtraction)的抽取目标,有情报价值。

HowNet 有点着迷了,此前从来没有认真走进去看。

:  谋生和赚外快是什么关系?正当职业之外的走穴算不算谋生,算不算卖艺?

:

走穴不是在走穴是肯定的,这就是语词黑箱化概念过程中出现的记忆对象。是不是归在“谋生”的概念伞下,还是义素里面增加一个类似“打牙祭”的姐妹概念,那是一个概念网络的自组织的问题,每一个 ontology 的创造者肯定有不同的义素粗细程度,来模型我们大脑里面积淀的常识。如果走穴归在了“谋生”里面,那么“谋生”概念的职业性就减弱了。

: 卖服务和卖商品的最大不同就是“拥有”关系。卖服务的前后“拥有”关系没有改变,但是被服务者获得了一种体验或方便。擦皮鞋也是卖服务,也是谋生,但不算是啥“卖艺”。

: Anyway,现在看来,大数据学不出来一个 HowNetHowNet,也涵盖不了大数据的本体延伸。

大数据里面有两类知识。从大数据抽取本体的一类,学名叫 acquisition,知识习得。从大数据抽取情报的一类,学名叫 extraction,信息抽取。学界这个界限一直分得很分明的。

: 学生课余兼职表演算不算卖艺?总感觉脱离“卖”谈卖艺是危险的。

: 白老师的这些问题,当年董老师一定思索过很多很深。然后做出了自己的选择,最后定下了模型。

语义深似海,常识底为最。知网小世界,董老大智慧。

这就是一个灰色的箱子。在模型化的过程是黑化还是白化的选择。合成词里面有很多灰色的东西,看上去半透明。完全透明了,就没有进入词典的理由,何况人脑本来就是这么块小豆腐(电脑不同,为图省事可以选择把常见的透明现象也装进去)。完全不透明那就是“真”成语,“翘辫子”之类。翘辫子的人辫子根本就没翘,甚至根本就没有辫子。词源上,翘辫子有一个黑箱化的过程在,但现时看,就是一个黑箱子,因此进入了强盗绑架的词典(memory)。如何绑架是横竖有理,内部自洽、好用就好。卖艺绑架给谋生,当属此类。

做一个本体论模型,要做到逻辑自洽而完备,肯定有不少取舍。抓大放小是必须的。

: 所有权的变化,对于整个服务类的职业都不存在,无论是擦皮鞋、理发、表演还是银行柜台数钱。但都是卖服务。卖艺只是卖服务的特例,不应该跟是否谋生绑在一起。否则又涉及到专职兼职走穴的问题。卖身也是。买保险,也没有所有权转移。买的是一种或然事件发生情形下获得赔偿/补偿的权利。


董: @wei 我看了你的笔记。我应该再强调一下。千万别搞优选语义。我们的认识是:什么是常识,或称Ontology?就是这样来测试:问自己如果是“吃”,最一般的或者第一个想到的是“吃”什么?在实际上“吃”可以“吃任何东西”。常识已经包含了某种统计,某种对人类的共同的统计。例如:“那孩子有毛病,就愿意吃墙土”。句法分析时,主要要靠结构。只有出现两种可能时,要做出抉择时,就用常识。

我: 是啊 我不用优选度的概念。本体常识的尝试只局限于结构二义的时候帮助决定。即便如此 现在看来多数情形还是休眠二义性更值当。应本土算是一个研究性探索。




【相关】

【立委科普:自然语言理解当然是文法为主,常识为辅】


董老师最新博客:《语义和常识

HowNet知网

《泥沙龙笔记:parsing 的休眠反悔机制》

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

【泥沙龙笔记:NLP hard 的歧义突破】

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


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






http://blog.sciencenet.cn/blog-362400-973260.html

上一篇:【deep parsing 吃文化:植树为林自成景(60/n)】
下一篇:[转载]【欧阳峰:立委的镜子】

2 沈律 bridgeneer

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

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-3-20 05:27

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部