Do computers understand the Web?
Till 2001 the answer to the above question was a big ‘NO’. Semantic Web is an attempt from Tim Berners-Lee (the father of the web) to turn that big ‘NO’ to big ‘YES’
Semantic Web means a highly interconnected network of data that could be easily accessed and understood by any computer or handheld device. To be frank the Semantic Web is not different from World Wide Web, it is just an enhancement that gives the Web far greater utility. It comes to life when people immersed in a certain field or vocation, whether it be genetic research or hip-hop music, agree on common schemes for representing information they care about. As more groups develop these taxonomies, Semantic Web tools allow them to link their schemes and translate their terms, gradually expanding the number of people and communities whose Web software can understand one another automatically.
Let’s try to understand the meaning of the above boring definition in a practical manner. Suppose you have to travel immediately to New Delhi from Bangalore to attend an important business meeting of 5:00 PM, you login to your Semantic Web agent (an application!) on your handheld device (PDA) and type “book the cheapest flight from Bangalore to New Delhi leaving between 11:30 AM -12:30 PM”. Now the agent will search for the flights, if it finds one, it will get the pre-stored credit card number and book the flight. The job of Semantic Web is to convert the instruction into machine readable format, and look for the information across the web.
Figure 1 shows the flow in which the Semantic Web Agent performs the task. The main instruction (I) is disintegrated in three smaller instructions (I-1, I-2, I-3) which are easier for a computer to understand. Still you may ask that how a computer can distinguish between two different meanings of book i.e. ‘a physical object consisting of a number of pages’ or ‘reservation’? To understand this lets consider a few sentences:
Ravi booked a flight.
Hari read a non-fiction book.
Again the meaning of the word book is different in both the sentences, in one case it is a noun and in another it is a verb. How to distinguish? Well we can assign a unique identifier to each word. Before that we need to take care whether a computer can understand the similarity between book, booked, booking etc. Perhaps a little XML can help; code snippet (Listing 1) below shows the relation between reserve and book and another snippet (Listing 2) shows the noun book and similar items. The code is written in an XML–based language RDF (Resource Description Framework), which is primarily used for Semantic Web applications. Now let’s focus on above sentences “Ravi booked a flight” means “Ravi reserved a flight” from Listing 1. And in second sentence “Hari read a non-fiction book” from Listing 2 we can observe that book is a noun with a type of physical object.
<concepts id=“reservation-similar-terms“ version=“20090225“>
<concept id=“reservation“ created-by=“firstname.lastname@example.org“ on=“20090225“>
<definition xml:lang=“en“>Words with meaning reservation</definition>
<verb tense = “present“ meaning =“reserve-1“ id= “res101“>reserve</verb>
<verb tense = “present“ meaning =“reserve-1“ id= “res-102“>book</verb>
<verb tense = “past“ meaning =“reserve-2“ id= “res-103“>reserved</verb>
<verb tense = “past“ meaning =“reserve-2“ id= “res-104“>booked</verb>
<concepts id=“book-object“ version=“20090225“>
<concept id=“book“ created-by=“email@example.com“ on=“20090225“>
<definition xml:lang=“en“>Items similar to a book</definition>
<noun type =“physicalObject“ meaning =“book-1“ id= “b01“>textbook</noun>
<noun type =“physicalObject“ meaning =“book-1“ id= “b02“>novel</noun>
<noun type =“physicalObject“ meaning =“book-1“ id= “b03“>non-fiction</noun>
So both the questions, different words with same meaning and same words with different meanings, are answered from the above example. Once the agent understood the meaning of the book in present context and also that cheapest means minimum price, it will search for the flights through 3rd party airline web services and on success it will book the flight by using your pre-stored credit card number and send a confirmation on your PDA.
By the use of ontologies this example becomes even much simpler. OWL (Ontology Web Language) is a sister language of RDF for creating ontology. Computer is a dumb machine; it requires very specific information in order to understand the logical meaning of the any instruction given to it, taxonomies and ontologies help computer understand better. I’ll talk about them in the future articles.