Measurement
In LAR, the most important part is to calculate the similarity function between user’s query and computable activity (CA) in CAR. In this chapter, we will introduce our similarity measurement.
The most important part in a learning activity is its learning flow. A well-structured learning flow will affect the outcome of learning. After discussing with some teachers and domain experts, we analyze the structure similarity based on four viewpoints: coverage, sequence, path condition, and distribution. Each viewpoint has its corresponding weight. These weights are provided by our inference engine or configured by users.
In the following section, we’ll introduce the calculation of each structural viewpoint more detailed.
5.1 Coverage Similarity (CS)
The coverage means that the number of courses that user wants are in the learning activities to compare with. Here, we define a heuristic function called Match(Ci). This function is used for detect that if the course of query is in the comparing learning activity. Following formulas are used for computing Coverage Similarity.
Score(LA1)=
Score(LA1)=
Match(Ci) = 1 if the learning activity has course i that user want.
user_query = total courses that user inputs.
Score =
∑ ∑
query user
Ci Match
_ ) (
Example 5.1: Coverage Similarity
There are two learning activities below. Now a user inputs that he/she wants to search a learning activity that has courses: A, B, and D. We can calculate the coverage similarity score of each learning activity by the formula.
LA1 has the courses A, B, and D that exactly matched the user’s inputs, so LA1
gets the score: 1; while LA2 only has the courses B and D, so it only gets the score:
3 2
3 1
1 1 1+ + =
3 2 3
1 1+ = TH
B H D
UoL2
5.2 Sequence Similarity (SS)
In learning activity, another important part is the learning sequence. The proper arrangement of the courses will affect the students’ learning achievement. As Section 3.2 illustrated, we use the CA to compute the similarity. The characteristic, transport closure, of CAM can present the path condition step by step while traversing the UoL in CA. And the depth of Meta-data in a UoL refers to the CAM’s multiplication times.
We define each multiplication result, Mn, n = 1…Depth of Meat-data. By doing the
“or” operation to each Mn, we will get another new matrix, CheckedMatrix (CM).
Later we will explain how to use CM to calculate the sequence similarity. The calculating formula is illustrating following:
Score = , where
z n: the number of courses that user input as sequence parameter,
z C2n: The combination of courses. For example, if user inputs courses in order: A→B→D. There are 3 combinational pairs: (A,B), (B,D), (A,D), z OMP: Order Matched Pattern.
Example 5.2: Sequence Similarity
In this example, the user inputs the courses sequences he wants: “A→D→B”.
The detail computing process will be seen in LA1.
A Board C
Score(LA1)=
By checking the CM[A][D], CM[A][B], and CM[D][B], we can count the sequence similarity score of LA1.
The remaining two calculations of sequence similarity are based the same approach.
A C
This part is used for detecting the learning sequence condition. It’s an extended request of sequence similarity. By means of the characteristics of CAMnxn, the path condition will be discovered. There are three path conditions that can be detected:
“Loop”, “Condition”, and “And”. When “Loop” occurs, if the path is from Cj to Ci, CAMmax(i,j) x man(i,j) will be a symmetric matrix. When “Condition” occurs, if the branch node is Ci, CAM[Ci] will have at least two 1’s elements. If “And” occurs at the convergence node Ci, CAM[][Ci] will have at least two 1’s elements. The following example illustrates the observation.
Example 5.3: Path Similarity
There under we show a learning activity and its CAMnxn. By examining the markers of CAMnxn, the path conditions reveal.
sub-matrix of A2x2. The A[TA][C] and A[TA][D] reveal that there is a conditional branch at CTa. While A[C][B] and A[D][B] show that there is a merge condition at CB.
Here we only concern two conditions: “Loop” and “Condition”. Because the two conditions are often used for remedy learning in education [5]. User’s input may like
“CA->CB, Condition”. The score formula is as following:
Score = RMP
PMP, where
z PMP: Path Matched Pattern, z RMP: Required Matched Pattern.
The following two algorithms are for detecting these path conditions.
Algorithm 5.1: Loop Path Detection Algorithm (LPDAlgo) Algorithm: Loop Path Detection Algorithm (LPDAlgo)
Symbol Def:
Cs : start course Ce : end course
Input: Which kind of paths from Ci to Cj Output: The boolean value
Step 1: Check Mn[Cs][Ce] = 1
Step 1.1 Check index of Cs > Ce. If true, then Loop = true , else Loop = false.
Algorithm 5.2: Condition Path Detection Algorithm (CPDAlgo) Algorithm: Condition Path Detection Algorithm (CPDAlgo)
Input: Which kind of paths from Ci to Cj
Output: The boolean value Step 1: At Mn[Cs][Ce] = 1
Step 1.1 for (i=index(Ce);i< total_course;i++) Check Mi[Cs][i] == 1.
Step2: If true, then Condition = true ,else Condition = false.
5.4 Distribution Similarity (DS)
The Distribution here means the pre-requisite in a learning activity. Briefly speaking, a longer learning activity means that there are more pre-requisites than short one. The similarity calculation provides an optional service to users especially for the teachers that have fewer experiences in instructional design. This function offers users what should be learned that others think for reference. The following formula represents the score calculating mechanism.
Score =
( )
)) MAX(LA len(x
,
10
= i∑
Path Ci Cj , wherez z z
Concerned with the normalization, the denominator of the function is based on the longest learning activity at each selection interval. The length will be the base number 10’s exponent. Then the score will be normalized between 0~1.
: the # of edges from Ci to Cj. Where i < j
( )
∑
PathCi, Cj( )
x MAX( )
LAilen =l n LAi
MAX( )= , n = the depth that the longest LA has