Learning text editing tasks from examples: a procedural approach

Abstract Reformatting blocks of semi-structured information is a common editing task that typically involves highly repetitive action sequences, but ones where exceptional cases arise constantly and must be dealt with as they arise. This paper describes a procedural programming-by-example approach to repetitive text editing which allows users to construct programs within a standard editing interface and extend them incrementally. Following a brief practice period during which they settle on an editing strategy for the task at hand, users commence editing in the normal way. Once the first block of text has been edited, they inform the learning system which constructs a generalized procedure from the actions that have been recorded. The system then attempts to apply the procedure to the next block of text, by predicting editing actions and displaying them for confirmation. If the user accepts a prediction, the action is carried out (and the program may be generalized accordingly); otherwise the user is aske...

[1]  DANA ANGLUIN,et al.  On the Complexity of Minimum Inference of Regular Sets , 1978, Inf. Control..

[2]  Ian H. Witten,et al.  Evaluating Programs Formed by Example: An Informational Heuristic , 1991, New Results and New Trends in Computer Science.

[3]  Richard M. Stallman EMACS the extensible, customizable self-documenting display editor , 1981 .

[4]  Ian H. Witten,et al.  METAMOUSE ON TRIAL: CONFESSIONS OF A WANTON TURTLE , 1991 .

[5]  Brian R. Gaines,et al.  Behaviour/structure transformations under uncertainty , 1976 .

[6]  Peter M. Andreae Justified generalization: acquiring procedures from examples , 1984 .

[7]  Ian H. Witten,et al.  The Reactive Keyboard: A Predicive Typing Aid , 1990, Computer.

[8]  Ian H. Witten,et al.  Source Models for Natural Language Text , 1990, Int. J. Man Mach. Stud..

[9]  Philip Klahr,et al.  Exemplary programming: applications and design considerations , 1986 .

[10]  Peter M. Andreae,et al.  Constraint Limited Generalization: Acquiring Procedures From Examples , 1984, AAAI.

[11]  Daniel C. Halbert,et al.  Programming by Example , 2010, Encyclopedia of Machine Learning.

[12]  Ian H. Witten,et al.  Metamouse: specifying graphical procedures by example , 1989, SIGGRAPH.

[13]  Ian H. Witten,et al.  PROGRAMMING COMPUTER CONTROLLED SYSTEMS BY NON-EXPERTS , 1987 .

[14]  Daniel S. Hirschberg,et al.  A linear space algorithm for computing maximal common subsequences , 1975, Commun. ACM.

[15]  Ian H. Witten,et al.  The Reactive Keyboard , 1992 .

[16]  Robert P. Nix,et al.  Editing by example , 1984 .