Predicting Appropriate Semantic Web Terms from Words Lushan Han and

The Semantic Web language RDF was designed to unambiguously define and use ontologies to encode data and knowledge on the Web. Many people find it difficult, however, to write complex RDF statements and queries because doing so requires familiarity with the appropriate ontologies and the terms they define. We describe a system that suggests appropriate RDF terms given semantically related English words and general domain and context information. We use the Swoogle Semantic Web search engine to provide RDF term and namespace statistics, the WorldNet lexical ontology to find semantically related words, and a naïve Bayes classifier to suggest terms. A customized graph data structure of related namespaces is constructed from Swoogle's database to speed up the classifier model learning and prediction time. Motivation and Objectives The Semantic Web is realized as a huge graph of data and knowledge. The graph’s building blocks consist of literal values and RDF terms representing classes, properties and individuals. Syntactically, an RDF term is expressed as a URI like http://xmlns.com/foaf/0.1/Person, which has two parts: a namespace (http://xmlns.com/foaf/0.1/) identifying the ontology defining the term and a local name (Person) selecting a term in the ontology. The use of namespaces avoids introducing ambiguity and allows two terms in different ontologies to share a local name. For example, the class Party may be defined in an ontology about politics as well as in another describing daily lives. Qualifying Party with a namespace removes the ambiguity. Authoring or querying knowledge Semantic Web is difficult because it requires people to select an ontology from man for the concepts they want to use. The term Party, for example, is defined in 352 Semantic Web ontologies known to Swoogle. Moreover, other ontologies define possibly related concepts, with local names Celebration and Organization. It would be convenient if a user could use natural language words as her vocabulary and an knowledgeable system would suggest appropriate Semantic Web terms based both on the observed experience data of how people used different namespaces together and on the user’s prior namespaces or domain information. Such a system could support metadata systems like Flickr’s machine tags (Schmitz 2006), which also require qualified namespaces whose selection is hard for end users who know nothing or little about ontologies. Copyright © 2008, Association for the Advancement of Artificial Intelligence (www.aaai.org). All rights reserved. Problem Analysis Given an RDF local name, how do we know which namespaces are suitable to qualify it? A simple solution is to ask a Semantic Web search engine, like Swoogle (Ding et al. 2004) to return the most highly ranked public namespaces that define the term. However, this is based on an exact string match. In many cases, we might desire terms whose local names are semantically related. For example, if a user gives the verb associate and no popular namespace defines a matching term, but the word relate is defined in a very popular namespace, then generally we can substitute relate for associate. Thus, for a given input word we find a set of synonyms or semantically related words from WordNet (Miller 1998). For each one, we use Swoogle to find ontologies that define a term with a corresponding local name. The selection process involves a threshold based on Swoogle’s ontoRank (Ding 2005a) metric to limit the choices to popular ontologies. The result is a set of candidate pairs where each pair specifies an RDF namespace representing the ontology and a local name representing a term defined in that ontology. Given a set of candidate pairs (namespace, word), selecting the best one depends on domain information provided by users. In fact, the namespaces themselves convey lots of domain information. If users have some prior used namespaces, these may be used to determine which are the most appropriate based on correlation among namespaces observed on the Semantic Web. Lacking a history of namespace use, users may directly tell the system their general domain with a set of words and phrases, such as geography or ecoinformatics, etc. The system can then choose the most representative namespace in that domain as an implicit prior namespace for users. In sum, we can focus on one key problem – finding the namespace with the highest conditional probability in the presence of the given namespaces. Predicting Appropriate Namespaces Computing exact conditional probabilities is very expensive when the number of nodes is large. Fortunately, we need only know the rank ordering of namespaces with respect to their conditional probability, enabling us to find maximum posteriori (MAP) hypotheses. A naïve Bayes (NB) classifier approach can be used for this purpose. Although this makes a conditional independence assumption that is not true in most cases, it performs very well in text classifications and other problems. Since our training dataset is large in terms of observations and nodes, the use of Proceedings of the Twenty-Third AAAI Conference on Artificial Intelligence (2008)