Skip to main content
Log in

Programming by example: The human face of AI

  • Open Forum
  • Published:
AI & SOCIETY Aims and scope Submit manuscript

Abstract

It is argued that “human-centredness” will be an important characteristic of systems that learn tasks from human users, as the difficulties in inductive inference rule out learning without human assistance. The aim of “programming by example” is to create systems that learn how to perform tasks from their human users by being shown examples of what is to be done. Just as the user creates a learning environment for the system, so the system provides a teaching opportunity for the user, and emphasis is placed as much on facilitating successful teaching as on incorporating techniques of machine learning. If systems can “learn” repetitive tasks, their users will have the power to decide for themselves which parts of their jobs should be automated, and teach the system how to do them — reducing their dependence on intermediaries such as system designers and programmers.

This paper presents principles for programming by example derived from experience in creating four prototype learners: for technical drawing, text editing, office tasks, and robot assembly. A teaching metaphor (a) enables the user to demonstrate a task by performing it manually, (b) helps to explain the learner's limited capabilities in terms of a persona, and (c) allows users to attribute intentionality. Tasks are represented procedurally, and augmented with constraints. Suitable mechanisms for attention focusing are necessary in order to control inductive search. Hidden features of a task should be made explicit so that the learner need not embark on the huge search entailed by hypothesizing missing steps.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Cooley, M. (1987).Architect or bee — the human price of technology. Hogarth Press, London.

    Google Scholar 

  • Dennett, D.C. (1981).Brainstorms. Harvester Press, Brighton, Sussex.

    Google Scholar 

  • Heise, R. and MacDonald, B.A. (1990). Robot program construction from examples.Proc AI/CS '89 (British Computer Society Workshops), Springer-Verlag, Berlin.

    Google Scholar 

  • Heise, R. and MacDonald, B.A. (1991). Dynamic bias is necessary in real world learners. Research Report 91/428/12, Department of Computer Science, University of Calgary.

  • Maulsby, D.L., Witten, I.H., Kittlitz, K.A. and Franceschin, V.G. (in press). Inferring graphical procedures: the compleat Metamouse.Human Computer Interaction 7 (1).

  • MacDonald, B.A. and Witten, I.H. (1987). Programming computer controlled systems by non-experts.Proc IEEE Systems, Man and Cybernetics Annual Conference, Virginia, pp. 432–437; October.

  • Mo, D.H. and Witten, I.H. (in press). Learning text editing tasks from examples: a procedural approach.Behaviour and Information Technology.

  • Van Lehn, K. (1990).Mind bugs: the origins of procedural misconceptions. Bradford Books, MIT Press, Cambridge, Massachusetts.

    Google Scholar 

  • Van Sommers, P. (1984).Drawing and cognition. Cambridge University Press, Cambridge, England.

    Google Scholar 

  • Winston, P.H. (1975). Learning structural descriptions from examples. In P.H. Winston (ed.)The psychology of computer vision. McGraw Hill, New York.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ian H. Witten.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Witten, I.H., MacDonald, B.A., Maulsby, D.L. et al. Programming by example: The human face of AI. AI & Soc 6, 166–180 (1992). https://doi.org/10.1007/BF02472779

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02472779

Keywords

Navigation