220 likes | 307 Views
OntoSem2OWL Integrating Language Understanding agents into the Semantic Web. Ebiquity Presentation 05/17/2005 -Akshay Java. Goals. Develop a system to translate Ontologies and data between OntoSem and OWL. Provide an environment to run the mappers.
E N D
OntoSem2OWLIntegrating Language Understanding agents into the Semantic Web Ebiquity Presentation 05/17/2005 -Akshay Java
Goals • Develop a system to translate Ontologies and data between OntoSem and OWL. • Provide an environment to run the mappers. • Provide Functional Specifications for the mapping. • Translate the OntoSem ontology to OWL. • Map OntoSem TMRs to OWL. • Map OWL Ontologies to OntoSem. Motivation: Integrating language understanding agents into the Semantic Web.
System Architecture OWL2OntoSem Fact Repository NL Text OntoSem TMR TMRs In OWL OntoSem2OWL OWL Ontology Ontology
Mapping Rules for Classes OntoSem LISP version (make-frame patent (definition (value (common "the exclusive right to make, use or sell an invention, which is granted to the inventor"))) (is-a (value (common intangible-asset legal-right)))) OWL Version: • <owl:Class rdf:about="&ontosem;patent"> • <rdfs:subClassOf> • <owl:Class rdf:about="&ontosem;intangible-asset"> • </owl:Class> • </rdfs:subClassOf> • <rdfs:subClassOf> • <owl:Class rdf:about="&ontosem;legal-right"> • </owl:Class> • </rdfs:subClassOf> • <rdfs:comment>he exclusive right to make, use or • sell an invention, which is granted to the inventor • </rdfs:label> • </owl:Class>
Mapping Rules for Properties • Properties can be • ObjectProperty owl:ObjectProperty • Datatype Property owl:DatatypeProperty • Property hierarchy is defined by owl:subPropertyOf • Domain maps to rdfs:domain • Range maps to rdfs:range • Restrictions are handled using owl:Restriction • Numeric datatypes are handled using XSD
Mapping Rules for Properties… (make-frame controls (domain (sem (common physical-event physical-object social-event social-role))) (range (sem (common actualize artifact natural-object social-role))) (is-a (value (common relation))) (inverse (value (common controlled-by))) (definition (value (common "A relation which relates concepts to what they can control"))))
Mapping Rules for Properties… (make-frame <owl:ObjectProperty rdf:ID= "controls"> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#physical-event"/> <owl:Class rdf:about="#physical-object"/> <owl:Class rdf:about="#social-event"/> <owl:Class rdf:about="#social-role"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#actualize"/> <owl:Class rdf:about="#artifact"/> <owl:Class rdf:about="#natural-object"/> <owl:Class rdf:about="#social-role"/> </owl:unionOf> </owl:Class> </rdfs:range> <rdfs:subPropertyOf> <owl:ObjectProperty rdf:about="#relation"/> </rdfs:subPropertyOf> <owl:inverseOf rdf:resource="#controlled-by"/> <rdfs:label> "A relation which relates concepts to what they can control" </rdfs:label> </owl:ObjectProperty> (domain (range (is-a (inverse
Mapping Rules for Facets • SEM and VALUE • Maps them using owl:Restriction on a particular property. • RELAXABLE-TO • Add this to the classes present in owl:Restriction and add this information in the annotation. • DEFAULT • No clear way to represent non-monotonic reasoning and closed world assumptions in Semantic Web. • One way would be to use rules using RuleML and SWRL? • DEFAULT-MEASURE • similar to DEFAULT Facet, may be handled using rules. • NOT • Not facet can be handled using owl:disjointOf • INV • need not be handled since is-a slot is already mapped to owl:inverseOf
Mapping Rules for Restrictions Example adapted from OntoSem Chocolate IS-A Flavoring Material-of Hot-chocolate, Ice-cream Color Brown, Black, White Bitterness 0.2
Mapping Rules for Restrictions… <owl:Class rdf:ID = "Chocolate"> <rdfs:subClassOf rdf:resource ="food-item"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#has-color"/> <owl:allValuesFrom> <owl:Class> <owl:oneOf> <rdf:list> <rdf:first rdf:resource=“#white"/> <rdf:rest> <rdf:first rdf:resource=“#brown"/> ........... </owl:oneOf> </owl:Class> </owl:allValuesFrom> </owl:Restriction> </rdfs:subClassOf></owl:Class> View Image
Translating TMR2OWL Translating TMRs involves instantiation of concepts mapped in OWL. Example: (COME-1740 (TIME (VALUE (COMMON (FIND-ANCHOR-TIME)))) (DESTINATION (VALUE (COMMON CITY-1740))) (AGENT (VALUE (COMMON POLITICIAN-1740))) (ROOT-WORDS (VALUE (COMMON (ARRIVE)))) (WORD-NUM (VALUE (COMMON 2))) (INSTANCE-OF (VALUE (COMMON COME))) <ontosem:come rdf:about="COME-1740"> <ontosem:destination rdf:resource="#CITY-1740"/> <ontosem:agent rdf:resource="#POLITICIAN-1740"/> </ontosem:come>
RDF/OWL Validation Built Ontology translation tool using Jena API Total Triples Generated ~ 102189 (including bnode) Time to build the Model ~ 10-40 sec Time to do RDFS Inference ~ 10 sec Time to do OWL Micro ~ 40 sec Time to do OWL Full ~ ???? DL Expressivity: ELUIHEL - Conjunction and Full Existential QuantificationU - UnionH - Role HierarchyI - Role Inverse Swoop Pellet Wonderweb http://w3c.org/RDF/Validator/ After Translation Total Number of Classes: 7747 (Defined: 7747, Imported: 0)Total Number of Datatype Properties: 0 (Defined: 0, Imported: 0)Total Number of Object Properties: 604 (Defined: 604, Imported: 0)Total Number of Annotation Properties: 1 (Defined: 1, Imported: 0)Total Number of Individuals: 0 (Defined: 0, Imported: 0) NOTE: This is using no Restrictions OWL FULL
Reasoning Capabilities Finding Transitive Closures (RDFS reasoning) • Buildfile: build.xml • init: • compile: • dist: • [jar] Building jar: /home/aks1/software/eclipse/workspace/ontojena/dist/lib/ontojena.jar • run: • [java] MODEL OK • [java] Resource: http://ontosem.org/#fire-engine • [java] - (http://ontosem.org/#fire-engine rdfs:subClassOf http://ontosem.org/#fire-engine) • [java] - (http://ontosem.org/#fire-engine rdfs:subClassOf http://ontosem.org/#all) • [java] - (http://ontosem.org/#fire-engine rdfs:subClassOf http://ontosem.org/#physical-object) • [java] - (http://ontosem.org/#fire-engine rdfs:subClassOf http://ontosem.org/#inanimate) • [java] - (http://ontosem.org/#fire-engine rdfs:subClassOf http://ontosem.org/#wheeled-vehicle) • [java] - (http://ontosem.org/#fire-engine rdfs:subClassOf http://ontosem.org/#engine-propelled-vehicle) • [java] - (http://ontosem.org/#fire-engine rdfs:subClassOf http://ontosem.org/#wheeled-engine-vehicle) • [java] - (http://ontosem.org/#fire-engine rdfs:subClassOf http://ontosem.org/#artifact) • [java] - (http://ontosem.org/#fire-engine rdfs:subClassOf http://ontosem.org/#object) • [java] - (http://ontosem.org/#fire-engine rdfs:subClassOf http://ontosem.org/#land-vehicle) • [java] - (http://ontosem.org/#fire-engine rdfs:subClassOf http://ontosem.org/#vehicle) • [java] - (http://ontosem.org/#fire-engine rdfs:subClassOf http://ontosem.org/#truck) • [java] - (http://ontosem.org/#fire-engine rdfs:label ' "a truck with equipment for fighting fires"') • [java] - (http://ontosem.org/#fire-engine rdf:type owl:Class) • [java] fire-engine recognized as subclas of vehicle • BUILD SUCCESSFUL • Total time: 10 seconds • real 0m11.144s • user 0m9.530s • sys 0m0.190s • [aks1@trishuli ontojena]$ vehicle Inffered Triples Land-vehicle Engine-propelled--vehicle Wheeled--vehicle Wheeled-engine-vehicle Truck Fire-engine
Application: Gathering instances from NL Ohio Congressman Arrives in Jordan (COME-1740 (TIME (VALUE (COMMON (FIND-ANCHOR-TIME)))) (DESTINATION (VALUE (COMMON CITY-1740))) (AGENT (VALUE (COMMON POLITICIAN-1740))) (ROOT-WORDS (VALUE (COMMON (ARRIVE)))) (WORD-NUM (VALUE (COMMON 2))) (INSTANCE-OF (VALUE (COMMON COME))) ) (POLITICIAN-1740 (AGENT-OF (VALUE (COMMON COME-1740))) (RELATION (VALUE (COMMON PROVINCE-1740))) (MEMBER-OF (VALUE (COMMON CONGRESS))) (ROOT-WORDS (VALUE (COMMON (CONGRESSMAN)))) (WORD-NUM (VALUE (COMMON 1))) (INSTANCE-OF (VALUE (COMMON POLITICIAN))) ) (CITY-1740 (HAS-NAME (VALUE (COMMON "JORDAN"))) (ROOT-WORDS (VALUE (COMMON (JORDAN)))) (WORD-NUM (VALUE (COMMON 4))) (DESTINATION-OF (VALUE (COMMON COME-1740))) (INSTANCE-OF (VALUE (COMMON CITY))) ) <ontosem:come rdf:about="http://ontosem.org/#come-1740"> <ontosem:destination rdf:resource="http://ontosem.org/#city-1740"/> <ontosem:agent rdf:resource="http://ontosem.org/#politician-1740"/> <ontosem:instance-of rdf:resource="http://ontosem.org/#come"/> </ontosem:come> <ontosem:politician rdf:about="http://ontosem.org/#politician-1740"> <ontosem:agent-of rdf:resource="http://ontosem.org/#come-1740"/> <ontosem:relation rdf:resource="http://ontosem.org/#province-1740"/> <ontosem:member-of rdf:resource="http://ontosem.org/#congress"/> <ontosem:instance-of rdf:resource="http://ontosem.org/#politician"/> </ontosem:politician> <ontosem:city rdf:about="http://ontosem.org/#city-1740"> <ontosem:has-name>jordan</ontosem:has-name> <ontosem:destination-of rdf:resource="http://ontosem.org/#come-1740"/> <ontosem:instance-of rdf:resource="http://ontosem.org/#city"/> </ontosem:city>
Gather all concepts from TMR Sentences: Ohio Congressman Arrives in Jordan. U.S. Representative Tony Hall arrived in Jordan on Saturday en route to Iraq, where he is expected to look into the plight of Iraqis after nearly 10 years of U.N. trade sanctions. Concept = http://ontosem.org/#city-1740 subClassOf http://ontosem.org/#cityConcept = http://ontosem.org/#year-2313 subClassOf http://ontosem.org/#yearConcept = http://ontosem.org/#suffer-2122 subClassOf http://ontosem.org/#sufferConcept = http://ontosem.org/#date-1873 subClassOf http://ontosem.org/#dateConcept = http://ontosem.org/#city-2689 subClassOf http://ontosem.org/#cityConcept = http://ontosem.org/#city-1873 subClassOf http://ontosem.org/#city………………………………. …………………………….. ………………. ………. TMR OWL Reasoner In OWL OntoSem Ontology
Gather all Entities from TMR Sentences: Ohio Congressman Arrives in Jordan. U.S. Representative Tony Hall arrived in Jordan on Saturday en route to Iraq, where he is expected to look into the plight of Iraqis after nearly 10 years of U.N. trade sanctions. [java] Using RDQL Query to find Named Entities (Person): [java] x = http://ontosem.org/#human-1873 name = tony-hall[java] Using RDQL Query to find Named Entities (Place): [java] x = http://ontosem.org/#city-1740 name = jordan [java] x = http://ontosem.org/#city-1873 name = jordan [java] x = http://ontosem.org/#province-1740 name = ohio [java] x = http://ontosem.org/#nation-1873 name = iraq [java] x = http://ontosem.org/#nation-2690 name = u.s. [java] x = http://ontosem.org/#nation-2122 name = iraqis[java] Using RDQL Query to find Named Entities (Organization): [java] x = http://ontosem.org/#corporation-2313 name = u.n TMR OWL Reasoner In OWL OntoSem Ontology
Find information about an instance Sentences: Ohio Congressman Arrives in Jordan. U.S. Representative Tony Hall arrived in Jordan on Saturday en route to Iraq, where he is expected to look into the plight of Iraqis after nearly 10 years of U.N. trade sanctions. TMR Statements Inffered about :http://ontosem.org/#city-1740- (http://ontosem.org/#city-1740 http://ontosem.org/#instance-ofhttp://ontosem.org/#city)- (http://ontosem.org/#city-1740 rdf:type http://ontosem.org/#city)- (http://ontosem.org/#city-1740 http://ontosem.org/#has-name 'jordan')- (http://ontosem.org/#city-1740 http://ontosem.org/#destination-ofhttp://ontosem.org/#come-1740)- (http://ontosem.org/#city-1740 rdf:type owl:Thing) ……………………… ……………. OWL Reasoner In OWL OntoSem Ontology
Interesting issues • Representing defaults using Rules. • Partitioning large ontologies like OntoSem. • Availability of provenanace information in NL text. • Identifying and represent cardinalities, transitive, symmetric and inverse functional properties. • subsets of mappings conforming to Lite, DL and Full.
Using rules to handle defaults • Open World view : • At any given time available statements represent limited knowledge of the world. • Closed World assumption: • One has all the relevant information • Monotonic Reasoning: - new information cant invalidate an earlier conclusion. • Non Monotonic Reasoning: • When new information is gained some previous conclusion may be retracted. • Defaults are used to represent cases where lack of explicit information would lead to some assumption. Reasoning on SW is Monotonic
Using rules to handle defaults @prefix log: <http://www.w3.org/2000/10/swap/log#> . @prefix tree: <http://example.org/rdfschema/tree#> . @prefix desc: <http://example.org/rdfschema/tree/attributes#> . @prefix : <http://example.org/trees#> . this log:forAll :TREE . { <trees.n3> log:semantics ?t . ?t log:includes { :TREE a tree:Tree } . ?t log:notIncludes { :TREE desc:leaves [] } . } => { :TREE tree:leaves "green" } In OntoSem default ~382 default-measure ~500+ Example from http://norman.walsh.name/2004/04/02/notinrdf
References Software Used [1] OntoSem http://ilit.umbc.edu/dekade [2] RDF Validation service http://w3c.org/RDF/Validator [3] Jena Toolkit http://jena.sourceforge.net/ [4] Swoop Ontology Viewer http://www.mindswap.org/2004/SWOOP/ [5] Pellet OWL DL Reasoner http://www.mindswap.org/2003/pellet/ [6] Wonder Web OWL Validator http://phoebus.cs.man.ac.uk:9999/OWL/Validator Papers [1] Sergei Nirenburg and Victor Raskin, Ontological Semantics, Formal Ontology and Ambiguity [2] Sergei Nirenburg and Victor Raskin, Ontological Semantics, MIT Press, Forthcoming [3] Sergei Nirenburg, Ontological Semantics: Overview, Presentation CLSP JHU, Spring 2003 [4] Marjorie McShane, Sergei Nirenburg, Stephen Beale, Margalit Zabludowski, The Cross Lingual Reuse and Extension of knowledge Resources in Ontological Semantics [5] P.J Beltran-Ferruz, P.A Gonzalez-Calero, P. Gervas Converting Mikrokosmos frames into Description Logics. [6] Sergei Nirenburg, Ontology Tutorial, ILIT UMBC Mailing Lists [1] Jena Developers jena-dev@yahoogroups.com [2] pellet users pellet-users@lists.mindswap.org [3] Semantic web semanticweb@yahoogroups.com [4] W3c RDF Interest www-rdf-interest@w3.org [5] W3c Semantic web semantic-web@w3.org