Proceedings of the 2nd Workshop on Adaptive Hypertext and Hypermedia,
HYPERTEXT'98, Pittsburgh, USA, June 20-24, 1998

Designing Dynamic Hypertext

Michael White
CoGenTex, Inc.
The Village Green, 840 Hanshaw Road, Ithaca, NY 14850 USA
Abstract:  To support the development of adaptive, dynamic hypertext systems at CoGenTex, we have been evolving Exemplars, a rule-based object-oriented framework for dynamic hypertext generation.  In this paper, we sketch our approach to designing dynamic hypertext systems using the Exemplars framework, and discuss how it fits with the tasks of content authoring and information design.
Keywords:  dynamic hypertext, natural language generation, authoring, information design

1 Introduction

As various researchers have suggested  [e.g., 3, 4], automatic text generation techniques can be used to produce dynamic hypertext tailored to an individual user's needs.  At CoGenTex, we have developed several web-based dynamic hypertext systems over the past few years [e.g., 1, 2, 5], one of which, Project Reporter [2], is entering the beta-release stage of product development.  While our emphasis to date with these systems has been on providing easy access to up-to-date information, we have included some capabilities to tailor the dynamically generated hypertext to explicit user preferences selected from an options menu, and envision making use of more sophisticated means of user tailoring in future systems.

To support the development of these dynamic hypertext systems at CoGenTex, we have been evolving Exemplars, a rule-based object-oriented framework for dynamic hypertext generation [7].  In this paper, we sketch our approach to designing dynamic hypertext systems using the Exemplars framework, and discuss the challenges we have faced in integrating our approach with the tasks of content authoring and information design.

2 The Exemplars Framework

The main idea behind the Exemplars framework is to enable the designer to determine the behavior of a dynamic hypertext system by writing a set of object-oriented text planning rules and arranging them into a specialization hierarchy, where more specialized rules can augment or override the more general ones they specialize.  By text planning rules, we mean rules that determine the content and form of the generated hypertext.  Each such rule has a condition and an action: the condition defines the applicability of the rule in terms of tests on the input data, the discourse context, and the user model, whereas the action defines what hypertext to add to the current output and how to update the discourse context and user model.

The text planning rules are known as exemplars, as they are meant to capture an exemplary way of achieving a communicative goal in a given communicative context.  The name also reflections our conception of designing practical dynamic hypertext systems as essentially an expert-systems task, though one where specialization plays a key role.  We will briefly describe by way of example the role specialization plays in our approach in the next section.

Following Reiter and Mellish [6], we view exemplar selection, at the heart of our approach, as a process of rule classification.  Perhaps not surprisingly, their classification-based approach to hypertext generation turns out to be quite similar to ours, though each was developed independently; where we consider our approach to improve upon theirs is in its extensibility, HTML/SGML support, and Java-based implementation.  For further details on the framework and its novel features, see [7].

3 Example: Project Reporter

Project Reporter is an innovative web-based tool for monitoring the status of a project. Using information obtained from a project management database, Project Reporter automatically generates fluent natural-language reports describing task progress, staffing, labor expenditures, and costs for a project. It also displays project data in tables and in Gantt chart form, providing a complete multimodal view of the project's status, as shown in the following screenshot:
Project Reporter Screenshot
(click to view full size)

A slightly simplified exemplar from Project Reporter is shown below.  When applicable, this exemplar adds to the page-in-progress a one-sentence paragraph such as This task was scheduled to finish last Friday, May 22, three days ahead of the baseline schedule, but is currently only 75% complete.

To briefly illustrate the role specialization plays in our approach (without needing to get into the details of the domain object model), let us consider how Project Reporter contextually identifies dates here.  (If viewing on-line, see the annotated UML diagram.)  The DescribeLateTaskStatus exemplar shown above calls the IdentifyDate exemplar with the given task's finish date.  This call is mediated by the text planner component of the framework, which automatically selects and invokes the most specialized applicable exemplar.  It does so by traversing the specialization tree below IdentifyDate, evaluating conditions as it goes, passing through IdentifyDateOutOfFocus, IdentifyDateWithinADay (which fails), IdentifyDateWithinAWeek, and finally selecting IdentifyDateLastWeek; for the example at hand, the IdentifyDateLastWeek's action is to add last and Friday to the output of the default exemplar, which is May 22.  Of course, depending on the input date, today's date, and the last date mentioned, the resulting text could be quite different.

4 Discussion

With Exemplars, dynamic content is generated using object-oriented text planning rules.  This approach provides great flexibility, though at the expense of added overhead on content authoring.  In our view, the Exemplars framework becomes useful when the desired content is primarily dynamic rather primarily static.  When there is a great deal of primarily static content to be included, our experience with CogentHelp [1] (esp. feedback from SIGDOC-97) has taught us that it makes sense to develop a separate interface for content authors, leaving the exemplar writing to information designers, possibly together with application programmers.


  1. Caldwell, D. E. and White, M. (1997).  CogentHelp: A tool for authoring dynamically generated help for Java GUIs.  In Proceedings of the 15th Annual International Conference on Computer Documentation (SIGDOC-97), Salt Lake City, Utah.
  2. CoGenTex, Inc. (1997).  Text Generation Technology for Advanced Software Engineering Environments.  Final Report, Rome Laboratory Contract No. F30602-92-C-0163.
  3. Knott, A., Mellish, C., Oberlander, J. & O'Donnell, M. (1996). Sources of flexibility in dynamic hypertext generation. In Proceedings of the Eighth International Natural Language Generation Workshop (INLG-96), Herstmonceux Castle, Sussex, UK, 151-160.
  4. Milosavljevic, M., Tulloch, A., and Dale, R. (1996). Text generation in a dynamic hypertext environment. In Proceedings of the 19th Australasian Computer Science Conference, pages 229-238, Melbourne, Australia.
  5. McCullough, D., Korelsky, T., and White, M.  (1998).  Information Management for Release-based Software Evolution Using EMMA. To appear in the Proceedings of the Tenth International Conference on Software Engineering and Knowledge Engineering (SEKE-98), San Francisco Bay, USA.
  6. Reiter, E., and Mellish, C.  (1992).  Using classification to generate text. In Proceedings of the 30th Annual Meeting of the Association for Computational Linguistics (ACL-92), Newark, Delaware, 265-272.
  7. White, M. and Caldwell, D. E. (1998).  Exemplars:  A Practical, Extensible Framework for Dynamic Text Generation.  To appear in Proceedings of the Ninth International Natural Language Generation Workshop (INLG-98), Niagara-on-the-Lake, Ontario, Canada.