A pre-condition for the construction
of guided tours based on user tracking is that navigation consists of a small number
of discrete steps.
This excludes the construction of arbitrary guided tours in virtual space, since it is
not immediately obvious how navigation in virtual space may be properly discretized.
In this case, as we will discuss later,
a guided tour may be constructed using a programmed agent showing the user around.
For navigation in the concept graph, as well as for the activation of the
media presentation gadget, the discretization pre-condition holds, and a guided tour
may be composed from a finite number of discrete steps, reflecting the choice
of the user for a particular node or interaction with the presentation gadget.
For example, in the abramovic dossier,
the user has the option to go
from the Main node to either Artworks,
Video Installations or Interviews, and from there on further
to any of the items under the chosen category.
Tracking the actual sequences of choices of a user would suffice to create a guided tour,
simply by re-playing all steps.
To obtain more interesting tours, we may track the navigation behavior of several experts for
a particular task, for example retrieving information about
an artwork installation.
In case the experts disagree on a particular step in the tour, we may take the majority
decision, and possibly correct this by adjusting the weight for one or more experts.
When we have a database of tours from a number of experts, we may offer
the user a choice of tours, and even allow to give priority
to one or more of his/her favorite experts,
again simply by adjusting the weighting scheme.
As a technical requirement, it must be possible to normalize interaction sequences,
to eliminate the influence of
short-cuts, and to allow for comparison between a collection of recordings.
For the actual playback, as a guided tour,
a decision mechanism is needed that finds the
advice at each decision point, from each expert,
to select the best step, according to a decision rule
that takes the weighting scheme into account.
In a more mathematical way, we may state that for each
node n we have a successor function S(n), that lists the collection of nodes
connected with n, which we may write as $S(n)\; =\; \{\{\; n\_\{1\},...,n\_\{k\}\; \}\}$, where
the suffix i \leq k is an arbitrary integer index over the
successor nodes.
To take a history of navigation into account, we let s\overline{p} be a string of integers,
representing the choices made, encoding the navigation path.
So, for a node $n\_\{\; \backslash overline\{p\}\; \}$, with history \overline{p}, the collection of
successor nodes is
$S\; \_\{\; \backslash overline\{p\}\; \}(n)\; =\; \{\{\; n\; \_\{\; \backslash overline\{p\}1\},...,n\_\{\backslash overline\{p\}k\}\; \}\}$.
Now assume that we have a weight function w, that assigns to
each expert $e\_\{i\}$ a weight $0\; \backslash leq\; \%b\_\{i\}\; \backslash leq\; 1$, indicating the relevance of expert i.
Then for a particular node n we may assume to have an advice $\%a\_\{i\}\; =\; x$, with weight $\%b\_\{i\}$ and
x in $S(n)$.
If an expert has no advice for this node, we may simply assume its weight to be 0.
For a collection of experts, the final advice will be $\%a(n)\; =\; \%a\_\{i\}(n)$
with weight $\%b\_\{i\}$
and w(e_{i}) > w(e_{j}) for i != j.
If no such advice %a_{i}(n) exists, we may query the user to decide which expert has preference,
and adapt the weights for the experts accordingly.
This procedure can be easily generalized to nodes n_{ \overline{p} } with history \overline{p}.
To cope with possible shortcuts, for example when a choice is made for a node at three levels deep,
we must normalize the path, by inserting the intermediate node, in order to allow for
comparison between experts.
Now assume that we have expert navigation paths with cycles,
for example n _{ \overline{p}} -> n _{ \overline{p}1} -> n _{ \overline{p}13} ,
where actually n _{ \overline{p}} = n _{ \overline{p}13} , which happens when we return
to the original node.
In general such cycles should be eliminated, unless they can be regarded as an essential subtour.
However, in this case, they could also be offered explicitly as a subtour,
if they have length >= 4.
When offering guided tours for which several variants exist, we may allow the user
to simply assign weights to each of the experts from which we have a tour,
or allow for incrementally adjusting the weight of the experts, as feedback on the actual tour presented.
In the CHIP project (Cultural Heritage Information Personalization),
the aim is to develop a recommender system that generates a collection
of artworks in accordance with the users' preferences based on the rating of a small sample
of artworks.
The properties on which the recommendation is based include period, artist,
and genre.
The recommender system will also be used to generate guided tours, where apart from the
already mentioned properties the location (the proximity in the actual museum)
will be taken into account.
Using a weighting scheme on the properties, that is a difference metric on the properties,
a graph can be created, giving a prioritized accessibility relation between each artwork and
a collection of related artworks.
By changing the weight for one of the properties, for example location,
in case the tour is generated for the actual museum, the priority ordering may be changed,
resulting in a different tour.
In contrast to the successor function for nodes in the concept graph
of the digital dossier, we may assume to have a weighted successor function
S_{w}(n) = { (n_{1},%w_{1}),...,(n_{k},%w_{k}) }, with %w_{i} = w(n_{i}) the weight defined by the
relevance of the node n_{i}, with respect to the attributes involved.
In a similar way as for the digital dossier, user tracking may be deployed to
incrementally change the weight of the arcs of the graph, reflecting the actual
preference of the user when deviating from an existing guided tour.
recommendation(s) in Second Life
Our virtual campus in Second Life already allows for performing simple statistics, by recording the presence
of users at particular spots in the virtual world, using sensors and listeners installed in 3D objects.
Since the LSL script-based counters appear to be rather volatile, tracking data are sent to
a web server and stored in a database.
This mechanism can easily be extended to a more encompassing form of user tracking,
recording for a particular user not only presence at particular spots, but also the duration
of presence, the actual proximity to objects, and the proximity to other users,
as well as explicitly spoken comments or actions such as the donation of (Linden) money.
This does of course not explain nor how ratings come into existence, nor what features are
considered relevant, or even how guided tours should be generated.
However, as we have demonstrated in [Query], see section 8.2,
based on a rudimentary tagging scheme, we may in response to a query
generate a guided tour taking the topographical constraints of the virtual world
into account, for example to make a user familiar with the (virtual replica of the) actual workspace.
It seems that this approach can be generalized to one that uses alternative descriptive methods,
as long as they support feature-based information retrieval.
Obviously, both user tracking and recommendations may be fruitfully used in the
realization of serious (corporate) games, as well as to support exploratory activity
in non-serious games and (corporate) awareness systems.
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.