Package: edxclassify
The edxclassify package contains a classification suite built to
detect learner affect and behavior in the discussion forums of Massive
Open Online Courses (MOOCs). It is a result of a year’s worth of research
at Stanford and was designed to enable the discovery of insights into
forums attached to Stanford’sonline course
offerings.Research and MotivationOur motivation to discover insights into the dynamics of these courses is
three-fold. In particular, we wish to:better understand the educational and learning process,improve the educational environment for MOOC learners, andempower instructors by equipping them with a suite of tools designed to
ease the burden of teaching large-scale classes.For example, we could use a classifier that detects confusion in forum posts
to help us target automated learning interventions in courses. We have built
such a prototype; to learn more, please refer to ourpaper, published in the eighth conference
on Educational Data Mining.Included ClassifiersThe abstractions in edxclassify are general enough to be applicable
to most classification tasks. The repository does come packaged
with a set of classifiers that were trained to detect affect in Stanford’s
MOOC discussion forums. Since Stanford’s courses are powered by edX, these
classifiers should be compatible with any edX MOOC; they should also be
compatible with other flavors of MOOCs, as their feature space is not
tightly coupled with the particulars of edX.These classifiers were trained
on subsets of theStanford MOOC-Posts
Dataset,
a collection of 30,000 human-tagged forum posts, originating from a
variety of courses. Classifiers to detect all six of the core variables
in the MOOC-Posts Dataset – confusion, urgency, sentiment, question,
answer, and opinion – are included in this repository. The classedxclassify.live_clf.LiveCLFprovides an interface to them; see the moduleedxclassify.live_clffor further documentation.Running Experimentsedxclassify.harnessis a driver that facilitates the training and testing of
and experimentation with classifiers. After installation, it can be invoked
with the commandclfharness.DataThe MOOC-Posts Dataset is available to researchers,upon request.Much of the included code in edxclassify was designed for data formatted
as peredxclassify.feature_spec; in particular, the harness takes
data files each containing a pickled list of examples, each example a list
with features in the positions specified inedxclassify.feature_spec.
If you would like access to these data files, first request access to the
MOOC-Posts Dataset. When your request is approved, send an email to
akshayka ~at~ cs.stanford.edu with subject line
“edxclassify: request for data files”.InstallationInstallation can proceed in two ways: from source or from pip. Note that
when installing from pip, only a subset of the pre-trained classifiers found
in this repository will be included, due to size constraints imposed by pypi.
In particular, the pypi version only includes classifiers for confusion,
whereas the source version includes classifiers for all six MOOC-Posts
variables.Regardless of whether you install from source or from pip, begin by installingscikit-learnand its
dependencies; make sure to install version 0.15.2 to ensure compatibility with
skll.If installing from source, clone this repository and simply runpython setup.py install. Otherwise, runpip install edxclassify.