Jump to content

Semantic interoperability

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Andreala (talk | contribs) at 10:48, 20 August 2008 (fixed broken wiki-link). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Semantic Interoperability (also referred to as Computable Semantic Interoperability) is the ability of two or more computer systems to exchange information and have the meaning of that information automatically interpreted by the receiving system accurately enough to produce useful results, as defined by the end users of both systems.

Computers are used by human beings to find information, or receive it in a direct transfer, and to use it for purposes that the original creator of the information did not anticipate. At least some aspects of the information must be encoded in some standard fashion interpreted identically by all systems involved in relaying, if not processing or changing, that data.

While the criteria applied by such users will necessarily vary, some are very commonly invoked: the computer system receiving the information is able to use it properly in computation, without human intervention, and produce results satisfactory to the users of that receiver. Any context information required must be somehow reduced to representations that are shared. A common information exchange reference model must exist and both sides must defer to it as authoritative. The content of the information exchange requests are unambiguously defined: What is sent is the same as what is understood. In terms of the conceptual interoperability model from simulation theory, information must be in a form whose meaning is independent of the application generating or using it.

Semantic as a function of syntactic and pragmatic interoperability

Syntactic interoperability, provided by for instance XML or the SQL standards, is a pre-requisite to semantic. It involves a common data format and common protocol to structure any that is ambiguous and commmunicate for purposes of resolving ambiguities in the structure. For instance, resending any message that appears to be garbled or incomplete. No semantic communication is possible if the syntax is garbled or unable to represent the data.

However, the accuracy of a communication cannot be judged without some commonality in methods and procedures that each system is employing. In other words, the use of the data or context of application must be understood and unambiguously defined, though this isn't contained in the semantics. Messages like "this doesn't seem to be an appropriate action at this moment" might provide feedback to the semantic interoperability layer to suggest it has made errors. Over time, also, state of a system may change or the agreements that govern it may change as more and more systems are aligned. Messages that are semantically unambiguous at one time may be ambiguous if viewed later after the range of possible messages becomes more refined.

Just as computer programs are very often specified both from top-down user requirements or design precedents and bottom-up system capabilities (like shared libraries and APIs), semantics of a system often emerge from compromises between its syntax and its pragmatics.

Both the process by which semantics is agreed to change, and the syntax in which messages are expressed, are usually more stable than the semantics itself. Accordingly, interoperability is rarely or never achieved by means of working strictly in one direction from top or bottom. This suggests strongly that upper ontology may be either misnamed or a very bad goal.

Partial semantic interoperability

To achieve perfect semantic interoperability, all communicating systems must use term (or symbol) definitions that are identical or can be accurately interconverted. Thus a common ontology is the ideal situation for semantic interoperability. Where that is impossible, lesser degrees of semantic interoperability may be achieved by techniques that automatically map the definitions used by one system to those of another.

Interoperability is sometimes considered as an all-or-nothing attribute of computer systems - see upper ontology - but for complex information, different levels of interoperability can be envisioned; when multiple pieces of information are being transferred, correct interpretation of some fraction of that information may be considered as constituting some level of semantic interoperability. Perfect semantic interoperability would require the correct interpretation of all transferred information, from the point of view of all users.

Knowledge representation requirements and languages

A knowledge representation language may be sufficiently expressive to describe nuances of meaning in well understood fields. There are at least five levels of complexity of these.

For general semi-structured data one may use a general purpose language such as XML[1].

For structured data with well understood relationships one may use SQL or the relational model.

A description logic (such as the one used in the OWL semantic web ontology language[2]) is more complex.

Languages with the full power of first-order predicate logic may be required for many tasks.

Human languages are highly expressive, but are considered too ambiguous to allow the accurate interpretation desired, given the current level of human language technology. In human languages the same word may be used to refer to different concepts (ambiguity), and the same concept may be referred to by different words (synonymy).

Prior agreement not required

Semantic interoperability may be distinguished from other forms of interoperability by considering whether the information transferred has, in its communicated form, all of the meaning required for the receiving system to interpret it correctly, even when the algorithms used by the receiving system are unknown to the sending system. Consider sending one number:

If that number is intended to be the sum of money owed by one company to another, it implies some action or lack of action on the part of both those who send it and those who receive it.

It may be correctly interpreted if sent in response to a specific request, and received at the time and in the form expected. This correct interpretation does not depend only on the number itself, which could represent almost any of millions of types of quantitative measure, rather it depends strictly on the circumstances of transmission. That is, the interpretation depends on both systems expecting that the algorithms in the other system use the number in exactly the same sense, and it depends further on the entire envelope of transmissions that preceded the actual transmission of the bare number. By contrast, if the transmitting system does not know how the information will be used by other systems, it is necessary to have a shared agreement on how information with some specific meaning (out of many possible meanings) will appear in a communication. For a particular task, one solution is to standardize a form, such as a request for payment; that request would have to encode, in standardized fashion, all of the information needed to evaluate it, such as: the agent owing the money, the agent owed the money, the nature of the action giving rise to the debt, the agents, goods, services, and other participants in that action; the time of the action; the amount owed and currency in which the debt is reckoned; the time allowed for payment; the form of payment demanded; and other information. When two or more systems have agreed on how to interpret the information in such a request, they can achieve semantic interoperability for that specific type of transaction. For semantic interoperability generally, it is necessary to provide standardized ways to describe the meanings of many more things than just commercial transactions, and the number of concepts whose representation needs to be agreed upon are at a minimum several thousand.

Ontology research

How to achieve semantic interoperability for more than a few restricted scenarios is currently a matter of research and discussion. Some form of agreed common ontology, at least one that is sufficiently high-level to provide the defining concepts for more specialized ontologies, has been pursued for decades, with few results beyond usage by a small number of researchers.

Whether use of a single high-level ontology can be avoided by sophisticated mapping techniques among independently developed ontologies is under investigation, and seems much more fruitful. See upper ontology for further description of research in these fields.

Importance

The practical significance of semantic interoperability has been measured by several studies that estimate the cost (in lost efficiency) due to lack of semantic interoperability. One study[3], focusing on the lost efficiency in the communication of healthcare information, estimated that US$77.8 billion per year could be saved by implementing an effective interoperability standard in that area. Other studies, of the construction industry[4] and of the automobile manufacturing supply chain[5], estimate costs of over US$10 billion per year due to lack of semantic interoperability in those industries. In total these numbers can be extrapolated to indicate that well over US$100 billion per year is lost because of the lack of a widely used semantic interoperability standard in the US alone.

See also

References