<!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>AGG: Augmented Graph Grammars for Complex Heterogeneous Data</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Collin F. Lynch Intelligent Systems Program and Learning Research &amp; Development Center Pittsburgh</institution>
          ,
          <addr-line>Pennsylvania</addr-line>
          ,
          <country country="US">U.S.A</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The central goal of educational datamining is to derive crucial pedagogical insights from student, course, and tutorial data. Real-world educational datasets are complex and heterogeneous comprising relational structures, social connections, demographic information, and long-term assignments. In this paper I describe Augmented Graph Grammars a robust formalism for graph rules that provides a natural structure for evaluating complex heterogeneous graph data. I also describe AGG an Augmented Graph Grammar engine written in Python and brie y describe its use.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Augmented Graph Grammars</kwd>
        <kwd>Graph Analysis</kwd>
        <kwd>Argument Diagrams</kwd>
        <kwd>Complex Data</kwd>
        <kwd>Heterogeneous Data</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>The central goal of educational datamining is to draw
pedagogical insights from real-world student data, insights which
can inform instructors, students, and other researchers. While
robust analytical formalisms have been de ned for
categorical, numerical, and relational data most real-world
educational data is complex and heterogeneous combining textual,
numerical, and relational features. In large course settings
such as a lecture course or MOOC, for example, students
may form dynamic working groups and collaborate on
complex assignments. They may also be given a exible set
of reading, writing, or problem-solving tasks that they can
choose to complete in any order. This process data can be
encoded as a graph with nodes representing individual
assignments and reading materials and arcs representing group
relationships or traversal order. In order to capture
important features of this rich graph data and to identify key
relationships between teamwork, written text, and
performance, it is necessary to apply a rule structure that can
capture them naturally.</p>
      <p>
        Individual student assignments can also contain
heterogeneous data. Argument diagrams, for example, have been
used to teach writing, argumentation, and scienti c
reasoning [
        <xref ref-type="bibr" rid="ref10 ref19 ref2">10, 2, 19</xref>
        ]. These structures reify real-world arguments
as graphs using complex node and arc types to represent
argumentative components such as hypothesis statements,
citations, and claims. These complex elements can include
types, text elds for short notes or free-text assertions, links
to external resources, and other data.
      </p>
      <p>
        A sample student-produced argument diagram drawn from
my thesis work at the University of Pittsburgh is shown
in Figure 1. This work focused on the use of argument
diagrams to support students in developing written
scienti c reports and in identifying pedagogically-relevant
diagram structures that can be used to predict students'
subsequent performance (see [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]). The diagram contains a central
claim node representing a research claim. This node has
a single text eld in which the claim is stated. This is, in
turn, connected to a set of citation nodes representing
related work via a set of supporting, opposing, and unde ned
arcs colored green, red, and grey, respectively. The citation
nodes each contain two text elds, one for the citation
information and the other for a summary of the cited work,
while the arcs contain a single text eld for the warrant or
explanation of why the relationship holds. At the top of
the diagram there is a single disjoint hypothesis node which
contains two text elds: a conditional or IF eld, and a
conditional or THEN eld.
      </p>
      <p>
        This diagram contains a number of pedagogically-relevant
issues. Some of them are purely structural such as the
disjoint hypothesis node, and the fact that the supporting and
opposing arcs are drawn from the claim to the citations and
not vice-versa. It also contains more complex semantic
issues such as the fact that the text elds on the arcs contain
summary information for the cites not explanations of the
relationship, and the fact that the opposing citations,
citations that disagree about the central claim node have not
been distinguished from one-another via a comparison arc.
Problems such as these can be detected via complex rules,
and I have previously shown that the presence of such
problems are predictive of students' subsequent performance [
        <xref ref-type="bibr" rid="ref10 ref8 ref9">8,
10, 9</xref>
        ]. This detection and remediation, however requires the
development of rules that can incorporate complex
structural and textual information.
      </p>
      <p>
        Automatic graph analysis is central to a number of research
domains including strategy transfer in games [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], automatic
recommendations [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], cheminformatics [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], and social
network detection [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Graph analysis algorithms have been
used to de ne educational communities [
        <xref ref-type="bibr" rid="ref15 ref16 ref5">15, 16, 5</xref>
        ]) and to
automatically grade existing datasets [
        <xref ref-type="bibr" rid="ref10 ref8 ref9">8, 10, 9</xref>
        ]. Graphical
structures have also been used in tutoring contexts to
represent student work via argument diagrams of the type shown
above (see [
        <xref ref-type="bibr" rid="ref14 ref7">14, 7</xref>
        ] or to provide connection representations
[
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] for student guidance.
      </p>
      <p>
        My focus in the present work is on the development of graph
rules that is logical graph patterns that match arbitrary
graph structures based upon content and structure
information. While arbitrary graph matching is NP-Hard (see [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ])
it is of practical importance, particularly in relational
domains such as argument diagrams or student groups where
our goal is to identify complex structures that may be
evidence of deeper pedagogical issues. To that end, I will
introduce Augmented Graph Grammars a robust rule formalism
for complex graph rules and will describe AGG and
augmented graph grammar engine for educational datamining.
Both were developed as part of my thesis work at the
University of Pittsburgh.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. AUGMENTED GRAPH GRAMMARS</title>
      <p>
        Graph Grammars, as described by Rekers and Schurr, are
formal grammars whose atomic components are graphs or
graph elements, and whose productions transpose one graph
to another [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. More formally, they de ne graph-grammars
and productions as:
      </p>
      <p>De nition 3.6 A graph grammar GG is a
tuple (A; P ), with A a nonempty initial graph (the
axiom), and P a set of graph grammar
productions. To simplify forthcoming de nitions, the
initial graph A will be treated as a special case
of a production with an empty left-hand side.
The set of all potential production instances of
GG is abbreviated with P I(GG).</p>
      <p>De nition 3.2 A (graph grammar) production
p := (L; R) is a tuple of graphs over the same
alphabets of vertex and edge labels LV and LE.
Its left-hand side lhs(p) := L and its right-hand
side rhs(p) := R may have a common (context)
subgraph K if the following restrictions are
fullled:
8e 2 E(K) ) s(e) 2 V (K) ^ t(e) 2 E(K)
with E(K) := E(L) \ E(R) and V (K) :=
V (L)\V (R) i.e. sources and targets of
common edges are common verticies of L and R,
too.
8x 2 L\R ) lL(x) = lR(x) i.e. common
elements of L and R do not di er with respect
to their labels in L and R.</p>
      <p>
        Thus graph grammars are systems of production rules
analogous to context-sensitive string grammars (see [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]). For
reasons of e ciency Rekers and Schurr restrict their focus
to layered graph-grammars where all productions must be
expansive with the left-hand-side being a subgraph of the
right. Classical graph grammars, like string grammars,
assume a xed alphabet of simple statically-typed node and
arcs and can be used both to generate matching graphs
programmatically or to parse matching graphs via mapping and
decomposition. My focus in the present work is on graph
matching which occurs via iterative mapping.
      </p>
      <p>Let Gi =&lt; fno; : : :g; fe(np; nq); : : :g &gt; and Gj =&lt; fmo; : : :g;
fe(mk; ml); : : :g &gt; be graphs and let M = f&lt; na; M b &gt;
: : :g me a mapping from Gi to Gj that links nodes of the
two. In the context of a mapping, Gi and Gk are called the
source and target graphs respectively. A mapping MGi;Gj
from Gi to Gj is valid if and only if the following holds:
8nx 2 Gi : 9 &lt; nx; my &gt;2 MGi;Gj
:9f&lt; nx; my &gt;; &lt; nr; mk &gt;g</p>
      <p>MGi;Gj : (x = r) _ (y = k)
8e(nx; ny) 2 Gi : f&lt; nx; my &gt;; &lt; nr; mk &gt;g
: 9e(my; mk) 2 Gj
MGi;Gj
For the remainder of this paper all elements in a source
graph will be labeled alphabetically (e.g. a, Q) while
elements in the target graphs will be referenced numerically
(e.g. 1; 2; e(2; 3); e(4; !5)).</p>
      <p>
        Augmented Graph Grammars are a richer formalism for graph
rules that treat nodes and arcs as complex components with
optional sub- elds including exible text elements or other
types. Augmented graph grammars have been previously
described by Pinkwart et al. in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. There the authors focused
on the use of augmented graph grammars for tutoring. An
Augmented Graph Grammar is de ned by: a graph
ontology that speci es the complex graph elements and functions
available; a set of graph classes that de ne matching graphs;
and optional graph productions and expressions that provide
for recursive class mapping and logical scoping. I will
describe each of these components brie y below. For a more
detailed description see [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>2.1 Graph Ontology</title>
      <p>In a simple graph grammar of the type used by Rekers and
Schurr the set of possible node and arc types (P) is xed
with the elements being atomic, static, and unique. In order
to process complex structures such as the argument diagram
shown in Figure 1, a more complex structure is required.
Thus augmented graph grammar ontologies are de ned by a
set of element types O = fN0; : : : Nm; E0; : : : ; Epg such that
each element has a unique list of elds and eld types as well
as applicable functions over those elds. The ontology must
also specify appropriate relationships between the elds and
operations that can be used on them.
{</p>
      <sec id="sec-3-1">
        <title>Nodes:{</title>
        <p>Citation:{</p>
        <p>Cite(String)
Cite.Words(StringSet)
Summary(String)</p>
        <p>Summary.Words(StringSet)
}
}</p>
      </sec>
      <sec id="sec-3-2">
        <title>Hypothesis: {</title>
        <p>If(String)
If.Words(StringSet)
Then(String)</p>
        <p>Then.Words(StringSet)
}
Arcs:{</p>
        <p>Comparison: {
...</p>
      </sec>
      <sec id="sec-3-3">
        <title>Types: { String, StringSet } ...</title>
        <p>2. This illustrates the eld de nitions for the citation and
hypothesis nodes shown above. Both node types contain
two sub- elds of type String. For each of these elds an
additional function is de ned '*.Words' which returns a set
of all the words found in the eld.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>2.2 Graph Classes</title>
      <p>The core component of an augmented graph grammar is the
graph class. A class Ci is de ned by a 2-tuple &lt; Si; Oi &gt;
where Si is a graph schema and Oi is a set of constraints.
A class de nes a space of possible graphs which satisfy both
the schema and the constraints. Classes are not required
to be unique nor are the set of matching graphs for a given
pair of classes required to be disjoint. A sample named
class R07a is shown in 3. This class is designed to detect
instances of Related Uncompared Opposition in scienti c
argument diagrams. That is subgraphs where there exists a
pair of citation nodes a, and b that disagree about a shared
target node t, are not connected via a comparison arc c,
and which share some relevant textual content. As I noted
above, this type of structure can be found in Figure 1.</p>
      <sec id="sec-4-1">
        <title>2.2.1 Graph Schema</title>
        <p>A Schema is a graph structure that de nes a space of
possible graphs topologically. Schema are de ned by a set of
ground nodes (e.g. t, a, &amp; b in Figure 3) which must match
a single node in a target graph, a set of ground arcs that
must likewise match a single arc in the target graph (e.g.
c), and an optional set of variable arcs which must match a
nonempty subgraph de ned by a graph production. By
convention, ground elements are denoted via lower-case names
while variable elements are denoted by capitalized names.
While showing a complete ontology is beyond the scope of
this paper an illustrative example can be found in Figure
In addition to the ground and variable distinctions arcs within
a schema may be one of four types: directed (e.g. O, &amp;
(R07a)
O</p>
        <p>S
a
: c
b
8 t:T ype 2 f\Hypothesis00; \Claim00g 9
&gt;&gt;&gt;&lt; ab::TTyyppee == \\CCiittaattiioonn0000 =&gt;&gt;&gt;
&gt;:&gt;&gt;(a:summacr:yT:wypoerd=s \\Cb:osmumpamriasroyn:0w0ords) 6= ;&gt;;&gt;&gt;</p>
        <p>S ), of unknown direction, undirected (e.g. c), and
undened. Directed arcs will only match directed arcs in the
base graph oriented in the same direction. Thus, given a
base graph containing an arc e(1; !2) and a schema with a
directed arc e(n; m!) the schema will only match cases where
f&lt; n; 1 &gt;; &lt; m; 2 &gt;g M . Unknown direction schema arcs
may match a directed arc oriented in any order but will not
match an undirected arc (e.g. e(2; 3)). Undirected arcs (e.g.
:c) will not match a directed arc. And, unde ned arcs may
match a directed or undirected arc in any order.
As the example shows arcs may be also be negated (e.g. :c)
in which case the schema matches a graph if and only if no
match can be found for the negated arc. Thus the schema
shown will only match ground graphs with no arc between
the elements assigned to a and b. More complicated cases of
negation may be formed using graph expressions which are
de ned below.</p>
        <p>The elements of a Schema must also be non-repeating that
is, no two elements in a schema may be matched to the same
element in the target graph. Thus each element in a schema
must match at least one unique node or arc with variable
elements possibly accounting for more than one element.</p>
      </sec>
      <sec id="sec-4-2">
        <title>2.2.2 Constraints</title>
        <p>Constraints represent individual bounds or limits on the
ground elements of a schema. Constraints are speci ed using
a set-theory syntax (e.g. t:T ype 2 f\Hypothesis00; \Claim00g)
and may draw on any of the node or arc features, sub elds,
or functions speci ed in the ontology. Unary Constraints
apply to a single element (e.g. a:T ype = \Citation00). Binary
Constraints (e.g. (a:summary:words \ b:summary:words)
6= ;) specify a relationship between two distinct ground
elements.
(SC )
(SP 1)
(SP 2)
q
q
q:T ype = \Supporting00
q:T ype = \Supporting00
!
S(a; c) = [ Sc ) SP 1
[2; ]
j</p>
        <p>SP 2 ]</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>2.3 Graph Productions</title>
      <p>A graph production Cl ) Cr1jCr2::: is a context-sensitive
production rule that maps from a graph class containing a
single production variable to one or more alternate
expansions. Graph productions are used to match layered
subgraphs to the variable arcs. A simple recursive production
rule for the variable element S(b; !t) is shown in Figure 4.
The rule is de ned by the context class SC , and the two
production classes SP 1 and SP 2. The context class is used as a
key for the production application. It must contain exactly
one variable arc, the production variable, and no constraints.
The ground nodes a and c are context nodes and are used to
ground the production for mapping. They must be present
in all of the production rules. All production rules must
be expansive with each of the production classes
containing at least one ground element not present in the context
class. Recursive productions are thus handled by iteratively
grounding the mapping with additional context and, as per
the non-repeating requirement, these rules must consume
additional elements of the graph. Production rules are thus
mapped in a layered fashion like the grammars de ned by
Rekers and Schurr.
h:T ype = \Hypothesis00
c</p>
      <p>O</p>
      <p>h
(C0)
(C1)
h:T ype = \Hypothesis00
c:T ype = \Supporting00</p>
      <p>8C0j:9C1
where each Ci is a graph class and each Si is a logical
quanti er from the set: f8; :8; 9; :9g. The expressions allow
for existential and universal scoping and arbitrary negation
of graph classes. The expressions represent chained logical
structures with each 'j' being read as \. . . such that . . . ". A
sample graph expression is shown in Figure 5. This sample
expression asserts that for all hypothesis nodes in the target
graph there exist no citation nodes that oppose the target
hypothesis. Thus it is a universal claim about a negated
existential item. As this example illustrates graph
expressions allow for more complex negation structures than are
supported by the graph schema.</p>
      <p>Graph expressions must be expansive or right-grounded such
that the following constraints hold:
8Cm i&gt;0 2 E : Ci 1 g Ci</p>
      <p>
        Sm 2 f9; :9g
That is, the schema component of class Ci must be a
subgraph of all classes class Ci+n. This also holds true for
the constraints with all constraints present in class Ci
being present in classes Ci+n. And the rightmost class in the
expression must also be an existential (9) test with optional
negation.
3. AGG
AGG is a general-purpose augmented graph grammar
engine that implements recursive graph matching. The system
was developed in Python to support analysis of the
studentproduced argument diagrams described above. As such it is
exible, functions across platforms, and supports complex
graph ontologies and user-de ned functions. The system
was designed in a modular fashion and can be linked with
third-party libraries such as the NLTK [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>At present the system uses a straightforward depth- rst
stack matching algorithm. Given a graph and a set of named
rules, de ned by a single graph class or expression, the
system will rst match all ground nodes and arcs in the leftmost
target class. Once each ground element has been matched
then the system will recursively match all variable elements
in the target. If at any point the system cannot continue to
match elements it will pop up the stack and repeat. Rule
matching is governed by the aforementioned restrictions of
expansiveness and non-repetition. If a rule is de ned by a
graph expression then each class match will set the context
for subsequent rightmost matches. Rules de ned by a single
class are complete once a single match is found. The
system is designed to nd matches serially and can be called
iteratively to extract all matching items.</p>
      <p>
        In addition to basic graph grammars the AGG toolkit has
the capacity to de ne named rules. These are named graph
expressions or individual classes that will be recorded if they
match. In my thesis work, I applied the AGG engine to
develop a set of 42 such rules the scienti c argument diagrams.
These ranged in complexity from graph classes de ned by
a single node to more complex recursive expressions that
sought to identify disjoint subgraphs and unsupported
hypotheses. The example rules and expressions shown in
gures 3 - 5 were adapted from this set. The rules were used for
o ine processing of the graphs and for prediction of student
grades [
        <xref ref-type="bibr" rid="ref10 ref9">10, 9</xref>
        ].
      </p>
      <p>As part of the analysis process the rules were evaluated on
a set of 526 diagrams containing between 0 and 41 nodes
each. While exact e ciency data was not retained the
performance of the rules varied widely depending upon their
construction. General recursive rules such as a test for
disjoint subgraphs performed quite ine ciently while smaller
chained expressions were able to evaluate in a matter of
seconds on a quad-core system.</p>
    </sec>
    <sec id="sec-6">
      <title>4. APPLICATIONS &amp; FUTURE WORK</title>
      <p>
        The focus of this paper was on introducing Augmented Graph
Grammars and the AGG engine. The formalism provides for
a natural and robust representation of complex graph rules
for heterogeneous datasets. In prior work at the University
of Pittsburgh I applied Augmented Graph Grammars to the
detection of pedagogically relevant structures like Related
Uncompared Opposition (see Figure 3) in argument diagrams
of the type shown in Figure 1. The focus of that study was
on testing whether student-produced argument diagrams are
diagnostic of their ability to produce written argumentative
essays. The study was conducted in a course on
Psychological Research Methods at the University of Pittsburgh.
The graph features examined in that study included chained
counterarguments which feature chains of oppositional
information, and ungrounded hypotheses which are unrelated to
cited works, and so on. The study is described in detail in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ],
and a discussion of the empirical validity of the individual
rules can be found in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The rules were also used as the
basis of predictive models for student grades described in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
The Augmented Graph Grammars were ideally-suited for
this task as they allowed me to de ne clear and robust rules
that incorporated the structural information in the graph,
textual information within the nodes and arcs, and the static
element types. It was also possible to clearly present these
rules to domain experts for evaluation.
      </p>
      <p>While the AGG system is robust more work remains to be
done to make it widely available, and several open problems
remain for future development. As noted above, arbitrary
graph parsing is NP-Hard. Consequently, many rule classes
are extremely ine cient. Despite this limitation, however,
real e ciency gains may be made via parallelization and
memoization. I am presently researching possible
improvements to the system and plan to test them with additional
datasets.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work was supported by National Science Foundation
Award No. 1122504, \DIP: Teaching Writing and
Argumentation with AI-Supported Diagramming and Peer Review,"
Kevin D. Ashley PI with Chris Schunn and Diane Litman,
co-PIs.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Euijin</given-names>
            <surname>Choo</surname>
          </string-name>
          , Ting Yu,
          <string-name>
            <given-names>Min</given-names>
            <surname>Chi</surname>
          </string-name>
          , and Yan Lindsay Sun.
          <article-title>Revealing implicit communities to incorporate into recommender systems</article-title>
          .
          <source>In Proceedings of the 15th ACM Conference on Economics and Computation</source>
          , Palo Alto, CA,
          <year>2014</year>
          . Association For Computing Machinery. (in press).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>[2] Evi Chryssa dou and Mike Sharples</article-title>
          .
          <article-title>Computer-supported planning of essay argument structure</article-title>
          .
          <source>In Proceedings of the 5th International Conference of Argumentation</source>
          ,
          <year>June 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Diane</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Cook</surname>
          </string-name>
          and Lawrence B. Holder, editors.
          <source>Mining Graph Data</source>
          . John Wiley &amp; Sons,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Diane</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Cook</surname>
          </string-name>
          , Lawrence B.
          <string-name>
            <surname>Holder</surname>
            , and
            <given-names>G. Michael</given-names>
          </string-name>
          <string-name>
            <surname>Youngblood</surname>
          </string-name>
          .
          <article-title>Graph-based analysis of human transfer learning using a game testbed</article-title>
          .
          <source>IEEE Trans. on Knowl. and Data Eng</source>
          .,
          <volume>19</volume>
          :
          <fpage>1465</fpage>
          {
          <fpage>1478</fpage>
          ,
          <string-name>
            <surname>November</surname>
          </string-name>
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Rosta</given-names>
            <surname>Farzan</surname>
          </string-name>
          and
          <string-name>
            <given-names>Peter</given-names>
            <surname>Brusilovsky</surname>
          </string-name>
          .
          <article-title>Annotated: A social navigation and annotation service for web-based educational resources</article-title>
          .
          <source>Journal of the New Review of Hypermedia and Multimedia (NRHM)</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Dan</given-names>
            <surname>Garrette</surname>
          </string-name>
          , Peter Ljunglof, Joel Nothman, Mikhail Korobov, Morten Minde Neergaard, and
          <string-name>
            <given-names>Steven</given-names>
            <surname>Bird</surname>
          </string-name>
          .
          <article-title>The natural language toolkit for python (NLTK</article-title>
          ),
          <year>2014</year>
          . [Online; accessed 04-29-2014].
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Frank</given-names>
            <surname>Loll</surname>
          </string-name>
          and
          <string-name>
            <given-names>Niels</given-names>
            <surname>Pinkwart</surname>
          </string-name>
          . Lasad:
          <article-title>Flexible representations for computer-based collaborative argumentation</article-title>
          .
          <source>Int. J. Hum.-Comput</source>
          . Stud.,
          <volume>71</volume>
          (
          <issue>1</issue>
          ):
          <volume>91</volume>
          {
          <fpage>109</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Collin</surname>
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Lynch</surname>
          </string-name>
          .
          <source>The Diagnosticity of Argument Diagrams</source>
          ,
          <year>2014</year>
          .
          <article-title>(defended January 30th</article-title>
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Collin</surname>
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Lynch</surname>
            and
            <given-names>Kevin D.</given-names>
          </string-name>
          <string-name>
            <surname>Ashley</surname>
          </string-name>
          .
          <article-title>Empirically valid rules for ill-de ned domains</article-title>
          .
          <source>In John Stamper and Zachary Pardos</source>
          , editors,
          <source>Proceedings of The 7th International Conference on Educational Data Mining (EDM</source>
          <year>2014</year>
          ).
          <source>International Educational Datamining Society IEDMS</source>
          ,
          <year>2014</year>
          . (In Press).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Collin</surname>
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Lynch</surname>
            ,
            <given-names>Kevin D.</given-names>
          </string-name>
          <string-name>
            <surname>Ashley</surname>
            , and
            <given-names>Min</given-names>
          </string-name>
          <string-name>
            <surname>Chi</surname>
          </string-name>
          .
          <article-title>Can diagrams predict essays? In Stefan Trausan-Matu, Kristy Elizabeth Boyer</article-title>
          ,
          <string-name>
            <given-names>Martha E.</given-names>
            <surname>Crosby</surname>
          </string-name>
          , and Kitty Panourgia, editors,
          <source>Intelligent Tutoring Systems</source>
          , volume
          <volume>8474</volume>
          of Lecture Notes in Computer Science, pages
          <volume>260</volume>
          {
          <fpage>265</fpage>
          . Springer,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Sherry</surname>
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Marcus</surname>
          </string-name>
          , Melanie Moy, and
          <article-title>Thayne Co man</article-title>
          .
          <article-title>Social network analysis</article-title>
          .
          <source>In Cook and Holder [3]</source>
          , chapter
          <volume>17</volume>
          , pages
          <fpage>443</fpage>
          {
          <fpage>468</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Takashi</given-names>
            <surname>Okada</surname>
          </string-name>
          .
          <article-title>Mining from chemical graphs</article-title>
          .
          <source>In Cook and Holder [3]</source>
          , chapter
          <volume>14</volume>
          , pages
          <fpage>347</fpage>
          {
          <fpage>379</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Niels</surname>
            <given-names>Pinkwart</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Kevin D.</given-names>
            <surname>Ashley</surname>
          </string-name>
          , Vincent Aleven,
          <string-name>
            <given-names>and Collin F.</given-names>
            <surname>Lynch</surname>
          </string-name>
          . Graph grammars:
          <article-title>An its technology for diagram representations</article-title>
          . In David Wilson and H. Chad Lane, editors,
          <source>FLAIRS Conference</source>
          , pages
          <volume>433</volume>
          {
          <fpage>438</fpage>
          . AAAI Press,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Niels</surname>
            <given-names>Pinkwart</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Kevin D.</given-names>
            <surname>Ashley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Collin F.</given-names>
            <surname>Lynch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Vincent</given-names>
            <surname>Aleven</surname>
          </string-name>
          .
          <article-title>Evaluating an intelligent tutoring system for making legal arguments with hypotheticals</article-title>
          .
          <source>International Journal of Arti cial Intelligence in Education</source>
          ,
          <volume>19</volume>
          (
          <issue>4</issue>
          ):
          <volume>401</volume>
          {
          <fpage>424</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Eve</given-names>
            <surname>Powell</surname>
          </string-name>
          and
          <article-title>Ti any Adviser-Barnes. A framework for the design and analysis of socially pervasive games</article-title>
          .
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Eve</surname>
            <given-names>M Powell</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Samantha</given-names>
            <surname>Finkelstein</surname>
          </string-name>
          , Andrew Hicks, Thomas Phifer, Sandhya Charugulla, Christie Thornton, Ti any Barnes, and
          <string-name>
            <given-names>Teresa</given-names>
            <surname>Dahlberg</surname>
          </string-name>
          .
          <article-title>Snag: social networking games to facilitate interaction</article-title>
          .
          <source>In CHI'10 Extended Abstracts on Human Factors in Computing Systems</source>
          , pages
          <fpage>4249</fpage>
          {
          <fpage>4254</fpage>
          . ACM,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>J.</given-names>
            <surname>Rekers</surname>
          </string-name>
          and Andy Schurr.
          <article-title>De ning and parsing visual languages with layered graph grammars</article-title>
          .
          <source>J. Vis. Lang. Comput.</source>
          ,
          <volume>8</volume>
          (
          <issue>1</issue>
          ):
          <volume>27</volume>
          {
          <fpage>55</fpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Michael</given-names>
            <surname>Sipser</surname>
          </string-name>
          .
          <article-title>Introduction to the Theory of Computation</article-title>
          . PWS Publishing Company, San Francisco,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Daniel</surname>
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Suthers</surname>
          </string-name>
          .
          <article-title>Empirical studies of the value of conceptually explicit notations in collaborative learning</article-title>
          .
          <source>In Alexandra Okada</source>
          , Simon Buckingham Shum, and Tony Sherborne, editors,
          <source>Knowledge Cartography</source>
          , pages
          <fpage>1</fpage>
          <lpage>{</lpage>
          23. Springer Verlag,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>