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.
Similar content being viewed by others
References
Cooley, M. (1987).Architect or bee — the human price of technology. Hogarth Press, London.
Dennett, D.C. (1981).Brainstorms. Harvester Press, Brighton, Sussex.
Heise, R. and MacDonald, B.A. (1990). Robot program construction from examples.Proc AI/CS '89 (British Computer Society Workshops), Springer-Verlag, Berlin.
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.
Van Sommers, P. (1984).Drawing and cognition. Cambridge University Press, Cambridge, England.
Winston, P.H. (1975). Learning structural descriptions from examples. In P.H. Winston (ed.)The psychology of computer vision. McGraw Hill, New York.
Author information
Authors and Affiliations
Corresponding author
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/BF02472779