<!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>A Category-Driven Approach to  Deriving Domain Specific Subset of Wikipedia</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>© Anton Korshunov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Denis Turdakov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jinguk Jeong</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Minho Lee</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Changsung Moon</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Convergence Solution Team, DMC R&amp;D Center, Samsung Electronics Co., Ltd</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>While many researchers attempt to build up different kinds of ontologies by means of Wikipedia, the possibility of deriving highquality domain specific subset of Wikipedia using its own category structure still remains undervalued. We prove the necessity of such processing in this paper and also propose an appropriate technique. As a result, the size of knowledge base for our text processing framework has been reduced by more than order, while the precision of disambiguating musical metadata (ID3 tags) has decreased from 98% to 64%.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        There's no need to introduce Wikipedia as a world's
largest and most rapidly expanding source of
information on many domains in almost every
language. At the time of drafting this paper, there are
279 Wikipedias in different languages, with more than
17,870,000 articles, 1,920,000 uploaded images, and
27,540,000 registered users [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. 39 Wikipedias contain
more than 100,000 articles each. The English edition
remains the largest Wikipedia, over three times as large
as the second largest edition, the German Wikipedia.
That's why it is reasonable to start investigating new
possibilities with English Wikipedia as a most
comprehensive source.
      </p>
      <p>
        By now, Wikipedia has already got a lot of colorful
detailed descriptions. Conventional features of
Wikipedia are well-known and discussed widely
in [
        <xref ref-type="bibr" rid="ref2 ref25">2, 25</xref>
        ]. They include concept identification by ID or
URL, multiple and dense link structure, and category
system which is edited and maintained by Wikipedia
users as well as articles.
      </p>
      <p>
        Researching community has proved more than once
that structure and content of Wikipedia are very
peculiar and valuable domains to study. One of the most
promising directions is automated ontology building
which may be accomplished by extracting well-defined
concepts and relations among them from Wikipedia.
The latest efforts in this field are DBpedia [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], the work
of Ponzetto et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], YAGO [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], etc. All these
approaches mainly exploit the data derived from
infoboxes and category structure. Due to continuous
enriching these techniques with better algorithms and
data sources, the quality of resulting ontologies
becomes remarkable.
      </p>
      <p>
        Despite these successes in automated upper-level
ontology building, most of domain specific ontologies
(for instance, UMLS [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]) are still assembled manually.
Needless to say, they are often costly to build and to
keep them up to date.
      </p>
      <p>In this paper, we consider the possibility of loosely
supervised extraction of domain specific ontologies
from upper-level ones. This is becoming feasible in
recent years as high-quality upper-level ontologies grow
more versatile and involve the knowledge of many new
domains. Moreover, many field experts from all around
the world often tend to pay their efforts to expand
existing widespread ontologies, rather than to create
their own or refine domain specific ones.</p>
      <p>Our interest in this research is caused by necessity
of reducing the knowledge base for our text processing
framework Texterra1. This base comprises a number of
textual indices produced by our Wikipedia parser.
These indices are loaded into RAM during the
initialization of Texterra server and take roughly 4.5 Gb
of disk space and 2 Gb of RAM. Such a consumption is
acceptable for workstations, but not for mobile devices
with restricted amount of memory. Thus, if one would
attempt to build a standalone mobile application</p>
      <sec id="sec-1-1">
        <title>1 http://modis.ispras.ru/texterra</title>
        <p>intended for text processing, then its data structures
simply would not fit in the RAM. Obviously, such
applications - if developed - would be highly demanded
to date.</p>
        <p>The disambiguation2 of musical metadata (i.e., ID3
tags of MP3 files) is an important part of Texterra
functionality. These algorithms are well-tuned by the
moment and show the precision of 98% on our test set.
But it's obvious that only a narrow range of Wikipedia
dictionary is utilized during processing ID3 tags of MP3
files. There are mostly named entities, such as musical
compositions, song writers, singers, etc. Generally
speaking, the amount of knowledge required to perform
such a disambiguation is likely much less than that
available from the entire knowledge base.</p>
        <p>Making the knowledge base more specialized by
removing concepts which are unimportant for this task
is what comes to mind first in this case. So, we've
implemented a system intended to produce Wikipedia
subsets covering the knowledge of the given domain.
We decided not to narrow the scope of our research to
Wikipedia derivates (such as YAGO). But, although the
algorithms have been evaluated with Wikipedia only,
they are applicable to any ontology with well-defined
polyhierarchical taxonomy.</p>
        <p>Of many interesting aspects of Wikipedia, here we
take into account only categorization and linkage within
its content. The category system in Wikipedia plays the
role of a taxonomy and provides the function to search
articles by narrowing down categories. Given this, the
task of deriving domain specific concepts from
Wikipedia dictionary seems to be solvable by mining
the category system for the list of concepts tightly
connected with the given base categories. However, it
is impossible to simply determine all concepts
belonging to a particular category. The reason is that the
category system of Wikipedia is organized into network
structure, not a perfect tree structure. Furthermore, the
lists of parent categories for many articles are redundant
and contradictory. Thus, they don’t allow detecting the
most relevant categories for a given page without
analyzing the neighbour pages.</p>
        <p>
          Therefore, we utilized concept vectorization method
specialized for the category system in Wikipedia, with
several additional expansion methods, as proposed
in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. The authors express affiliation relations among
concepts as category-based concept vectors. Each
element (dimension) of a concept vector represents not
only binary affiliation information (whether the concept
belongs to a certain category or not), but also the degree
of affiliation (called belonging degree in the rest of this
paper). After applying different cutting techniques to
the obtained concept vectors, the list of domain specific
concept IDs is outputted. This list is further applied to
Texterra knowledge base resulting in the reduced
2 Word sense disambiguation is an open problem of natural
language processing, which governs the process of identifying
which sense of a word (i.e. meaning) is used in a sentence,
when the word has multiple meanings (polysemy).
domain specific version of the latter. The explanation of
our approach is given in Section 4.
        </p>
        <p>Section 2 contains the review of related work. The
key features of Wikipedia category structure are
discussed in Section 3.</p>
        <p>Having a fast access to any point of Wikipedia
category structure was one of the crucial tasks for our
research. After a number of unsuccessful tries to reuse
the existing graph libraries, we've coded our own
implementation, named WikiGraph. See Section 5 for
details.</p>
        <p>Given a set of specialized versions of the knowledge
base, we conducted a series of experiments in order to
learn how the reducing of Texterra knowledge base
affects the accuracy of results. Refer to Section 6 for
evaluation methodology. Section 7 contains
experimental results and discussion.</p>
        <p>We conclude in Section 8 with our research findings
and discussion about possible improvements.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2 Related work</title>
      <sec id="sec-2-1">
        <title>2.1 Automated ontology building</title>
        <p>
          The field of automated ontology learning usually acts
by taking textual input and transforming it into a
taxonomy or a proper ontology. The texts are usually
obtained from printed sources (books, magazines,
newspapers) and Internet (online media, blogposts,
results of querying search engines). However, the
learned ontologies are small and hard-to-update; in
addition, evaluations have revealed a rather poor
performance [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>
          As mentioned before, the most accurate and, thus,
valuable non-human assembled ontologies are now built
by automatically deriving explicit facts from Wikipedia.
One of the early attempts was the work of Gregorowicz
and Kramer [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. They focused on deriving a
termconcept map which consists of terms, concepts, and
relationships between them. Only articles, redirects, and
disambiguation pages are considered. Ponzetto and
Strube [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] were deriving a taxonomy from the entire
Wikipedia category structure. Despite their successes,
the resulted taxonomy is rather simple (supports only
is-a and not-is-a relations) and domain independent.
The work described in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] enhances this taxonomy with
instance and class information for each node. Cui et
al. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] introduce even more sophisticated approach to
building the ontology of concepts by making use of
infobox structures, definition sentences, and category
labels. Finally, YAGO2 [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] is probably the most
complete and accurate semantic knowledge base
derived automatically from Wikipedia and other
sources. The information extraction technique for
YAGO2 assumes varied utilization of infoboxes,
category structure, redirects, and other data within
Wikipedia. Furthermore, the quality check is performed
to find possible mistakes. As a result, the quality of
extracted ontology is sufficient for the majority of
IRand NLP-related tasks.
        </p>
        <p>Notwithstanding the foregoing, newly emerging
research fields often require well-structured and
comprehensive domain specific ontologies. Researchers
don't need a huge knowledge base, but an extensible
corpus of specific concepts with good coverage of
domain knowledge. If such ontologies were built in a
completely automated way, then this would avoid the
necessity of assembling them from scratch manually.
We believe that Wikipedia contains enough information
for this task to be completed. Below is the description
of approaches we've applied to narrowing Wikipedia
dictionary to domain specific subset.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Computing semantic relatedness</title>
        <p>
          We consider the key problem of our study as the
computation of semantic relatedness between base
toplevel categories and underlying articles. According to
Budanitsky and Hirst [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], semantic relatedness is
defined to cover any kind of lexical or functional
association that may exist between two words. This
definition suits us more than semantic similarity, which
is typically defined via the lexical relations of
synonymy and hypernymy.
        </p>
        <p>
          There were many approaches proposed for
estimation of semantic relatedness between concepts in
Wordnet (Rada et al., Leacock and Chodorow, Wu and
Palmer, Resnik, Jiang and Conrath, Lin) and between
Wikipedia articles [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] (Dice, Jaccard, SimRank).
Among them are purely graph-based measures and
those involving information content. In this paper, we
consider only graph-based approaches.
        </p>
        <p>
          Since a significant part of Wikipedia knowledge is
encoded in its graph-like link structure, it seems
reasonable to apply existing graph-based methods or
introduce new ones. Zesch and Gurevych [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] proved
that many Wordnet-based semantic similarity measures
are applicable to Wikipedia with minor changes.
        </p>
        <p>Obviously, it’s also attractive to estimate the
strength of ties between different levels of taxonomy
(between base categories and its articles, in our case). In
this context, the links among articles appear not so
important. Therefore, new category-based semantic
relatedness measures are emerging.</p>
        <p>
          Chernov et al. [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] measured semantic relatedness
between categories, not between concepts and
categories, as it's required for our task. Nonetheless,
they proposed several very useful and applicable
techniques.
        </p>
        <p>
          Strube and Ponzetto [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] employed Wikipedia,
Wordnet, and Google for computing semantic
relatedness between concepts. For two Wikipedia
articles being compared, they extracted two categories
lists. Given the category lists, for each category pair
they performed a depth-limited search of maximum
depth of 4 for a least common ancestor. As they
noticed, limiting the search improves the results. But
this is obviously inappropriate for computing
relatedness between top-level category and articles from
all its subcategories.
Syed et al. [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] tried to predict the topic of textual
documents by matching them against Wikipedia articles
based on cosine similarity3. Then, they extracted
categories of found articles and scored them based on
different scoring schemes with or without spreading
activation4. The proposed approach implies scoring the
links with many categories for each given Wikipedia
article using bottom-up traversing of category structure.
This is acceptable for a small set of articles, but not for
our task.
        </p>
        <p>
          To the best of our knowledge, Cui et al. [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] were
the first who introduced an approach to deriving domain
specific corpus from Wikipedia. The main idea is to
generate a domain hierarchy from the hyperlinked pages
of Wikipedia. Then, only articles strongly linked to this
hierarchy are selected. They build a so-called
Classification Tree by traversing down the directed
graph of Wikipedia category structure starting from the
root node. This tree includes both categories and
articles and in fact is merely a connected branch of
Wikipedia classification graph with a specified root
node. Then, the Classification Tree is traversed with a
simple adaption of breadth-first search algorithm.
During the traversal, each node is given a score on the
relevance to the specific domain. Once the traversal is
completed, the terminal nodes (article pages) are ranked
according to the domain relevance scores. Pages over a
certain threshold are considered domain relevant. The
node score can consider either ingoing or outgoing
edges. Despite the proposed technique is quite simple,
the results are remarkable.
        </p>
        <p>
          A more sophisticated algorithm has been proposed
later by Shirakawa et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. The concept vectorization
method is introduced for finding concepts which are
highly correlated with the base category (refer to
Section 1 for brief explanation). The main assumption
there is that the relatedness between categories gets
lower as the number of traversed pages (i.e., hopcount)
increases. In addition to the number of links for each
node, they also take into account the number of paths
between the concept and the base category, as well as
hopcounts of these paths. As it seems to us, this
understanding reflects the nature of Wikipedia
classification approach much more precisely than ever
before. Several heuristics are suggested for estimation
of semantic relatedness by counting paths properties in
the subgraph of desired base category. However,
authors didn't compute these scores for thousands of
3 Cosine similarity is a measure of similarity between two
vectors by measuring the cosine of the angle between them.
Calculating the cosine of the angle between two vectors thus
determines whether two vectors are pointing in roughly the
same direction. This is often used to compare documents in
text mining.
4 Spreading activation is a method for searching associative
networks, neural networks, or semantic networks. The search
process is initiated by labelling a set of source nodes with
weights or "activation" and then iteratively propagating or
"spreading" that activation out to other nodes linked to the
source nodes.
articles with hundreds of paths for each of them at a
time, as it's required in this research. Moreover, the
efficiency of both approaches described in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] and [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]
has not been evaluated in real tasks. In both cases, the
evaluation was performed by comparing the results of
algorithms with answers of experts knowledgeable in
certain fields. This looks persuasively when proving the
theoretical applicability, but is not enough for
unconditional embedding into the real system.
        </p>
        <p>
          In this work, we mainly exploited the ideas
formulated in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] and [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. Our main goal was to
estimate the scalability and practical applicability of
these approaches for real tasks which imply processing
of large amount of data.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Features of Wikipedia category structure</title>
      <p>
        The advantages of Wikipedia category structure were
studied by authors of [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and many others. Here we
summarize only those features needed for better
understanding of our approach.
      </p>
      <p>Categories of Wikipedia can be organized in a
graph, where the nodes are categories and the edges are
hyperlinks. In this work we also add articles to this
graph. However, we still name it the Wikipedia
category graph (WCG in the rest of the paper).</p>
      <p>The links expressing which concept belongs to what
categories are called category links. We call them
belonging links or belonged links according to their
direction. In this paper, we only consider the belonging
links, i.e. links from articles or subcategories to
upperlevel categories. The English version of Wikipedia, as
of September 2010, contains ~13 million category links.</p>
      <p>The typical code of categorized article page is
shown at Figure 1. It combines XML and Wiki markup.
The list of belonging categories is situated at the
bottom. Categories have their own pages similar to
articles. Category links at these pages also express
which category belongs to what categories.</p>
      <p>
        Categorization is a useful tool to group articles for
ease of navigation, and correlating similar information.
However, not every verifiable fact (or the intersection
of two or more such facts) in an article requires an
associated category. For lengthy articles, this could
potentially result in hundreds of categories, most of
which aren't particularly relevant. This may also make it
more difficult to find any particular category for a
specific article. Such overcategorization is also known
as "category clutter" [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>
        For these reasons, the WCG has an extremely
complex nature. It is directed and has not a strong
hierarchical structure as some may expect. Any
category may branch into subcategories, and it is
possible for a category to be a subcategory of more than
one parent [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. Upon closer inspection, the WCG is
rather a polyhierarchy, or even a net (Figure 2).
      </p>
      <p>
        The figure has been produced by CatGraph [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
This tool draws a cloud of links for the desired
category. Each rectangle represents a category. Each
arrow connecting two rectangles denotes a "belongs-to"
relation, that is, the destination category is a
subcategory of the initial one (an example of belonging
link). The cloud shown in the figure is for "Recorded
music" category (bolded).
      </p>
      <p>
        It's worth noting here that not every Wikipedia page
is categorized. According to statistics [
        <xref ref-type="bibr" rid="ref22 ref23">22, 23</xref>
        ], there are
thousands of uncategorized articles and categories.
Moreover, certain categories are assigned
incorrectly [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. We suggest considering these facts as a
possible drawbacks for any category-based algorithm.
In addition, automated categorizing (i.e., determining a
topic of an uncategorized page) seems to be a
challenging task. This can be done with certain
accuracy by processing page title and text with specific
NLP techniques and finding appropriate categories in
WCG.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4 Deriving a domain specific subsets</title>
      <p>The developed system consists of three main parts:
1. Link Filter produces a ready-for-load textual
representation of WCG;
2. Topic Deriver performs the main processing;
3. Reducer produces a domain specific version of
the Texterra knowledge base5.</p>
      <p>All algorithms evaluated in this paper were
implemented in the Java programming language.</p>
      <sec id="sec-4-1">
        <title>4.1 Link Filter</title>
        <p>The input for Link Filter is Wikipedia links file
containing information about all links between
Wikipedia pages, along with their type and direction.
The result is category links file that contains only links
forming the WCG. Every line of this file denotes the
affiliation of belonging between two pages and sets the
type of the belonging page. For example,
means that page with ID 12 ("Anarchism") is belonging
to the category with ID 780754
("Category:Anarchism"). Moreover, the belonging page
("Anarchism") is an article because the last field is "0"
("1" would mean that the belonging page is a category).</p>
        <p>
          Thus, category links file is a complete textual
representation of the WCG and contains no unwanted
data such as page titles and link types. Furthermore,
unlike the authors of [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], we’ve also removed pages of
certain types: lists, classifications, portals, redirects,
disambiguation pages, and user pages. This helped us to
make the WCG more lightweight without loss of any
meaningful concepts. As a result, category links file
contains 13,001,687 links between 593,796 categories
and 3,156,822 articles.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2 Topic Deriver</title>
        <p>Topic Deriver loads category links file on start and fills
in the internal structures of WikiGraph (refer to Section
5 for details). The workflow for this stage is shown at
the Figure 3. Here we touch on only the main steps.</p>
        <p>For our analysis, we denote as a set of concepts,
as a set of categories, and as a set of belonging
links. Then, the category system in Wikipedia is
expressed as a directed graph . A path is a
sequence of edges that connects one node with another.
The path length (hopcount) is the number of edges
along that path.</p>
        <p>The key task of Topic Deriver is to obtain the list of
concepts connected semantically with certain domain.
Herewith, this connection should be the tightest one,
that is, these concepts should be more relevant to the
5 The Texterra knowledge base for this research has been
obtained by parsing the dump of English Wikipedia, as of
September 2010.
desired domain than to others. As this task is
computationally complex and, thus, supposed to be run
rarely, it’s allowably to choose the base categories
manually for experiments. We’ve selected 3 base
categories that likely cover the majority of concepts
required for disambiguating musical metadata:
 Category:Musical compositions
 Category:Recorded music
 Category:Music-related lists</p>
        <p>
          For each of selected base categories, a separate
subgraph is built. This subgraph is almost the same as
Classification Tree in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. The base category serves as
a root node, and a tree-like structure of underlying
pages is obtained from WCG. The only difference from
approach proposed in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] is that we use depth-first
search (DFS), not breadth-first search (BFS). The
reason for this is that the resulting subgraphs are often
large enough, thus, it’s inappropriate to waste the
memory for storing the FIFO queue required for BFS
traversal [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. Moreover, as depth-first tree is expected
to contain back edges and cross edges, the list of visited
nodes has been added to avoid repetitive visiting and
loops.
        </p>
        <p>
          A concept vector in our research specifies the degree
of affiliation between the base category and each of
articles reachable by traversing down the subgraph of
the base category starting from its root node. As
mentioned, the heuristics for building concept vectors
have been borrowed from [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] with some modifications.
We describe them briefly below, for more detailed
information refer to the source paper.
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>BVG (Basic Vector Generation method) generates</title>
        <p>concept vectors by tracking back parent categories in
the category system and calculating the belonging
degree to each concept.</p>
        <p>The belonging degree from concept to
category is defined by the following equation:</p>
        <p>Here, denotes a set of paths from to ,
denotes the hopcount of path , denotes a
monotonically increasing function on the hopcount of
path (given as ).</p>
        <p>
          It’s noteworthy that in the original method [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] paths
with a hopcount of more than 4 were ignored. We asked
the authors for the reasons of this. The response was
―Because long paths scarcely affect values in concept
vectors in most cases. Of course, sometimes long paths
affect the values‖. We’ve decided to remove this
constraint in our experiments, that is, we consider all
paths between two nodes.
        </p>
        <p>As a result, processing time may become too large
for base categories from high levels of the WCG
hierarchy. The reason for such behaviour is an exclusive
computational complexity of finding all paths between
two arbitrary nodes in the graph. It's well-known that
this task is NP-complete in general case.</p>
        <p>Musical
compositions
Knowledge base
(complete)
Knowledge base
(domain specific)</p>
        <p>Since WCG contains millions of edges, the maximal
path length may reach hundreds of edges, leading to
impetuous increase of processing time when trying to
process top-level categories. This is exactly why we've
picked up a "safe" set of categories, which are
processed relatively fast and cover the knowledge of
field we've chosen for experiments.</p>
        <p>Notwithstanding, we believe that taking all existing
paths between two nodes into account allows to
estimate the belonging degree more precisely. However,
we didn’t confirm this assumption experimentally.</p>
        <p>
          To reduce the complexity of finding all paths
between two arbitrary nodes, we tried to re-use one of
existing techniques [
          <xref ref-type="bibr" rid="ref27 ref28 ref29">27-29</xref>
          ]. Finally, the APAC
algorithm [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] has been chosen. This algorithm does not
need to keep track of all visited vertices and only stores
the feasible paths.
        </p>
        <p>For domain specific areas where categories are
excessively segmentalized, the BVG method cannot
extract accurately concept vectors due to the increase in
hopcount. To solve this problem, the Single Parent
Integration (SPI) method is proposed. The authors
confirmed from their experiences that a part in the
category system which corresponds to (excessively
segmentalized) categories for a domain specific area
forms almost a tree structure. Based on this fact, when a
concept or a category has only one (onehop/multihop)
belonging link, the SPI method shortens the belonging
link. This is based on the idea that the characteristic is
not dispersed even when parent categories are tracked
back if the concept or category has only one (onehop or
multihop) belonging link.</p>
        <p>In the SPI method, if there is only one belonging
link from node (or ) to , the path length of
is accounted as 0, which results in reformation of
to , and then the BVG method is applied to
.</p>
      </sec>
      <sec id="sec-4-4">
        <title>VVG (Variance-based Vector Generation</title>
        <p>method) considers the weight of each category link.
This method is based on the idea that the belonging
degree from a certain category (concept) to parent
categories depends on the number of parent categories,
thus the weight of each category link is inversely
proportional to the number of parent categories.</p>
        <p>Thus, the weight of a category link becomes 1 if the
category has only one parent category. That’s why the
authors argue that the VVG method contains the same
feature as the SPI method. Therefore, they didn’t
combined VVG with SPI. We, on the other hand, tried
both BVG + SPI and VVG + SPI combinations and
confirmed that VVG + SPI performs slightly better than
VVG itself (see Section 7 for details).</p>
        <p>In the VVG method, weights are set to all belonging
links, and the belonging degree from concept to
category is calculated according to the weights.
When the number of belonging links from node (or
) to category is , weight of each of the
belonging links is defined as follows:</p>
        <p>Then, given all paths
, belonging degree
category is defined as follows:
from
from concept
is the weight of path
following equation:
, calculated by the</p>
        <p>Here, denotes a set of all
belonging links forming path and denotes a
belonging link.</p>
        <p>After the vector is built and sorted in descending
order of belonging degree, it's time to apply cutting
technique to it and get the list of IDs most relevant to
the base category. We've tried out two approaches:
1. belonging degree threshold – concepts with
belonging degrees less than the mean value of
belonging degree for each vector are filtered;
2. percent threshold - 25% of concepts with the
lowest belonging degrees are filtered.</p>
        <p>Finally, Topic Deriver produces domain concepts
file that contains IDs of derived concepts.</p>
      </sec>
      <sec id="sec-4-5">
        <title>4.3 Reducer</title>
        <p>Reducer is the final part of the system. It takes domain
concepts file as input, applies the concepts' list to
complete Texterra knowledge base, and produces the
reduced domain specific version of the latter. It contains
not only concept IDs, but also full information about
each of them, including the part of category structure
that covers selected concepts. Therefore, the domain
specific version is consistent and ready for loading into
Texterra.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 An approach to storing Wikipedia category graph</title>
      <p>As showed above, fast access to any point of Wikipedia
category structure is necessary for efficiency of all
described computations. In particular, VVG method
requires both entire WCG and subgraph of current base
category to be available simultaneously.</p>
      <p>
        Chernov et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] studied semantic relationships
between Wikipedia categories. They exported the
dataset of about 670 thousands pages into a MySQL
database. The data size was ~1.2 Gb. But, like many
other researchers, they picked just a small sample of
pages for processing (few thousands). For such
smallscale approaches, even a usual on-disk relational DB is
fast enough.
      </p>
      <p>But our goal was to create a technique for fast
iterative traversing through even a top-level categories
with millions pages. Thus, we resorted to in-memory
storage of WCG.</p>
      <sec id="sec-5-1">
        <title>5.1 Evaluation results for known graph libraries</title>
        <p>
          We've tried out two third-party libraries for storing the
WCG in the JVM's memory. First of them, JUNG [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ],
showed satisfying performance results on small-scale
subgraphs. But the entire WCG was impetuously
expanding while loading and didn’t fit in the RAM of
the test machine (8 Gb). Second one, JGraphT [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ],
demonstrated almost the same behaviour: the WCG
consumed a bit less amount of memory, but still too
much. These observations hinder to utilize these
libraries as a solution for WCG storing.
        </p>
        <p>
          But there are a number of other libraries for graph
storage which provide handy interface to stored data.
We've found neo4j [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ] and WebGraph [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ] libraries.
They may appear useful during the further research.
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2 WikiGraph</title>
        <p>The common shortcoming of all Java graph
implementations we've tested seemed to be the
redundancy of data stored in the RAM. Thus, the right
way is to change the data storage manner. We put this
into practice in WikiGraph.</p>
        <p>All the prominent features of WikiGraph are due to
the fact that it's intended to store WCG:
1. It is directed (as category links have a direction);
2. It introduces the notions of category and article
and provides a powerful tooling to store and
maintain the data on affiliations between them;
3. Only IDs and types of pages are stored. Each
vertex is presented as a map consisting of [ID,
isCategory] entries. This allows to store page type
as a Boolean variable (TRUE is for category,
FALSE is for article). All page data are saved as
primitive variables, not an objects;
4. Incidence list has been chosen as a main data
structure (along with vertices and edges lists). This
is particularly important as the WCG is quite
dense:
. The incidence list
is organized into a set of [vertex, [list of incident
edges]] entries. Each list is sorted in ascending
order of edges IDs just after the loading. This
avoids the need to look over the entire incidence
list to get all the edges incident to an arbitrary
vertex. Moreover, due to sorting of the lists, it's
allowed to interrupt the search over them after the
edge with greatest expected ID is found;
5. All kinks (self-to-self links) are removed;
6. Initial capacity of the incidence list is beforehand
set to approximate amount of vertices in WCG
(3,500,000 for this case). This saves some memory
allocation costs while loading;
7. A set of helper methods is developed also (for
instance, a method for deriving a subgraph of a
given base category). This set provides usable and
fast interface to the WCG data.</p>
        <p>After the described features were implemented, they
allowed us to fit WCG entirely in the RAM (~4 Gb
needed) and lead to significant speed-up of loading and
processing.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6 Evaluation methodology</title>
      <p>Obviously, a domain specific subset of Wikipedia
should have a good coverage of domain knowledge. But
there is no easy direct way to evaluate quality of such a
subset. The reason is that we must evaluate the
completeness of knowledge available from Wikipedia's
articles in resulting subset compared to that of specific
domain. It's clear that this is rather difficult. In addition,
the quality of link structure in the resulting subset
should be also evaluated.</p>
      <p>Therefore, we applied so called in vivo approach for
evaluation. To estimate the quality of proposed
methods, we studied how applying of the extracted
subsets affects the performance of Texterra as a whole.</p>
      <p>
        As mentioned before, one of Texterra parts is the
system that enriches ID3 tags for musical recordings
with links to corresponding articles of Wikipedia. This
system utilizes graph structure to compute semantic
relatedness between Wikipedia pages [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Then,
semantic relatedness is exploited by word sense
disambiguation algorithm. The latter is intended to
choose the most relevant Wikipedia page from several
homonymic variants.
      </p>
      <p>We assume that each page of Wikipedia describes
one possible meaning. WSD algorithm selects the most
consistent combination of meanings that correspond to
input ID3 tags. For sequence of input tags, it computes
similarity between all pairs of meanings. The weight of
a sequence is a sum of weights of all its pairs. Then, the
algorithm detects a sequence with greatest weight.</p>
      <p>To show good results, the derived subset should
include as much as possible Wikipedia articles
associated with a specific domain. In additional, link
structure should be good enough for relatedness
computation. Therefore, this approach allows evaluating
both the quality of dictionary content and the quality of
link structure.</p>
      <p>For testing purpose, we derived several
musicrelated subsets of Wikipedia by running different
combinations of heuristics and used these subsets for
described system. Then, we consequentially loaded
these domain specific versions of knowledge base into
Texterra and ran the tests. We used a small corpus of 20
random musical compositions and 49 different tags.
Then, we estimated the precision of automated
disambiguation by comparing the results of algorithm
with manually disambiguated tags.</p>
    </sec>
    <sec id="sec-7">
      <title>7 Experimental results</title>
      <p>The configuration of test workstation was as follows:
Intel Core 2 Duo CPU (3.16 GHz), 8 Gb RAM,
Windows 7 Enterprise 64 bit, Java SE 6 Development
Kit 1.6.0.20.</p>
      <p>Sample vectors for different combinations of
heuristics are provided in Tables 1-4. Each sample
vector comprises three concepts with highest belonging
degree and three concepts with lowest values. The base
category is Category:Musical compositions. It’s
noteworthy that BVG vector differs significantly from
VVG one. Furthermore, enabling SPI affects both
vectors.</p>
      <p>The results of the experiments with different
combinations of vector generation methods and cutting
techniques are presented in Table 5. Contents of all 3
base categories listed in Section 4.2 are included.</p>
      <p>Ground truth row corresponds to original Texterra
knowledge base. As can be seen, it is huge, but ensures
the best accuracy of disambiguation.</p>
      <p>No threshold is for case when no cutting technique
is applied to the concept vectors. In other words, this set
of IDs exactly matches the set of all articles from
subgraphs of all base categories. This version is much
smaller, but the precision gets lower also. This precision
drop (when no threshold is applied yet) is only due to
imperfect choice of base categories. They merely don't
cover all concepts required for precise disambiguation.
It's also obvious that all comparisons of heuristics
results should be done with no threshold results, not
with ground truth.</p>
      <p>As one can see, BVG performs a bit better than
VVG. The most accurate combinations of heuristics are
BVG + percent threshold and BVG + SPI + percent
threshold. Enabling SPI for VVG slightly increases the
precision of disambiguation. Percent threshold is
definitely better than belonging degree threshold.</p>
      <p>What's important here is that the size of Texterra
knowledge base (both on disk and in RAM) depends
linearly on the number of concepts. Thus, the challenge
is to find a compromise between the precision of
disambiguation and the size (and contents) of the
knowledge base.</p>
      <p>The conducted experiment was just our first effort of
this kind. Implemented algorithms allowed us to reduce
the size of Texterra knowledge base by more than order,
while the precision of disambiguating musical metadata
has decreased from 98% to 64%. We believe that these
results prove the applicability of proposed approach for
deriving domain specific subset of Wikipedia.
Certainly, there're still many things to improve.</p>
    </sec>
    <sec id="sec-8">
      <title>8 Conclusion and future work</title>
      <p>According to the results of this study, we outline the
following:
 Wikipedia categories network may be utilized
for domain specific subset of Wikipedia;



</p>
      <sec id="sec-8-1">
        <title>Using concept vectors seems to be appropriate way to represent the affiliations of belonging between Wikipedia pages;</title>
      </sec>
      <sec id="sec-8-2">
        <title>BVG performs a bit better than VVG;</title>
      </sec>
      <sec id="sec-8-3">
        <title>SPI often improves the results;</title>
      </sec>
      <sec id="sec-8-4">
        <title>Percent threshold showed the best results as a</title>
        <p>cutting technique.</p>
        <p>
          Possible directions of future work include:
1. As noted by the authors of [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], the selection of
reorganize the WCG;
5. Add a facility for storing the results of semantic
relatedness computation to boost the further
processing;
6. Develop the approximation algorithm for finding
all paths between two arbitrary nodes in the
WCG.
        </p>
        <p>In this work, we’ve demonstrated the possible
benefits of automated building of the domain specific
ontologies. Also, we’ve tested different heuristics while
implementing the system for such processing. An
original approach to storing WCG in the RAM has been
proposed, along with specific evaluation methodology.</p>
        <p>
          The described approach can be applied to any
ontology with well-defined polyhierarchical taxonomy
(for instance, YAGO2). As it seems to us, weighting the
existing semantic connections is always a challenging
task while building any more or less large ontology.
This may be helpful for any domain dependent
Wikipedia-related research [
          <xref ref-type="bibr" rid="ref34 ref35">34, 35</xref>
          ].
        </p>
        <p>Threshold
belonging degree</p>
        <p>percent
belonging degree</p>
        <p>percent
belonging degree</p>
        <p>
          percent
belonging degree
percent
—
—
the root node is vital to the quality of the domain
specific corpus. Thus, it’s reasonable to
introduce some heuristics for automated
identifying of the most appropriate base category
given just a set of specific keywords. Moreover,
there can be several base categories with either
manually or automatically set relevance levels.
For example, to perform the search for
"Musicians of World War II" a user should
provide 2 base categories as an input:
Category:Musicians with relevance level of 0.9
and Category:World_War_II with relevance
level of 0.5;
2. Try other cutting techniques for concept vectors
(i.e., attempt to detect the distribution of
belonging degrees and utilize it);
3. Detect and remove meaningless pages from the
WCG (i.e., pages from administrative section of
Wikipedia [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]);
4. Distinguishing between classes and instances
among categories [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] may help to prune and/or
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>[1] List of Wikipedias - Meta. http://meta.wikimedia.org/wiki/List_of_Wikipedia s</mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Shirakawa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Nakayama</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Hara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Nishio</surname>
          </string-name>
          .
          <article-title>Concept Vector Extraction from Wikipedia Category Network</article-title>
          .
          <source>In Proceedings of 3rd International Conference on Ubiquitous Information Management and Communication (ICUIMC</source>
          <year>2009</year>
          ), pp.
          <fpage>71</fpage>
          -
          <lpage>79</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Auer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bizer</surname>
          </string-name>
          , G. Kobilarov,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lehmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cyganiak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z. G.</given-names>
            <surname>Ives. Dbpedia</surname>
          </string-name>
          :
          <article-title>A nucleus for a web of open data</article-title>
          .
          <source>In ISWC</source>
          , volume
          <volume>4825</volume>
          <source>of LNCS</source>
          , pages
          <fpage>722</fpage>
          -
          <lpage>735</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Simone</surname>
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Ponzetto</surname>
            ,
            <given-names>Michael</given-names>
          </string-name>
          <string-name>
            <surname>Strube</surname>
          </string-name>
          .
          <article-title>Deriving a large scale taxonomy from Wikipedia</article-title>
          .
          <source>In AAAI'07: Proceedings of the 22nd national conference on Artificial intelligence</source>
          , pp.
          <fpage>1440</fpage>
          -
          <lpage>1445</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Fabian</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Suchanek</surname>
          </string-name>
          , Gjergji Kasneci, Gerhard Weikum.
          <article-title>YAGO: A Large Ontology from Wikipedia and WordNet</article-title>
          . In
          <source>Elsevier Journal of Web Semantics</source>
          , Vol.
          <volume>6</volume>
          , No.
          <issue>3</issue>
          , pp.
          <fpage>203</fpage>
          -
          <lpage>217</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Unified</given-names>
            <surname>Medical Language System (UMLS</surname>
          </string-name>
          )
          <article-title>- Home</article-title>
          . http://www.nlm.nih.gov/research/umls/
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>P.</given-names>
            <surname>Buitelaar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Cimiano</surname>
          </string-name>
          ,
          <string-name>
            <surname>B.</surname>
          </string-name>
          Magnini (Eds.).
          <article-title>Ontology Learning from Text: Methods, Evaluation and Applications</article-title>
          .
          <source>In Frontiers in Artificial Intelligence and Applications Series</source>
          , Vol.
          <volume>123</volume>
          , IOS Press,
          <year>July 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Gregorowicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Kramer</surname>
          </string-name>
          .
          <article-title>Mining a LargeScale Term-Concept Network from Wikipedia</article-title>
          .
          <source>Technical Report</source>
          #
          <fpage>06</fpage>
          -
          <lpage>1028</lpage>
          , The MITRE Corp., Oct.
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Cäcilia</given-names>
            <surname>Zirn</surname>
          </string-name>
          , Vivi Nastase,
          <string-name>
            <given-names>Michael</given-names>
            <surname>Strube</surname>
          </string-name>
          .
          <article-title>Distinguishing between instances and classes in the Wikipedia taxonomy</article-title>
          .
          <source>In Proc. of ESWC-08</source>
          , pages
          <fpage>376</fpage>
          -
          <lpage>387</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Gaoying</surname>
            <given-names>Cui</given-names>
          </string-name>
          , Qin Lu,
          <string-name>
            <given-names>Wenjie</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <surname>Yi-Rong Chen</surname>
          </string-name>
          .
          <article-title>Mining Concepts from Wikipedia for Ontology Construction</article-title>
          .
          <source>In Proceedings of Web Intelligence/IAT Workshops</source>
          , pp.
          <fpage>287</fpage>
          -
          <lpage>290</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hoffart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Suchanek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Berberich</surname>
          </string-name>
          ,
          <string-name>
            <surname>G. Weikum.</surname>
          </string-name>
          <article-title>YAGO2: A Spatially and Temporally Enhanced Knowledge Base from Wikipedia</article-title>
          .
          <source>Research Report MPI-I-2010-5-007</source>
          ,
          <string-name>
            <surname>Max-</surname>
          </string-name>
          Planck-Institut für Informatik,
          <year>November 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Budanitsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Hirst</surname>
          </string-name>
          .
          <article-title>Evaluating WordNetbased measures of semantic distance</article-title>
          .
          <source>In Computational Linguistics</source>
          ,
          <volume>32</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>13</fpage>
          -
          <lpage>47</lpage>
          ,
          <year>March 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D.</given-names>
            <surname>Turdakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Velikhov</surname>
          </string-name>
          .
          <article-title>Semantic Relatedness Metric for Wikipedia Concepts Based on Link Analysis and its Application to Word Sense Disambiguation</article-title>
          .
          <source>In Proc. of SYRCoDIS</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>T.</given-names>
            <surname>Zesch</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Gurevych.</surname>
          </string-name>
          <article-title>Analysis of the Wikipedia Category Graph for NLP Applications</article-title>
          .
          <source>In Proceedings of the TextGraphs-2 Workshop (NAACL-HLT)</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>Chernov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Iofciu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Nejdl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhou</surname>
          </string-name>
          .
          <article-title>Extracting Semantic Relationships between Wikipedia Categories</article-title>
          .
          <source>In Proceedings of the First International Workshop on Semantic Wikis - From</source>
          Wiki To Semantics,
          <year>June 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Strube</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. P.</given-names>
            <surname>Ponzetto. WikiRelate</surname>
          </string-name>
          !
          <article-title>Computing semantic relatedness using Wikipedia</article-title>
          .
          <source>In Proceedings of the 21st national conference on Artificial intelligence (AAAI'06)</source>
          , pp.
          <fpage>1419</fpage>
          -
          <lpage>1424</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Syed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Finin</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Joshi</surname>
          </string-name>
          .
          <article-title>Wikipedia as an Ontology for Describing Documents</article-title>
          .
          <source>In Proceedings of the Second International Conference on Weblogs and Social Media</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>G. Y.</given-names>
            <surname>Cui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. J.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y. R.</given-names>
            <surname>Chen</surname>
          </string-name>
          .
          <article-title>Corpus Exploitation from Wikipedia for Ontology Construction</article-title>
          .
          <source>In LREC</source>
          <year>2008</year>
          , Marrakech, pp.
          <fpage>2125</fpage>
          -
          <lpage>2132</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Wikipedia</surname>
          </string-name>
          :
          <article-title>Overcategorization - Wikipedia, the free encyclopedia</article-title>
          . http://en.wikipedia.org/wiki/Wikipedia:Overcateg orization
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Wikipedia</surname>
          </string-name>
          :
          <article-title>Categorization - Wikipedia, the free encyclopedia</article-title>
          . http://en.wikipedia.org/wiki/Wikipedia:Categoriza tion
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Catgraph</surname>
          </string-name>
          . http://toolserver.org/~dapete/catgraph/
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <article-title>Wikipedia:WikiProject Categories/uncategorized - Wikipedia, the free encyclopedia</article-title>
          . http://en.wikipedia.org/wiki/Wikipedia:WikiProjec t_Categories/uncategorized
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Wikipedia</surname>
          </string-name>
          :
          <article-title>Database reports/Uncategorized categories - Wikipedia, the free encyclopedia</article-title>
          . http://en.wikipedia.org/wiki/Wikipedia:Database_r eports/Uncategorized_categories
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Category</surname>
          </string-name>
          :
          <article-title>Better category needed - Wikipedia, the free encyclopedia</article-title>
          . http://en.wikipedia.org/wiki/Category:Better_categ ory_needed
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>J.</given-names>
            <surname>Soto</surname>
          </string-name>
          .
          <article-title>Wikipedia: A Quantitative Analysis</article-title>
          .
          <source>PhD thesis</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>T. H.</given-names>
            <surname>Cormen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. E.</given-names>
            <surname>Leiserson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. L.</given-names>
            <surname>Rivest</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Stein</surname>
          </string-name>
          . Introduction to Algorithms, Second Edition. MIT Press and
          <string-name>
            <surname>McGraw-Hill</surname>
          </string-name>
          ,
          <year>2001</year>
          . Section 22.
          <article-title>3: Depth-first search</article-title>
          , pp.
          <fpage>540</fpage>
          -
          <lpage>549</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>L.-E. Thorelli.</surname>
          </string-name>
          <article-title>An algorithm for computing all paths in a graph</article-title>
          .
          <source>In BIT 6</source>
          ,
          <fpage>347</fpage>
          -
          <lpage>349</lpage>
          ,
          <year>1966</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>M.</given-names>
            <surname>Migliore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Martorana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Sciortino</surname>
          </string-name>
          .
          <article-title>An algorithm to find all paths between two nodes in a graph</article-title>
          .
          <source>In Journal of Computational Physics, v.87 n.1</source>
          , pp.
          <fpage>231</fpage>
          -
          <lpage>236</lpage>
          ,
          <year>March 1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>R.</given-names>
            <surname>Simoes</surname>
          </string-name>
          . APAC:
          <article-title>An exact algorithm for retrieving cycles and paths in all kinds of graphs</article-title>
          . In Tékhne, no.
          <issue>12</issue>
          , p.
          <fpage>39</fpage>
          -
          <lpage>55</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <surname>JUNG - Java Universal</surname>
          </string-name>
          Network/Graph Framework. http://jung.sourceforge.net/
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <article-title>JGraphT - a free Java graph library</article-title>
          . http://www.jgrapht.org/
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <article-title>neo4j open source nosql graph database</article-title>
          . http://neo4j.org/
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>[33] WebGraph. http://webgraph.dsi.unimi.it/</mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <article-title>Wikipedia:Academic studies of Wikipedia - Wikipedia, the free encyclopedia</article-title>
          . http://en.wikipedia.org/wiki/Wikipedia:Academic_ studies_of_Wikipedia
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <article-title>Academic studies about Wikipedia - Wikipedia, the free encyclopedia</article-title>
          . http://en.wikipedia.org/wiki/Academic_
          <article-title>studies_ab out_Wikipedia#Natural_language_processing</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>