最好走的路越走越难,最难走的路越走越容易

Follow guwendong on Web
  • Subscribe to Beyond Search via RSS
  • Follow @clickstone on SinaWeibo
  • Join Resys Google Group
  • Follow @clickstone on Douban
  • Follow @clickstone on Twitter

Category Archives: 语义网

Semantic Web:语义网是如何运作的?

为了实现语义网智能化与自动化处理信息的目标,语义网的研究者们开发了许多新技术并提出了一系列的标准和规范。被广泛认可的语义网体系框架是由Tim Berners-Lee提出来的,如图1所示,自下而上共有7层。
W3C Semantic Stack 图1 语义网体系框架

第1层:URI和Unicode,语义网的基础设施。
必须首先说一下URI(Uniform Resource Identifier),中文通常称作“统一资源标识符”,它是语义网的根基。同现在互联网使用URL标识HTML页面一样,语义网同样需要一个类似的规范,用来唯一标识网络上的资源。语义网使用URI规范,具体的规范在RFC 2396里进行了详细的说明。任何组织和个人都可以自由定义和使用URI。需要澄清的一个概念是,URI的使用与URL有很大区别。URL被用来标识一个网络路径,可以通过互联网在这个URL上访问到对应的资源;但一个URI所标识的资源可能根本无法通过网络访问到,它标识而且仅仅是标识一个资源,并不同时包含该资源的访问路径。从概念上来讲,URI包含URL。
Unicode想必大家都不陌生,它是一个字符集,这个字符集中所有的字符都用两个字节表示,可以表示65356个字符,基本上包括了世界上所有语言的字符。语义网的终极目标是构建一个全球信息网络,它必然涵盖各个国家、各个民族的语言,采用Unicode作为其字符编码方案,可以从根本上解决跨地区、跨语言字符编码的格式标准问题。
这一层是整个语义网的基础,URI负责资源的标识,Unicode负责资源的编码。

第2层:XML、Namespaces、XML Schema和XML Query,语义网的语法层。
XML已经成为数据表示和数据交换的事实标准,它提供一种格式自由的语法,用户可以按照自己的需要创建标记集,并使用这些标记编写XML文档。正因为任何人都可以自由定义标记,所以不可避免地就会发生标记同名的情况。W3C引入Namespaces,即命名空间,机制,在标记前面加上URI索引,从而消解这种冲突。例如,,其中标记就指定了“cs”命名空间,从而避免与其他博客的标记产生冲突。XML Schema提供了一种对XML文档进行数据校验的机制。它基于XML语法,提供多种数据类型,对XML标记的结构和使用方法进行了规范。XML Query是在XML基础上发展起来的技术标准,类似的还有XPath等,使用这些技术,可以对XML文档进行数据检索、提取节点等操作。
然而,随着XML在数据交换,应用集成等领域的广泛应用,人们逐渐发现,XML仅适用于描述表示数据的语法,却不能涵盖数据的语义。鉴于XML受到业界的普遍支持,并且已经具备了较完备的技术标准,在语义网体系框架中,将其作为数据表示的语法层。

第3层:RDF Model、RDF Schema和RDF Syntax,语义网的数据互操作层。
XML不适于表达数据的语义,因此,数据语义的定义和互操作,需要由更高一层来完成。因此,W3C组织开发出了一种新的语言,用来描述互联网上的资源及其之间的关系,这就是,资源描述框架(Resource Description Framework,RDF)。RDF采用三元组,来表示互联网上的资源、属性及其值。在语义网概念里,这种三元组被称为RDF的“陈述(Statement)”:主体,即某个资源(Resource),的某个属性(Property)(谓词)的值是客体(某个资源,或者是原生值,如字符串)。
RDF提供了一套标准的数据语义描述规范,但它还需要定义描述中使用的词汇。RDF Schema(RDFS)提供了一种面向计算机理解的词汇定义,提供了描述类和属性的能力。RDFS在RDF的基础上引入了类、类之间的关系、属性之间的关系、以及属性的定义域与值域等。它就像一个字典,计算机通过它可以理解数据的含义。它有一个明显区别于对象模型的特点,属性是独立于类的,一个属性可以应用于多个类或者实例。
RDF Syntax构建了一套完整的语法以利于计算机进行自动分析和处理。它有三种常用的表示方法:图形、N3 和XML。其中,图形表示是对RDF模型的直接描述,通过RDF模型的图像化,可以直接明了的观察RDF数据及其关系;N3 是一种用三元组的方式,通过枚举RDF模型中的每个“陈述”来表述RDF模型,它最易于使用,简明易懂;RDF/XML 将RDF以XML语法描述,将XML的解析过程和解释过程相结合,这样,RDF在帮助解析器阅读XML的同时,可以获取XML所要表达的语义,并可以根据它们的关系进行推理,从而做出基于语义的判断。但是RDF/XML常常因为过于复杂、难以使用而受到指责。

第4层:Ontology,语义网的知识集合。
本体(Ontology)最早是一个哲学上的概念,从哲学的范畴来说,本体是客观存在的一个系统的解释或说明,关心的是客观现实的抽象本质。人工智能方面的研究人员最早将其引入了计算机领域。关于本体,一个最为流行的定义是,“本体是共享概念模型的形式化规范说明”。这包含4层含义:概念模型(conceptualization)、明确(explicit)、形式化(formal)和共享(share)。
1)概念模型(conceptualization):通过抽象出客观世界中一些现象的相关概念而得到的模型,其表示的含义独立于具体的环境状态。
2)明确(explicit):所使用的概念及使用这些概念的约束都有明确的定义。
3)形式化(formal):本体是计算机可读的。
4)共享(share):本体中体现的是共同认可的知识,反映的是相关领域中公认的概念集,它所针对的是团体而不是个体的共识。
本体的目标是提取领域知识,统一对某个领域知识的共同理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些词汇和词汇之间相互关系的明确定义。
作为语义网中最为核心的一层,本体层在RDF和RDFS进行基本的类/属性描述的基础之上,更进一步地描述了本体以及它们之间的关系。这一层有其专用的本体描述语言。历史上曾经出现的有一定影响的包括,SHOE(Simple HTML Ontology Language),OIL(Ontology Inference Language),DAML(DARPA Agent Markup Language),以及DAML+OIL。RDF也是一种简单的本体描述语言,但它的描述能力比较弱,需要进行扩展。OWL(Web Ontology Language)是W3C组织推荐的本体描述语言,它的实现比较多的参考了DAML+OIL的设计思想和经验。

第5层:Logic,规则及其描述方法是自动推理的基础。
语义网的一个重要目标,就是实现基于特定规则的自动推理。这是一项非常复杂的工作。起初,围绕着如何实现这个目标,甚至是能否实现这个目标,研究人员之间的争论非常激烈。一个典型的论题就是“RDF是否具备实现自动推理的能力?”,一些人认为RDF/RDFS缺乏进行量化运算的能力。
举个例子,如果你的好朋友说,“《阿干正传》是部好电影”,恰好你也看了《阿干正传》,并且和他的意见一致。这样,你会对好朋友的判断产生认同。这种肯定的认同会对你的推理发生作用。当他再次告诉我们,“《无极》无聊至极”之后,你就可以依据之间的结果对这个评论做出判断。
现实生活里,人们可以根据自己的亲身经历作出推理。在语义网中,研究者们需要把这个推理过程使用量化的方法加以实现和证明。近年来,随着研究工作的不断深入,描述逻辑(Description Logic, DL), 作为较为一种较为成熟的知识表示方法,被引入进来。它对OWL等规范的指定,起到了一定程度的指导作用。最近,研究人员已经开始尝试着在OWL 上加入规则形成OWL的规则语言ORL(OWL Rules Language),从而可以更好地进行自动推理工作。

第6层:Proof,推理结果应该是可以验证的。
目前,针对Proof层以及后面Trust层的研究成果还不是很多,但一个普遍的共识是,Proof和Trust是语义网领域内两个非常重要的研究课题。Proof层使用Logic层定义的推理规则进行逻辑推理,得出某种结论。对于语义网的用户来讲,这个推理过程应该是建立在可靠的数据基础之上的,推理的过程应该是公开的,而且推理得到的结论也应该是可以验证的。
还使用上面的那个例子,我们经过推理,认为“《无极》不是一部好电影”。在现实生活里,我们可以亲自观看《无极》,并做成判断,对这个推理及其结论进行验证。而在语义网中,我们也必须具备这样的验证机制。在计算机的概念里,通常把类似于亲身经历的事情称作“上下文”。上下文是我们作出推理的基础,因此,语义网必须建立一种方法来证明推理所使用的上下文信息的准确性和真实性。

第7层:Trust,语义网应该是一个可以信任的网络。
在语义网内进行推理并最终得出的结论应该是可以信任的。这需要满足两点:(1)可以信任所见的数据,即上下文;(2)可以信任所作的推理过程。满足了这两点,才可以信任最终得到的推理结果。
使用语义网的RDF模型,任何人都可以对任何资源进行描述,不同立场的人对相同的资源可能会作出完全相反的描述。Trust层负责为应用程序提供一种机制,以决定是否信任给出的论证。Trust层的建立,使智能代理在网络上实现个性化服务,以及彼此间自动交互合作,具备了可靠性和安全性。

其他:Signature,数字签名。
数字签名位于层次模型的右侧,贯串了语义网的中间四层。数字签名是一种基于互联网的安全认证机制。当信息从一个层次传递到另一个层次时,可以使用数字签名说明信息的来源和安全性;这样,接收方就可以通过数字签名鉴别其来源和安全性,以决定信息的可信任程度。有了数字签名,一些重要的电子商务活动就可以放心地在语义网上进行了。其实不光对于语义网,数字签名对于所有的信息交换系统都非常重要。

 

Semantic Web:为什么需要语义网?

据最近报道,全世界互联网上的站点已经超过了1亿个,互联网也成为了人类有史以来构建的最大的数据库,它涉及几乎所有已知的领域。现在的互联网使用HTML语言编写的页面作为数据的载体,它们通过超链接相互交织在一起,使得人们可以方便地访问这些数据。HTML语言是互联网的支撑技术之一,它为互联网的繁荣起到了不可磨灭的作用。但不可否认,HTML语言有着其与生俱来的缺陷——作为一种面向表现的标记语言,它只定义了用来格式化数据显示的标记集,而缺乏明确说明数据含义的标记。这导致在HTML页面里,数据与其表现形式是糅合在一起的,计算机只明白如何显示一个页面,但并不能真正地“理解”这个页面的信息。因此,基于互联网的一些应用,如电子商务、智能信息检索、智能代理等,始终无法真正实现智能化和自动化。互联网的研究者们,一直都在试图解决这个问题。目前为止,搜索引擎技术是最成功的一种尝试。搜索引擎技术以自然语言处理(Natural Language Processing,NLP)为基础,在相关领域展开了大量的理论研究和应用实践,但是依然面临着巨大的困难,信息查询的查准率和查全率很难进一步提高。现在的搜索引擎,大多是通过关键字进行搜索,在找到你所需信息的同时,也会带来大量毫不相关的干扰信息,需要我们再进行人工过滤。例如,如果你用关键字“苹果”搜索,搜索引擎根本无法知道你是在找一种水果,还是在找苹果公司的信息,抑或是苹果牌牛仔裤。问题的根源,在于“苹果”这个词对计算机来说根本不具备“语义”。

语义网致力于改变这种状况,它研究的重点就是如何把信息表示为计算机能够理解和处理的形式,即带有“语义”。在语义网概念中,“语义”是核心,能够在人与计算机之间、计算机与计算机之间以无偏差的方式传递的信息,就是语义。语义网的基本思想是对互联网上任意的资源,进行结构化的描述并引入语义,使得计算机可以理解互联网上的信息。当然,计算机不可能真正像人一样进行思考,但是通过制定标准,使用标准描述信息的含义,计算机就可以根据标准进行自动分析和推理,将网络上的服务集成在一起,从而使得自动化智能服务成为可能。

I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A ‘Semantic Web’, which should make this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The ‘intelligent agents’ people have touted for ages will finally materialize. (Berners-Lee, 1999)

还是不明白语义网会对互联网产生多大改变?那就看看 Paul Ford 在2002年写的这篇文章吧,很有意思,非常生动形象!《August 2009: How Google beat Amazon and Ebay to the Semantic Web》,还有3年了,让我们拭目以待吧。

 

Semantic Web:这是怎么个回事?

“石头”后遗症 ,这个成了口头禅了,呵呵。好了,言归正传。

Semantic Web通常被译为“语义网”,W3C组织是这么定义它的——The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries.(语义网提供了一套通用框架,通过它,数据可以跨越边界,为各种应用程序,企业和社区所用。)

语义网是一个数据网络——a web of data。它主要完成两件事情:1、提供进行数据交换的通用格式;2、提供记录数据与实体映射关系的语言。语义网并不是一个全新的网络,它是现有互联网的扩展,它提供对数据的语义描述,使计算机能够自动“理解”网络上的数据,实现计算机之间的智能交互,从而使得互联网真正成为一个全球化的信息共享和智能服务平台成为可能。

语义网的概念是由Tim Berners-Lee提出的,他是互联网的创始人,发明了URI,HTTP和HTML,编写了第一个Web Server软件和第一个浏览器。在2000年的世界XML大会上,他进行了题为《The Semantic Web》的专题演讲,对语义网的概念进行了阐述,并首先给出了语义网的体系架构。2001年5月,《Scientific American》以封面文章,刊发了他的《The Semantic Web》一文,向人们描绘了语义网的美好前景,并对其中的主要技术进行了简要的说明。

能够得到这样重量级人物的大力推广,并被看作是“下一代互联网技术”,语义网自然发展迅速。在W3C里面,有专门的一个小组负责推进语义网的标准化工作,并且已经发布了不少相关的语言、论文和工具。在学术界,语义网也吸引了广泛的关注,相关的科研活动相当活跃。国际语义网会议(International Semantic Web Conference -ISWC) 和欧洲语义网会议(European Semantic Web Conference -ESWC),是目前国际上最高级别的学术会议,在语义网的理论研究和实践应用方面已取得了许多优秀成果。近两年,亚洲各国也已经越来越重视语义网这个研究领域。2006年9月,北京清华大学成功举办了“第一届亚洲语义网会议(Asian Semantic Web Conference -ASWC)”。有兴趣的朋友,可以去会议的官方网站(http://www.aswc2006.org/)看看。

但尽管如此,因为语义网的实现太过复杂,目前已经取得的这些成就仍然只能算是一些铺垫而已,大家就它未来的发展方向也还远没有达成一致。

附一些语义网的研究资料:
1. W3C Semantic Web Activity,http://www.w3.org/2001/sw/
2. Semantic Web @ Wikipeida,http://en.wikipedia.org/wiki/Semantic_web/
3. 关注开发的朋友可以看看这里,http://www.w3.org/2001/sw/BestPractices/
4. 国际语义网会议官方站点,http://iswc.semanticweb.org/。明年第7届会议将在韩国釜山举办。
5. 第1届亚洲语义网会议官方站点,http://www.aswc2006.org/
6. Journal of Web Semantics,http://www.websemanticsjournal.org/
7. 国内也有一个,http://bbs.w3china.org/
8. 最好的语义网项目:FOAF(Friend of a Friend),http://rdfweb.org/

 

ResysChina 发起人
1. 持续关注 个性化推荐 技术;
2. 持续关注 Semantic Web 技术;
3. 评论与上两项相关的互联网业务与产品;

我相信技术的力量!
wendell.gu@GMail.com

Archives