Demo Navigation Service (WP7). Hans Hummel Open University of the Netherlands TC meeting Bolton (Jan 8, 2007). Aims & planning. (TC Task 7.5; started June 1, 2006; lead by OUNL) Aim : Delivering navigation service to advise next most suitable learning activity (and –path).
Open University of the Netherlands
TC meeting Bolton (Jan 8, 2007)
(TC Task 7.5; started June 1, 2006; lead by OUNL)
information) and profile
to personalizerecommendation for
No adviseExperimental design (2)
Efficiency and Effectiveness:
Proof of Concept
Already finished course by user available?
use personal interest in subdomain;courses unfinished?
Check if course is part of matrix A
Remove study timecheck if part of matrixB
Remove study motivecheck if part of matrixC
[not part of A]
[not part of B]
[not part of C]
recommend course based on MATRIX-> A | B | C
recommend coursebased on indirect
recommend course based on direct
Documentation of the recommendation service (Version: 11/23/06):Interface / object layer: The recommendation service is clustered into two main layers. The basic communication functions are located in the interface layer. The interface layer is responsible for getting all required data from connected services and profiles.On top of this layer is the object layer located. The object layer is in charge of creating a reasonable profile for the requesting learner. This contains a collection of required profile information and suitable learner groups for recommendation. Profile class: The Profile class is like the Position class part of the interfacelayer between the recommendationEngine and the connected objects in 10CC domain model. It is responsible for getting required data regarding for the profile of the learner. The function getProcessData(learnerID) submit a learner id to the actor class and returns a list called profileData. The list profileData contains required information for the recommendationEngine from the actor class.The functiongetStudiedLearningActivities(learnerID) submit a learner id to the process Log class and returns a list with finished learning activities. Already completed learning activities will be stored in the listOfExcludedNodes whichis part of the learner class.Position class: The Position class is like the Profile class part of the interfacelayer between the recommendationEngine and connected objects in 10CC domain model. It is responsible for getting the current position of the learner regarding to the LN. It works as an interface between the positioning service and the recommendation service. It provides data for recommendationEngine that is taking into account for the recommendations. The function getPosition(learnerID,learningGoal) will submit a learner id and a learning goal to the positioningservice. It returns a list of nodes that are stored in the array listofExcludedNode whichis part of the learner class. Additional to this list could the positioning service provide some metadata. This metadata information is stored in the array listOfMetaData in the Learner class.In the ISIS pilot is no positioning class implemented, because no positioning service was available.
Learner: The Learner class gathers all required data about learners. It is used for creating a character for the requesting learner as well as input for the learner group class. It requires the Profile and Position class from the interface layer to get required data for the requesting learner. The result of the Position class could be null, but any feedback from this class is required as input for the recommendation strategy. The Profile class delivers always information to the learner class.The function getPosition(learnerId) is requesting the getPosition(learnerId) function in the Profile class to get data. The same happens with the getProfile() function. Both functions of this class provide required parameter like learnerID or a learningGoal to the classes of the interface layer. CurrentLearner: The CurrentLearner class is an instance of the learner class. It represents the requesting learner and provides all information for this learner for the recommendationEngine. Learner Group: The LearnerGroup class generates a list of helpful learners if possible. It gathers all required data about helpful learners regarding to the current learner. It uses the learner class to select matching learners and provide a list with people to the RecommendationEngine.The function lookForHelpfulLearners() checks the LN for learners with similar learning goals, interest or reason to study (studytime, studymotivation). The cardinality relationship describe that there could be no or more than one suitable LearnerGroup available for the current learner.Recommendation Engine: The RecommendationEngine is the heart of the recommendation service.It calculates which recommendation technique is suitable for the current learner. Therefore a specific recommendation strategy is implemented. This strategy decides which prediction technique is most suitable to cover the needs of the current learner. For a recommendation it takes into account the data given by CurrentLearner and the LearnerGroup.The functions getCurrentLearner() uses the CurrentLearner class as a starting point for the recommendation strategy. The function getSuitableLearnerGroup() look for learners with similar profile and already done learning activities. The function chooseRecommendationStrategy() uses the recommendation strategy to come up with a prediction for the current learner. The function priory’s suitable learning activities regarding to the recommendation strategy. The function provideListOfRecommendations() delivers the output of the recommendationEngine to the learner.
(hah + OUPW)
(demo + de&MO$)
(draft article on combined approach)