Adaptive knowledge navigator

A method for adaptive recommendation of learning paths.

Technologies used: .NET 3.5, C#
Inputs: Behavior of all users of the system (click sequences)
Outputs: Recommendation of learning paths for a particular user

Addressed Problems

Despite the best possible effort to design the learning course in the most efficient way, it is always left to the users to determine the subjective quality of particular knowledge objects and the best order to browse through them. It is a known fact that as soon as the system starts asking its users to provide explicit feedback, the resulting feedback data loses its quality because users do not feel involved in increasing the quality of the system by providing Furthermore, it distracts uers from their primary goal. Thus it is necessary to gather feedback data in a way that requires no or minimal user participation.


User is supported during navigation by visualization of possible consecutive objects of currently displayed knowledge object. Objects visited by other users of the system as subsequent of the currently displayed object are shown. Selection is based on data gathered by observation of navigational paths, representing a sequence of visited knowledge objects as well as on absolute view count of particular knowledge object.

This approach is known as adaptive social navigation support and is based on collective knowledge of large amount of users. It makes use of a known social phenomenon: users tend to follow navigation paths previously visited by other people. Main advantage of this particular approach is that it is self organizing, thus there is no need of expert guidance or annotation or another preparation of information space.

In general, navigation can be understood as a movement in a space, in our case space of knowledge objects. The proposed method is designed as a general graph browsing method, so for navigation in space of knowledge objects, we specify the graph as follows:

Proposed method for navigation support is based on graph visualization and its incremental browsing. The graph is generated and visualized incrementally while it is being browsed. The user specifies the starting node (the web page URL). In every step, the neighborhood of the current node is generated. Metrics for edge relevance are evaluated and the values are aggregated using weighted sum for every edge. Weights for each particular user are stored in the corresponding user model and are adapted incrementally based on the edges user selects during her navigation. Edges are sorted and filtered based on the computed value of relevance.

An outline of the proposed method is as follows:

  1. Specify the node v to be presented (manual select by the user based or select the node connected with previously displayed node by a link with the highest importance)
  2. Generate a vicinity of the node v:
  3. GenerateNeighborhood (v)
  4. Add generated entities to the current window w
  5. For each edge e in w: Evaluate relevance(e)
  6. Apply filters and sort: Sort(Filter(w))

Based on principles of social navigation, we assume that more relevant knowledge items are those that get more views. Links between knowledge items that get more clicks (with better feedback score) should be relatively better than those with fewer clicks and worse feedback score. Thus a metric to evaluate edge relevance is based on social trails taking into account number of users that previously followed the link.

Relevance(edge (url1, url2)) ~ number of clicks (url1, url2)

Definition of social trail metric follows:
Social trail(url1, url2) : <0..1>
p = number all recorded clicks from url1
C = Clicks from url1 leading to url2
social trail = C / p

The value is determined by the ratio of clicks with the particular URL as a target to all clicks made from the source URL. Social trails can get various weights depending on the user whose action was logged. This is making the approach adaptive. By employing the proposed method, users should be able to get an overview of which particular parts of the knowledge item space have they already visited and also be able to determine which knowledge items are irrelevant to most of the users, thus of lower quality, as well as discover high quality items quickly.