`
`Page 1 of 3
`
`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
`http://www.cogentex.com/
`mike@cogentex.com
`
`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
`
`http://wwwis.win.tue.nl/ah98/White/White.html
`
`AXR-1009-Page 1 of 3
`
`
`
`Designing Dynamic Hypertext
`
`Page 2 of 3
`
`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:
`
`(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.
`exemplar DescribeLateTaskStatus(Task task) extends DescribeTaskStatus
`{
`boolean evalConstraints() { return task.completionStatus.isLate(); }
`void apply()
` {
`
`http://wwwis.win.tue.nl/ah98/White/White.html
`
`AXR-1009-Page 2 of 3
`
`
`
`Designing Dynamic Hypertext
`
`Page 3 of 3
`
` <<+
` <p>
` This task was scheduled to finish {{ IdentifyDate(task.finishDate) }}
` {{ AddBaselineStatusModifier(task) }},
` but is currently only { task.percentComplete }% 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.
`
`References
`
`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.
`
`http://wwwis.win.tue.nl/ah98/White/White.html
`
`AXR-1009-Page 3 of 3
`
`