280 likes | 381 Views
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).
E N D
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). • Status: Currently Phase 1 (proof of concept) June 2006-June 2007, including pilot at OUNL with CMS (Moodle) and service designed in PHP / MySQL. • Techniques: Predictions based on combination of collaborative filtering (matrix with finished learning activities by other learners) and group profiles (motivation, time, interest) • Testing: First TC pilot (!)from Oct 2, 2006 to Jan 24, 2007; started with 66 students (2x 33), currently around 160 (2x 80) students registered
Experimental design (1) • Test and evaluate the effect of a personalized recommendation service on learning behavior in learning networks • The group with the personalized advise is expected to become more efficient, with possible indicators being: • study time (faster), results on grades (higher, faster), completion (more, faster) • Focus (one at a time) or variety (less), satisfaction (more)
Exp. Group 100 students Control Group 100 students Using indirect social navigation (collaborative filtering information) and profile information (time, motive, interest) to personalizerecommendation for next ‘course’ Personalized advise Randomized list of ‘courses’ No advise Experimental design (2) Effectiveness Efficiency Satisfaction
Assumptions Efficiency and Effectiveness: • Effectiveness: Students with PRS will be more satisfied with learning, will participate more, will get closer to completion, will get higher progress test and exam results • Efficiency: Students with PRS will achieve the same test results and completions in less time Variety: • Students with PRS will persevere more to finish one course at a time, because they study content personalized to their profile • For students with PRS, the learning path will be more ‘linear’.
Planning Phase 1 October 06 Maintain Experiment November 06 Data Collection Experiment December 06 Data Collection Experiment January 07 First Results Proof of Concept February 07 Results Proof of Concept March 07 Service Development April 07 Service Development May 07 Testing June 07 First release
Get recommendation Already finished course by user available? [available] [not 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] [no] [yes] [yes] [yes] [yes] recommend course based on MATRIX-> A | B | C recommend coursebased on indirect subdomain interest [topdomain] recommend course based on direct subdomain interest PRS Advise
PROVIDE INFORMATION ABOUT PRIORKNOWLEDGE UPLOAD DOCUMENTS
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.
7.5: Risks • Proof of concept delivers no useable results • Collaborative filtering is not properly working because of little students
7.5: Collaboration • Discuss interface definition between the navigation and other services, esp. positioning • Discuss SOA design of a navigation service • Joint publications on: • - Visualisation of Navigation (courses and paths) in Learning Networks (with UPF) • - Profiling of Learners, integration with positioning service in Learning Networks (with L3S)
Links http://elo.ou.nl (hah + OUPW) http://moodle.psychologie.ou.nl/moodle/ (demo + de&MO$) http://dspace.ou.nl/handle/1820/830 (draft article on combined approach)