{'fraction_non_alphanumeric': 0.030778361878921485, 'fraction_numerical': 0.00958114295404443, 'mean_word_length': 5.114567133229652, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Ontology Search with the OntoSelect Ontology Library

OntoSelect is a dynamic web-based ontology library that harvests, analyzes and organizes ontologies published on the Semantic Web. OntoSelect allows searching as well as browsing of ontologies according to size (number of classes, properties), representation format (DAML, RDFS, OWL), connectedness (score over the number of included and referring ontologies) and human languages used for class- and object property-labels. Ontology search in OntoSelect is based on a combined measure of coverage, structure and connectedness. Further, and in contrast to other ontology search engines, OntoSelect provides ontology search based on a complete web document instead of one or more keywords only.


Introduction
Most of current work in ontology-based semantic annotation assumes the use of ontologies that are developed specifically for the task at hand. Instead, a more realistic approach would be to access an ontology library and to select one or more appropriate ontologies. Although the large-scale development and publishing of ontologies is still only in a beginning phase, many are already available. To select the most appropriate ontology (or a combination of complementary ontologies) will therefore be an increasingly important subtask in semantic annotation. In recent years web-based ontology libraries and ontology search engines like OntoKhoj (Patel et al., 2003), OntoSelect (Buitelaar, et al., 2004), SWOOGLE (Ding et al., 2004) and Watson (d'Aquin et al., 2007) have been developed to enable this.

The OntoSelect Ontology Library
OntoSelect 1 is a dynamic web-based ontology library that harvests, analyzes and organizes ontologies published on the Semantic Web. OntoSelect allows searching as well as browsing of ontologies according to size (number of classes, properties), representation format (DAML, RDFS, OWL), connectedness (score over the number of included and referring ontologies) and human languages used for class-and object property-labels.

Collecting and Analyzing Ontologies
OntoSelect uses the Google API to find published ontologies on the web in the following formats: DAML, OWL and RDFS. In the case of OWL, OntoSelect also determines its type (Full, DL, Lite) and indexes this information accordingly. Each class and object property defined by the ontology is indexed with reference to the 1 OntoSelect can be accessed at: http://olp.dfki.de/OntoSelect/ ontology in which it occurs. Correspondingly, each label is indexed with reference to the corresponding ontology, class or object property, the human language of the label (if available), and a normalized label name, e.g. TaxiDriver is normalized to "taxi driver". Object properties are handled similarly as classes except that also information on their type (functional, transitive, symmetric) is indexed. Finally, a separate index is build up in which we keep track of the distribution of labels over all collected ontologies. In this way, a ranked list of frequently used labels can be maintained and browsed by the user. The OntoSelect library can be browsed (see Figure 1) by: ontology name derived from owl:Ontology or URL format derived from the ontology URL human language derived from rdfs:label class or property label derived from rdfs:label included ontologies derived from owl:imports

Statistics on Formats and Multilinguality
OntoSelect currently contains over 1400 ontologies. An important aspect to keep track of is the knowledge representation format used for defining these ontologies: DAML, RDFS or OWL. Table 1 gives an overview of the distribution of these formats over the collected ontologies so far. It is interesting to see that the OWL format already shows a clear advance over the other two formats. Tables  2 and 3 give an overview of the distribution of human languages used in the definition of labels for classes and properties -by individual language and by language combination with English. The advance of English over other languages is not surprising as most ontologies still originate from English speaking countries although some start to appear with labels also in other languages, e.g. German and French.

Ontology Search
As the Semantic Web continues to grow in terms of developed and published ontologies, it becomes much easier to find rather than construct an appropriate ontology for a particular application. On the other hand, as more and more ontologies become available to choose from it is correspondingly hard to find the best ontology. The ontology search problem is therefore a very recent topic of research, which only originated with the growing availability of ontologies on the web. A web-based ontology, defined by use of standard Semantic web representation languages such as RDFS and OWL, is in many respects just another web document that can be indexed, stored and retrieved. On the other hand, an ontology is a highly structured document with possibly explicit semantic links to other ontologies. The OntoSelect approach is based on both observations by ranking ontologies by coverage, i.e. the overlap between query terms and index terms; by structure, i.e. the ratio of class vs. property definitions; and by connectedness, i.e. the level of integration between ontologies.
Other approaches have similarly stressed the importance of such measures, e.g. (Alani et al. 2006) describe the "Class Match", "Density", "Semantic Similarity" and "Betweenness" measures. The Class Match and Density measures correspond roughly to our coverage and structure measure, whereas the Semantic Similarity and Betweenness measure the semantic weight of query terms relative to the different ontologies that are to be ranked. These last two measures are based on the assumption that ontologies are well-structured with equal semantic balance throughout all constitutive parts, which unfortunately is only seldom the case. Another set of measures or rather criteria for ontology ranking and selection has been proposed by (Sabou et al. 2006).

Ontology Search in OntoSelect
Ontology search in OntoSelect is based on a combined measure of coverage, structure and connectedness of ontologies as discussed above. Further, and in contrast to all of the other approaches mentioned above, OntoSelect provides ontology search based on a complete web document instead of one or more keywords only. Obviously this allows for a much more fine-grained ontology search process. For a given document as ontology search query, OntoSelect first extracts all textual data and analyses this with linguistic tools (part-of-speech tagging, morphological analysis) to extract all nouns in the text as these can be expected to represent ontology classes rather than verbs, adjectives or other word classes. To calculate the relevance of each of the available ontologies in OntoSelect, the set of extracted nouns is used to compute three scores (coverage, structure, connectedness) and a combined score as follows: Coverage of an ontology relative to a query document measures how many of the extracted nouns (keywords) in the query document overlap with the set of class labels in the ontology. For this purpose, the nouns are ranked according to statistical relevance (Χ 2 ), comparing expected frequencies for extracted nouns in a general document collection (Reference Corpus) with those that are observed in the query document.
Connectedness measures how much the ontology is connected to other ontologies, i.e. how many ontologies are included and how well these are established relative to other ontologies. As not all included ontologies are valid ontology files, the connectedness measure includes a normalization over the proportion of valid ontology files.
Structure measures how detailed the knowledge structure is that the ontology represents. The structure score is based on the observation that more advanced ontologies generally have a large number of properties. Therefore, a relatively large number of properties would indicate a highly structured and hence more advanced ontology. Structure is measured by the number of properties relative to the number of classes in the ontology: Combined Score: As we observed big differences between the ranges of the three scores, we decided to normalize them, i.e. the values of each score are divided by the maximum of all values over all ontologies. Further, because of different levels of importance, the scores have been assigned weights.

An Example of Ontology Search in OntoSelect
The application of the ranking and search algorithm discussed above can be illustrated with an example of ontology search on the topic 'genetics', which may be represented by the Wikipedia page http://en.wikipedia.org/wiki/Gene The results of the keyword extraction and ontology ranking process for this query document are reported by OntoSelect in two tables, one that shows the top 20 keywords extracted from the query document and one with the ranked list of best matching ontologies according to the computed score (see Figure 2). Combined and individual scoresconnectedness, structure, coverage -are shown as well as the matching labels/keywords and their relevance scores. Retrieved and top ranked ontologies include a large number that are indeed of relevance to the 'genetics' topic, e.g. "nciOncology", "bioGoldStandard", "mygrid", "sequence", etc. Current work on OntoSelect is concerned with the evaluation of the search algorithm and comparing performance with other ontology search engines available. For this purpose we are constructing an evaluation benchmark, consisting of a controlled set of topics with ontologies assigned to these manually. A description of the benchmark and some preliminary results have been reported in (Buitelaar and Eigner, 2007).

Towards Evaluation of Ontology Search
In order to test the accuracy of our approach we are currently designing an evaluation experiment with a specifically constructed benchmark of 57 ontologies from the OntoSelect library that were manually assigned to 15 different topics represented by one or more Wikipedia pages. In this way we are able to define ontology search as a regular information retrieval task, for which we can give relevance assessments (manual assignment of ontology documents to Wikipedia-based topics) and compute precision and recall for a set of queries (Wikipedia pages).
The benchmark consists of 15Wikipedia topics and 57 out of 1056 ontologies that have been collected through OntoSelect. The 15 Wikipedia topics covered by the evaluation benchmark were selected out of the set of all class/property labels in OntoSelect -37284 in total -by the following steps: • Filtering out labels that did not correspond to a Wikipedia page -this left us with 5658 labels (i.e. topic candidates) • Next, the 5658 labels were used as search terms to filter out labels that returned less than 10 ontologies (out of the 1056 in OntoSelect) -this left us with 3084 labels / topics • We then manually decided which of these 3084 labels actually expressed a useful topic, e.g. we left out very short labels ('v') and very abstract ones ('thing')this left us with 50 topics • Finally, out of these 50 we randomly selected 15 for which we manually checked the ontologies retrieved from OntoSelect -in this step we checked 269 ontologies out of which 57 were judged as appropriate for the corresponding topic The resulting 15Wikipedia topics with the number of appropriately assigned ontologies are: Atmosphere (2), Biology (11), City (3), Communication (10), Economy (1), Infrastructure (2), Institution (1), Math (3), Military (5), Newspaper (2), Oil (0), Production (1), Publication (6), Railroad (1), Tourism (9). In future work we will report on evaluation results obtained with this benchmark.