Archive for the ‘Semantic Web’ Category
Saturday, August 30th, 2008 | 33 views
本文所谓的语义是对机器而言。
关于对Web Service进行语义标注,已经有太多的论文了(访问)。一般都是利用本体描述语言根据WSDL对Web Service重新描述,比如,把WSDL转换到OWL-S。其实这样做法是比较简单的,比较有挑战性的是如何将WSDL中一些名字(关键字)转换成具有语义的概念。比如,WSDL中某个方法的参数是(温度,湿度,降水概率,风速风向)这样一个复杂类型,在将其转化成比如OWL-S时候,如何用一个识别并将其匹配到比如<weather>本体,进一步如何产生这个<weather>本体。都是很困难的事情,这件事情在很多论文中都被回避掉了。当然,这只是一个细节。
其实一件比较有趣的事情是还可以从WSDL中获得关于operation的描述(description),operation的名字(比如BookSalesRank),参数的名字等文本性信息中获得关于这个Web Service所具有功能的内容,分类信息。如果让我们人去看一个WSDL文件,即使不去看operation,message等等定义,就看自然语言描述的解释性,注释性的内容,也能大概的了解到这个Web Service是干什么的。显然,信息是存在的,既然存在,问题机器就成了如何从自然语言中去提取关于Web Service功能,分类信息。
关键字提取的方法其实有很多,首先就是解析出单个的词,比如BookSalesRank,可以解析成Book Sales Rank,解析出之后,去掉许多常用词,比如”the”, “a”, “accepts”, “returns”….因此要维护一个大概有700个词左右的这样一个StopWords的词典。然后根据关键词的词频,关键词出现的位置(这也很重要)对不同的关键字打分,取出一定数量分值较高的词汇。如何系统已经有一个分类标准,或者本体词典,就可以计算出各个关键词跟现有分类标准出语义上的相似度(通过WordNet),从而可以给对Web Service的语义标注提供提示。
Posted in Semantic Web | No Comments »
Monday, April 7th, 2008 | 1 views
这是第二篇
。只是这篇文章有点名不副实,说是解惑,其实是谈惑,因此我也并不清楚我对domain和range的理解是否是完全正确的,或者只是我的一厢情愿,若有错误的,请回复或者mail我。
domain跟range是来自于rdf的语法,owl也继承了下来。在owl文件中使用domain和range是完全符合规范的。
domain和range,直观的理解就是定义域和值域,这样的理解也勉勉强强可以说是正确的。比如有一个谓词(property): hasBeautifulHair,我们可以定义它的domain是PEOPLE,值域是HAIR。这样的定义跟我们的常识中对于定义域和值域的理解是一致的,不必多说。
在如上的定义下,我们如果加入了以下这样的声明:ASmallDog hasBeautifulHair Bluehair,其中,ASmallDog是类DOG的一个实例,Bulehair是HAIR的一个实例。如果从日常的观点,或者说从熟识的数学的角度理解,这样的陈述是假的,也就是说它违背了之前定义的公理,即hasBeautifulHair的定义域是PEOPLE,而不是DOG。但事实上,从RDF或者OWL的观点看来,这个陈述的真假是不知道的,它与之前的公理并没有发生冲突。
看到这里,就会有些疑问了,为什么会没有冲突?如果没有冲突,那么domain跟range的约束就根本没有意义,会什么还要加上呢?下面对此问题的解释是一些我自己的理解,正确与否尚待思考。:)
解释:为什么没有冲突?将hasBeautifulHair的domain(定义域)和range(值域)定义成PEOPLE和HAIR,从rdf的角度看来,这只是它(本体,知识库)增加了一条关于hasBeautifulHair的知识,而不是增加了一条约束。因为我们有个前提:OWA(Open Word Assumption,开放世界假设):不能确定的陈述并不认为是假的。只是指明了hasBeautifulHair的定义域是PEOPLE,就不能认为其他的取值为假,除非显式的说明。就像一个小孩学到了一条知识:猫会叫。对他来说,狗能叫这样的陈述,他是不知道这句话是对的还是错的。如果将rdf想象中这样一个小孩,对这点的理解会容易得多。
那为什么还要加上约束呢?正如前面的分析,对这个知识库或者本体来说,这是一条关于它的知识,因此是有必要的。在实践中,这也是有意义的。因为,它可以利用这条知识来进行推理。还是举刚才那个小孩的例子,小孩学到了一条知识:猫会叫。如果这个小孩某天见到一个没见过的动物(可能是狗,可能是猫,可能是其他…)对着他叫,他根据他现有的知识,他会认为(infer)这个动物很有可能是猫。显然,我们可以认为这样的推理是合乎逻辑的。随着知识的增多,我们的推理可以更加准确(比如,知道猫的叫声,狗的叫声等等)。pellet等推理机支持这种类型的推理。这也是domain和range这样的语法存在的意义。增加知识,有益推理。
Posted in Semantic Web | 3 Comments »
Wednesday, April 2nd, 2008 | 349 views
这篇文章是最近打算写的关于owl系列的第一篇。
AllValuesFrom这样的约束是OWL语言新加的,也是OWL比RDF表达能力更加的证据。初学者,特别是对规范还不熟悉的情况下直接用Protege做东西的朋友们常常会遇到这样的问题:
- only(AllValuesFrom)跟some(SomeValuesFrom)有什么区别?
- only, some的作用跟domain,range有什么区别?
先说第一个问题,举个例子:有个类tree,有个类leaves,有个属性has,tree has some leaves这样的句子或者说tree has SomeValuesFrom leaves,它的意思其实是很直观的:如果有一样东西(individual)是tree,对于has这个属性而言,那么它至少有一片叶子的实例(individual)(>=1)。由于开放世界的假设,这个陈述并不暗示着它只能有叶子(而不能有其他的)。
但如果是这样的陈述: tree has only(AllValuesFrom) leaves的意思是指如果有一样东西(individual),它是tree,它只能has leaves,不能has其他的,比如根,茎什么的,都是不合法的。
AllValuesFrom还隐含着一点小trick,即如果has的leaves是空,对它来说也是合法的。这点可能有些不好理解,稍做下解释:比如这样一个陈述:P的孩子只能是女孩,那么如果p有一个男孩子,自然与之前的陈述违背,但是p如果没有孩子,逻辑上并没有违背前面的陈述,因此是合法的(没有违背就是合法的是owl的世界观之一)。
接下来是第二个问题。AllValuesFrom与Range的区别。其实这两者表示的逻辑含义有很多相似之处。都可以表达某属性的客体取值能且只能取某个范围。两者很重要的区别在于作用域不同,并且AllValuesFrom看起来意义更加的清晰。
Range的作用范围是全局的,domain:people peroperty:hasChild range: Child,表示hasChild这个属性,不管在哪,都只能有客体是Child,而AllValuesFrom的表达是local的,people hasChild AllValuesFrom Child仅对people这样一个主体有效,同样可以定义monkey hasChild AllValuesFrom BabyMonkey这样的陈述。当然,我们可以通过创建谓词hasChild的子谓词来使得range达到与AllValuesFrom一样的表达效果,但是太不直观。
Posted in Semantic Web | 2 Comments »
Monday, March 24th, 2008 | 1 views
如果刚接触语义网,有许多疑惑,可以先看看这两篇文章。
1 Where are the semantics in the semantic web? (pdf, download)
2 XML+RDF, 实现web数据基于语义的描述(via)
尽管语义与语法在概念上有着巨大的区别,但其实是很容易让人感到困惑的。这两篇文章有助于理想这两概念之间的区别。
Posted in Days of Our Life, Semantic Web | No Comments »
Sunday, November 11th, 2007 | 172 views
国内关于语义网的书籍仅有三本,两本是大致的介绍,一本是侧重于本体论的。
第一本出版的比较早,好像是华裔写的,英国的一个学校的,书名叫语义网简明教程,大致的描述了语义网及相关技术,连OWL-S也提到了。
第二本是我导师出的,主要关于本体论方面的:本体论工程及其应用。比较的抽象,比较的难以看懂。
第三本是今年刚出的,叫语义网原理与技术。今天去实验室的时候看到的,书其实只是相关知识的堆积,没有很系统的组织内容——大家都清楚这些书的格式的吧,不过做为难得一见的中文参考书,也是不错的。该介绍的知识基本都提到了。
国外有本A Semantic Web Primer很久前就出了,可惜一直都没有中文译本。
Posted in Semantic Web | 4 Comments »
Saturday, August 25th, 2007 | 1 views
an ontology browser, or a sementic web browser, java-based, using pellet as its reasoner.
lunch it from here.
Great Work! Thinks Michael Grove a lot.
Posted in Semantic Web | No Comments »
Friday, June 29th, 2007 | 1 views
有种恐惧称为OWL-performance-fear,OWL性能恐惧。研究者们正致力于将这种恐惧变成历史(……)。
今天在Think clearly上看到相关的消息,比较振奋。
On the TBox side of things: Boris Motik and Rob Shearer (with Ian Horrocks) have developed a new reasoning calculus that is very effective with the notorious Galen ontology, and, indeed, with all the OBO ontologies. They tackle both non-determinism and tableau size with stunning results. It should also have positive implications for DL Safe rules. They have a prototype reasoner using the technique, HermiT, available for download.
On the ABox side of things: IBM Research (Watson Research Center, NY) have recently posted information about their summarization technique for scaling ABoxes. They have a reasoner, SHER, which will be available in one form or another at some point. Their case study is quite inspiring.
Posted in Semantic Web | No Comments »
Thursday, May 31st, 2007 | 1 views
作为一个初学的菜鸟——如我这般,或者是作为一个爱看热闹的人,关于语义网,你最想知道什么?
我从Dan Zambonini 的这篇文章上看到这个有趣的话题。您可以认为这篇post是Dan Zambonini那篇的扩展,或者也可以认为是某种形式的上的翻译。
如果是我的话,当然我会先问一下:什么是语义网?这个问题比较好,证明问的人有好奇心,对生活,对世界充满热爱。
对这个问题,我先要说明一下语义网是Semantic Web的翻译,而不是Semantic Network的翻译,对于后者,可以称之为语义网络。语义网是有语义的WEB,而不是其他什么乱七八糟的东西。我对于Web的理解很狭隘,从外面看来就是许多张网页连成的网。语义网是一种愿景,目标是把分散在整个internet的数据整合在一起。类似于目前的Web把网页做为基本单位,通过超链接整合在一起,以后的(如果有以后的话)语义Web是以数据作为基本单位,通过URL将他们关联在一起。语义网可以说是数据的网。好吧,再形象一点,就是把整个internet当成一个巨大的关系型数据库就可以了。目前也有一些基于语义网相关理论的应用,都是较小范的。
第二个问题:好吧,说几个关于语义网的名词以及工具吧。老实说,这确实是我刚接触语义网就想问的问题,马上就问这个问题证明这个人不适合搞科研,因为第一个问题明明还有许多漏洞,许多疑问啊没解决啊。关于名词和工具,我就开始列举了:XML, RDF/RDFS, Ontology, OWL, SPARQL, Jena, Protege, RacePro,TopBraid Composer(Eclipse插件,没用过),另外W3C的人说正在搞本体跟关系数据库的自动映射工具…
第三个问题:对于一个开发者而言,语义网技术太令人迷惑和痛苦了,怎么办?其实如果你能忽悠的话没有什么好痛苦的。确实,文档不全,又方便又能用的代码库几乎不存在(Jena真不是那么好用)。还有那么多听起来玄乎的名词概念需要理解。其实,对于一个单纯的开发者而言,Dan Zambonini认为懂得RDF模型,RDF/XML语法,以及RDFS就够用了。而这三种概念是那么的容易学。
第四个问题:语义网的愿景有可能实现么?真是不知道,真是不大可能啊。但是,语义网大的愿景难以实现,可是相关技术已经越来越成熟了,甚至越来越多的应用到实践中去,这并不是一种空中楼阁的技术,虽然它的大目标看起来是那么夸张。就像马克思的共产主义目标看起来遥遥不可及,但是他这种理论的存在促使了西方发达国家工人地位的极大提高,他们有代表他们利益的工会,有休假,一周5天8小时工作制,高福利,有那么多的反歧视条款保护,这就是马克思主义带来的善果。
如果还有想知道的,可以写在留言里。
Posted in Semantic Web | 1 Comment »
Wednesday, May 30th, 2007 | 1 views
从Read/Write Web上看到几个语义搜索的实践者。Cognition Search, PowerSet,和 Lexxe。我第一个感觉是在忽悠。因为网络上靠忽悠,炒概念的人实在是太多了。这样的忽悠者,米国不比中国少。毕竟骗子处处有,被骗的傻子也处处有。
试了这几个站点, PowerSet并没有公开的发布它的搜索框,而是需要申请才有机会去体验一下它号称的Natural Language Search。据体验过的人说,搜索的时候词汇是限定的,而且其收录的站点也只是那些具有超高质量文章的站点。老实说,我看到Natural Language Search几个字的时候真是忍不住想笑,罢了罢了,还是要对实践者表示致敬。虽然不前不清楚它是在实践还是在忽悠。
Cognition Search有些低调,也提供了搜索框,但仅限于某几个特定的领域,Case Study ,Goverment, Political Blogs,能搜索的网站也是固定的而且及其有限。有一点比较有意思的是,当你搜完之后,它会试着给出一些你搜的关键词(往往搜索串的是谓语和宾语)的意义的备选项。你可以根据它给定的备选项来明确某个关键词的背后涵义,以帮助系统准确的理解搜索者的真正意图。Cognition Search做的工作蛮有意思的。
Lexxe给出了类似于Google的简洁的搜索界面,号称Powered By Advanced Natural Language Technology。我试了几个超简单英文疑问句,它的理解能力还是比较低下的,至于搜索结果,可能是索引量太少的缘故,惨不忍睹。有意思的是这个站点的图标是一个中文的“猎”字。
其实自然语言处理这回事,要一下子出来一个完全的解决方案是不现实的,但是在某一个小的领域,某一个小的应用还是不断的在发展的。当然了,如果目前的Web是语义Web了,我们理解网络上的文本信息也用不着自然语言处理这么麻烦。许多人在争论,哪一个成本更低一点,更加现实一点。这样的争论看来有些好笑,不管怎么看,这两个都是那么的不现实。但是,如果深入到其中的领域,你兴许就能体会到里面发生的深刻的变化和巨大的进步。类似于我这类的井底之蛙就只能坐着看看热闹了。
Posted in Semantic Web, Techs | 1 Comment »