|COHSE - Conceptual Open Hypermedia Services Environment from The University of Southampton|
COHSE - Conceptual Open Hypermedia Services Environment fact-file
What's the Problem?
Dynamically providing links to resources using keyword-based matching has been popular for several years. However, consistent keyword descriptions are difficult to create and maintain leading to a poor conceptual model of the concepts and hence resulting in poor linking. To overcome this some specialist communities have created a taxonomy or thesauri of the linguistic terms in their domain. However, without the rigorous interpretation and reasoning ability provided by an ontological representation, this reduces the browsing and querying effectiveness. The alternative, to associatively link similar documents by hand, is error prone and inconsistent.
Towards a Solution
COHSE draws on two technologies to overcome this and demonstrate an effective application of the Semantic Web.
Figure 1 illustrates the COHSE architecture. It uses an augmented Web browser or a proxy server, controlled by a link service that uses two independent knowledge services, to manipulate the document and add ontologically-controlled hypertext. Two knowledge services are used: an ontology and annotation service. The ontology service loads DAML+OIL encoded ontologies and is then able to answer queries about them, such as retrieving all the concepts from an ontology and determining sub- and super-concepts of a particular concept. As concept names frequently do not translate directly into useful textual representations (e.g. a concept named 'PG_Researcher'), textual representations (terms) of each concept can be added to the ontology service in the form of a lexicon. The ontology service then returns these terms and provides a lookup service. For example, if the lexicon includes the term 'postgraduate researcher', the ontology service can be used to lookup this term and determine which concept it describes, in this case, the concept named 'PG_Researcher'.
Figure 1: COHSE Architecture
The annotation service is a simple annotation engine, similar in principle to W3C's Annotea, except that it annotates regions of a document with a concept, rather than a simple piece of text. An XPointer is used to identify a region in the document; a fragment of RDF, which corresponds to a DAML+OIL statement, identifies the concept. The annotation service serves two purposes. Firstly, it is used by knowledge workers (or authors) to specify that a region of a document is 'about' a particular concept which enables the link service to match on the region and provide a link. Secondly, an annotation also represents a resource in its own right, meaning the annotation service also acts as a simple librarian that is used to lookup Web pages which are examples of a particular concept (i.e. pages which can be used to illustrate a concept). Therefore, annotations are used to both identify link source anchors and link destinations.
To improve the dynamic linking on documents, COHSE combines these knowledge services with the link service. Traditional link services provide destination anchors based only on the keywords found in the source document, however, COHSE links on concepts in the ontology found in the document. The structure made explicit in an ontology enables COHSE to also broaden and narrow the destinations of a link. For example, when the concept 'Java' is matched, COHSE proposes resources about Java, as well as then consulting the ontology to discover that 'Java' is a type of 'Programming Language'. COHSE then proposes more general resources about programming languages as well. In addition, COHSE can request for the sub-concepts of 'Java', and then provide links on concepts such as 'Java Programming Concepts' and 'Java Memory Management'.
As COHSE is aware of the concepts in a document, different linking behaviours are also defined to affect the number and type of links added. For example, if a Web page is about the concept 'Java data types' COHSE would normally link its sub-concepts, such as 'int', 'float', or 'class' that appear on the page. However, the author of the page may not wish these sub-concepts to be linked, as they are likely to be explained on that page and therefore adding additional links would distract the user. The link suppression behaviour therefore prevents any sub-concepts that are within the super-concept's range (in this case the entire page) to be disregarded.
COHSE is an example of how ontologies and knowledge services are used to improve the hypertext evident in Web pages. It has been successfully used to improve the linking on the 'Java Tutorial' site and hypertext metrics were used to demonstrate evidence of improved linking. The evaluation report is available here.
Try a Demonstration
The COHSE software is available for download from project site. Details of 'live' ontology and annotation servers (required by the software) are provided on the site.
Take a Guided Tour
Several screenshots are provided to illustrate the functionality of COHSE.
Generic linking is applied in COHSE using the lexicon for the currently loaded ontology. For each concept located in the document, a small link icon is dynamically added to indicate a COHSE link (Figure 2).
Figure 2: Generic linking
By selecting the link icon, information about the concept is proposed in addition to related destination documents (Figure 3). By consulting the ontology, more general as well as more specific related documents can be proposed.
Figure 3: Proposed destination links for the 'Stream' concept
Annotation links are illustrated using a small green icon. Clicking on the icon results in the informaiton box being opened and any available links presented.
Figure 4: Link box for the 'Checksum' annotation link
Behaviours can be defined to better control the linking added to the document. In this case, link suppression has been used. For this behaviour, any sub-concepts of an annotated concept that appear within the annotation region, are removed. This is useful, when, for example, a section of text discusses the sub-concepts and therefore linking on these concepts as well would consitute over-linking.
Figure 5: Suppression linking behaviour
Annotations are created by using the annotation tool. A section of text is highlighted, the corresponing concept is selected from the ontology, and then the 'Create' button is pressed.
Figure 6: Annotation linking
Other relevant documents: