MIT Media Lab Course - Fall 2013

Common Sense Reasoning for Interactive Applications

MAS 761(G) 3-0-9


Henry Lieberman

TA: Christopher Fry

Tuesdays and Thursdays, 1-2:30 pm (first meeting Thurs 5 September 2013)
Room E14-493
MIT Media Lab, 75 Amherst St., Cambridge


Things fall down, not up. You eat breakfast in the morning. If people yell at you, they're probably angry. One of the reasons that computers seem dumber than humans is that they don't have common sense -- a myriad of simple facts about everyday life and the ability to make use of that knowledge easily when appropriate. Cell phones should know enough not to ring during the concert. Calendars should warn you if you try to schedule a meeting at 2 AM or plan to take a vegetarian to a steak house. Cameras should realize that if you took a group of pictures within a span of two hours, they are probably all of the same event.

A long-standing dream of artificial intelligence has been to put that kind of knowledge into computers. It is a hard problem, but considerable progress has been made over the last few years. We may have gotten too used to putting common sense in that category of "impossible" problems and overlooked opportunities to actually put this kind of knowledge to work.

This course will explore the state of the art in Commonsense Knowledge and Reasoning, and its application to interactive user interfaces. Students will do programming projects that provide "goal-oriented" interfaces. We need to explore new interface designs that don't require complete solutions to the common sense problem, but can make good use of partial knowledge and human-computer collaboration.


Course Links:

  • The course Syllabus
  • The site for the Media Lab's overall effort on Common Sense Computing.
  • The Open Mind Commons site, a site for collecting Commonsense knowledge. Log in and contribute!
  • Rob Speer & Catherine Havasi's introduction to AnalogySpace Commonsense reasoning and its Divisi software toolkit
  • The Python software download for the Divsi toolkit (Click on Documentation tab) - try it out!
  • Fry's D4D ("Divisi for Dummies") interactive tutorial for learning how to use the Commonsense reasoning Javascript API
  • ConceptNet 5 semantic network, integrating many sources of Web knowledge and multiple languages.

  • Course News:

    The class is limited to 25 students; permission of instructor required if demand exceeds that.

    Listeners will be allowed only if you agree to fully participate (do all the readings and the final project). No spectators. Please contact Henry Lieberman if your status is not a regular MIT undergraduate or graduate student.

    Course requirements


    We will require reading and writing short critiques of two or three papers per week. One paper will be assigned in class for everyone to read. Each week we will have a list of readings and you may choose one or two readings from the list (or one of your own choosing that is relevant to the week's theme). You should write a one-page review of the reading and post it on the course Wiki. You may also react to others' postings, as in any Wiki.


    There will be a final project, inlcuding a computer implementation of a user interface using Commonsense knowledge, and a paper describing your implementation. You may work either alone, or in groups of up to three people. You may use any computer system and programming language you wish. A one-page project proposal will be required before the project starts. The final paper should be in the style of a short paper for CHI [3-4 pages] or other academic conference. One or more members of each group will give a 15-20 min presentation of the project, again, in the style of a short conference paper.