草庐IT

Web 语义化

runoob 2023-04-07 原文

Web 语义化


单词语义化表示了它的意义。

事物的语义化意味着事物。

Web 语义化 = Web的意义。


什么是 Web 语义化?

什么是语义化?其实简单说来就是让机器可以读懂内容。

  • 甲壳虫乐队是一个来自利物浦受欢迎的乐队。
  • 约翰列侬是披头士乐队的成员。
  • "Hey Jude"是由披头士的代表作。

我们可以很容易理解上面的句子的意义。但这些语句怎么 被计算机理解呢?

语句由语法规则创建。语言的语法定义了创建语言语句的规则。但是如何让语法变为语义呢?

语义网是让机器可以理解数据。语义网技术,它包括一套描述语言和推理逻辑。它通过一些格式对本体(Ontology)进行描述。

语义网并不是网页之间的链接。

语义网描述了事物之间的关联((如 A 是 B的一部分,Y 是 Z 的成员)及事物的属性(如大小,高度,年龄,价格等)。

语义网的实现是基于XML(可扩展标记语言eXtensible Markup Langauge)语言和资源描述框架(RDF)来完成的。XML是一种用于定义标记语言的工具,其内容包括XML声明、用以定义语言语法的DTD (document type declaration文档类型定义)、描述标记的详细说明以及文档本身。而文档本身又包含有标记和内容。RDF则用以表达网页的内容。



资源描述框架

RDF(Resource Description Framework),即资源描述框架,是W3C推荐的用来描述WWW上的信息资源及其之间关系的语言规范。

RDF(S)是语义网的重要组成部分,它使用URI来标识不同的对象(包括资源节点、属性类或属性值)并可将不同的URI连接起来,清楚表达对象间的关系。



实现

语义网虽然是一种更加美好的网络,但实现起来却是一项复杂而浩大的工程。 目前语义网的体系结构正在建设中,主要需要以下两方面的支持:

(1) 数据网络的实现

即:通过一套统一的完善的数据标准对网络信息进行更彻底更详细的标记,使得语义网能够精准的识别信息,区分信息的作用和含义 要使语义网搜索更精确彻底,更容易判断信息的真假,从而达到实用的目标,首先需要制订标准,该标准允许用户给网络内容添加元数据(即解释详尽的标记),并能让用户精确地指出他们正在寻找什么;然后,还需要找到一种方法,以确保不同的程序都能分享不同网站的内容;最后,要求用户可以增加其他功能,如添加应用软件等。

语义网的实现是基于XML(可扩展标记语言eXtensible Markup Langauge)语言和资源描述框架(RDF)来完成的。XML是一种用于定义标记语言的工具,其内容包括XML声明、用以定义语言语法的DTD (document type declaration文档类型定义)、描述标记的详细说明以及文档本身。而文档本身又包含有标记和内容。RDF则用以表达网页的内容。

(2)具有语义分析能力的搜索引擎

如果说数据网络能够短时间通过亿万的个体实现,那么网络的语义化智能化就要通过人类尖端智慧群体的努力实现。研发一种具有语义分析能力的信息搜索引擎将成为语义网的最重要一步,这种引擎能够理解人类的自然语言,并且具有一定的推理和判断能力。

语义搜索引擎(semantic search engine)和具有语义分析能力的搜索引擎(semantically enabled search engine)是两码事。前者不过是语义网络的利用,一种信息搜索方式,而具有语义分析能力的搜索引擎是一种能够理解自然语言,通过计算机的推理而进一步提供更符合用户心理的答案。


前景

语义网的体系结构正在建设中,当前国际范围内对此体系结构的研究还没有形成一个令人满意的严密的逻辑描述与理论体系,中国学者对该体系结构也只是在国外研究的基础上做简要的介绍,还没有形成系统的阐述。

语义网的实现需要三大关键技术的支持:XML、RDF和Ontology。

XML(eXtensible Marked Language,即可扩展标记语言)可以让信息提供者根据需要,自行定义标记及属性名,从而使XML文件的结构可以复杂到任意程度。

它具有良好的数据存储格式和可扩展性、高度结构化以及便于网络传输等优点,再加上其特有的NS机制及XML Schema所支持的多种数据类型与校验机制,使其成为语义网的关键技术之一。

目前关于语义网关键技术的讨论主要集中在RDF和Ontology身上。

RDF是W3C组织推荐使用的用来描述资源及其之间关系的语言规范,具有简单、易扩展、开放性、易交换和易综合等特点。

值得注意的是,RDF 只定义了资源的描述方式,却没有定义用哪些数据描述资源。RDF由三个部分组成:RDF Data Model、RDF Schema和RDF Syntax。

附上:

1.语义网通过扩展现有的互联网,在信息中加入表示其含义的内容,使计算机可以自动与人协同工作。也就是说,语义网中的各种资源不再只是各种相连的信息,还包括其信息的真正含义,从而提高计算机处理信息的自动化和智能化。当然,计算机并不具有真正的智能,语义网的建立需要研究者们对信息进行有效的表示,制定统一的标准,使计算机可以对信息进行有效的自动处理。

(来源:何斌 张立厚《信息管理原理与方法》 清华大学出版社 2007年7月第二版)


语义网体系结构

  • 第一层:Unicode与URI,是整个体系结构的基础。
  • 第二层:XML+NS+XMLSchema,负责语法上表示数据的内容和结构,通过使用标准的格式语言将网络信息的表现形式、数据结构和内容分离。
  • 第三层:RDF+RDF Schema,它提供语义模型用于描述网上的信息和类型。其中,RDF(Resource Description Framework),即资源描述框架,是W3C推荐的用来描述WWW上的信息资源及其之间关系的语言规范。RDF(S)是语义网的重要组成部分,它使用URI来标识不同的对象(包括资源节点、属性类或属性值)并可将不同的URI连接起来,清楚表达对象间的关系。
  • 第四层:本体词汇层,本体是关于领域知识的概念化、形式化的明确规范。在语义网体系结构中,本体的作用主要表现在:(1).概念描述,即通过概念描述揭示领域知识;(2).语义揭示,本体具有比RDF更强的表达能力,可以揭示更为丰富的语义关系;(3).一致性,本体作为领域知识的明确规范,可以保证语义的一致性,从而彻底解决一词多义、多词一义和词义含糊现象;(4). 推理支持,本体在概念描述上的确定性及其强大的语义揭示能力在数据层面有力地保证了推理的有效性。
  • 第五层:逻辑层,负责提供公理和推理原则,为智能服务提供基础。其中,描述逻辑(DescriptionLogic)是基于对象的知识表示的形式化,它吸取了KL-ONE的主要思想,是一阶谓词逻辑的一个可判定子集。它与一阶谓词逻辑不同的是,描述逻辑系统能提供可判定的推理服务。除了知识表示以外,描述逻辑还用在其它许多领域,它被认为是以对象为中心的表示语言的最为重要的归一形式。描述逻辑的重要特征是很强的表达能力和可判定性,它能保证推理算法总能停止,并返回正确的结果。在众多知识表示的形式化方法中,描述逻辑在十多年来受到人们的特别关注,主要原因在于:它们有清晰的模型-理论机制;很适合于通过概念分类学来表示应用领域;并提供了很用的推理服务。
  • 第六层证明层和第七层信任层负责提供认证和信任机制。

有关Web 语义化的更多相关文章

  1. ruby - 如何配置 Ruby Mechanize 代理以通过 Charles Web 代理工作? - 2

    我正在使用Ruby/Mechanize编写一个“自动填写表格”应用程序。它几乎可以工作。我可以使用精彩CharlesWeb代理以查看服务器和我的Firefox浏览器之间的交换。现在我想使用Charles查看服务器和我的应用程序之间的交换。Charles在端口8888上代理。假设服务器位于https://my.host.com。.一件不起作用的事情是:@agent||=Mechanize.newdo|agent|agent.set_proxy("my.host.com",8888)end这会导致Net::HTTP::Persistent::Error:...lib/net/http/pe

  2. 适用于Web开发的Python还是Ruby? - 2

    Asitcurrentlystands,thisquestionisnotagoodfitforourQ&Aformat.Weexpectanswerstobesupportedbyfacts,references,orexpertise,butthisquestionwilllikelysolicitdebate,arguments,polling,orextendeddiscussion.Ifyoufeelthatthisquestioncanbeimprovedandpossiblyreopened,visitthehelpcenter提供指导。11年前关闭。我是一位精通HTML

  3. ruby - 使用 cedet 语义 wisent-ruby - 2

    我刚刚开始按照包括AlexOtt在内的各种指南设置cedet。这是我的init文件中目前的内容。(require'cedet)(semantic-load-enable-code-helpers);;imenubreaksifIdon'tenablethis(global-semantic-highlight-func-mode1)(global-semantic-tag-folding-mode)我非常喜欢代码折叠,因为语义比hideshow等包更了解代码我想对ruby​​进行相同的折叠。我知道cedet还可以做其他事情,但我现在只是试一试。所以我在contrib/文件夹中看到了wi

  4. ruby-on-rails - Web 应用程序中的 API 版本控制 - 2

    我目前正在为一个新网站设计版本化的API。我了解如何为路由命名空间,但我一直坚持在模型中实现版本化方法的最佳方式。下面的代码示例使用的是rails框架,但是事情的原理在大多数web框架之间应该是一致的。目前的路线看起来像这样:MyApp::Application.routes.drawdonamespace:apidonamespace:v1doresources:products,:only=>[:index,:show]endendend和Controller:classApi::V1::ProductsController很明显,我们只是在此处公开Product上可用的属性,如果

  5. ruby-on-rails - Ruby/Rails 和 Sharepoint Web 服务 - 2

    我正在尝试使用ruby​​来使用Sharepoint网络服务。我基本上已经放弃尝试使用NTLM进行身份验证,并暂时将Sharepoint服务器更改为使用基本身份验证。我已成功使用soap4r获得WSDL,但在尝试使用实际Web服务调用时仍然无法进行身份验证。有没有人有过让ruby​​和Sharepoint对话的经验? 最佳答案 我是个新手。但经过很多时间并在更多经验编码人员的帮助下,我能够让ruby​​与Sharepoint2010一起工作。下面的代码需要“ntlm/mechanize”gem。我已经能够使用列表GUID和ListV

  6. ruby - 为什么 Gemfile 语义版本控制运算符 (~>) 会产生与一个数字不一致的结果? - 2

    gemspec语义版本控制运算符~>(又名twiddle-wakka,又名pessimistic运算符)允许限制gem版本但允许进行一些升级。我经常看到它可以读作:"~>3.1"=>"Anyversion3.x,butatleast3.1""~>3.1.1"=>"Anyversion3.1.x,butatleast3.1.1"但是有了一个数字,这条规则就失效了:"~>3"=>"Anyversionx,butatleast3"*NOTTRUE!*"~>3"=>"Anyversion3.x"*True.Butwhy?*如果我想要“任何版本3.x”,我可以只使用“~>3.0”,这是一致的。就

  7. 酷早报:10月21日全球Web3加密行业重大资讯大汇总 - 2

    2022年10月21日星期五【数据指标】加密货币总市值:$0.95万亿BTC市值占比:38.51%恐慌贪婪指数:23极度恐慌 【今日快讯】1、【政讯】1.1.1、美联储布拉德:市场预期美联储11月会加息75个基点1.1.2、美联储哈克:将维持加息一段时间1.2、美国10年期国债收益率触及4.197%,为2008年6月以来最高1.3、法国数字转型部长:政府将专注于DeFi和Web31.4、巴西ATM机将于11月3日起支持USDT1.5、美众议院副议长将于11月初加入a16zCrypto担任政府事务主管1.6、香港数字资产托管机构FirstDigitalTrust首席执行官:香港仍是安全

  8. 阿里云Web应用防火墙-WAF - 2

    WAF可以对网站进行扫描,识别API漏洞。API安全如何设置API安全_Web应用防火墙-阿里云帮助中心API安全如何划分API业务用途?登录认证手机验证码认证数据保存数据查询数据导出数据分享数据更新数据删除数据增加下线注销信息发送信息认证邮件信息发送邮箱验证码认证账号密码认证账号注册API安全支持检测哪些敏感数据?敏感数据级别敏感数据类型非敏感数据(N)不涉及。特级敏感数据(L0)与一级敏感数据(L1)或二级敏感数据(L2)相同。单次响应中一级敏感数据(L1)较多时,升级为特级敏感数据(L0)。单次响应中二级敏感数据(L2)较多时,升级为一级敏感数据(L1)或特级敏感数据(L0)。一级敏感数

  9. ruby-on-rails - 使用 Rails(HTTP 请求)连接到 Web 服务? - 2

    我正在使用RubyonRails3,我正在尝试实现API以从Web服务检索帐户信息。也就是说,我想连接到具有Account类的Web服务并从show获取信息。在URIhttp:///accounts/1处路由的操作.此时,在网络服务中accounts_controller.rb我有的文件:classAccountsController@account.to_json}endendend现在我需要一些关于连接到网络服务的建议。在客户端应用程序中,我应该有一个HTTPGET请求,但这是我的问题:连接到发出HTTP请求的Web服务的“最佳”方法是什么?客户端应用程序中的这段代码有效:url=

  10. ruby-on-rails - 为 ruby​​ on rails web 应用程序创建试用期 - 2

    谁能告诉我实现ruby​​onrailsweb应用程序30试用期的最佳方法,很像Basecampfrom37signals的方式是吗?目前我有一个用户登录页面,然后用户可以访问显示有关其产品/定价等的当前信息的仪表板。我希望用户能够注册并拥有完整的应用程序功能,然后在30天后过期。谢谢 最佳答案 创建用于x天试用期的Rails应用程序非常容易。您想为您的用户实现30天的试用期,然后执行以下操作:第1步:在application_controller.rb中创建这些方法,例如#application_controller.rbclas

随机推荐