前言:最近做的项目是自然语言处理相关的,看了一本书《语义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等传递信息。

三、语义网有哪些应用

  这个有时间再来填。。。

  

语义web相关概念的更多相关文章

  1. Jena语义Web开发101

    2015/05/28更新 代码在 https://github.com/zhoujiagen/semanticWebTutorialUsingJena 前言 该手册参考和扩展“Hebeler J, F ...

  2. 语义Web和本体开发相关技术

    在技术实现方面,语义Web和本体理论的研究日趋成熟,已经有许多成熟的工具或程序接口,诸如Jena.OWL API等API是系统实现的关键技术.这里介绍系统的可行性分析以及系统开发设计的关键技术. 1 ...

  3. 语义web基础知识学习

    最近找了一本书,<语义web技术基础>----Pascal Hitzler等编著的.因为最近在看关于自然语言处理的一些东西,就顺带翻了一下,做一点学习笔记,方便以后查看. 本书的作者 Pa ...

  4. 从基于 SQL 的 CURD 操作转移到基于语义 Web 的 CURD 操作

    中文名称 CURD 含义 数据库技术中的缩写词 操作对象 一般的项目开发的各种参数 作用 用于处理数据的基本原子操作     它代表创建(Create).更新(Update).读取(Retrieve) ...

  5. web相关概念

    1.web概念:web1.0:静态页面为主(传统企业的页面)特点:由网站提供方来更新和维护内容web2.0:以动态页面为主,以用户为中心,网站由用户参与或编辑web3.0:智能化人与人与机器的交流(各 ...

  6. WEB相关概念、Tomcat初识、Servlet、基本知识。

    /* * 一.web的概念? * 1.web就是在http协议基础之上, 利用浏览器进行访问的网站. * Web Page指网站内的网页. 我们常说的WWW(World Wide Web 万维网)就是 ...

  7. Go Web 编程 第一章 Web相关概念

    第一章 Go与Web应用 Go学习群:415660935 1.1 Web应用 在计算机的世界里,应用(application)是一个与用户进行交互,并完成用户特定任务的软件程序.而Web应用则是部署在 ...

  8. Java Web相关概念调查

  9. Java 之 web 相关概念

    一.软件架构 1.C/S:客户端/服务器端 2.B/S:浏览器/服务器端(目前常用) 二.网络资源 1.静态资源 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源,静态资源可以直接被浏览器 ...

随机推荐

  1. ios -将navigationbar的translucent属性设为No后,子控制器视图整体下移问题

    如果不将navigationbar.translucent = YES 会觉得颜色很浅,因为这是半透明状态 若navigationbar.translucent = NO,颜色问题解决,但是子控制器视 ...

  2. 使用PHP函数输出前一天的时间和后一天的时间

    1.明确date()函数和time()函数的功能,其中time()函数是获取时间戳函数 2.输出前一天的当前时间: echo '一天之前的时间为:'.date('Y-m-d H:i:s',time() ...

  3. cocos2d-x学习日志(18) --程序是怎样開始执行与结束?

    问题的由来 怎么样使用 Cocos2d-x 高速开发游戏.方法非常easy,你能够看看其自带的例程,或者从网上搜索教程,执行起第一个HelloWorld,然后在 HelloWorld 里面写相关逻辑代 ...

  4. python学习【第七篇】python文件操作

    一.文件操作过程 1. 打开文件,得到文件句柄并赋值给一个变量2. 通过句柄对文件进行操作3. 关闭文件 # 1.打开文件,得到文件句柄 f_handle = open('aa.txt', 'r', ...

  5. idea 右下角不显示git分支

    开发工程中遇到idea右下角不显示git分支问题: 解决方案:查找资料说是需要打开VCS->Enable version control. 但是Enable version control 已经 ...

  6. 记录--java获取网络资源(图片、音频等)保存本地

    注:本人开始运行下面报 java.io.FileNotFoundException ,纠结很久后清理tomcat后运行成功 //获取wav文件地址 String vRecordUrl=(request ...

  7. 巨蟒python全栈开发django3:url&&视图

    1.url正则匹配分组和命名分组 2.路由分发 3.url别名和反向解析 4.httprequest和httpresponse的使用 内容回顾: .jinja2(flask框架,没有内置模板对象,需要 ...

  8. 新手之使用git

    本篇博客针对不会Git的小童鞋,大神们可以绕过,错误之处谢谢指正: 关于GitHub的强大此处不在说明,知道GitHub也有一段时间了,但是一直苦于不会使用. 本篇文章介绍的是如何将工程代码托管到上面 ...

  9. JVM 的 Xms 和 Xmx 设置一样大小的内存容量

    4. [推荐]在线上生产环境,JVM 的 Xms 和 Xmx 设置一样大小的内存容量,避免在 GC 后调整堆 大小带来的压力. 现在,我们知道了Elasticsearch所公开的缓存和缓冲区,可以尝试 ...

  10. 玩转git版本控制软件

    一.git的基本介绍 1.什么是git? git是个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理.说白了就是个版本控制软件 2.git的使用方法 git软件是通过命令来实 ...