前言:最近做的项目是自然语言处理相关的,看了一本书《语义web技术基础》,总的来看,接触自然语言处理,语义理解也有差不多一年的时间了。这两天想了一想,自己究竟学到了什么,掌握了哪些新的知识和技能,可是人的大脑总是有限的,可能有些你学到的东西真正到了需要用的时候才会发现它,平时根本记不起来,这也导致了容易遗忘的特点。尤其是我自己,感觉记忆力不是很好,所以对我而言,学到知识之后,多做笔记,多归纳总结,才是比较好的学习方法。
一、语义web是什么
很多人都听过语义网的概念,那究竟什么是语义网呢?这里是来自维基百科的定义:
语义网(Semantic Web)是由万维网联盟的蒂姆·伯纳斯-李(Tim Berners-Lee)在1998年提出的一个概念,它的核心是:通过给万维网上的文档(如: HTML)蒂姆加能够被计算机所理解的语义(Meta data),从而使整个互联网成为一个通用的信息交换媒介。
可以看出,之所以和现在的万维网区别开来,就是现在的网上很多信息,但是计算机无法理解这些信息的具体含义,也就是语义。现在计算机的运算能力越来越强大,如果额昂计算机能够理解网上如此巨大体量的的信息资源,再结合上一定的推理能力,将获得难以想象的知识。这里就乐意联想到机器学习和大数据相关知识,想要让机器获得智能,很大一部分也就是像人一样有决策能力、推理能力,肯定需要给它大量的数据来学习,万维网就是一个巨大的数据来源,但是想要让这些数据转化为机器可以利用可以读懂的数据,就需要在万维网的基础上构建语义网,将这些数据变为机器可以阅读的形式。所以也有人说语义网就是建立一个巨大的数据库,机器可以使用并且通过这个数据库来完成很多功能。比如说搜索一个领域的知识可能就不是返回一大堆网页,二是结构良好的图形组织的知识。
二、如何实现语义网
要想实线这样的一个网络,肯定需要一系列的协议规约,相关的软件支持等,这里主要参考书上的三个方面主题:
1.建立模型:寻求用抽象的术语来描述一个复杂的世界,来得到对复杂世界的更加容易的理解。
这里说的很抽象,就是建模。对客观复杂的世界建模,这里就需要引入几个相关的概念,本体,本体描述语言,RDF。
本体:(ontology)在哲学上,本体论主要研究一切现实事物的基本特征,到底哪些名词代表真实的存在实体,哪些只是一种概念。从哲学上到计算机学科,也产生了本体的概念。在计算机领域,本体是关于一个领域的知识的描述,核心是机器可处理的说明和形式化的定义。通俗的说,就是对一个领域的知识使用计算机能理解的方式来表示。底层还是和哲学一样,和实体和实体之间的关系。
有了本体,那么怎么描述本体呢?这就产生了资源描述框架RDF,和本体语言比如RDFS,OWL...
RDF:对实体和实体之间的关系来刻画。
从上面的图形可以看出,RDF,resource description framework,资源描述框架实际上就是定义了一种如何表示实体和实体之间关系的标准,他有时候也被称作一种语言。具体RDF语法细节这里就不给出了,以后有时间再单独写一个。贴出一个W3School的教程链接,http://www.w3school.com.cn/rdf/index.asp
本体描述语言:有了RDF和RDFS的确可以表示一些实体和关系,但是无法表示很复杂的关系,这时候就需要本体语言OWL出场了,特点就是有更强的刻画能力,能够对一些问题进行精确建模。用OWL表示本体,也就是用OWL表示领域 的知识,能够更好的被计算机理解和识别。但是还是基于RDF的顶端的。
2.知识计算
将互联网上的杂乱无章的信息归纳整理,用计算机好理解的方式标识之后,就成了一系列的知识。用这些知识进行归纳、推理,产生一些新的结果,这就是知识计算。比如:
这就是一个简单的推理过程,计算机一旦拥有和人一样的推理能力,将会产生巨大的效应。
3.交换信息
这个很好理解,就是在网上传递内容,本体语言也可以借助XML等传递信息。
三、语义网有哪些应用
这个有时间再来填。。。