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 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()
{
<<+
<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
-
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.
-
CoGenTex, Inc. (1997). Text
Generation Technology for Advanced Software Engineering Environments.
Final Report, Rome Laboratory Contract No. F30602-92-C-0163.
-
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.
-
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.
-
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.
-
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.
-
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.