APE: learning user's habits to automate repetitive tasks

The APE (Adaptive Programming Environment) project focuses on applying Machine Learning techniques to embed a software assistant into the VisualWorks Smalltalk interactive programming environment. The assistant is able to learn user's habits and to automatically suggest to perform repetitive tasks on his behalf. This paper describes our assistant and focuses more particularly on the learning issue. It explains why state-of-the-art Machine Learning algorithms fail to provide an efficient solution for learning user's habits, and shows, through experiments on real data that a new algorithm we have designed for this learning task, achieves better results than related algorithms.

[1]  Tom Michael Mitchell Version spaces: an approach to concept learning. , 1979 .

[2]  David A. Moon Object-oriented programming with flavors , 1986, OOPSLA 1986.

[3]  Thorsten Joachims,et al.  WebWatcher : A Learning Apprentice for the World Wide Web , 1995 .

[4]  Jean-David Ruvini,et al.  IBHYS: a new approach to learn users habits , 1998, Proceedings Tenth IEEE International Conference on Tools with Artificial Intelligence (Cat. No.98CH36294).

[5]  Tom M. Mitchell,et al.  Experience with a learning personal assistant , 1994, CACM.

[6]  Ian H. Witten,et al.  Adaptive Predictive Text Generation and the Reactive Keyboard , 1991, Interact. Comput..

[7]  Steven J. Plimpton,et al.  Massively parallel methods for engineering and science problems , 1994, CACM.

[8]  Henry Lieberman,et al.  Mondrian: a teachable graphical editor , 1993, INTERCHI.

[9]  Henry Lieberman,et al.  Watch what I do: programming by demonstration , 1993 .

[10]  Warren Teitelman,et al.  The interlisp reference manual , 1974 .

[11]  Arnold L. Rosenberg,et al.  Rapid identification of repeated patterns in strings, trees and arrays , 1972, STOC.

[12]  Krishna Kumar,et al.  Learn Sesame, a Learning Agent Engine , 1997, Appl. Artif. Intell..

[13]  Keith W. Miller,et al.  How good is good enough?: an ethical analysis of software construction and use , 1994, CACM.

[14]  Tim Niblett,et al.  Constructing Decision Trees in Noisy Domains , 1987, EWSL.

[15]  Hiroshi Motoda,et al.  Machine Learning Techniques to Make Computers Easier to Use , 1997, IJCAI.

[16]  J. Ross Quinlan,et al.  C4.5: Programs for Machine Learning , 1992 .

[17]  Tom M. Mitchell,et al.  Generalization as Search , 2002 .

[18]  Pattie Maes,et al.  Agents that reduce work and information overload , 1994, CACM.

[19]  Alberto Maria Segre,et al.  Programs for Machine Learning , 1994 .

[20]  Jürgen Herczeg,et al.  What tracers are made of , 1990, OOPSLA/ECOOP '90.