<!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>Spectral Co-Clustering for Dynamic Bipartite Graphs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Derek Greene</string-name>
          <email>derek.greene@ucd.ie</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>P´adraig Cunningham</string-name>
          <email>padraig.cunningham@ucd.ie</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computer Science &amp; Informatics, University College Dublin</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>A common task in many domains with a temporal aspect involves identifying and tracking clusters over time. Often dynamic data will have a feature-based representation. In some cases, a direct mapping will exist for both objects and features over time. But in many scenarios, smaller subsets of objects or features alone will persist across successive time periods. To address this issue, we propose a dynamic spectral co-clustering method for simultaneously clustering objects and features over time, as represented by successive bipartite graphs. We evaluate the method on a benchmark text corpus and Web 2.0 bookmarking data.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>In many domains, where the data has a temporal aspect, it will be useful to
analyse the formation and evolution of patterns in the data over time. For instance,
researchers may be interested in tracking evolving communities of social network
users, such as clusters of frequently interacting authors in the blogosphere, or
circles of users with shared interests on social media sites. In the case of online
news sources, producing large volumes of articles on a daily basis, it will often
be useful to chart the development of individual news stories over time.</p>
      <p>
        For many of these problems it may be of interest to simultaneously identify
clusters of both data objects and features. This task, often referred to as
coclustering, has been formulated as the problem of partitioning a bipartite graph,
where the two types of nodes correspond to objects and features [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. However,
to the best of our knowledge, this work has been limited to static applications,
where temporal information is unavailable or has been disregarded.
      </p>
      <p>
        A popular recent approach to the problem of clustering dynamic data has
been to use an “offline” strategy, where the dynamic data is divided into
discrete time steps. Sets of step clusters are identified on the individual time steps
using a suitable clustering algorithm, and these step clusters are associated with
one another over successive time steps [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However, clusters may change
considerably between time steps. This can be problematic, both for the purpose of
matching clusters between time steps, and for supporting users to follow and
understand how groups are changing over time. To address this problem, both
current and historic information can be incorporated into the objective of the
ebay.com
google.com
music
shopping
search
news
amazon.com
bing.com
google.com
movies
shopping
search
maps
clustering process [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Benefits of this approach include increasing the
smoothness of transitions between clusterings over time, and improving cluster quality
by incorporating historic information to reduce the effects of noisy data.
      </p>
      <p>A number of additional considerations arise when tracking dynamic data
represented in feature spaces. Notably, a set of objects or features will not always
persist in the data across steps. In general, three different scenarios are possible:
1. Data objects alone persist across time steps. For instance, in bibliographic
networks, papers are only published at a single point in time, whereas authors
will generally be present in the network over an extended period of time.
2. Features alone persist across time. In a news collection, articles will appear
once, whereas terms may continue to appear as topics extend over time.
3. Both objects and features persist across time. For example, in the case of
Web 2.0 tagging portals, both the individual tags and the objects being
tagged (e.g. bookmarks, images) will appear in multiple time steps. A simple
example with just two clusters is shown in Figure 1.</p>
      <p>Here we consider the problem of tracking nodes in multiple related dynamic
bipartite graphs. In Section 3 we describe the main contribution of this paper –
a dynamic spectral co-clustering algorithm for simultaneously grouping objects
and features over time, in any of the above scenarios. This algorithm takes into
account both information from the current time step, together with historic
information from the previous step. In our evaluations in Section 4 we show that
the proposed algorithm works both in the case where features alone persist over
time, and when objects and features persist. These evaluations are performed
on a labelled benchmark news corpus and Web 2.0 tagging data.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <sec id="sec-2-1">
        <title>Co-clustering</title>
        <p>
          In certain problems it may be useful to perform co-clustering, where both
objects and features are assigned to groups simultaneously. One approach to the
co-clustering problem is to view it as the task of partitioning a weighted
bipartite graph. Dhillon [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] proposed a spectral approach to approximate the optimal
normalised cut of a bipartite graph, which was applied for document clustering.
This involved computing a truncated singular value decomposition (SVD) of a
suitably normalised term-document matrix, constructing an embedding of both
terms and documents, and applying k-means to this embedding to produce a
simultaneous k-way partitioning of both documents and terms. Mirzal &amp;
Furukawa [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] provided a further theoretical grounding for spectral co-clustering,
demonstrating that simultaneous row and column clustering is equivalent to
solving the separate row and column clustering problems.
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Dynamic Clustering</title>
        <p>
          The general problem of identifying clusters in dynamic data has been studied by
a number of authors. Early work on the unsupervised analysis of temporal data
focused on the problems of topic tracking and event detection in document
collections [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. More recently, Chakrabarti et al. [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] proposed a general framework
for “evolutionary clustering”, where both current and historic information was
incorporated into the objective of the clustering process. The authors used this to
formulate dynamic variants of common agglomerative and partitional clustering
algorithms. In the latter case, related clusters were tracked over time by
matching similar centroids across time steps. Two evolutionary versions of spectral
partitioning for classical (unipartite) graphs were proposed by Chi et al. [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. The
first version (PCQ) involved applying spectral clustering to produce a partition
that also accurately clusters historic data. The second version (PCM) involved
measuring historic quality based on the chi-square distance between current and
previous partition memberships.
        </p>
        <p>
          The application of dynamic clustering methods has been particularly
prevalent in the realm of social network analysis, where the goal is to identify
communities of users in dynamic networks. Palla et al. [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] proposed an extension of
the popular CFinder algorithm to identify community-centric evolution events
in dynamic graphs, based on an offline strategy. This extension involved
applying community detection to composite graphs constructed from pairs of
consecutive time step graphs. Another life-cycle model was proposed in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], where
the dynamic community finding approach was formulated as a graph colouring
problem. The authors proposed a heuristic solution to this problem, by
greedily matching pairs of node sets between time steps. The problem of clustering
data over time has also been considered in the temporal analysis domain.
Kalnis et al. [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] described a density-based clustering approach where clusters persist
over time, despite continuous changes in cluster memberships. This corresponds
closely to the “assembly line” dynamic clustering scenario described in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
3
3.1
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Methods</title>
      <sec id="sec-3-1">
        <title>Problem Definition</title>
        <p>We represent a dynamic feature-based dataset as a set of l bipartite graphs
{G1, . . . , Gl}. Each step graph Gt consists of two sets of nodes, representing the
nt data objects, and mt features present in the data at time t. Edges exist only
between nodes of different types, corresponding to non-zero feature values. We
can conveniently represent each step graph using a feature-object matrix At of
size mt × nt.</p>
        <p>In the offline formulation of the dynamic co-clustering problem, the overall
goal is to identify a set of dynamic clusters of objects and features, which appear
in the data across one or more time steps. We refer to step clusters that are
identified on individual step graphs, which represent specific observations of
dynamic clusters at a given point in time. The formulation therefore has two
key requirements: a suitable clustering algorithm to cluster individual time step
graphs (ideally in a way that incorporates historic information), and an approach
to track these clusters across time steps. While our primary focus here is on the
former aspect, in Section 3.3 we also briefly discuss the latter aspect.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Dynamic Spectral Co-clustering</title>
        <p>
          We now introduce a dynamic co-clustering algorithm that considers both historic
information from the previous time step, and the internal quality of the clustering
in the current time step. The algorithm consists of three phases: bipartite spectral
embedding, cluster initialisation, and a cluster assignment phase.
Spectral embedding. Following normalised cut optimisation via spectral
coclustering described in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], for a given time step feature-object matrix At, we
1 1
construct the degree-normalised matrix Aˆ t = D1− 2 AtD2− 2 , where D1 and D2
are diagonal column and row degree matrices respectively. We then apply SVD
to Aˆ t, computing the leading left and right singular vectors corresponding to
the largest singular values. Following the choice made by many authors in the
spectral clustering literature, we use kt dimensions corresponding to the expected
number of clusters. Although the issue of selecting the number of clusters is
not discussed in this paper, one potential approach is to choose kt based on the
eigengap method [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. The truncated SVD yields matrices Ukt and Vkt . A unified
embedding of size (mt + nt) × kt is constructed by normalising and stacking the
truncated factors as follows:
        </p>
        <p>Zt =</p>
        <p>
          D1−1/2Ukt
D2−1/2Vkt
(1)
Prior to clustering, the rows of Zt are subsequently re-normalised to have unit
length, as proposed for spectral partitioning in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. This process provides us with
a kt-dimensional embedding of all nodes of both types in Gt.
        </p>
        <p>
          Cluster initialisation. At time t = 1, we have no historic information.
Therefore to seed the clustering process, we use a variant of orthogonal initialisation
as proposed by Ng et al. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] for spectral graph partitioning. This operates using a
“farthest-first” strategy as follows. The first cluster centroid is chosen to be the
mean vector of the rows in Zt. We then repeatedly select the next centroid to be
the row in Zt that is closest to being 90◦ from those that have been previously
selected. This process continues until kt centroids have been chosen.
        </p>
        <p>For each time step t &gt; 1, we initialise using clusters from the previous time
step. A simple approach is to map the clusters generated on the embedding for
time t − 1 to Zt. However, as noted previously, not all features and objects will
persist between time steps. To produce an initial clustering at time t, we identify
the intersection of the sets of nodes present in the graphs Gt−1 and Gt. The
clusters containing these are mapped to the embedding Zt, and we compute
the resulting centroids. If less than kt centroids are produced, the remaining
centroids are chosen from the rows of Zt using orthogonal selection as above.
We can then predict memberships for each unassigned row zi of Zt, using a
simple nearest centroid classifier to maximise the similarity:
(2)
(3)
(4)</p>
        <p>T
max zi μc</p>
        <p>C∈Ct
where μc is the centroid of cluster Cc. This classification procedure yields a
predicted clustering for rows in Zt (i.e. a co-clustering of all objects and features
present at time t), which we denote Pt.</p>
        <p>
          Cluster assignment. To recover a clustering from Zt, we apply a constrained
version of k-means clustering to the rows of the embedding, which takes into
account both the internal quality of the current partition, and agreement with the
predicted partition Pt. We distinguish the latter from the membership
preservation objective described in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] – here we use predicted memberships for missing
objects and features missing from the previous step.
        </p>
        <p>
          As a measure of current cluster quality, we use vector-centroid similarities
as in Eqn. 2. Historical quality is calculated based on the quantity pred(Pt, Ct),
which denotes the degree to which the predicted cluster assignments in Pt agree
with those in the current clustering Ct. To quantify this agreement, we use a
variant of pairwise prediction strength [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]:
pred(Pt, Ct) = X
        </p>
        <p>X
where co(zi, zj ) = 1 if both rows were predicted to be coassigned in Pt, or
c(zi, zj ) = 0 otherwise.</p>
        <p>To combine both sources of information, the clustering objective then
becomes a weighted combination of two objectives:</p>
        <p>J (Ct) = (1 − α) ·
k
X X
c=1 zi∈Cc</p>
        <p>
          T
zi μc
!
+ α · (pred(Pt, Ct))
This type of aggregation approach has been widely used for combining sources of
information, such as in dynamic clustering [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] and semi-supervised learning [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
1. Build spectral embedding
1 1
– Construct the normalised feature-object matrix Aˆ t = D1− 2 AD2− 2 .
– Compute Zt from the truncated SVD of Aˆ t according to Eqn. 1.
        </p>
        <p>– Normalise the rows of Zt to unit length.
2. Initialisation and prediction
– If t = 1, apply orthogonal initialisation to select a set of kt representative
centroids from the representations of the objects in the embedded space.
– For t &gt; 1, recompute the kt−1 centroids based on last clustering but
including only the embedding of the relevant set of objects/features in the
current space.
– If not all rows of the embedding have been assigned, apply nearest centroid
classification to compute the predicted clustering Pt.
3. Compute clustering</p>
        <p>
          – Apply constrained k-means to rows in Zt, initialised by centroids from Pt.
The parameter α ∈ [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ] controls the balance between the influence of historical
information and the information present in the current spectral embedding. A
higher value of α allows information from the previous time step to have a greater
influence, yielding a smoother transition between clusterings at successive time
steps. Naturally at time t = 1, the right-hand term in Eqn. 4 will be zero.
        </p>
        <p>
          Eqn. 4 can be viewed as the standard spherical k-means objective [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ],
augmented by a constraint reward term. We can find a local solution for this problem
by using an approach analogous to the semi-supervised PCKMeans algorithm
proposed by Basu et al. [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] for clustering with pairwise constraints. Specifically,
we apply an iterative k-means-like assignment process, re-assigning each row
vector zi from Zt to maximise:
        </p>
        <p>T
max (1 − α) · zi μc + α · pred(zi, C)</p>
        <p>C∈Ct
where the quantity pred(zi, C) represents the degree to which the predicted
assignment for the row zi in Pt agrees with the assignment of zi to cluster C.
This is given by the proportion of rows in C that were co-assigned with zi in Pt:
pred(zi, C) =</p>
        <p>1
|C| (|C| − 1)</p>
        <p>
          X
(zi,zj)∈C
Once the algorithm has converged to a local solution, Ct provides us with a k-way
partitioning of all nodes in the graph Gt (i.e. features and objects). An overview
of the complete co-clustering process is shown in Figure 2.
In the previous section we proposed an approach for co-clustering individual time
step graphs. The second aspect of the offline approach to dynamic clustering
involves identifying dynamic clusters composed from clusters associated across
time steps. We suggest that previous frameworks for tracking evolving dynamic
communities [
          <xref ref-type="bibr" rid="ref13 ref2">2, 13</xref>
          ] can be readily adapted to the dynamic bipartite case. In brief,
we construct a set of dynamic cluster timelines, each consisting of a set of clusters
identified at different time steps and ordered by time. At each step in the dynamic
co-clustering process, we match the predicted clusters (corresponding to clusters
from the previous time step) with the actual output of the co-clustering process
outlined in Figure 2. Matches are made based on the step cluster memberships
for subsets of objects and/or features persisting between pairs of consecutive
steps. This matching process will result in a set of dynamic clusters persisting
across multiple steps.
4
4.1
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Evaluation</title>
      <sec id="sec-4-1">
        <title>Benchmark Evaluation</title>
        <p>
          To evaluate the performance of the algorithm proposed in Section 3.2, we
required an annotated dataset with temporal information. For this purpose we
consider the bipartite document clustering problem, and use a subset of the
widely-used Reuters RCV1 corpus [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. The RCV1-5topic dataset1 consists of
10,116 news articles covering a seven month period. Each article is annotated
with a single ground truth topical label: health, religion, science, sport, weather.
These topics are present across the entire time period of the corpus. We
considered a number of different time step durations to split the seven month period
– one month, a fortnight, and one week – yielding 7, 14, and 28 step graphs
respectively. Naturally for this type of data, a subset of features (terms) will
persist across time, while objects (documents) appear in only one time step.
        </p>
        <p>
          Our evaluations focused on the performance of the dynamic spectral
coclustering algorithm on each time step graph in the RCV1-5topic dataset, using a
range of values α ∈ [0.1, 0.5] for the balance parameter. As a baseline competitor,
we used multi-partition spectral co-clustering as proposed by Dhillon [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. To
provide a fair comparison, we use orthogonal initialisation for both algorithms,
and set the number of clusters kt at time t to the number of ground truth topics.
Temporal smoothness. One of the primary motivations for dynamic
coclustering is to increase smoothness in the transitions between time step
clusterings. To quantify the degree to which the proposed algorithm can enforce
temporal smoothness, we measure the agreement between successive clusterings
in terms of their normalised mutual information (NMI) [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. Note that NMI
values were calculated only over the terms common to each pair of consecutive
time steps – documents are not considered as they do not persist.
        </p>
        <p>Figure 3 shows a comparison of agreement values for the three different time
window sizes. Dynamic co-clustering leads to a higher level of agreement than
1 Datasets for this paper are available at http://mlg.ucd.ie/datasets/dynak.html
standard spectral co-clustering for all three time window sizes. The effect
becomes significantly more pronounced as α increases. This is to be expected, as
increasing the parameter leads to a higher weighting for the historic information
in Eqn. 4. For α ≥ 0.5, the resulting co-clusterings are often almost identical to
the predicted co-clustering Pt, with the constrained k-means process converging
to a solution after 2-5 iterations.</p>
        <p>Clustering accuracy. To quantify algorithm accuracy, we calculated the NMI
between clusterings and the relevant annotated document label information for
1.0
I) 0.8
M
t(N 0.6
n
e
em 0.4
e
r
g
A 0.2
0.0
1.0
I) 0.8
M
t(N 0.6
n
e
em 0.4
e
r
g
A 0.2
0.0
1.0
I) 0.8
M
t(N 0.6
n
e
em 0.4
e
r
g
A 0.2
Fig. 3. Comparison of agreement (in terms of NMI) between successive feature
clusterings, generated by spectral co-clustering and dynamic co-clustering (α ∈ [0.1, 0.5]),
on the RCV1-5topic dataset for monthly, fortnightly, and weekly time steps.
each time step. Figure 4 illustrates a comparison of the accuracy achieved by
traditional spectral co-clustering and dynamic co-clustering on the RCV1-5topic
dataset for the three different time step sizes. We observed that, for monthly
and fortnightly time steps, the accuracy achieved by dynamic co-clustering was
not significantly higher. However, for the weekly case, there was a noticeable
increase in accuracy. In the case of α = 0.5, dynamic co-clustering lead to higher
accuracy on 21 out of 28 of the weekly graphs.</p>
        <p>
          These results could appear surprising given the increases in temporal
smoothness demonstrated Figure 3. However, on closer inspection, it is apparent that
there is a strong concept drift effect in the data, as the composition of topics
0.70
I) 0.60
M
N
(
cy 0.50
a
r
u
c
cA 0.40
0.30
0.70
I)M 0.60
N
(
cy 0.50
a
r
u
ccA 0.40
Fig. 4. Comparison of accuracy (in terms of NMI) for document clusterings generated
by spectral co-clustering and dynamic co-clustering (α ∈ [0.1, 0.5]), on the RCV1-5topic
dataset for monthly, fortnightly, and weekly time steps.
changes over seven months. Therefore, for longer time periods, there is a greater
change in the clusters identified in successive time periods. In such cases we
expect historic information to be less useful. For the shorter weekly time windows,
where there is less scope for drift between steps, we expect the use of historic
information to improve accuracy. These results highlight the importance of
selecting an appropriate time step size for offline dynamic clustering.
For the second phase of our evaluation, we applied the proposed co-clustering
algorithm to a Web 2.0 data exploration problem. Unlike the RCV1 data, subsets
of both objects (bookmarks) and features (tags) persist over time. We use a
subset of the most recent data from a collection harvested by G¨orlitz et al. [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] from
the Del.icio.us web bookmarking portal. The subset covers the 2000 top tags
and 5000 top bookmarks across an eleven month period from January-November
2006. We divided this period into 44 weekly time steps, and for each time step
we constructed a bipartite graph – the nodes represent tags and bookmarks,
and the edges between them denote the number of times each bookmark was
assigned a given tag during the time step. On average, each graph contained
approximately 3750 bookmarks and 1760 tags. For each time step, we applied
dynamic co-clustering for kt = 20 to identify high-level topical clusters.
        </p>
        <p>Figure 5 illustrates the agreement between both tag and bookmark
clusterings identified by dynamic co-clustering for a balance parameter range α ∈
[0.1, 0.5]. As with the RCV1-topic data, an increase in the value of α leads to
clusters that are considerably more similar to those produced in the previous step,
yielding smoother transitions between both feature and object clusters across
time. In the extreme case of α = 0.5, there is effectively no change between the
predicted memberships and the final output of the co-clustering algorithm.</p>
        <p>
          A number of authors (e.g. [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]) have suggested analysing the stability or
“loyalty” of object member-cluster memberships across time. In the bipartite
case, we can quantify this for both objects and features – we suggest the latter can
be used to generate meaningful labels for dynamic clusters. For the tagged data,
we score the fraction of time steps at which a tag is assigned to a given dynamic
cluster. Over a sufficiently large number of steps, for each dynamic cluster we can
produce a robust ranking of tags based on their respective membership stability
scores. Examining the range of α parameters, we found the trade-off afforded
by α = 0.1 lead to the most interpretable label sets. In Table 1 we show the
resulting descriptive labels selected for the dynamic clusters that exhibited the
highest average tag membership stability, together with a suggested topic based
on the tags. These descriptions highlight a range of general areas of interest
covering sites frequently bookmarked by users during 2006.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this work, we have described a spectral co-clustering algorithm for
simultaneously clustering both objects and features in dynamic feature-based data,
represented as a sequence of bipartite graphs. The co-clustering algorithm
incorporates both current and historic information into the clustering process. A
key aspect of the approach is that it is applicable in domains where objects or
features alone persist across time steps. In applications on both dynamic text
and bookmark tagging data, the proposed approach was successful in identifying
coherent clusters, while also ensuring a consistent transition between clusterings
in successive time steps.</p>
      <p>Acknowledgments. This work is supported by Science Foundation Ireland Grant
No. 08/SRC/I140 (Clique: Graph &amp; Network Analysis Cluster)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Dhillon</surname>
            ,
            <given-names>I.S.:</given-names>
          </string-name>
          <article-title>Co-clustering documents and words using bipartite spectral graph partitioning</article-title>
          .
          <source>In: Proc. (</source>
          <year>2001</year>
          )
          <fpage>269</fpage>
          -
          <lpage>274</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Tantipathananandh</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berger-Wolf</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kempe</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>A framework for community identification in dynamic social networks</article-title>
          .
          <source>In: Proc. 13th International conference on Knowledge Discovery and Data mining (KDD '07)</source>
          . (
          <year>2007</year>
          )
          <fpage>717</fpage>
          -
          <lpage>726</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Chakrabarti</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kumar</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tomkins</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Evolutionary clustering</article-title>
          .
          <source>In: Proc. 12th Int. Conf. on Knowledge Discovery and Data Mining</source>
          . (
          <year>2006</year>
          )
          <fpage>554</fpage>
          -
          <lpage>560</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Mirzal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Furukawa</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Eigenvectors for clustering: Unipartite, bipartite, and directed graph cases</article-title>
          . arXiv (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pierce</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , Carbonell, J.:
          <article-title>A study of retrospective and on-line event detection</article-title>
          .
          <source>In: Proc. 21st International ACM SIGIR Conference on Research and development in information retrieval.</source>
          (
          <year>1998</year>
          )
          <fpage>28</fpage>
          -
          <lpage>36</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Chi</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Song</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhou</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hino</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tseng</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Evolutionary spectral clustering by incorporating temporal smoothness</article-title>
          .
          <source>In: Proc. 13th SIGKDD Int. Conf. on Knowledge Discovery and Data Mining</source>
          . (
          <year>2007</year>
          )
          <fpage>153</fpage>
          -
          <lpage>162</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Palla</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <article-title>Barab´asi,</article-title>
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Vicsek</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          :
          <article-title>Quantifying social group evolution</article-title>
          .
          <source>Nature</source>
          <volume>446</volume>
          (
          <issue>7136</issue>
          ) (
          <year>2007</year>
          )
          <fpage>664</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kalnis</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mamoulis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bakiras</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>On discovering moving clusters in spatiotemporal data</article-title>
          .
          <source>Proc. SSTD</source>
          <year>2005</year>
          (
          <year>2005</year>
          )
          <fpage>364</fpage>
          -
          <lpage>381</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Ng</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jordan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weiss</surname>
          </string-name>
          , Y.:
          <article-title>On Spectral Clustering: Analysis and an Algorithm</article-title>
          .
          <source>Advances in Neural Information Processing</source>
          <volume>14</volume>
          (
          <issue>2</issue>
          ) (
          <year>2001</year>
          )
          <fpage>849</fpage>
          -
          <lpage>856</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Tibshirani</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Walther</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Botstein</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brown</surname>
          </string-name>
          , P.:
          <article-title>Cluster validation by prediction strength</article-title>
          .
          <source>Technical report</source>
          , Dept. Statistics, Stanford University (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Basu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Banerjee</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mooney</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Active semi-supervision for pairwise constrained clustering</article-title>
          .
          <source>In: Proc. SIAM Int. Conf. on Data Mining</source>
          . (
          <year>2004</year>
          )
          <fpage>333</fpage>
          -
          <lpage>344</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Dhillon</surname>
            ,
            <given-names>I.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Modha</surname>
            ,
            <given-names>D.S.:</given-names>
          </string-name>
          <article-title>Concept decompositions for large sparse text data using clustering</article-title>
          .
          <source>Machine Learning</source>
          <volume>42</volume>
          (
          <issue>1-2</issue>
          ) (
          <year>January 2001</year>
          )
          <fpage>143</fpage>
          -
          <lpage>175</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Greene</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Doyle</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cunningham</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Tracking the evolution of communities in dynamic social networks</article-title>
          .
          <source>In: Proc. International Conference on Advances in Social Networks Analysis and Mining (ASONAM'10)</source>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Lewis</surname>
            ,
            <given-names>D.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>T.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>RCV1: A New Benchmark Collection for Text Categorization Research</article-title>
          . JMLR
          <volume>5</volume>
          (
          <year>2004</year>
          )
          <fpage>361</fpage>
          -
          <lpage>397</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Strehl</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghosh</surname>
          </string-name>
          , J.:
          <article-title>Cluster ensembles - a knowledge reuse framework for combining multiple partitions</article-title>
          .
          <source>JMLR</source>
          <volume>3</volume>
          (
          <year>December 2002</year>
          )
          <fpage>583</fpage>
          -
          <lpage>617</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. G¨orlitz,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Sizov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Staab</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          : Pints:
          <article-title>Peer-to-peer infrastructure for tagging systems</article-title>
          .
          <source>In: Proc. 7th International Workshop on Peer-to-Peer Systems</source>
          . (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Berger-Wolf</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saia</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A framework for analysis of dynamic social networks</article-title>
          .
          <source>In: Proc. 12th Int. Conf. on Knowledge Discovery and Data Mining</source>
          . (
          <year>2006</year>
          )
          <fpage>523</fpage>
          -
          <lpage>528</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>