<!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>Online Courses Recommendation based on LDA</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rel Guzman Apaza</string-name>
          <email>r.guzmanap@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Elizabeth Vera Cervantes</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Laura Cruz Quispe</string-name>
          <email>lvcruzq@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jose´ Ochoa Luna</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National University of St. Agustin Arequipa -</institution>
          <country country="PE">Peru ́</country>
        </aff>
      </contrib-group>
      <fpage>42</fpage>
      <lpage>48</lpage>
      <abstract>
        <p>In this paper we propose a course recommendation system based on historical grades of students in college. Our model will be able to recommend available courses in sites such as: Coursera, Udacity, Edx, etc. To do so, probabilistic topic models are used as follows. On one hand, Latent Dirichlet Allocation (LDA) topic model infers topics from content given in a college course syllabus. On the other hand, topics are also extracted from a massive online open course (MOOC) syllabus. These two sets of topics and grading information are matched using a content based recommendation system so as to recommend relevant online courses to students. Preliminary results show suitability of our approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Nowadays, the amount of educational resources
spread at Internet is huge and diverse
        <xref ref-type="bibr" rid="ref11">(Martin, 2012)</xref>
        .
Massive Online Open Courses (MOOCs) such us
Coursera, Udacity, EdX, to name a few, are
gaining momentum
        <xref ref-type="bibr" rid="ref6">(Fischer, 2014)</xref>
        . It is possible to find
courses from almost every knowledge domain. This
vast offer overwhelm any user willing to find courses
according his/her background. This task can be
tedious because it involves access to each platform,
search available courses, select some courses, read
carefully each course syllabus, and choose
appropriate content. This process can be unmanageable if
we extend our search beyond online courses to
educational content.
      </p>
      <p>
        In this work we propose a system for online
courses recommendation, although MOOCs courses
are primarily focused. To do so, we rely on Topic
Models
        <xref ref-type="bibr" rid="ref3">(Blei, 2012)</xref>
        , an unsupervised probabilistic
generative model, which given a set of documents
and a number of topics as input, automatically
returns a relevant set of words probabilistically
associated for each topic. Why this scheme is valuable?,
consider for instance a huge number of digitalized
books of a public library, this algorithm can
automatically discover main topic words and therefore
allows one to gain insights about content in books.
      </p>
      <p>
        Currently educational systems and data mining
is an emerging research area
        <xref ref-type="bibr" rid="ref15">(Romero and Ventura,
2010)</xref>
        , these systems use different recommendation
techniques in order to suggest online learning
activities, based on preferences, knowledge and data
from other students with similar interests
        <xref ref-type="bibr" rid="ref16">(Romero
et al., 2007)</xref>
        . In
        <xref ref-type="bibr" rid="ref10">(Kuang et al., 2011)</xref>
        the author
provides resource recommendation for users in the
elearning system based on contents and user log
activities. There was proposed a method for resource
recommendation based on topic modeling in an
elearning system, that system used Latent Dirichlet
Allocation (LDA) to get a low dimension vector,
and to do inference it used Gibbs sampling, then in
resource recommendation it applied cosine
similarity in document topic distribution to find neighbor
resources. The authors from
        <xref ref-type="bibr" rid="ref8">(Haruechaiyasak and
Damrongrat, 2008)</xref>
        also recommended documents,
in this case it recommended articles from wikipedia
by calculating the similarity measures among topic
distributions of the articles. The model proposed in
        <xref ref-type="bibr" rid="ref10 ref14 ref17">(Sadikov and Bratko, 2011)</xref>
        is an hybrid
recommendation system where the core of the system is a
linear regression model, based on stochastic gradient
descent. For predicting the rank of a lecture, they
used and compared the predictions made by
contentbased and collaborative-based methods. In this
paper they established manually the attributes that
represent each video-lecture, unlike our paper, where
the attributes for the courses are defined by the LDA
algorithm. In
        <xref ref-type="bibr" rid="ref10 ref14 ref17">(Sadikov and Bratko, 2011)</xref>
        , to find a
rank they measured the correlation between an old
lecture (a lecture the visitor has already seen), and
the new lectures (lectures that visitor has not seen
yet), and then they ordered theses measures in a list,
where the lowest comes first, theses computations
were used in the linear regression model. Also they
said that there was not to much difference between
using content-based or collaborative-based methods,
but they said that their system could have been
improved if they used textual attributes, which is our
case.
      </p>
      <p>
        In our proposal, Latent Dirichlet Allocation
(LDA)
        <xref ref-type="bibr" rid="ref2">(Blei et al., 2003)</xref>
        topic model is mainly used
as feature descriptor of courses. Thus, we assume
that each course has a set of inherent topics and
therefore relevant words that summarize them. In
our content-based recommendation setting those are
input features that describe courses. We are
concerned in discovering the parameter vector of users,
i.e., weights over topic words that denote user
preferences on courses. In order to infer this user vector,
we rely on supervised machine learning algorithms
thus, we assume grading obtained in college courses
as ratings, learn user weights and ratings are
predicted for unseen MOOCs courses. Preliminary
results show suitability of this approach.
      </p>
      <p>The paper is organized as follows. In Section 2
background is given. In Section 3, our proposal is
presented. Section 4 shows experimental results.
Finally, Section 5 concludes the paper.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <sec id="sec-2-1">
        <title>Probabilistic Topic Modeling</title>
        <p>
          Topic models are probabilistic models that have
been mainly used to discover topics in a big
collection of text documents. They are non supervised
learning
          <xref ref-type="bibr" rid="ref5">(Duda et al., 2012)</xref>
          techniques that do not
require any prior annotations or labeling of the
documents: the topics emerge from the analysis of the
original texts
          <xref ref-type="bibr" rid="ref3">(Blei, 2012)</xref>
          . To do so, they assume
each document is a combination of topics and each
topic is a probability distribution over words
          <xref ref-type="bibr" rid="ref2">(Blei
et al., 2003)</xref>
          . Topic models are a type of graphical
model based on Bayesian networks.
        </p>
        <p>
          The generative process described by a topic model
does not make any assumptions about the order of
words as they appear in documents. The only
information relevant to the model is the number of times
words are produced, this is known as the
“bag-ofwords” assumption
          <xref ref-type="bibr" rid="ref16 ref18">(Steyvers and Griffiths, 2007)</xref>
          .
        </p>
        <p>
          There are two main topic models: LDA
          <xref ref-type="bibr" rid="ref2">(Blei et
al., 2003)</xref>
          and Probabilistic Latent Semantic
Analysis (pLSA)
          <xref ref-type="bibr" rid="ref9">(Hofmann, 1999)</xref>
          . In this work we use
LDA due to its general model. It is also worth noting
that LDA has been previously used in
recommendation systems
          <xref ref-type="bibr" rid="ref10 ref15 ref16">(Romero and Ventura, 2010; Romero et
al., 2007; Kuang et al., 2011)</xref>
          .
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Topics Modeling using Latent Dirichlet</title>
      </sec>
      <sec id="sec-2-3">
        <title>Allocation</title>
        <p>
          Latent Dirichlet allocation (LDA)
          <xref ref-type="bibr" rid="ref2">(Blei et al., 2003)</xref>
          is widely used for identifying topics in a set of
documents, building on previous work by Hofmann
          <xref ref-type="bibr" rid="ref9">(Hofmann, 1999)</xref>
          . The corresponding graphical model
representation is depicted in Figure 1, where each
document is represented as a mixture of a fixed
number of topics, with topic z receiving weight ✓ z(d) in
document d, and each topic is a probability
distribution over a finite vocabulary of words, with word i
having probability i(z) in topic z.
        </p>
        <p>Symmetric Dirichlet priors are placed on ✓ (d)
and (j), with ✓ (d) ⇠ Dirichlet(↵ ) and (j) ⇠
Dirichlet( ), where ↵ and are hyper-parameters
that affect the sparsity of these distributions. The
hyper-parameter ↵ can be interpreted as a prior
observation count for the number of times a topic is
sampled in a document, and as the prior
observation count on the number of times words are sampled
from a topic before any word from the corpus is
observed. This smooths the word distribution in every
topic, with the amount of smoothing determined by
. The goal of inference in this model is to identify
the values of and ✓ , given a corpus of D documents
represented by a vocabulary of W words.</p>
        <p>In our proposal, each course is a document d that
has its related sequence of Nd word tokens, N words
in the overall corpus.
2.3</p>
      </sec>
      <sec id="sec-2-4">
        <title>Gibbs Sampling Algorithm</title>
        <p>
          There are many algorithms proposed to obtain
the main variables of interest ✓ and in the
literature,
          <xref ref-type="bibr" rid="ref9">(Hofmann, 1999)</xref>
          used the
expectationmaximization (EM) algorithm, this approach suffers
from problems involving local maxima of the
likelihood function, which has motivated a search for
better estimation algorithms like the ones proposed
in
          <xref ref-type="bibr" rid="ref12 ref2 ref4 ref4">(Blei et al., 2003; Buntine, 2002; Minka and
Lafferty, 2002)</xref>
          .
        </p>
        <p>
          Instead of directly estimating the variables for
each document, another approach is the algorithm
called “Gibbs sampling”
          <xref ref-type="bibr" rid="ref7">(Griffiths and Steyvers,
2004)</xref>
          , which provides a relatively efficient method
of extracting a set of topics from a large corpus.
Gibbs sampling considers each word token in the
text collection in turn, and estimates the probability
of assigning the current word token to each topic,
conditioned on the topic assignments to all other
word tokens. From this conditional distribution,
given a document, a topic is sampled and stored as
the new topic assignment for this word token. We
write this conditional distribution as:
P (zj |zN\j , wN ) =
        </p>
        <p>n(zwj,jN) \j +
n(·)
zj,N\j + W
n(dj)</p>
        <p>zj,N\j + ↵
· n·(,dNj)\j + T ↵
where:
wN = (w1, . . . , wN ) are the words in the entire
corpus
zN
= (z1, . . . , zN ) are the topic assignments of
the words
zN\j indicates (z1, . . . , zj 1, zj+1, . . . , zN )
W is the size of the vocabulary
n(zwj,jN) \j is the number of times a word wj is
assigned to topic zj
n(·)
zj,N\j is the total number of words assigned to
topic zj
n(dj)
zj,N\j is the number of times a word in document
dj is assigned to topic zj
n·(,dNj)\j is the total number of words in document dj</p>
        <p>From this probability distribution it is possible
to make inference, in order to compute conditional
probability of topic structure given the observed
document. The probability distribution of topics in
a document represents a feature vector for that
document.
2.4</p>
      </sec>
      <sec id="sec-2-5">
        <title>Recommender Systems</title>
        <p>
          According to
          <xref ref-type="bibr" rid="ref14">(Ricci et al., 2011)</xref>
          , recommender
systems are software tools and techniques
providing items suggestions for a given user. Suggestions
provided are aimed at supporting their users in
various decision-making processes, such as what items
to buy, what music to listen, or what news to read.
        </p>
        <p>
          As a rule, in a recommendation-system
application there are two classes of entities, which we shall
refer to as users and items. Users have
preferences for certain items and these preferences must
be teased out of the data
          <xref ref-type="bibr" rid="ref13 ref5">(Rajaraman and Ullman,
2012)</xref>
          . The data itself is represented as a utility
matrix, giving for each user-item pair, a value that
represents what is known about the degree of preference
of that user for that item. Values come from an
ordered set, e.g., integer 1 5 representing the number
of stars that the users gave as a rating for that item.
We assume that the matrix is sparse, meaning that
most entries are unknown. An unknown rating
implies that we have no explicit information about the
user’s preference for the item. The goal of a
recommendation system is to predict the blanks in the
utility matrix.
        </p>
        <p>
          There are two basic architectures for a
recommendation system
          <xref ref-type="bibr" rid="ref13 ref5">(Rajaraman and Ullman, 2012)</xref>
          :
• Content-based systems focus on properties of
items. Similarity of items is determined by
measuring the similarity in their properties
• Collaborative-Filtering system focus on the
relationship between users and items. Similarity
of items is determined by the similarity of the
ratings of those items by the users who have
rated both items.
        </p>
        <p>In a content-based system, we must construct a
profile for each item, which is a record of collections
of records representing important characteristics of
that item. In simple cases, the profile consist of some
characteristics of the item that are easily discovered.
For example, in a movie there are the set of actors,
the director, the genre of general type of movie. In
documents it is not immediately apparent what the
values of features should be. There are many kinds
of documents for which a recommendation system
can be useful. For example, there are many news
articles published each day, and we cannot read all of
them. A recommendation system can suggest
articles on topics a user is interested in. Unfortunately,
documents do not tend to have available information
giving features. A substitute that has been useful in
practice is the identification of words that
characterize the topic of a document. An approach is to
compute the T F (Term frequency) - IDF (Inverse
document frequency) score for words in the document.
The ones with the highest scores are the words that
characterize the document. In this sense, documents
are represented by sets of words. In this paper we
have used a different approach which relies on
finding document topic information by using topic
modeling algorithms such as LDA.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Proposal</title>
      <p>In order to recommend online courses, each course
is considered a document which has a given
content. To characterize each course, LDA is used to
uncover the semantic structure hidden in the
document. Since LDA allow us to get a topic distribution
for each course, this output is used as a feature
vector for courses (items according to a content-based
recommendation setting). A recommendation
system is built using item profiles and utility matrices
and we treat the problem as one of machine
learning. Regard the given data as a training set, and for
each user, build a classifier that predicts the rating of
courses</p>
      <sec id="sec-3-1">
        <title>Calculus</title>
        <p>· · ·
ML(Mooc)
c. features</p>
        <p>profile user(1)—rating ...
x1, . . . xn
· · ·
x01, . . . x0n
✓ 1(1), . . . , ✓ n(1) — 12
· · ·
✓ 1(1), . . . , ✓ n(1)—?
all items. The rest of this section describes our main
design choices.</p>
        <p>
          Consider the utility matrix in Table 1 used to
represent a content-based recommendation system.
First column contains courses names (college and
MOOC’s courses). Second column contains feature
descriptors for courses. Each row denotes a different
course, therefore each course has a different feature
vector. Third column shows the user vector profile
⇥ (1) for user 1. This vector could comprise user 1
preferences about art, math, biology and social
sciences in general. In this same column is also showed
user 1 ratings for each course (they are in fact grades
obtained in college for user 1, see for instance rating
12 for calculus). Further columns for user 2, user
3 and so on should be added accordingly. Our goal
is to predict missing ratings for MOOC’s courses (?
symbol in last row) for user 1 (user 2, 3, etc.). In
order to do so, we should perform the following steps:
• Extract item vectors for courses: item vectors
are defined by courses content, i.e., text that
describes courses, such as “about the course“
information. In order to construct item vectors
(features from documents), we rely on Latent
Dirichlet Allocation algorithm which extracts
topic information from text as probability
distribution of words. Since we use a machine
learning setting, item vectors are features of
a regression/classification problem, which we
denote X = {X1, X2, . . . , Xn}.
• Learn user’s vector: interests about topic
courses can be modeled by user’s vector which
should be learned for each user. To do
so, we use a machine learning approach, all
available ratings (grading information in
college) are used to train a multilinear regression
model
          <xref ref-type="bibr" rid="ref1">(Bishop and others, 2006)</xref>
          . The user’s
vector is therefore the resulting set of
parameters (or weights), ⇥ (1) = {✓ 1(1), . . . , ✓ n(1)}
learned from training data (for instance, all
courses and gradings of user 1). There are m
(number of users) set of parameters. In a
multilinear regression algorithm we want to find the
values for ⇥ , that minimize the cost function:
J (⇥ 0, ⇥ 1, . . . , ⇥ n) = 21m Pim=1(h⇥ (x(i))
yi)2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>We define an hypothesis:</title>
        <p>h⇥ (x) = ⇥ T x = ⇥ 0x0 + ⇥ 1x1 + ⇥ 2x2 + . . . +
⇥ nxn
Where ⇥ 0, ⇥ 1, . . . , ⇥ n are the parameters we
want to predict minimizing the cost function.
One way to minimize the cost function is by
using gradient descent method, where each
iteration of gradient descent makes the
parameters ✓ j come closer to the optimal values that
will minimize the cost function J (✓ ).</p>
        <p>For n &gt; 1
Repeat {
⇥ j := ⇥ j ↵ m1 Pim=1(h⇥ (x(i))
(simultaneously update ⇥ j for j = 0, ...n) }
yi)xj (i)
• Given item and user vectors the goal is to
predict a rating RC for a MOOC course C with
feature vector XC for user U, i.e., user vector
profile ⇥ (U), the resulting predicted rating is
given by:</p>
        <p>RC = XCT ⇥ (U)</p>
        <p>An overview of the recommendation system is
depicted in Figure 2 where we estimate the ratings for
a student and to recommend a course we consider a
“top-10 best recommendations” approach thus, each
student get always 10 recommended courses. Those
are the most related MOOCs to courses in which a
student get the 10 lowest grades.
This section shows preliminary experimental results
conducted on real world data sets. Courses and users
grading information where extracted from a
Peruvian university. Some MOOC’s courses were
extracted from Coursera, the following categories were
considered: “business and management”, “computer
science - artificial intelligence”, “computer science
software engineering”, “computer science - systems
and security”, “computer science - theory”,
“mathematics”, “statistics and data analysis”. The most
significant information from each course is given by
“Introduction”, “About the Course” and “FAQ”
sections.</p>
        <p>All extracted information has been preprocessed
according to the following process: remove non
ASCII characters, strip HTML tags, remove special
strings, remove multiple spaces and blank lines.</p>
        <p>
          After that we built a corpus further used by the
LDA algorithm. The number of Coursera courses
considered was 69, while the number of college
courses was 43, which gives rises to 112 courses.
The topic modeling algorithm used the gibbs
sampling inference procedure and according to
          <xref ref-type="bibr" rid="ref3">(Blei,
2012)</xref>
          we set parameters ↵ = 50/T , = 0.01. The
number of iterations was chosen to be large enough
to guarantee convergence, N = 200.
        </p>
        <p>To measure performance, accuracy was
considered by counting the number of correct matches
between college courses and Coursera courses. Figure
3 illustrates the impact of the number of topics T in
the topic model. A higher accuracy is achieved when
we use a higher number of topics, then we set the
number of topics T = number of Coursera courses
because of the precision.</p>
        <p>0.7
0.6
y
c
ra0.5
u
c
c
A
0.4
0.3
0.2
0
20
40</p>
        <p>60 80
Number of Topics
100
120</p>
        <p>The goal of our proposal is to recommend courses
for students who have received low grades in college
therefore, we are using grades as ratings. To keep
a recommendation system setting, we have decided
to invert grading information thus, 20 grade turns
out 0 rating and viceversa (this step might not be
necessary in other recommendation systems). Mean
normalization is also used to get a more reliable
recommendation for students with few grades available,
for instance, first year students.</p>
        <p>For testing, we define a variable “top-N” which
denotes the number of courses to recommend. For
instance, for student “a” we recommend the
“topN” courses from Coursera where he/she has gotten
the greatest ratings. In Figure 4, the x-axis denotes
several values for “top-N”, and the y-axis denotes
accuracy obtained. An cccuracy over 0.6 is achieved
for “top-N” greater than or equal to 10.</p>
        <p>In Figure 5, a comparison between ratings of
“coursera courses” and “college courses” for one
student is showed. We intend to show proximity of
predicted data (ratings on “coursera courses”) and
provided data (ratings on college courses).
Predicted rating Coursera
Real rating University
We have introduced a novel approach for
recommending online courses that combines the
probabilistic topic model LDA and content-based
recommendation systems. In short, we use a machine
learning approach where LDA allow us to extract
feature descriptors from courses, rating prediction
in this setting is performed by inferring user
profile parameters using multilinear regression.
Preliminary experimental results show that our algorithm
performs well when compared to a similar approach
based on cosine similarity with LDA.</p>
        <p>Although we have focused on MOOCs as source
of recommendation content, nothing prevent us from
using this approach beyond such domain. In fact,
further domains can be included by performing
feature topic extraction. Future work will be addressed
to investigate scalability issues. In this sense, topic
models such as LDA, have scalable versions
available. For instance, a MapReduce implementation is
given in the Apache Mahout library1. There are also
scalable versions for multilinear regression.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Christopher M Bishop</surname>
          </string-name>
          et al.
          <year>2006</year>
          .
          <article-title>Pattern recognition and machine learning</article-title>
          , volume
          <volume>1</volume>
          . springer New York.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>David M.</given-names>
            <surname>Blei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Andrew Y.</given-names>
            <surname>Ng</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Michael I.</given-names>
            <surname>Jordan</surname>
          </string-name>
          .
          <year>2003</year>
          .
          <article-title>Latent dirichlet allocation</article-title>
          .
          <source>J. Mach. Learn. Res.</source>
          ,
          <volume>3</volume>
          :
          <fpage>993</fpage>
          -
          <lpage>1022</lpage>
          ,
          <year>March</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>David M Blei</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Probabilistic topic models</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>55</volume>
          (
          <issue>4</issue>
          ):
          <fpage>77</fpage>
          -
          <lpage>84</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>Wray</given-names>
            <surname>Buntine</surname>
          </string-name>
          .
          <year>2002</year>
          .
          <article-title>Variational extensions to em and multinomial pca</article-title>
          .
          <source>In Machine Learning: ECML 2002</source>
          , pages
          <fpage>23</fpage>
          -
          <lpage>34</lpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>Richard O</given-names>
            <surname>Duda</surname>
          </string-name>
          ,
          <string-name>
            <surname>Peter E Hart</surname>
          </string-name>
          , and David G Stork.
          <year>2012</year>
          .
          <article-title>Pattern classification</article-title>
          . John Wiley &amp; Sons.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <given-names>Gerhard</given-names>
            <surname>Fischer</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Beyond hype and underestimation: identifying research challenges for the future of moocs</article-title>
          .
          <source>Distance Education</source>
          ,
          <volume>35</volume>
          (
          <issue>2</issue>
          ):
          <fpage>149</fpage>
          -
          <lpage>158</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Thomas L Griffiths</surname>
          </string-name>
          and
          <string-name>
            <given-names>Mark</given-names>
            <surname>Steyvers</surname>
          </string-name>
          .
          <year>2004</year>
          .
          <article-title>Finding scientific topics</article-title>
          .
          <source>Proceedings of the National academy of Sciences of the United States of America</source>
          ,
          <volume>101</volume>
          (
          <issue>Suppl 1</issue>
          ):
          <fpage>5228</fpage>
          -
          <lpage>5235</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <given-names>Choochart</given-names>
            <surname>Haruechaiyasak</surname>
          </string-name>
          and
          <string-name>
            <given-names>Chaianun</given-names>
            <surname>Damrongrat</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Article recommendation based on a topic model for wikipedia selection for schools</article-title>
          .
          <volume>5362</volume>
          :
          <fpage>339</fpage>
          -
          <lpage>342</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>Thomas</given-names>
            <surname>Hofmann</surname>
          </string-name>
          .
          <year>1999</year>
          .
          <article-title>Probabilistic latent semantic indexing</article-title>
          .
          <source>In Proceedings of the 22nd annual international ACM SIGIR conference on Research and development in information retrieval</source>
          , pages
          <fpage>50</fpage>
          -
          <lpage>57</lpage>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Wei</surname>
            <given-names>Kuang</given-names>
          </string-name>
          , Nianlong Luo, and
          <string-name>
            <given-names>Zilei</given-names>
            <surname>Sun</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Resource recommendation based on topic model for educational system</article-title>
          .
          <volume>2</volume>
          :
          <fpage>370</fpage>
          -
          <lpage>374</lpage>
          , Aug.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <given-names>Fred G.</given-names>
            <surname>Martin</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Will massive open online courses change how we teach? Commun</article-title>
          . ACM,
          <volume>55</volume>
          (
          <issue>8</issue>
          ):
          <fpage>26</fpage>
          -
          <lpage>28</lpage>
          ,
          <year>August</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <given-names>Thomas</given-names>
            <surname>Minka</surname>
          </string-name>
          and
          <string-name>
            <given-names>John</given-names>
            <surname>Lafferty</surname>
          </string-name>
          .
          <year>2002</year>
          .
          <article-title>Expectationpropagation for the generative aspect model</article-title>
          .
          <source>In Proceedings of the Eighteenth conference on Uncertainty in artificial intelligence</source>
          , pages
          <fpage>352</fpage>
          -
          <lpage>359</lpage>
          . Morgan Kaufmann Publishers Inc.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <given-names>Anand</given-names>
            <surname>Rajaraman</surname>
          </string-name>
          and Jeffrey David Ullman.
          <year>2012</year>
          .
          <article-title>Mining of massive datasets</article-title>
          . Cambridge University Press, Cambridge.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <given-names>Francesco</given-names>
            <surname>Ricci</surname>
          </string-name>
          , Lior Rokach, and
          <string-name>
            <given-names>Bracha</given-names>
            <surname>Shapira</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Introduction to recommender systems handbook</article-title>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <given-names>C.</given-names>
            <surname>Romero</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Ventura</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Educational data mining: A review of the state of the art</article-title>
          .
          <source>Systems, Man, and Cybernetics</source>
          , Part C:
          <article-title>Applications</article-title>
          and Reviews, IEEE Transactions on,
          <volume>40</volume>
          (
          <issue>6</issue>
          ):
          <fpage>601</fpage>
          -
          <lpage>618</lpage>
          , Nov.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <given-names>Cristbal</given-names>
            <surname>Romero</surname>
          </string-name>
          , Sebastin Ventura, JoseAntonio Delgado, and Paul De Bra.
          <year>2007</year>
          .
          <article-title>Personalized links recommendation based on data mining in adaptive educational hypermedia systems</article-title>
          .
          <volume>4753</volume>
          :
          <fpage>292</fpage>
          -
          <lpage>306</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <given-names>Er</given-names>
            <surname>Sadikov</surname>
          </string-name>
          and Ivan Bratko.
          <year>2011</year>
          .
          <article-title>Recommending videolectures with linear regression.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <given-names>Mark</given-names>
            <surname>Steyvers</surname>
          </string-name>
          and
          <string-name>
            <given-names>Tom</given-names>
            <surname>Griffiths</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>Probabilistic topic models</article-title>
          .
          <source>Handbook of latent semantic analysis</source>
          ,
          <volume>427</volume>
          (
          <issue>7</issue>
          ):
          <fpage>424</fpage>
          -
          <lpage>440</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>