文因互联
首发于文因互联
语义网(知识图谱)是什么?有什么好处?

语义网(知识图谱)是什么?有什么好处?

整理自原始回答 鲍捷:语义网是什么?有什么好处?最早写于2012-02-16,主要更新2014-07-31

现在语义网领域已经改名叫知识图谱,下面说的内容对知识图谱也都是适用的。我的观点比较非官方,不一定对。我不是从“它具体是什么技术”来定义的,而是“它要解决什么问题”。只要解决这个问题的,就是语义网、知识图谱的技术。


--------------------

我试着来问答一下我的理解。当然这个问题问三个这个领域的人可能能得到五个不同的答案。我讲的这个是从我狭隘的世界观出发的,请懂行的轻拍。


简短的总结

说来话长。不同的学派在这个问题上差距太大了。如果我们过滤掉各种学术理想的“噪声”,看现实工业应用有的语义技术,可能可以总结出如下特点——当然,哲学的讨论永远看不到结束的迹象。

  • 语义网有所谓的W3C模式(就是RDF,OWL, SPARQL等)。这个模式发展很慢,很多人质疑。越来越多的人在探索其他模式。
  • 很多所谓做语义网技术的公司核心技术都是别的,比如NLP,比如检索,比如数据库。语义网是他们数据的一层皮。看宣传一定要小心。
  • 目前全世界做语义网技术提供方案的公司,排得上号的大概有150家左右。

那 语义网到底有什么用。用非常不精确的语言讲:

  • 动态的数据建模,不需要什么schema或者shema可以快速演进(这是和数据库和XML比的好处)
  • 让数据流动起来,而不是封固在一个个的网站或者应用里。
  • 支持更多的任务自动化。(怎么做到?一些数据可机器处理,一些推理,一些查询)


深入解读:语义网的目的和手段

语义网界研究早期有很多现在已经被纠正的概念(比如语义网的目的就是让机器读网页)——早期,大多数人都低估了它的困难程度。按Nova Spivack的说法,传统意义上的语义网(ca 2000定义)大概要到2030年才能实现。到2020年左右,如果运气好的话可能能实现Data Web,也就是让Web的上数据能自由流动起来。推理啊,机器理解啊,不是这个阶段的核心任务。

我觉得可以从目的和手段两个角度来解释。


*目的*


从目的的角度,语义网是一套减少数据摩擦,加快数据流动速度的方法。


为什么要加快数据流动速度呢?信息就和货物一样,慢速的系统和快速的系统创造出来的价值是完全不一样的。快的系统在单位时间内可以让更多的人参与到决策和行动中来,就可以打败那些更慢的系统。网页10秒打开和1秒打开,问题1分钟内被回答和1天被回答,效果完全不同。火云邪神说,天下武功,唯快不破,就是这个道理。


那数据流动为什么会慢呢?有人机界面的摩擦,和机器-机器界面的摩擦。其中人机界面的摩擦是主要的。


人机界面的摩擦,就是人本身产生信息,从机器那里消费信息,它的带宽是很小的。比如语音,只有几个比特。打字,也只有几个比特。图片看起来多,但最后落实到脑子里,还是要一个理解的过程,最后变成语言可描述的形式。大多数人又是很懒的,依赖一些信息直觉来选择最省力的信息,HCI里面很多这种研究,不多说了。


举例说,比如电子表格(比如Lotus123, Excel)的出现就是减小人机界面的摩擦的好样板。在电子表格之前,也有数据库,电子表格能干的事情数据库都能干,那为什么电子表格会更加流行呢?因为电子表格这种形式,更加符合人类认知的直觉,它不需要实现定义一个表结构,它可以把看起来相似的数据在屏幕上相近的组织在一起,它可以允许人们去实验数据的各种组织方式。当然这些也都是数据库都能干的,可是数据库软件不友好,它关注的是机器效率问题,不是人和机器一起工作的效率问题。


机器和机器的摩擦,就是机器怎么有效地把一个信息传送给另一个机器?各种网络协议都在不同层次上解决这个问题。和语义网特别相关的有两个。一个是XML,帮助机器建立一个交换数据的语言。一个是RSS,让博客的传播变得自动化。各个不同的领域都有自己的这种语言,比如金融领域的XBRL,医疗领域有HL7,图书馆领域都DC,等等。这些语言有些人叫模式(schema),有些人叫元数据(metadata),有些人叫本体(ontology),本质上都是促进机器之间通信的手段。


*手段*


语义网减少数据流动摩擦,加快数据流动速度的手段,也就是着眼减少人机界面的摩擦和机器与机器的摩擦这两个方面。这两个方面都是依靠为网页添加可查询的注释。大家听到说模式、元数据、本体,或者现在更时髦的链数据(linked data),知识图谱(knowledge graph),本质上就是一个东西。


减少机器和机器的摩擦很好理解,网络界一直都在做的事情。打个比方说,我要寄一个包裹给张三。但是我没有张三家的地址,我的包裹也没有信封。我就要托一个邮递员,告诉他张三住在东边山脚下第四棵大树下面。然后我托的这个人可能要找很久才能找到这个地方。现在可以做两件事加快这个过程。第一,我要有张三的门牌号码地址。在语义网里,这就是给每个网络资源一个网址URI——如果本来没有的就创造一个。第二,我要有一个写地址的信封,这个地址最好是机器可处理且自描述的。什么意思呢?比如这个地址是二维码,邮递员可以把这个地址往GPS里一扫,一下子就知道了,哦,原来这是个居民区,某个地方,我该怎么走。


自描述的网络可寻址资源, self-describing dereferenceable URI,这个是我理解的语义网的技术核心。说白了,就是要给东西起名字,然后再解释这些名字是什么。这个解释就是所谓的元数据。最重要的元数据是名字之间的关系,这就构成了一张图。现在火爆到hype的知识图谱,就是这么个东西。在这上面可以有很多更上层的操作,如查询,如推理。


那减少人机界面的摩擦呢?这个就是强调,如何利用元数据让用户来探索,来发现。比如寄包裹那个例子,如果信封上只印二维码可以吗?不可以,大多数人不会写二维码的(对应到语义网,大多数人不会去写元数据的),也看不懂。你必须提供工具让寄信的人、邮递员、收信的人都一眼就明白,哦,这个包裹从哪里来到哪里去。比如Faceted Browser,就是让用户在交互的过程中逐渐找到最需要的信息。还有各种可视化Visualization,特别是交互式的可视化,把数据变成特别容易理解的形式。再有社交媒体上现在越来越多的元数据,如Facebook Open Graph, Twitter Card,这些都是帮助用户集成信息,更直接地看到信息,发现信息的手段。


*学派*


但是很不幸,语义网内部分裂成两派,减少“人机界面的摩擦”和减少“机器与机器的摩擦”这两派在斗争中合作,在合作中斗争,已经内耗了十几年了。


用Jim Hendler (disclaimer:我以前的老板)的话说:这就是强调“语义”呢(SEMANTIC web),还是强调“网”(Semantic WEB)


减少“机器和机器的摩擦”,也就是SEMANTIC web,更多找眼于机器的效率。坦白说,大多数这个领域的人开始都是在关注这个问题,有原罪。所以从RDF, OWL, OWL2, RIF下来,发明了一系列这种语言,越来越逻辑,越来越没人懂,越来越被历史唾弃。后来就变成一些逻辑学家的游戏了。现在他们在几个会议里,如KR, AAAI,还在坚持。大多数工业界的实践已经和这些没有关系了。可惜很多教科书还由于历史原因,在这么教。


减少“人机界面的摩擦”,就是Semantic WEB,更多着眼于如何更好的服务于人。从Web现有的技术出发,比如博客啊,比如图片啊,比如JSON啊,怎么加上一点点结构化数据,每加一点就让用户感受到价值? 现在大家发明了很多轮子,很多不冠以语义网的名字。怎么从这些实践中总结(而不是设计)出一个最优实践来?这个是前沿现在关心的问题。


还有一些实践是介乎两者中间的,比如Watson, 比如Siri,既提供了智能的人机界面,又实践了大规模的机器处理。


*结语*

语义网是利用结构化数据,加快数据流动速度的方法。通俗解释请看文中寄信那个例子。

编辑于 2018-03-10

文章被以下专栏收录