Monday, November 22, 2010

Shakey on the Web

Mike Bergman has a nice post about the lack of appropriate means for representing ambiguity on the Web that is worth a look.

It reminded me again of Shakey the robot - its promise and its ultimate failure. Shakey was one of the first 'autonomous' robots; capable of making its own decisions to guide its actions based on data from its sensors. In its heyday in the 60's and 70's it stirred up Jetsonian imaginations of robot vacuum cleaners and so forth but in the end, finally failed to deliver anything of the kind. Shakey's mind was trapped in a strict, orderly world of logical rules. Much like the character Brooks Hatlen from the Shawshank Redemption, when faced with the uncertain reality of the our world he simply couldn't cope. (Watch him shake in trepidation!)

The robot minds that did end up making it into our vacuum cleaners are based on very different kinds of 'minds'. In a movement initiated by Rod Brooks in the late 80's, now personified at home by the iRobot vaccum cleaners, in the academy by the field of 'probabilistic robotics' and on the podium by Stanley, the rules and central planning centers of good old fashioned AI are gone. In their place, we find statistical models that - like the world they were built to deal with and perhaps a bit more like human minds - constantly change to reflect the uncertainty of reality.

I fear that our current approach to "reasoning" on the semantic web bears much more in common with old Shakey than it does with Stanley.


Mitch Skinner said...

So, what would probabilistic tools look like in this context? You could imagine a tool for learning probabilistic models from linked data, but getting it to scale and avoiding overtraining seem like difficult problems.

Benjamin Good said...

I never said there weren't difficult problems to solve here ;)... Just meant to indicate that they were worth solving in the long run and we that we have footsteps to follow.

It would be useful if we had tools that could compute relationships between concepts that had not been asserted directly nor could be inferred through deduction and where there was a probability associated with each such relationship. We can do this already with existing methods of course (I imagine Google is very very very good at this for example), but I'd like to see this kind of thing become a focus for the semantic community.

Anonymous said...

Hi Ben,

Interesting take on this subject. Reasoning and reasoners is not a strength, but do you think there is a role in this for fuzzy logic?

I still think the scope and nature of the predicates used will potentially play a big role.

Thanks, Mike

Benjamin Good said...

Mike, I'm not enough of an expert to say whether we should be working with fuzzy logic or a competing approach. Most people I know that do this kind of thing work in terms of Bayesian probability. This is similar in intent, but not equivalent to fuzzy logic.

I don't disagree at all that the nature of the asserted predicates on the semantic web will have a major influence on what can be done. I'm all for getting people to more clearly express what is 'known'. I just think that no matter how good our languages for representing knowledge or our politics for getting those languages shared, there is guaranteed to be a degree of error, a large amount of context sensitivity, and a massive wealth of learnable connections that will never be formally stated.

keet said...

but, afaik, those statistical models---good data crunchers as they are---aren't really good at representing the knowledge. Maybe Shakey and Stanley could/should get married?
(there is quite a bit of work on probabilisitc ontologies, with Bayesian reasoners and with extensions to the standard DL reasoners).

Benjamin Good said...

I think a Shakey-Stanley marriage could be great and, like you say, I know there people working on such things but I haven't as yet gotten my hands on something I could really use. Your comment about statistical models not being good at "representing the knowledge" reminds me of the different arms of this beast. On the one hand, we want to efficiently capture what is known so that we can re-use it and logic-based methods work pretty well for that. On the other, we want to be able to use that knowledge as a way to push discovery and I think that is the place where Stanley really comes into the picture.

Mark W said...

I'm tempted to speculate that reasoners might be good at rapidly determining/classifying the type of problem, and [insert something else here] might be good at finding the solution to that problem in-context... (and as you know, I think SWebServices are the "something else" we're looking for ;-) )

Benjamin Good said...

Seems like semantic web services are one potential vehicle for dynamically accessing the 'something else(s)', not necessarily 'the' something else by themselves. (I'm guessing thats what you meant.)