以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  [求助]构建一个基于本体的检索系统,按以下步骤进行可以吗?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=85914)


--  作者:dorothyle
--  发布时间:7/29/2010 11:09:00 AM

--  [求助]构建一个基于本体的检索系统,按以下步骤进行可以吗?
大家好,我想构建一个关于京剧的本体,然后在这个本体的基础上进行检索。我现在想是不是可以分为以下几步进行工作:
1. 选择一种用户界面开发工具,比如C++,.net,或者Java?
2. 选择一种本体构建工具,比如Protege?
3. 选择一种本体推理工具,比如Jena?(这部分我不是特别明白,目前我使用Progete4在构建本体,其内置了一个Pellet推理机,这样不是也可以完成推理吗?为什么一定要安装Jena,还需要手动编写许多语句去完成推理呢?)
4. 利用Protege工具完成本体的构建后,利用一种编程语言将本体导入,然后编写SPARAL语句对本体进行查询等操作,以达到基于本体的检索目的?
    我不知道以上的步聚是否合理?请有经验的高手帮我指点一下吧。同时,昨天在论坛里一直看帖子,有一位高手建议在构建本体,利用Jena进行语义推理分析之前,要对XML,RDF,OWL这些概念有所了解,最好能读懂,甚至能够编写部分RDF文档,我想知道,如果时间比较紧,到底有无必要这样做?也请大家给些建议。
    第三,我目前在使用Protege构建本体时,总是拎不清如何利用DatatypeProperty,是不是只有在描述一个具体实例时才用到DatatypeProperty,给这些DatatypeProperty属真正赋值时,是不是所谓的“语义标注”?我不太明白语义标注,也不太会使用Protege中的Annotations。不过关于第三个问题,我相信是因为我现在对本体构建的了解还不够深入,处于初级阶段,所以才会有这些问题。
    鉴于以上问题,好歹请大家给个指导建议,以点明前进的方向,不胜感激!
--  作者:dorothyle
--  发布时间:7/29/2010 11:49:00 AM

--  
各位高手给一些指导性的建议吧,谢谢了
--  作者:laotao
--  发布时间:7/29/2010 12:41:00 PM

--  
推荐两本书
Semantic Web Programming
Semantic Web for the working ontologist
--  作者:dorothyle
--  发布时间:7/29/2010 9:02:00 PM

--  
万分感谢laotao的回复,我会认真看的。感觉真是挺难的,有人给予帮助感觉真是很温暖。
--  作者:felicia0402
--  发布时间:8/9/2010 4:51:00 PM

--  
写的好,同样的问题,关注中.
--  作者:Lexxuan
--  发布时间:8/9/2010 10:33:00 PM

--  
以下是引用dorothyle在2010-7-29 11:09:00的发言:
大家好,我想构建一个关于京剧的本体,然后在这个本体的基础上进行检索。我现在想是不是可以分为以下几步进行工作:
1. 选择一种用户界面开发工具,比如C++,.net,或者Java?
2. 选择一种本体构建工具,比如Protege?
3. 选择一种本体推理工具,比如Jena?(这部分我不是特别明白,目前我使用Progete4在构建本体,其内置了一个Pellet推理机,这样不是也可以完成推理吗?为什么一定要安装Jena,还需要手动编写许多语句去完成推理呢?)
4. 利用Protege工具完成本体的构建后,利用一种编程语言将本体导入,然后编写SPARAL语句对本体进行查询等操作,以达到基于本体的检索目的?
     我不知道以上的步聚是否合理?请有经验的高手帮我指点一下吧。同时,昨天在论坛里一直看帖子,有一位高手建议在构建本体,利用Jena进行语义推理分析之前,要对XML,RDF,OWL这些概念有所了解,最好能读懂,甚至能够编写部分RDF文档,我想知道,如果时间比较紧,到底有无必要这样做?也请大家给些建议。
     第三,我目前在使用Protege构建本体时,总是拎不清如何利用DatatypeProperty,是不是只有在描述一个具体实例时才用到DatatypeProperty,给这些DatatypeProperty属真正赋值时,是不是所谓的“语义标注”?我不太明白语义标注,也不太会使用Protege中的Annotations。不过关于第三个问题,我相信是因为我现在对本体构建的了解还不够深入,处于初级阶段,所以才会有这些问题。
     鉴于以上问题,好歹请大家给个指导建议,以点明前进的方向,不胜感激!

LZ思路基本是正确的,没什么大问题,但给你一些个人意见用于参考:

1. 未必要用本体构建工具。当然为了方便,可以应用这些工具来构建本体,但归根到底,你得到的本体文件都是RDF/OWL这类的本体文件,所以正如你提到的那位高人给你的建议一样,先了解并掌握XML,RDF,OWL这些概念及其书写规则才是最重要的。掌握以后,可以不用本体构建工具,自己编写本体文件,能更灵活的满足自己的需求。

2. 要区分好Protege API和Jena API。

3. 什么是DatatypeProperty,什么是ObjectProperty一定要搞清楚。简单地说,前者的range(取值范围)是各种经典Datatype,后者的range是各种Object。举例说,Object A的一个DatatypeProperty的值是字符串,而一个ObjectProperty的值是Object B。通过ObjectProperty,Object A和B就联系起来了。

总之,仔细了解XML,RDF和OWL不会让你浪费时间,这些是基础。


--  作者:dorothyle
--  发布时间:8/12/2010 12:23:00 AM

--  
感谢Lexxuan的回帖,仔细读了三遍,我有点明白DatatypeProperty和ObjectProperty了,我现的理解是:
1. DatatypeProperty是细化某个概念的,是可以利用字符串,数值等数据类型的值来描述某个概念。比如对于一个表示“人”的概念,其DatatypeProperty可以有name, birthday, sex等,通过这些DatatypeProperty细化一个概念的描述;
2. ObjectProperty主要是描述概念之间的关系,比如有两个类,一类是“人”,一类是“宠物”,这时建立一个属性“有宠物”,那么类“人”和“宠物”之间就建立起了关系。
3. 如果对“宠物”的DataProperty里加入一个“nameOfPets”,将该DataProperty的值固定为一个常量,那么概念“人”就可以通过“有宠物”这个对象属性与概念“宠物”产生联系了。
4. 在构建一个本体时,是不是应该将本体与实例分开。比如构建一个人的社会关系的本体,那么具体有哪些人,每个人的社会关系是什么样的,是不是应该单独有一个实例文件去描述。本体中描述的只是人与各个类之间的关系,不涉及具体的人?
    不知道以上的理解是否正确,请高手指教。
--  作者:Lexxuan
--  发布时间:8/12/2010 3:27:00 AM

--  
我忘记了是否在protege图形界面里对实例只能定义DatatypeProperty而不能定义ObjectProperty,但实际上,在应用中ObjectProperty一样可以用在实例之间,而不是只能用在已定义的Class上。因此,是否要把实例从本体中分开描述,就看自己项目需要了。

如果你多少知道WordNet的话,可以看看它的其中一种RDF/OWL形式:http://www.w3.org/2001/sw/BestPractices/WNET/wn-conversion-20062304.html
里面可以下载其全版本的RDF文件,读懂它们,并且理解它们相互之间怎么作用,会对理解本体的构建有很大的帮助!(里面的实例有很多Object属性)

以上全为本人意见,欢迎指错。

LZ很努力,加油


--  作者:dorothyle
--  发布时间:8/12/2010 11:03:00 AM

--  
谢谢Lexxuan的及时回复,我会去看看您说的那个文档的,继续努力!
--  作者:一室阳光
--  发布时间:8/27/2010 9:59:00 PM

--  
你好!
我的毕业设计做有关语义搜索方面的研究,现在理论研究比较通透,可系统实现上存在很大困难。在W3C里看到你的讨论,知道你在这方面有所突破,所以特来向你请教。
不知你是否有相关的设计可以借鉴一下,或者可以帮我做原型系统设计。虚心请教,请一定回复~
谢谢!
可以回复到我邮箱yueran_0915@126.com
--  作者:shun8899
--  发布时间:9/2/2010 3:04:00 PM

--  
我觉得JENA推理会是对更多的各种问题进行,而内嵌的PELLET是基于本体本身内部建立的规则将隐含于本体本身的数据、对象关系推理出来。
--  作者:yangqlin
--  发布时间:9/2/2010 7:25:00 PM

--  
一室阳光
你那有相关的设计或者原型系统了没,有的话麻烦发一份到我的邮箱:yangqlin12@163.com,谢谢
--  作者:yangqlin
--  发布时间:9/2/2010 7:28:00 PM

--  
楼主
你的基于本体的检索系统不知道是否已经完成,可以发一份给我研究吗?邮箱:yangqlin12@163.com 谢谢
--  作者:Jiae
--  发布时间:9/3/2010 4:39:00 PM

--  
基于本体的信息检索系统比较经典的设计思路是:
(1) 在领域专家的帮助下,建立相关领域的Ontology。
(2) 收集信息源中的数据,并参照已建立的Ontology ,把收集来的数据按规定的格式存储在元数据库(关系数据库、知识库等) 中。
(3) 对用户检索界面获取的查询请求,查询转换器按照Ontology 把查询请求转换成规定的格式,在Ontology 的帮助下从元数据库中匹配出符合条件的数据集合。
(4) 检索的结果经过定制处理后,返回给用户。
呵呵,希望能对楼主有所启发


--  作者:yangqlin
--  发布时间:9/3/2010 5:46:00 PM

--  
感谢你的回复!请问你那里有现成基于本体的信息检索系统的代码吗?由于我刚接触这个,想运行一个例子看看,好有利于理解,我的邮箱是yangqlin12@163.com谢谢你!
--  作者:Jiae
--  发布时间:9/6/2010 4:38:00 PM

--  
抱歉,我暂时还没有,我也准备开发一个简单的基于本体的信息检索系统。多交流~
--  作者:yangqlin
--  发布时间:9/6/2010 10:42:00 PM

--  
好的,我已经加你为好友啦
--  作者:fufengrui
--  发布时间:10/5/2010 5:20:00 PM

--  
面临同样的问题,有点收获,顶起来,期待高手出现
--  作者:gg_0511
--  发布时间:10/31/2010 10:07:00 AM

--  
楼主做好了没啊?做好就给我参考下 小弟多谢了 gg_0511@163.com
--  作者:apple_1051
--  发布时间:12/25/2011 9:43:00 PM

--  
烦劳哪位有个原型系统的,不知可否借鉴一二,不胜感激啊!!apple_1051@163.com
--  作者:apple_1051
--  发布时间:12/30/2011 6:12:00 PM

--  你好,我也遇到了同样的问题
我也是在做基于本体的检索,只是空有理论,没系统,没说服力啊!不知你是否有什么原型系统供于研究啊,如有发送一个,将不胜感激啊!!谢谢..
--  作者:OFYU
--  发布时间:2/3/2012 10:05:00 AM

--  
偶也在做这方面的研究,难啊,一点儿进展都还没有
--  作者:jlcczzj
--  发布时间:3/5/2012 3:53:00 PM

--  
有没有相关的教程或者简单的源代码之类的,光看一些论文知道了理论方法但是很难开发出一个系统,还有这些数据有的是通过数据库等工具存贮的然后通过本体指导查询,这里的本体是不是就不用生成相关的实例了。我还看过一篇论文说通过语义标注也可以作为数据,但是很难找到具体的语义标注的方法。
--  作者:宵君品夏
--  发布时间:3/20/2012 9:13:00 PM

--  
我也在做这方面的研究!我的毕业论文就是这个!但看了实在不会做!楼主有成效的话,能发一下参考一下嘛!万分感谢呀!779721065@qq.com
--  作者:aa1ss2dd3
--  发布时间:4/1/2012 10:57:00 PM

--  
www.yummly.com
这个网站可能对以上各位有些帮助。虽然它是做语义食谱的,但是在语义搜索方面确实做得不错
--  作者:zrcheng1989
--  发布时间:7/7/2014 9:33:00 AM

--  
楼主对本体方面还是挺有研究的~我最近也在学习本体方面的东西,可是还不太会怎么创建本体,希望楼主可以指导一下~分享一些宝贵的经验,非常感谢~可以加我QQ1357162305,一起学习讨论啊
--  作者:zrcheng1989
--  发布时间:7/7/2014 9:39:00 AM

--  
我也在学习这方面的东西~可以一起交流啊,可以加我的QQ1357162305
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
148.438ms