Commonsense Reasoning and Commonsense Knowledge in Artificial Intelligence
By Ernest Davis, Gary Marcus
Communications of the ACM,
Vol. 58 No. 9, Pages 92-103
Who is taller, Prince William or his baby son Prince George? Can you make a salad out of a polyester shirt? If you stick a pin into a carrot, does it make a hole in the carrot or in the pin? These types of questions may seem silly, but many intelligent tasks, such as understanding texts, computer vision, planning, and scientific reasoning require the same kinds of real-world knowledge and reasoning abilities. For instance, if you see a six-foot-tall person holding a two-foot-tall person in his arms, and you are told they are father and son, you do not have to ask which is which. If you need to make a salad for dinner and are out of lettuce, you do not waste time considering improvising by taking a shirt of the closet and cutting it up. If you read the text, "I stuck a pin in a carrot; when I pulled the pin out, it had a hole," you need not consider the possibility "it" refers to the pin.
To take another example, consider what happens when we watch a movie, putting together information about the motivations of fictional characters we have met only moments before. Anyone who has seen the unforgettable horse's head scene in The Godfather immediately realizes what is going on. It is not just it is unusual to see a severed horse head, it is clear Tom Hagen is sending Jack Woltz a message—if I can decapitate your horse, I can decapitate you; cooperate, or else. For now, such inferences lie far beyond anything in artificial intelligence.
I thank the authors for providing a broad overview of the approaches
to common sense reasoning and clarify that as of yet we are far from
broad deep and robust commonsense reasoning. That said, in my
personal opinion Cyc offers a comparatively strong foundation for the
development of such systems because it provides a comprehensive
semantic application development environment. This is based on my 20
years experience working with several systems.
Specifically, I find Cyc offers advantages in the following ways:
- Its inference engine has been supporting one of the most expressive
knowledge representation languages (CycL)
- Its HL Module framework allows the ability to add additional special
purpose reasoners optimized for specific types of problems
- Its SKSI technology enables a mature means of interfacing
semantically with databases and triple stores allowing inference and
database/triple store queries to be intermingled.
- Its ontology (with linkages to English and other languages to a
lesser extent) stands up well to related systems (e.g. see our
informal impressionistic comparative evaluation  ) and has often
provided me with useful insight when ontologizing new knowledge
domains (via OpenCyc or ResearchCyc).
- It comes with a variety of ontology development environments that
support ontological development across multiple asynchronous
developers using a variety of text- and GUI-based authoring tools.
 See "Ontologies in Enterprise Application: Dimensional Comparison"
at http://ceur-ws.org/Vol-1333/#fomi2014_7 (especially Table 1 and
Displaying 1 comment
Log in to Read the Full Article
Purchase the Article
Create a Web Account
If you are an ACM member, Communications subscriber, Digital Library subscriber, or use your institution's subscription, please set up a web account to access premium content and site
features. If you are a SIG member or member of the general public, you may set up a web account to comment on free articles and sign up for email alerts.