What makes common sense possible?
Even though computers have the ability to rapidly perform vast amounts of computation in an instant, why can they not use that power to compute commonsense?
The problem lies in the purely rational perspective of traditional software development. Commonsense-enhanced system need the ability to compare, relate, analogize and imagine. These are skills that current software does not possess, but that are essential to bring meaning to the data in a system, and enable the system to go beyond simple rule-following so as to act intelligently.
Consider something as simple as detecting a problem with a scheduled business meeting in a calendar. Traditional software development requires the programmer to consider every situation and to write comprehensive rules that handle every case. An intelligent calendar may need to detect that a meeting is incorrectly scheduled because there isn't enough travel time, because it is unusual to meet at the office late at night, because it is too close to another event and could run late, or because of any number of other reasons. There is simply no way that a programmer could consider every possibility and write rules that are universally true. In contrast, a commonsense aware system builds its own mental models of the meeting's participants, and uses those models to compare with previous events, imagine whether the meeting will succeed and consider any exceptional circumstances.
Drawing from Diverse and Mature Technologies
Such commonsense depends on a range of skills, and consequently Comirit will draw on advances in fields as diverse as simulation, machine learning, automated reasoning, search, belief revision, computer vision, knowledge representation, relational databases, geographic information systems, localization and mapping. We believe that these represent (some of) the essential components of commonsense-awareness; they have already been invented and are very mature technologies. The problem lies in adapting the range of technologies into a single coherent and harmonious whole.
Consider, for example, our ability to visualize events (like meetings) before they occur. A key insight into creating computers that share this ability is to recognize that such visual imagination is, in a sense, similar to a 3D simulation. Of course, 3D simulation alone is not enough – a simulation has no intelligence and physical simulations do not capture the emotional states of participants. However, when simulation is combined with other reasoning methods such as logical deduction, the system as a whole becomes more intelligent.
How could simulation and logical reasoning be combined? Creating a naïve communications layer between the two approaches creates a brittle and overly complex system that cannot be expanded. The answer lies in careful attention to the coupling: the two techniques are first tweaked and generalized for use in a complex system, then interfaced together through coherent and well defined interfaces.
We aren't just interested in 3D simulation and logical reasoning: there are a whole range of skills and technologies to integrate. Further information on how different techniques may be coherently interfaced can be found on the publications page. We anticipate a complete Comirit system to be a rich 'society' of interacting skills and competencies that as a whole provide a computer with powerful context-sensitive commonsense intelligence.
This work is motivated by a rich evolution-inspired cognitive framework and a comprehensive software architecture. More details of the framework and architecture will be made available in the coming months, pending formal publication.
Authored by Benjamin Johnston for the Comirit Project, 2010.