2012年11月30日星期五

语义网是给人用的

语义网是给人用的

这个题目好像是废话。不是给人用的,难道是给机器用的?

不幸而言中。

语义网研究的早期(其实现在还有不少人),有种看法,就是传统的Web是给人读的,而语义网是让机器来读网页,”Machine Understandable”。例如,Tim Berners-Lee在1998年的一个Design Issues(注:TBL的design issues,就当教皇的敕令好了),Semantic Web Road map里说

The Web was designed as an information space, with the goal that it should be useful not only for human-human communication, but also that machines would be able to participate and help. One of the major obstacles to this has been the fact that most information on the Web is designed for human consumption… the Semantic Webapproach instead develops languages for expressing information in a machine processable form.

后来有很多年,对语义网的宣传就是这样讲的:让机器来读网页的内容,并理解网页。

这么说,本来并不错。语义网技术的发展,也基本按TBL在1998年就定下的调子走。

问题是,就算经是好的,念经的和尚难免把经念歪了。这导致了后来的一系列问题。

从TBL的road map出发,大家的思路自然是,那我们先去设计一种语言,帮人来做网页的元数据标注(metadata annotation),不就好了。于是就有了RDF, SHOE, DAML, OIL, DAML+OIL, OWL,等等。无数的银子砸进去。

听到一点点响。

后来(2006年),大家觉得是不是经有问题?为什么大企业大多都不跟进呢?是不是太复杂了?后来就有了对语义网技术栈的简化。TBL又发了一条敕令:Linked Data。又是无数的银子砸进去。

这会听到的响多一些。linked data (http://linkeddata.org) 的数量,现在有300多个数据集,300多亿triple。在用在Watson等系统里了,效果不错。

不过,这又过了5年,对语义网质疑的声音,依然是远远超过支持它的声音。大企业的跟进,依然是笛卡尔对宗教的那种态度:试一试,试一试。说实在的,在这样的环境下,没有一点宗教的热忱或者愚蠢,那是不容易坚持下去的。

问题出在哪里?

某年我参加了一个研讨会。会上大家畅所欲言,说了推理啊,查询啊,界面啊,种种问题。然后有人问了一个问题:数据呢,数据在哪里?

主持人就问:大家说说看,你们在用什么数据?

一种不大不小的尴尬在会场蔓延。是的,在场的绝大多数人都没有从用户那里来的“真实”的数据,更不用说元数据。

从用户那里,很难拿到高质量数据,几乎不可能拿到大量的用户添加过元数据的数据。

用户都是人。人做一件事,是要考虑成本和收益的。人是有心理和感情的。人是有极大的认知局限的。大多数人本性是爱偷懒和虚荣的。我们现在的教育,没有教会大多数人怎么管理数据(因为直到不久以前,大多数人的问题是数据太少而不是太多)。如果从人那里来的就是垃圾数据,那你休想指望从中提取出太多有用的信息(除非你只关心一些宏观的统计指标)。

我开始觉得,语义网的问题,其实不在机器的语言设计的是不是简单,是不是可以推理、理解,也不是可扩展性。核心问题,其实在人,在人能不能被激励去做一些事情,然后机器才可以去做 一些相对简单的事。在设计一个语义应用前,我要问自己一系列问题:

  • 数据在哪里?谁提供数据?
  • 元数据会一并提供吗?
  • 用户会不会提供元数据?他们会因此得到什么好处?他们的心理是什么?到什么程度他们会烦?
  • 产生数据和元数据的代价是多大?用户需要付出多大的努力?
  • 用户需要多长时间才会从提供元数据得到好处?
  • 总用户里,有多少会主动提供元数据?在这些人里,又有多少会提供高质量的元数据?
  • 数据的依赖性如何?是不是要等很多用户都来提供数据了,系统才能有用?单个用户的数据有多少用?
  • 需要多少数据/元数据系统才会有一点用?明显有用?要几天,几个月,还是几个世纪才能达到?
  • 什么样的元数据是对用户/客户对有价值的?如果没有,有多大可能用工具获得?
  • 对现有系统,需要多大的改动?现有的工作模式是不是会被改变?这些人有动机做这种改变吗?会不会有抵触?怎么解决?
  • 在这个应用的全生命周期,哪些人会参与? 有多少人需要重新培训?培训的代价是多少?
  • 等等,还有很多这里不说了

语义网是给人用的。语义网上的数据,除了一些用来科研和生产的(比如天文观测和工业仪表),大头还是要由人的活动来产生。要抓住人性,才能抓住数据,然后才有后来的一切。

语义网这场革命,正如社交网络(social network),主要是一种社会的革命,模式的变迁(Paradigm Shift),而以技术支持为手段。

语义网,是要为人民服务。不要把自己关在屋里想,去设计社会该什么走,什么是“合理”的。反之,应该走出去,抓住人的欲望和能力,体察社会的趋势,从“存在”中寻找合理性,那些有助于机器来帮助”人理解人”的合理性。

至于这个东西还叫不叫语义网,已经不重要了。

没有评论:

发表评论