Sunday, December 23, 2007

The Issue of Annotation

A while ago I was doing searches on Google Scholar, ACM and IEEE databases to find some good references on Web Service Annotation. To my surprise I could find only few papers which had some emphasis on annotation. It made me think whether the issue of annotation is really an issue or not. I could find lots and lots of work on WS Composition, Automated Discovery, Workflow etc but annotation was something left behind by many researchers around the world. To me annotation is a research problem because:
  1. With the growing popularity of Web services, there arise issues of finding relevant services, especially with the possibility of the existence of thousands of Web services.
  2. Web Services are typically used as part of larger Web processes that result from Web services composition. Current Web Service standards have focused on operational and syntactic details for implementation and execution of Web services. This limits the search mechanism for Web services to keyword-based searches.
  3. With the growing number of Web Services the current search mechanism (keyword-search) is not going to be feasible way to find Web Services. As the keyword search will return virtually every service which has the keyword mentioned as part of the description. The user will then have large number of services to filter from (most of them will be irrelevant though).
  4. Semantically described services will enable better service discovery and allow easier inter-operation and composition of Web Services.
Considering the role annotation is going to play in the problem space it is a need of the hour to find a suitable annotation mechanism that will be solve or eliminate the problem to an extent. I would love to know what you think about the annotation and its role in Semantic Web Services. In future posts I will discuss about different annotation models.

To every visitor of my blog. Wish you Merry Christmas and a Happy New Year.

Until Next Time....:)

Friday, October 26, 2007

Evolving Knowledge

In one of my earlier post this year I discussed about atomicity of knowledge in itself. Then in subsequent posts I had an attempt made to relate the knowledge representation to stars. Also had the types of knowledge discussed a while ago. But they are just the bits and pieces of the knowledge is and what we call knowledge. In this post I am going to discuss about the evolving nature of knowledge.

"Change is the only constant thing in this world", Most of us have heard and read this line at different texts, blogs, literatures etc sometime or other in our life. But what do we mean by change here. Are we talking about something totally different than original or an evolution of what was originally available. The evolution at times could be n folds and the next evolved outcome may look like a different thing altogether. But as a species of this planet we have been evolving for billions of years now.

The evolution of life on this planet required billions of years for its first steps (primitive cells, DNA), and then progress accelerated. During the Cambrian explosion, major paradigm shifts took only tens of millions of years. Later, humanoids developed over a period of millions of years, and Homo sapiens over a period of only hundreds of thousands of years. With the advent of a technology-creating species the exponential pace became too fast for evolution through DNA-guided protein synthesis, and evolution moved on to human-created technology. This does not imply that biological (genetic) evolution is not continuing, just that it is no longer leading the pace in terms of improving order (or of the effectiveness and efficiency of computation). This is how we evolved from a primitive cell to the fully functioning (well almost) human being.

When we talk about knowledge. It takes a considerable amount of time to build the first bit of knowledge as that lays the foundation for future developments. One of the requirement of the knowledge is it should be evolving continuously with what is available. One similar example which relates to this nature is Fractals, to be precise Probabilistic Fractals. The Probabilistic Fractals the probability of each generator element being applied is less than 1. in this way, the resulting designs have a more organic appearance. So going back to use this theory in context of knowledge evolution the new piece of knowledge will appear more intelligent than the original piece which created it. The principle of Probabilistic fractal is already in use by computer chip makers. The computers are used to design the next generation chip which is faster and better than the chip which is used to design the new chip.

So the question which arises at this point in time is:
  1. What is the best way to represent this tiny bit of knowledge which can sustain growth at any scale?
  2. What are the other factors we must consider while designing this first bit of knowledge?
  3. Is there a way we can predict the growth path or evolution of knowledge and can influence its direction?
  4. What are the best practices we can or must follow to avoid and reduce chances of errors?
The problem is out there in front of research community. So I assume that there are few people who know the answers as well or at least have made some progress to find the answer. Any thoughts here?

Until Next Time... :)

Saturday, October 20, 2007

Semantic Web and MVC

A while ago I was going through a discussion on Semantic Web and then came across a good post on Web evolution and Model View Controller (MVC) paradigm.

Web 1.0: Only the View is available, the Model is completely missing. The computer can't interpret anything. The computer does what it is asked to do be right or wrong. No wonder the computers were called dumb terminals in the beginning.

Web 2.0: APIs are coming, Controllers give partial accesses to the Model. The computer starts to enjoy. We have the ability to participate in interactive discussion. Facebook, Orkut, Blooger etc are few to implement this. We have been given limited write access on Web. We have started to appreciate this and success of Wikipedia is an example of how much community has appreciated this concept. We are both producer and consumer. The traditional methodology of one producer many consumer does not hold good anymore. Everyone participates equally in the evolution and development of a concept (wikipedia), work (open source) or a process.

Web 3.0: The Model is largely opened, we are finally able to read and write the World Wide Database. The computer can't wait! We are given full access to write based on the access level we have. We are part of a big universe but still manage to keep our own little universe isolated and whenever we want we become part of the big picture. Its an intelligent me part of the We.

Check out my earlier post if you want to know what after Web 3.0

Until Next Time ... :)

Monday, October 01, 2007

Why we need a Common Ontology

In my previous post I started the discussion whether we really need a common ontology? To go into detail of this first we need to find out how ontology is helpful in Semantic Web. To understand it better lets take a business case.

There is a Business A, Who deals with Selling Laptop and their Warranty. Business A sells buys the laptop from Business B and Extended Warranty from another Business C. Now lets consider a Customer D places an order for a laptop with extended warranty. In this case Business A needs to do the following:
  1. Check with B whether they have particular laptop model in available in Stock.
  2. Check with C if they offer Extended warranty for the laptop model (selected from B).
  3. Combine the prices for both the services, Add its own markup to the price and generate final quote for the customer.

Now lets assume that the customer has decided to go ahead with the quote and place the order. In such case A has to place an order with B and also an order with C. The payment will be made to A by the customer which in turn will be routed to B and C as per their quote. When the parts arrive at A, it has to be bundled together and shipped to the customer.

This might look like a simple business case but behind the scene there are lots of activities which take place and most of them are too complex to handle. Also there are non-functional requirements like Data Integrity, Security etc come into picture which the users (customer) is not aware of many a times.

Also there are different document formats, types etc come into picture. Each vendor have their own format to accept the messages and the response is also sent back in a pre-defined format as set by the service provider.

Coming back to the topic how the Ontology is going to be helpful in such a scenario. The Ontology can apply to both the Document Type and Semantics.

Documents Types
here refer to the structure of the business data that are communicated between the trading partners. Documents Type refers to Concepts, Attributes of concepts and relationship between concepts that are ideally managed by and represented within ontologies. Ontologies can in a very precise manner define as well as manage concepts, attributes and relationships between concepts.

The Semantics here refers to the correct population of attributes with correct domain values. Not every value that an attribute can contain is semantically correct. Like the model number attached to Laptop in the business scenario discussed must belong to a laptop. If a desktop model number is used instead that will be correct as far as syntax is concerned but it will not make any sense in context of laptop.

The Ontology Server can be used to store and access the domain and application concepts, like product name, country where it is available, warranty applicable etc, represented in form of ontologies. Since all these different attributes together must belong to an entity which is not only syntactically correct but also each attribute has some sort of relevance to other attribute (as discussed earlier). For this to happen in reality, they all must have knowledge about each other (at least what matters to them) and the cross-verification must be achievable.

A common ontology server comes handy in such cases as all entities and their attributes belong to one common hierarchy and they can seamlessly integrate and refer to each other.

Note to the readers: I would like to hear from you as what you think about it. If you want to discuss this offline, do not hesitate to drop me an email and I will be happy to discuss it with you.

Until Next Time.. :)

Wednesday, September 12, 2007

Web 4.0

In one of my earlier post about What is beyond Web 3.0, I did mention that after Web 3.0 it is going to be Web 4.0? I also mentioned there that Web 4.0 will be about man-machine communication. There have been few discussions since then as what is the meaning of man-machine communication and how different it is going to be in future.

Before we discuss this lets take a look at what is been done so far.
  • Web 1.0 Theme was You. You produce content, You manage the server, You are the producer and I am the consumer.
  • Web 2.0 Theme is We. Lets discuss, Lets interact, Lets build our network. In this both the parties actively participate.
  • Web 3.0 Theme is Me. Its all about ME, my Environment(s), my personal space, people who can see me etc. We are talking about personalizing the Web (and Internet) to suit our individual needs.
So the question arises here is what is left for Web 4.0 to achieve. Well as I mentioned earlier it is all about Intuitive Man-Machine communication. The communication is not just via the command mode, but its based on the thought process generated within us. Sounds like a Science-Fiction isn't it? Well to your surprise many pieces of this puzzle are already in place. Its just that we need to start putting them together and tweaking them to suit each others need. How are we going to change human? We don't have to, thats the best part of this.

The Sigularity Institute is working on similar research projects for advancement in Artificial Intelligence. But that's not the whole point here. That just solves one side of the problem i.e. making machine understand the language. But we humans must have a way to translate our thoughts into that form.

I am sure many of us must have heard or gone through ECG test sometime in our life. We all know what it does. My thought of building such a communication channel starts from ECG sensors fitted to human body when Wearable Computer becomes a common man thing. Using those sensors we can capture the signals generated by human. The generated signals then will be converted to Bluetooth signal by attaching a small device to the computer we wear. We can pair the human bluetooth device with the computer (machine) and establish a communication channel between them.

Of course there will be requirements to build interpreters which will translate the ECG signals to appropriate software code and vice versa. Did I say vice-versa? Yes I mean it. Recent studies in medical sciences have proven that if we generate the similar impulse in our brain we get the same muscles stimulated as though it is happening in front of our eyes. Watch the movie "What the Bleep Do We Know" and you will understand what I am talking here.

Sounds like a whole new channel opening. Well this is going to be the future of communication. I am going to come back with some more thoughts on this and other related technologies.

Until Next Time... :)