September 20 2004
New semantic information-management schemes enable companies to make better use of their information. What exactly is semantics? And how can semantics technology help your development efforts? Juhnyoung Lee, a researcher at the IBM T. J. Watson Research Center, reviews the basics to get you started.
1) In the context of computing and technology, what is semantics?
Semantics is the study of meanings, and it has its root in philosophy, psychology, and linguistics. In the context of computing and technology, semantics means the use of domain knowledge to make software more intelligent, adaptive, and efficient. By using knowledge specific to applications, one can enhance their functionalities and optimize the performance. Often combined with some reasoning capabilities, the use of domain knowledge enables software to do useful tricks such as finding hidden relationships in a complicated web of objects.
For example, in the automotive industry, semantics technology is being utilized to enhance and streamline business processes, reduce costs and increase efficiency. In this case, semantic information is knowledge about the applications and systems involved in daily transactions at the auto plant. Simply put, it is information that describes and defines objects. With greater knowledge available about components, the supply chain can be more adaptive and can respond to change intelligently. For a more detailed look at this example and to learn more about several semantics technologies at work, see the Ontology-based Web Services for Business Integration demo.
There have been extensive studies on semantics in the context of natural language processing and information retrieval and in various areas of artificial intelligence, including knowledge representation, expert systems, logic, and classification. The latest incarnation of semantics in computing is centered around ontology. An ontology characterizes the intended meaning of terms by formally defining relations among terms in a domain. Founded on a powerful and expressive logic (known as description logic), the modern ontology technology enables one to specify useful domain knowledge and externalize it from software. In addition to all these benefits of using semantics, the externalization of ontology improves knowledge sharing and reuse and makes software adaptable to environment.
Ontologies can be managed through an ontology management system or framework such as the Ontology Management System, which is available for download on alphaWorks. These ontologies can be retrieved by the application or system, depending on the context, in a variety of standard ontology languages, such as Resource Description Framework (RDF).
2) Why is semantics an important area of technology research and development, especially now?
Semantics shows enormous potential in making software more efficient, adaptive, and intelligent. It is recognized as one of the areas that will bring the next breakthrough in software development. The idea of semantics has been welcomed by visionaries and early adopters. For example, semantics has been used in medical informatics studies, and the community produced popular tools such as Protégé ontology editor.
However, the idea of semantics has failed to appeal to the majority of mainstream users, at least until recently. It is said that the idea was too arcane for ordinary folks to understand. There is no standard way of working with ontology, but many different proprietary ways. There were not enough tools for programming semantics and managing various aspects of the life cycle of ontologies. Recently, however, the semantic Web initiative led by W3C has changed the semantics landscape completely. Through the initiative, researchers and developers join forces to provide standard semantics markup languages based on XML, ontology management systems, and other useful tools. Also, the Web provides interesting applications of semantics critical to daily life, such as search and navigation. In addition, people rediscover the value of semantics in other important applications, such as information and process integration. Semantics is now poised to cross the technology chasm and fight its way into the mainstream.
3) How do developers and the technical community start to work with these technologies? How do they incorporate them into their current development efforts?
There are two aspects to start with: technology and business aspects. The developers should take care of the business aspect first. They should work with business users to understand their problems and think about how semantics can help solve the problems and how it can bring in value. There are a number of problems semantics solves particularly well, such as problems with information integration, model transformation, translation, data cleansing, search, navigation, text understanding, document preparation, speech understanding, “active” menus and forms, question-and-answer issues, etc.
Additionally, the developers should consider whether there are other innovative ways of using semantics for solving their problems. Once developers are comfortable with the value that semantics brings in, they can go ahead and populate the ontology for the solution. There are standard semantic markup languages recommended by W3C, such as RDF (Resource Description Framework) and OWL (Web Ontology Language). There are also a number of tools based on the languages available for ontology population, integration, reasoning, and management. In addition, there are APIs and ontology management systems, such as the Ontology Management System and IBM Integrated Ontology Development Toolkit, available through alphaWorks. They help in easily incorporating semantics into the current development efforts.
Semantics technologies are important in a variety of industries such as life sciences, in which biomedical text plays a fundamental role in knowledge discovery. It can also be applied to numerous solutions, for example autonomic computing, where data correlation and inference technologies can be used as core components for building autonomic computing systems and to perform automated and continuous analysis that can result in actions that protect and heal a system.
4) What are some emerging areas within and related to semantics that we should be looking out for?
One interesting direction that comes to mind first is the convergence of ontology management system and database: State-of-the-art ontology management systems either are memory-based or use ad hoc solutions for persisting data. While this method is adequate for dealing with the class hierarchies in small- to medium-sized ontologies, it does not work for applications that involve large amounts of instance data. Moreover, typical ad hoc storage solutions do not provide the same level of support for data integrity, concurrent access, and recovery as a mature database management system.
To overcome these limitations, researchers work on database-centered architectures for storing and manipulating ontological data. Such solutions will take advantage of existing standards for data management and the DBMS features that have been optimized over the years (robustness, concurrency control, recovery, and scalability). There is also much activity in the application domain. Two prominent applications that come to mind are the efforts involved in semantic Web services for capability-based discovery and composition of business processes, and the use of semantics with social networks for better collaboration.
About the researcher
Juhnyoung Lee is a Research Staff Member at the IBM T. J. Watson Research Center in Hawthorne, N.Y. Dr. Lee joined IBM Research in 1997 and has worked on e-business intelligence, electronic marketplaces, decision support systems, and business process management. His current research interest is ontology management systems, business information integration, and applications of semantics to middleware.
Tell us what you think.....
Let us know what you think about the Semantics emerging topic, the related technologies, or what other emerging topics you'd like to see. Your feedback is appreciated.