从文本自动构建OWL本体的研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从文本自动构建OWL本体的研究.doc

从文本自动构建OWL本体的研究_应用电子技术论文 摘 要:随着语义检索的发展,近年来涌现了许多基于本体的研究和应用,但本体本身仍离不开领域专家手工或半自动化的构建,成为了本体研究领域的一个瓶颈。因此,本文着眼于本体的自动化构建,提出了一种用FCA(形式概念分析)从文本中提取并自动生成符合W3C标准的OWL通用本体库的方法。解决了目前本体构建自动化程度低,领域依赖性强的问题,使得本体的发展和应用不再是空中楼阁。 关键词:本体;形式概念分析;本体描述语言 一、背景介绍 近年来,“万维网之父”Berners-Lee提出的语义网进行形式概念分析,得到如下图3的概念格: 图3 Live In Water概念格 自顶向下地考察这个概念格,为方便描述,称相邻两个节点中,位于上方的是父节点(直接超概念),位于下方的叫子节点(直接子概念)。图3为便于展示简化了概念格,只显示每个节点相对其父节点新增的属性和相对其子节点新增的对象。因此,不难看出最顶端的节点拥有所有对象但拥有的属性最少或为空,最底端节点拥有所有属性但对象最少或为空。这不难理解,因为概念格中的每个节点的含义是,该节点中所有对象所共有的属性,所以把越多对象放在一起,能找到的共同点(即共有属性)就越少。正好说明概念格结构与本体想要描述的客观现实是一致的。 我们按节点生成的次序将每个概念格节点标上序号,并作为其id存储到整个格 数组中。其中每个格节点存储的信息应包括:该节点的对象集E和属性集I,该节点新增的对象和属性,该节点的父节点id以及子节点id。得到这样的概念格后,还需理解格的语义信息,从中提取本体要素,并输出生成OWL描述的本体。 三、从概念格到OWL本体 3.1 OWL介绍 OWL(本体论Web 语言,Ontology Web Language)是W3C推荐的本体描述语言的标准。 其基本元素有类、属性和实例。 综上所述,得到概念格至OWL本体的生成转化算法:for (i=0;i length of lattice;i++) { //遍历每个格节点 //输出类及其子类 fprintf(outputFile, “ owl:Class rdf:ID=/”_%i/” n”, i); sup = getFirstSet (supC); //获取第一个直接超概念 while(sup != -1) { //判断是否还存在直接超概念 fprintf(outputFile, “ rdfs:subClassOf rdf:resource=/”#_%i/”/ n”, sup); sup = getNextSet(supC, sup); //获取下一个直接超概念} fprintf(outputFile, “ /owl:Class //输出该类的属性 if((atr = getFirstSet(newAtrs))!=-1) //判断该节点是否有新增属性 fprintf (outputFile, “n”); while (atr != -1) { //若存在新增属性,则将新增属性作为该类的属性输出 fprintf(outputFile, “ owl:ObjectProperty rdf: n”, atr); fprintf(outputFile, “ rdfs:domain rdf:resource=“#_%i”/ n”, i); fprintf(outputFile, “ /owl:ObjectProperty atr = getNextSet(newAtrs, atr); //获取下一个新增属性}//输出该类的实例 if((obj = getFirstSet(newObjs))!=-1) //判断该节点是否有新增对象 fprintf (outputFile, “n”); while (obj != -1) { //若存在新增对象,则将新增对象作为该类的实例输出 fprintf (outputFile, “ owl:Thing rdf:/ n”, obj); fprintf (outputFile, “ owl:Thing rdf:about=“#%s” n”, obj); fprintf (outputFile, “ rdf:type rdf:resource=“#_%i”/ n”, i); fprintf (outputFile, “ /owl:Thing obj = getNextSet(newObjs, obj); //获取下一个新增对象}}四、实验结果评价和修正 4.1 实验结果展示 经过FCA处理和OWL转化,得到Live In Water的本体片段如下: …. owl:Cl

文档评论(0)

danli208 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档