ibspan.tss.um.learning
Class LearningAlgorithm

java.lang.Object
  extended by ibspan.tss.um.learning.LearningAlgorithm

public class LearningAlgorithm
extends Object

This class is an implenetation of algorithm for learning user profiles, presented in [1]. Generally it estimates probability of user interest in particular concepts of domain ontology, on the base of frequency of actions (events) targetted against these concepts in user history. This probability is normalized in relation of probablity of user population interest in these concepts. Second phase of learing references to interferencing probability on the base of domain ontology depenedencies between resource, but has not been fully investigated and implemented, yet.

Process of learning can be seen as series of learning tasks, where each if them is simple act of processing a pack of new events. Each pack of events needs preprocesing by use of EventsPreprocessor object and results are to be put into LearningTask object. In fact, process of learning can be started by invoking learn() method with LearningTask passed as an argument.

Implementation of learning uses Statistics data persisted in database and updated on the base of pack of new events passed inside of LearningTask. Access to this data is possible by StatisticsBuffer object.

  1. "Modelling User on the Basis of Interactions with a WWW Based System", Maciej Gawinecki, Adam Mickiewicz University, Poznan. 2005.

Author:
Maciej Gawinecki
See Also:
LearningTask, EventsPreprocessor, StatisticsBuffer

Field Summary
static int CLIK_BEHAVIOUR_WEIGHT
          Importance weight of query behaviour.
static double DEFAULT_SIGMOID_PARAM_A
          Parameter of sigmoid function, adapted from the paper: Kobsa, Alfred, Koychev, Ivan i Schwab, Ingo. 2000.
static double DEFAULT_SIGNIFICANCE_LEVEL
          Confidency coefficient: alpha for Z statistic.
static int QUERY_BEHAVIOUR_WEIGHT
          Importance weight of query behaviour.
static int RATE_BEHAVIOUR_WEIGHT
          Importance weight of rate behaviour.
 
Constructor Summary
LearningAlgorithm(OntModel mProfilesDB, OntModel mStatisticsDB, OntModel mUM, OntModel mDomain)
          Constructs the algorithm.
 
Method Summary
 void learn(LearningTask task)
          Starts learning based updating opinions in user profiles about every objected concept for every playing user mentioned in the given LearningTask.
 void setLearnRoot(OntClass learnRoot)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

QUERY_BEHAVIOUR_WEIGHT

public static final int QUERY_BEHAVIOUR_WEIGHT
Importance weight of query behaviour.

See Also:
UserBehaviour.QueryForRestaurantBehaviour, Constant Field Values

RATE_BEHAVIOUR_WEIGHT

public static final int RATE_BEHAVIOUR_WEIGHT
Importance weight of rate behaviour.

See Also:
UserBehaviour.RateRestaurantPositiveBehaviour, Constant Field Values

CLIK_BEHAVIOUR_WEIGHT

public static final int CLIK_BEHAVIOUR_WEIGHT
Importance weight of query behaviour.

See Also:
UserBehaviour.ClickForRestaurantDetailsBehaviour, Constant Field Values

DEFAULT_SIGNIFICANCE_LEVEL

public static final double DEFAULT_SIGNIFICANCE_LEVEL
Confidency coefficient: alpha for Z statistic.

See Also:
Constant Field Values

DEFAULT_SIGMOID_PARAM_A

public static final double DEFAULT_SIGMOID_PARAM_A
Parameter of sigmoid function, adapted from the paper: Kobsa, Alfred, Koychev, Ivan i Schwab, Ingo. 2000. Learning about Users from Observation. Pages 102-106 from: Adaptive User Interfaces: Papers from the 2000 AAAI Spring Symposium. Stanford, CA, USA: AAAI Press.

See Also:
Constant Field Values
Constructor Detail

LearningAlgorithm

public LearningAlgorithm(OntModel mProfilesDB,
                         OntModel mStatisticsDB,
                         OntModel mUM,
                         OntModel mDomain)
Constructs the algorithm.

Parameters:
mProfilesDB - is model with profiles containing from which profiles will be read and where results will be written
mStatisticsDB - is persistent model where statistics data are store
mUM - is model with user modelling ontology
mDomain - is model with domain ontology
Method Detail

learn

public void learn(LearningTask task)
Starts learning based updating opinions in user profiles about every objected concept for every playing user mentioned in the given LearningTask.

Parameters:
task - is learning task to be realized.

setLearnRoot

public void setLearnRoot(OntClass learnRoot)
Parameters:
learnRoot -