Why are computers so stupid and what can be done about it? Artificial intelligence and commonsense knowledge Artificial Intelligence “Then somehow they achieved consciousness, and in a few nanoseconds had enslaved the human race.” Many tasks that are very easy for people are extremely difficult for computers: Vision Natural Language Operating in a rich environment (kitchen). Commonsense Knowledge The knowledge about the world that everyone has by age 7. Learned by living in the world, not book-learning Time, Space, Physical objects, People, Animals and Plants … “If an open bottle full of liquid is turned upside down, the contents will pour out.” “Hitting someone will not make them like you.” “An animal is the same species as its parents.” So obvious that it’s not worth talking about. Commonsense Knowledge and Natural Language Lexical disambiguation: “This gift is for Stuart.” “This gift is for Christmas.” “This bowl is for soup.” Anaphoric disambiguation: (Winograd, 1972) “The city council refused to give the demonstrators a permit because they feared violence.” “ … because they advocated violence.” Ambiguity is ubiquitous “If you are a fan of the justices who fought through the Rehnquist years to pull the Supreme Court to the right, then Alito is a home run --- a strong and consistent conservative with the skill to craft opinions that make radical results appear inevitable and the ability to build trusting professional relationships across ideological lines.” Andrew Siegel, The New Republic, 11/14/05 Ambiguity is ubiquitous “If you are a fan of the justices who fought through the Rehnquist years to pull the Supreme Court to the right, then Alito is a home run --- a strong and consistent conservative with the skill to craft opinions that make radical results appear inevitable and the ability to build trusting professional relationships across ideological lines.” Concert / party. Warmish spring afternoon. Street in suburban neighborhood. Wooded hill behind. Canvas awning above, mended with duct tape. Large mug front center. People in back. Messy kitchen Bottle is empty Fridge in corner Toaster oven, paper towel on counter. Plant is hung from curtain rod. Daytime The research program • Determine the knowledge needed for reasoning in a domain. • Develop a notation that is clearly defined and that can express that knowledge. • Encode all the domain knowledge. • Find ways to automate reasoning with this knowledge. • Integrate the knowledge with the task. Example: Time intervals Rule: [during(A,B) & before(B,C)] => before(A,C) Example: Space • in(X,Y) => distance(X,Z) ≥ distance(Y,Z) Example: Knowledge and Communication • [trusting({X,Y}) & occurs(S1,S2,tells(X,Y,P))] => holds(S2,knows(Y,P)) How far have we gotten? A lot is known about representing: Ontology, general reasoning methods, time, A fair amount is known about: Space, knowledge and belief, interactions between people, plans and goals. A little is known about: physical reasoning. Not much is known about other categories. The Sad Truth Virtually no successful AI programs use any commonsense knowledge. Examples: • Billing programs • Speech understanding • Autonomous vehicles Why not? • Commonsense reasoning is a small, complex part of any AI task. • Little payoff until there is a lot of commonsense knowledge. • Software development starts with simple useful systems, and adds features. It is unwelcoming to systems that need to be very complex from the start. • Shortcuts lead to chaos. Mismatch between AI and technology Technology develops to meet needs. Since AI deals with tasks that people do easily, it’s easier to hire people. Practical AI tends to focus on niche tasks or unusual settings: machine translation, medical image processing, Mars rover How to proceed • Look in depth at a variety of different domains. • Get good solutions to basic issues • Do not rely on natural language text. • Patience. This is a large, difficult project, which may take centuries.