• Generate a message about a new
(not previously used) possible foraging behavior, if any deduced; unusual
(historically infrequent) behaviors are
selected over common ones.
Remove redundancy. Aggregate the
messages generated for the week
through these two steps to remove redundancy (such as by grouping together days with similar behaviors).
Movement pattern. Generate a message
for a question or comment based on
the movement pattern—C1, C2 or C3—
with the aim of intriguing the reader.
Micro planner and sentence realiser.
The micro planner takes the messages
generated by the document planner,
implements aggregation through a variety of linguistic devices (such as ranges, coordination, and subordination),
and limits linguistic repetition by varying the vocabulary. It provides sentence
specifications to the “sentence realiser,”
which then generates sentences using
the SimpleNLG library.
Figure 4 is a screenshot of the Blog-
ging Birds interface in which an auto-
matically generated weekly blog for a
kite is overlaid on a Google map of the
bird’s whereabouts with its historical
home ranges marked as blue poly-
gons. In this example, Wyvis, one of
five red kites being blogged about, has
traveled between two home ranges
(movement pattern C3), and an expla-
nation for the observed movement
pattern is provided based on the age
The content is selected through a
process of summarization and aggre-
gation of information. This is the sec-
ond creative aspect of the blog genera-
tion (the first involved imagining a
wide range of possible behaviors), as it
plans what story to tell from the imag-
ined behaviors. Blogging Birds aims to
provide an overview of the main behav-
iors and highlight aspects that might
be interesting to the human reader.
Movement behaviors are considered
more interesting than foraging behav-
iors, and rarer foraging behaviors are
prioritized over more frequent ones.
Each blog attempts to inform the read-
er about different aspects of red kite
ecology by selecting different behav-
iors from different days. The main
steps are as follows:
Movement pattern. Generate a message
based on the detected movement pattern—C1, C2, or C3 in Figure 2; if the
age of the bird can be used to interpret
this pattern, add such an interpretation message;
Habitats visited. Generate a message
summarizing the habitats visited; and
Other kites. Generate a message
about other kites recorded nearby, if
Days of the week. Iterate over each day
of the week (Monday to Friday):
•If the bird remained relatively
static—C1 in Figure 2—then generate
a message about nearby places or gen-
erate a message about any movement
behavior detected; and
particular patterns are detected in the
data. In total, the system implements
Drools for 26 movement behaviors
(such as flying along a coast or over a
landmark like a castle or loch and the
home-range-related movement pat-
terns in Figure 2); 33 foraging behav-
iors, mostly detailing the food avail-
able for a kite in different habitats at
different times of the year but also
sometimes related to specific features
(such as when a red kite near a road
might be looking for roadkill); and six
social behaviors (such as roosting and
nesting); see the online appendix “Ex-
ample Rules” ( dl.acm.org/citation.cfm
The pattern-detection module then
exhaustively applies the rules to the
satellite fixes to produce a list of all observed movement behaviors and all
possible foraging and social behaviors
consistent with known environmental
and geographic conditions. The latter
is the first step in the creative process,
whereby the program explores the conceptual space to “imagine” how the
kite might have been behaving.
Blogging Birds uses a rule-based
text planner for dynamic text generation. The planning rules decide how
information is ordered, but what information to include and how to organize
it into sentences is determined at run-time in a data-driven manner.
The blogs are always planned as
three paragraphs, the first describing
the overall trends, the second providing more detail on a day-to-day basis,
and the third posing a question about
what the kite might do next, as well as
occasionally offering a conclusion.
Table 2. Baseline computer-generated blog
without reference to ecological concepts
for the week outlined in Figure 4.
Wyvis had enough of the area around
Teavarran and decided to move to Crieff approximately 73 miles away. No doubt Wyvis
had a social week, as kites Moray and Millie
were often seen in the vicinity.
Monday, Wyvis spent most of her time
around Torness, Errogie, and Teavarran. On
Tuesday evening, she reached moorland
near Crieff flying approximately 65 miles
amid cloudy conditions and averaging a
remarkable 11 miles per hour. The next five
days Wyvis spent most of her time around
Edinample, Tullybannocher, and St Fillans.
During this time, she was seen mainly on acid
grassland while making occasional journeys
Will Wyvis settle down here?
Figure 4. Screenshot of the Blogging Birds Web interface.