<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>seqClustR: An R Package for Sequence Clustering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Aditya Sharma</string-name>
          <email>aditya@playpowerlabs.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Playpower Labs Gujarat</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, we're going to describe the core features of the R package seqClustR [14] dedicated to sequence clustering. Sequence clustering is a data mining technique that groups similar sequences into clusters based on their similarities. Sequence clustering is useful when there are unknown number of similar sequences that need to be identi ed to gain valuable insights. The main feature of this package is that it provides easy access to di erent algorithms such as Edit Distance with Hierarchical Clustering, Markov ModelBased Clustering, Dynamic Time Warping, and K-Means to perform sequence clustering. We nd that di erent algorithms can create very di erent clusters and lead us to very di erent conclusions. So to get a reliable understanding of the sequences, we need to apply various sequence clustering algorithms and explore the data from multiple points of view. This paper illustrates how you could create di erent clusters from di erent algorithms, extract event log data for each cluster and visualize them. We have provided an example in section 4 showing step by step procedure to run sequence clustering on the National Assessment of Educational Progress (NAEP) dataset.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Sequence Clustering</kwd>
        <kwd>Sequence Data</kwd>
        <kwd>Event Logs</kwd>
        <kwd>Visualization</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        In this paper, we'll present the seqClustR package, which
implements di erent clustering algorithms on sequence data
in R. Sequence data contains information about the di
erent activities performed over time. Working with sequence
data can be hard sometimes; but it can probably provide
better insights by making use of the temporal dimension
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. When sequence data contains a lot of activities which
lead to di erent types of sequences, the process model on
the complete data can become too complex to interpret. To
get better insights from the sequence data, we can cluster
Copyright ©2021 for this paper by its authors. Use permitted under
Creative Commons License Attribution 4.0 International (CC BY 4.0)
similar sequences together and analyse them; sequence
clustering can provide better explainable models than a general
model tted on complete data [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>In process mining, sequence clustering plays an important
role by grouping similar sequences and providing helpful
insights, especially when we have little knowledge about
various types of processes hidden in the data. For example,
a business process data might have di erent versions of a
single process within it. Sequence clustering is used in
different domains: in bioinformatics to group similar
biological sequences; in marketing to identify di erent purchasing
behaviors of customers; in education to identify di erent
learner behaviors. In education, while using digital
content learners exhibit di erent types of behaviors: gaming
the system behavior; o -task behavior; carelessness
behavior. Performing sequence clustering on educational sequence
data can help us group similar learners together and then we
can compare their performance to understand which learner
behavior models have a positive impact on learners' growth.</p>
    </sec>
    <sec id="sec-2">
      <title>2. SEQUENCE CLUSTERING IN EDUCA</title>
    </sec>
    <sec id="sec-3">
      <title>TION</title>
      <p>
        In recent years, a lot of educational data has been
collected through digital learning platforms at an increasing
rate. With more learners joining the digital platforms and
more types of content being created for them, we are
observing a lot of clickstream data. Clickstream data shows us the
sequence of activities that learners went through while
being on the platform. Gaining insights from such data could
help us identify di erent learner behaviors [
        <xref ref-type="bibr" rid="ref6">16, 6</xref>
        ]; improve
the platform design based on learner's interactions on the
platform [
        <xref ref-type="bibr" rid="ref9">18, 9</xref>
        ]; and provide adaptive content to individual
learners to better support their learning [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ]. To gain
insights from sequence data a few techniques have been used
in the education data mining community such as
Association Rule Mining [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], Sequential Pattern Mining [19],
Process Mining [17], Graph-Based Analysis [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], and
Curriculum Pacing [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        Understanding a learner behavior from process models using
sequence data can be complex with high-dimensional data.
The sequence data can contain a high number of distinct
activities and all the activities need not be equally important
or have enough learner data; we could perform exploratory
data analysis on the data to understand which activities are
important. Activities that don't provide much information
can make the models more complex and harder to interpret
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. We should try to reduce the complexity of the sequence
data by preprocessing the data before doing any sequence
data analysis. To illustrate this by an example, Figure 1
shows three di erent process maps of learner action sequence
data from the NAEP assessment. The complex process map
at the top is made from all of the sequences in the dataset
(N = 1009), and the two process maps below it are made
from two distinct clusters of sequences (N1 = 726, N2 =
283). We can observe that the complexity of the process
maps of clustered sequences is lower than the process map
of complete data; it is much easier now to analyse the process
map and make hypotheses about learner behavior.
      </p>
    </sec>
    <sec id="sec-4">
      <title>3. seqClustR FRAMEWORK</title>
      <p>
        This package is designed to cluster sequence data. The
package uses event log [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] as an input for the data. Event log
are very commonly used to store the user behavior data.
They indicate the sequence of actions a user takes over time,
along with added metadata of the event. For process
analysis, event log is an essential data format. Event log contain
three major attributes: case, activity, and timestamp. A
case can be de ned as a sequence of activities performed
over time, and an event log represents one or more cases.
Once we have the data in event log format, we can perform
sequence clustering by passing it into one of the sequence
clustering functions. The output of the function would be a
list containing the tted model and a data frame having the
case to cluster assigned mapping. To run analysis on
individual clusters, we need event logs for each cluster for which we
have written a function split_event_log which takes event
logs and the clusters assigned data frame as inputs, and
returns a list of event log by cluster. To visually observe
the di erences between sequence clusters and comparing
di erent clustering algorithms we've used the fuzzymineR
package [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] as it is readily available in R. There are some
other tools available as well for visualizing sequence data,
like ProM and Disco.
3.1 Clustering Algorithms
3.1.1 Edit Distance Clustering
(seq_edit_distance_clustering) Edit Distance between two
sequences can be de ned as the least number of activities
required to be added, subtracted, or substituted to convert one
sequence into another. For example, with 1 addition we can
convert the sequence (a, b, c) into another sequence (a, b,
c, d), so the Edit Distance between them is 1.
      </p>
      <p>For clustering the sequence data with the help of Edit
Distance, we chose Hierarchical Clustering Algorithm. To make
it convenient to choose the number of clusters, we plot the
Hierarchical Clustering tree for the users so that they can
make an informed decision about it.
3.1.2 Markov Model Based Clustering
(seq_markov_clustering) Markov Model-based clustering
is a probabilistic model-based approach to cluster sequence
data. The Markov Model-based clustering method is similar
to K-Means, where the cluster centroids in Markov Model
are Markov transition probability matrices and the data
points are Markov transition probability matrices for the
sequences. An entry Aab in a Markov transition probability
matrix A can be interpreted as the conditional probability
that a learner will do activity b after doing the activity a,
independent of any previous activities.
3.1.3 Dynamic Time Warping (seq_dtw_clustering)
Dynamic Time Warping is a distance-based clustering
algorithm that measures similarity between two temporal
sequences, which can vary in speed. In the context of
educational data, we can say that two learners that perform
a sequence of activities in the same order but vary in the
number of times each activity was done would have 0
Dynamic Time Warping distance. For example, two learners
with sequences (a, b, c) and (a, b, b, c, c) would have 0
Dynamic Time Warping distance. Dynamic Time Warping can
be used to analyze any data that contain a sequence of
actions over time, it has also been used to cluster educational
sequence data previously [15]. We've used Dynamic Time
Warping clustering algorithm from the R package Dynamic
Time Warping [13] in our seqClustR package.
3.1.4 K-Means Clustering
(seq_kmeans_clustering) K-Means Clustering Algorithm
identi es K number of centroids and allocates each data
point to the nearest cluster to minimize the within-cluster
sum of squares.</p>
      <p>In our approach, we calculate the number of times each
activity was done for each case and then normalize it by the
sequence length. These features were then passed to K-Means
Clustering Algorithm.</p>
    </sec>
    <sec id="sec-5">
      <title>4. EXAMPLE</title>
      <p>In this section, we'll explain how practitioners can use the
package to perform sequence clustering on their data. We'll
show an example of how to prepare the sequence data that
can be passed to the clustering algorithms and then how we
can visualize the clusters.
4.1 Data
We've used NAEP's Process Data for Math test from 2017
which included data of 2500 learners. NAEP test is used
by the US government to measure learner knowledge across
the country. This data was part of the NAEP Data Mining
Competition 2019 whose goal was to nd e ective and
ineffective learner test-taking behaviors. The test was divided
into two blocks of 30 min where Block A's data was
supposed to be used to predict learner's performance on Block
B. There were 8 di erent question types but for the analysis,
we're only working with data from Block A and
considering Multiple-Choice Questions as it had the majority of the
questions in the test.</p>
      <sec id="sec-5-1">
        <title>Variable</title>
      </sec>
      <sec id="sec-5-2">
        <title>STUDENTID</title>
      </sec>
      <sec id="sec-5-3">
        <title>Block</title>
      </sec>
      <sec id="sec-5-4">
        <title>Accession Number ItemType Observable</title>
      </sec>
      <sec id="sec-5-5">
        <title>ExtendedInfo</title>
      </sec>
      <sec id="sec-5-6">
        <title>EventTime</title>
        <p>Description
Unique identi er of
the learner
Block of the NAEP
test, A or B
Unique question
identi er
Type of Question
learner Activity
Metadata of learner's
Activity
Event Timestamp</p>
      </sec>
      <sec id="sec-5-7">
        <title>Attributes of Event Logs</title>
      </sec>
      <sec id="sec-5-8">
        <title>Case ID</title>
        <p>Activity ID</p>
      </sec>
      <sec id="sec-5-9">
        <title>Timestamp</title>
        <p>
          Before applying any clustering algorithm to the data, we
need to perform data preprocessing steps to reduce data
complexity. Our data preprocessing steps included
removing activities that didn't have enough learner events and
removing events where data for any of the event log attributes
mentioned in table 1 were missing.
t
h
g
i
e
H
0
0
0
0
2
0
0
0
0
1
0
For clustering, we need to convert the sequence data into
event log format. We have used STUDENTID as Case ID,
Observable as Activity ID, and EventTime as Timestamp.
For the missing attributes, we can manually add them [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]:
Lifecycle ID was added as complete, Activity Instance ID
was added as row number, and Resource was added as NA.
l i b r a r y ( t i d y v e r s e )
l i b r a r y ( bupaR )
e v e n t l o g &lt;− s e q u e n c e d a t a %&gt;%
a r r a n g e ( EventTime ) %&gt;%
mutate ( l i f e c y c l e i d = ' c o m p l e t e ' ,
r e s o u r c e = NA,
row num = 1 : nrow ( . ) ) %&gt;%
e v e n t l o g ( c a s e i d = " l e a r n e r I D " ,
a c t i v i t y i d = "O b s e r v a b l e " ,
a c t i v i t y i n s t a n c e i d = "row num" ,
l i f e c y c l e i d = " l i f e c y c l e i d " ,
timestamp = "EventTime " ,
r e s o u r c e i d = " r e s o u r c e " )
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>4.2 Clustering</title>
      <p>After converting the sequence data into event logs format,
we can start applying clustering algorithms on it. As an
example, we've performed Edit Distance Based Hierarchical
Clustering on the event log data that we prepared in Section
4.1. When we pass the event log into the respective function,
we are shown a Hierarchical Cluster Tree (Figure 2) in the
graphics window, and we get a user prompt to select whether
we would like to cut the tree by number of groups or by
height. On selecting one of the options we need to enter
the value corresponding to it. The output of the function
would be a list containing the tted model and the cluster
assignments by case id.
l i b r a r y ( s e q C l u s t R )
c l u s t e r &lt;− s e q e d i t d i s t a n c e c l u s t e r i n g (
e v e n t l o g )</p>
    </sec>
    <sec id="sec-7">
      <title>4.3 Visualizing Clusters</title>
      <p>
        Visualization is a powerful tool that can help us explore
common behavioral patterns exhibited by learners. We've
got two clusters from the event log in Section 4.2, to nd out
how both of them di er from each other based on common
learner behavior patterns we'll make visualizations for these
clusters (Figures 3 and 4). We've made process models for
both the clusters using fuzzymineR package [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
# Get e v e n t l o g s by c l u s t e r a s a l i s t .
e v e n t l o g 2 &lt;− s p l i t e v e n t l o g (
e v e n t l o g ,
c l u s t e r $ c l u s t e r a s s i g n m e n t )
l i b r a r y ( fuzzymineR )
# P r o c e s s Model f o r C l u s t e r 1
m e t r i c s &lt;− mine f u z z y model (
      </p>
      <p>e v e n t l o g 2 [ [ "1 " ] ] )
v i z f u z z y model ( m e t r i c s = m e t r i c s ,
node s i g t h r e s h o l d = 0 . 1 ,
edge s i g t h r e s h o l d = 0 . 3 ,
edge s i g t o c o r r r a t i o = 1 )</p>
    </sec>
    <sec id="sec-8">
      <title>4.4 Discussion</title>
      <p>Performing sequence clustering using hierarchical clustering
with edit distance method on the NAEP data provided us
two clusters that exhibit di erent behaviors. Cluster 1
(Figure 3) shows that for 56% of the times learners directly click
on one of the choices after they have presented a multiple
choice question; 32% of the times when learners are
presented with a multiple-choice question they rst use the
calculator and then click on one of the choices. The di erent
behaviors exhibited by learners in cluster 1 could be
because of varying item di culties, where an easy item might
not require the use of the calculator but for more di cult
item learners might need it.</p>
      <p>In cluster 2 (Figure 4), learners show a di erent behavioral
pattern, they tend to go through di erent steps before
clicking on one of the choices; 39% of the times when learners
are presented with a multiple-choice question they rst use
the calculator but unlike cluster 1, they do some
scratchwork before clicking on one of the choices; learners tend to
click on di erent choices a signi cant number of times
before submitting their nal answer and moving on to the next
item; learners also use the eliminate answer choice tool
signi cantly in cluster 2.</p>
    </sec>
    <sec id="sec-9">
      <title>5. CONCLUSION</title>
      <p>The R package seqClustR provides the means to perform
di erent clustering algorithms on sequence data by
reducing the complexity of preparing data for each algorithm in
a di erent way, by just converting the sequence data into
event logs we can run multiple clustering algorithms and
compare them. In this paper, we've shown how to prepare
sequence data, perform sequence clustering, and visualize
the clusters. In future, we would like to add more
clustering algorithms and add a functionality in the package to do
qualitative comparisons of clusters as well.</p>
    </sec>
    <sec id="sec-10">
      <title>6. ACKNOWLEDGMENTS</title>
      <p>We would like to thank the organizers of the 2019 NAEP
Data Mining Challenge for providing the data. We hope
that the seqClustR package would support and inspire more
research on sequence data.
[13] A. Sarda-Espinosa. dtwclust: Time Series Clustering
Along with Optimization for the Dynamic Time
Warping Distance, 2019. R package version 5.5.6.
[14] A. Sharma and N. Patel. seqClustR.</p>
      <p>https://github.com/aditya9352/seqClustR.
[15] S. Shen and M. Chi. Clustering student sequential
trajectories using dynamic time warping. International
Educational Data Mining Society, 2017.
[16] B. Shih, K. R. Koedinger, and R. Scheines. Discovery
of student strategies using hidden markov model
clustering. In the Proceedings of the 6th International
Conference on Educational Data Mining. Citeseer,
2010.
[17] N. Trcka, M. Pechenizkiy, and W. van der Aalst.</p>
      <p>Process mining from educational data. Handbook of
educational data mining, pages 123{142, 2010.
[18] O. Zaiane. Web usage mining for a better web-based
learning environment. 2001.
[19] M. Zhou, Y. Xu, J. C. Nesbit, and P. H. Winne.</p>
      <p>Sequential pattern analysis of learning logs:
Methodology and applications. Handbook of
educational data mining, 107:107{121, 2010.</p>
      <p>Figure 3: Process Model for Cluster 1
Figure 4: Process Model for Cluster 2</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>H.-P.</given-names>
            <surname>Blossfeld</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Schneider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and J.</given-names>
            <surname>Doll</surname>
          </string-name>
          .
          <article-title>Methodological advantages of panel studies. designing the new national educational panel study (neps) in germany</article-title>
          .
          <source>Journal for Educational Research Online</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <volume>10</volume>
          {
          <fpage>32</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bogar n</surname>
          </string-name>
          , C. Romero,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cerezo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sanchez-Santillan</surname>
          </string-name>
          .
          <article-title>Clustering for improving educational process mining</article-title>
          .
          <source>In Proceedings of the fourth international conference on learning analytics and knowledge</source>
          , pages
          <volume>11</volume>
          {
          <fpage>15</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>[3] bupaR. Creating Event Logs. https://www.bupar.net/creating_eventlogs.html.</mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A. H.</given-names>
            <surname>Cairns</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Gueni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fhima</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cairns</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>David</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Khelifa</surname>
          </string-name>
          .
          <article-title>Process mining in the education domain</article-title>
          .
          <source>International Journal on Advances in Intelligent Systems</source>
          ,
          <volume>8</volume>
          (
          <issue>1</issue>
          ):
          <volume>219</volume>
          {
          <fpage>232</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E.</given-names>
            <surname>Garc</surname>
          </string-name>
          <string-name>
            <surname>a</surname>
          </string-name>
          , C. Romero,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ventura</surname>
          </string-name>
          , C. de Castro, and
          <string-name>
            <given-names>T.</given-names>
            <surname>Calders</surname>
          </string-name>
          .
          <article-title>Association rule mining in learning management systems</article-title>
          .
          <source>Handbook of educational data mining</source>
          , pages
          <volume>93</volume>
          {
          <fpage>106</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Hansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Hansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Hjuler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Alstrup</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Lioma</surname>
          </string-name>
          .
          <article-title>Sequence modelling for analysing student interaction with educational systems</article-title>
          .
          <source>arXiv preprint arXiv:1708.04164</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ko</surname>
          </string-name>
          <article-title>ck and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Paramythis</surname>
          </string-name>
          .
          <article-title>Activity sequence modelling and dynamic clustering for personalized e-learning. User Modeling</article-title>
          and
          <string-name>
            <surname>User-Adapted</surname>
            <given-names>Interaction</given-names>
          </string-name>
          ,
          <volume>21</volume>
          (
          <issue>1</issue>
          ):
          <volume>51</volume>
          {
          <fpage>97</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Lomas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Forlizzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Poonwala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Patel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Shodhan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Patel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Koedinger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Brunskill</surname>
          </string-name>
          .
          <article-title>Interface design optimization as a multi-armed bandit problem</article-title>
          .
          <source>In Proceedings of the 2016 CHI conference on human factors in computing systems</source>
          , pages
          <volume>4142</volume>
          {
          <fpage>4153</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>R.</given-names>
            <surname>Luckin</surname>
          </string-name>
          et al.
          <article-title>Modeling learning patterns of students with a tutoring system using hidden markov models. Arti cial intelligence in education: Building technology rich learning contexts that work</article-title>
          ,
          <volume>158</volume>
          :
          <fpage>238</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>N.</given-names>
            <surname>Patel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Sellman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Lomas</surname>
          </string-name>
          .
          <article-title>Mining frequent learning pathways from a large educational dataset</article-title>
          .
          <source>arXiv preprint arXiv:1705.11125</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>N.</given-names>
            <surname>Patel</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Shah</surname>
          </string-name>
          . fuzzymineR. https://github.com/nirmalpatel/fuzzymineR.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>N.</given-names>
            <surname>Patel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sharma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Sellman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Lomas</surname>
          </string-name>
          .
          <article-title>Curriculum pacing: A new approach to discover instructional practices in classrooms</article-title>
          .
          <source>In International Conference on Intelligent Tutoring Systems</source>
          , pages
          <fpage>345</fpage>
          {
          <fpage>351</fpage>
          . Springer,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>