<!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>Virtual Documents and Answer Priors in Keyword Search over Data Graphs</article-title>
      </title-group>
      <pub-date>
        <year>1800</year>
      </pub-date>
      <abstract>
        <p>In keyword search over data graphs, an answer is a nonredundant subtree that contains the keywords of the query. Ranking of answers should take into account both their textual relevance and the signi cance of their semantic structure. A novel method for answers priors is developed and used in conjunction with query-dependent features. Since the space of all possible answers is huge, e ciency is also a major problem. A new algorithm that drastically cuts down the search space is presented. It generates candidate answers by rst selecting top-n roots and top-n nodes for each query keyword. The selection is by means of a novel concept of virtual documents with weighted term frequencies. Markov random eld models are used for ranking the virtual documents and then the generated answers. The proposed approach outperforms existing systems on a standard evaluation framework.</p>
      </abstract>
      <kwd-group>
        <kwd>Data graph</kwd>
        <kwd>keyword search</kwd>
        <kwd>query</kwd>
        <kwd>ranking</kwd>
        <kwd>answer prior</kwd>
        <kwd>virtual documents</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>Data graphs are a convenient, exible way of representing
knowledge bases. They can be constructed from a variety
of formats (e.g., XML, RDB and RDF). Their
semistructured nature makes it possible to create them incrementally,
distributively and heterogeneously. Since they do not have
a rigid schema, it is essential to support keyword search
over them (rather than querying in some formal language,
such as XQuery or SPARQL). Yet, it could be possible to
get succinct answers that have some semantic structure. In
particular, their answers can show semantic connections
between distinct units (e.g., Web pages), which is impossible
This work was supported by the Israel Science Foundation
(Grant No. 1632/12).
in ordinary keyword search, where a result is always a single
unit (e.g., document).</p>
      <p>The nodes of a data graph represent entities and
relationships, while the connections among them are introduced as
edges. Free text can be associated with nodes and edges. In
keyword search over data graphs, answer are non-redundant
subtrees that contain all the keywords of the query.</p>
      <p>Keyword search over data graphs has been investigated
extensively in recent years (cf. [5]). It involves two main
challenges: e ectiveness and e ciency. The rst one means
that we have to develop e ective methods for ranking of
answers (i.e., subtrees) that take into account the structure
(e.g., the importance of entities and the strength of
relationships among them) as well as the relevance of the keywords
of the query. The second challenge is to generate candidate
(i.e., potentially relevant) answers e ciently. This is not
an easy problem, because there could be a huge number of
subtrees that contain all the keywords of the query.</p>
      <p>A common approach begins by assigning weights to the
nodes and edges of the data graph. Then, the search for
answers starts from nodes containing keywords of the query.
The weights are intended to focus the search on paths that
lead to roots of the most relevant answers. However, those
weights are assigned based on local considerations (e.g., the
text of a node) and, hence, their e ectiveness is limited for
the following reason. Nodes belonging to relevant answers
are those that have, in their vicinity, other nodes with
keywords of the query. To solve this problem, we introduce
virtual documents (VDs) that contain a node and its vicinity.
We rank VDs by applying (similarly to [1,20]) a Markov
random eld (MRF) model that combines query-dependent and
independent features. In particular, we adapt positional
language models [18] by using distances based on static weights
that re ect the structure of the data graph. Also, we use
node priors as a query-independent feature.</p>
      <p>We apply the ranking of VDs to the process of selecting
the top-n keyword nodes (i.e., nodes containing keywords of
the query) and the top-n roots. Only after selecting both
keyword nodes and roots, do we construct paths that
connect them, thereby yielding answers. By rst selecting roots
and not just keyword nodes, we realize a higher degree of
both e ectiveness and e ciency. It should be noted that
several papers [10, 21] use notions of virtual documents that
are also returned as answers. In contrast, we apply VDs just
as a rst step in the construction of answers.</p>
      <p>For the nal ranking of the generated answers, we use
once again an MRF model for combining query-dependent
and independent features. Unlike previous work, our
queryindependent feature is not ad hoc, but based on a rigorous
computation of answer priors.</p>
      <p>We have evaluated our system on the framework of [5] that
consists of three datasets: IMDB, Wikipedia and Mondial,
as well as fty queries for each one. On all three datasets,
our method outperforms the state-of-the-art systems. Our
experiment include automatic learning of the parameters of
the MRF models.</p>
      <p>We also show that our approach o ers an excellent way of
improving the e ciency with just a minor impact on the
effectiveness (i.e., quality of answers). It is done by decreasing
n (i.e., the number of selected roots and keyword nodes).</p>
      <p>In summary, our main contributions are the following.
1. By developing virtual documents and using them for
rst selecting the top-n keyword nodes and also the
top-n roots, we have an algorithm for generating
answers that is both highly e cient and e ective.
2. We formally compute answer priors and use them as
a query-independent feature in the nal ranking. Our
experiments show that they make a highly signi cant
contribution to the e ectiveness of our system. In the
area of keyword search over data graphs, this is the
rst time that query-independent features are based
on a rigorous formalism, rather than ad hoc intuition.
3. We describe an e cient implementation using inverted
indexes. We have done extensive experiments showing
that our system is highly e ective and e cient.</p>
      <p>The rest of the paper is organized as follows. In Section 2,
we discuss related work. Section 3 reviews basic concepts.
Section 4 develops the virtual documents and their features.
Section 5 presents the algorithm that uses the selected roots
and keyword nodes for generating answers. Section 6
develops the features of answers. Section 7 describes the
implementation and the experiments that verify the e ectiveness
and e ciency of our approach. We conclude in Section 8.</p>
    </sec>
    <sec id="sec-2">
      <title>RELATED WORK</title>
      <p>We discuss systems for keyword search over data graphs
along the dimensions of e ciency (i.e., how to generate
answers) and e ectiveness (i.e., how to rank answers). The
common approach to generate answers e ciently [2, 12, 19]
uses backward iterators that start from keyword nodes until
they meet at a root node. In [13] they improved [2] by adding
forward iterators that can go back from the detected roots,
to keyword nodes. Still, they have to start from keyword
nodes. In [8], they present a method for keyword search
over RDF graphs that starts with triples that match each
keyword. Then they produce answers by joining the triples
through their subjects and objects. In our work we use
virtual documents to start simultaneously from roots and
keyword nodes, thus we further reduce the search space.</p>
      <p>Other papers have also used virtual documents in
keyword search over data graphs. In [10, 21], they create a
virtual document from a node and its vicinity, and search
it for the keywords. In [4], they do entity search over RDF
data and their virtual documents contain a node, but only
with its literal neighbors. All of these systems return virtual
documents or their roots as answers, whereas we use them
just as a rst step to generate answers (i.e., subtrees).</p>
      <p>For an e ective ranking of answers (cf. [7]), systems use
features that consider both relevance to the keywords of
the query and to the structure of answers. In [3] they use
pseudo-feedback to apply relevance models to tuples and
use them for ranking of answers. The works of [12, 17, 19]
resemble our work in that they concatenate the text in the
nodes of answers and use IR methods combined with
queryindependent features for ranking. We also apply IR features
on the concatenated text, but di erent from those works,
we present a probabilistic feature that considers the prior of
an answer, and we use a well established theory of MRF for
combining it with the IR features.</p>
      <p>In [16] they builds priors to paths in graphs for the
application of recommendation of conferences, papers to cite,
or experts for a new paper that one writes. In comparison,
we assign di erent priors to each answer (i.e., subtree) while
they assign priors for paths, and their priors are xed for all
paths of the same type.</p>
      <p>In [15], they learn per-term weights for each eld; in our
case, it gave inferior results. So, we use a term-independent
weight for each eld as in [11, 14].</p>
    </sec>
    <sec id="sec-3">
      <title>PRELIMINARIES</title>
    </sec>
    <sec id="sec-4">
      <title>The Data Model</title>
      <p>Data graphs can be created from any format (XML, RDF,
RDB, etc.). Figure 1 shows a tiny portion of the IMDB data
graph. In this paper, we experiment with data graphs that
are obtained from relational databases as follows. Each tuple
t becomes a node vt that has the relation name as its type.
A tuple t can be either an entity or a relationship. In the
former case, vt is an entity node and is shown as a rectangle
in Figure 1. In the latter case, vt is a relationship node
and is shown as a diamond. The attribute-value pairs of vt
are those of the tuple t, excluding foreign keys. That is, a
foreign key is represented in the data graph by a directed
edge (shown in Figure 1 as a solid arrow). An opposite edge
(shown as a dashed arrow) is added in the reverse direction
in order not to miss relevant answers.</p>
      <p>In Figure 1, the diamond of a relationship node shows
the type (e.g., cast). The top line of a rectangle shows
the entity's name (e.g., goldfinger) followed by its type
(e.g., movie). The other attribute-value pairs are listed
below the top line.</p>
      <p>The value of an attribute could be free text. For the name
of an entity node, we choose the value of an appropriate
attribute, such as title, etc. We shall refer to that attribute
generically as name. The value of name is a short string that
serves as a not-necessarily-unique identi er; for example, it
could be the title of a movie or the name of a person.
Relationship nodes typically do not have the attribute name.
3.2</p>
    </sec>
    <sec id="sec-5">
      <title>The Content and Title Fields</title>
      <p>In [9,11,14], they showed that combining elds yields
better results when searching XML, the Web or at documents.
Similarly, we group the attributes of a node into two
semantic elds (that could overlap). The content eld consists of
the names and values of all the attributes. The title eld
comprises only the value of the attribute name. In Figure 1,
for example, the title eld of node 2 is: goldfinger, and the
content eld is: title goldfinger type movie
releasedate 1964 genre action adventure producedin uk plot
bond is back and his next mission ...</p>
      <p>The content and title elds (of a node) contain textual
information that we use to assign IR scores. We distinguish
between these two elds in order to control the relative
importance of an occurrence (of a query keyword) in the title
compared with an occurrence only in the content eld.
3.3</p>
    </sec>
    <sec id="sec-6">
      <title>Queries and Answers</title>
      <p>A query Q = (q1; :::; qm) on a data graph is a set of
keywords. Each qi should match a term in the content of some
node(s); that is, we use the AND semantics as usually done
in keyword search over data graphs (supporting the OR
semantics is left for future work).</p>
      <p>Answers are subtrees of the data graph, rather than
subgraphs, because a tree is easier to understand quickly and
is typically an indivisible unit of information. Formally, an
answer to Q is a non-redundant subtree a of the data graph,
such that a contains all the keywords of Q. Containment
means that each keyword appears in some node(s).
Nonredundancy requires an answer not to have a proper subtree
that also contains all the keywords of the query.</p>
      <p>As an example, consider the data graph of Figure 1 and
the query \sean connery eming" for nding movies that are
related to those names. A possible answer comprises ve
nodes: goldfinger (of type movie), ian fleming and james
bond (both of type person), and the two connecting nodes
of type cast. Note that non-redundancy does not imply
minimality, and a query could have numerous answers.
3.4</p>
    </sec>
    <sec id="sec-7">
      <title>Markov Random Fields</title>
      <p>Markov random eld (MRF) models make it possible to
combine query-dependent and independent features. We
apply the sequential dependency model of [1, 20] and use
unigrams and unordered bigrams as query-dependent
features. Our query-independent feature is the prior of either
a node or an answer. The score with respect to a query
Q = (q1; :::; qm) is given by
score(Q; x) = X</p>
      <p>T fT (qi; x) + T^fT^(qi; x)
qi2Q</p>
      <p>X
+</p>
      <p>fqi;qi+1g2Q
+ LfL(x);</p>
      <p>
        U fU (qi; qi+1; x) + U^ fU^ (qi; qi+1; x)
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
where x is either a node or an answer, and the potential
function are: fT and fT^ for unigrams of the content and
title elds, respectively; similarly, fU and fU^ for unordered
bigrams; and fL for the query-independent feature. The
parameters T , T^, U , U^ and L are nonnegative and
their sum is 1. We learn them automatically (see Section 7).
      </p>
      <p>
        We actually use two variants of Equation (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ). The
algorithm for generating answers (Section 5) starts by selecting
the top-n roots and keyword nodes using the potential
functions fTn, f n^, fUn, fUn^ and fLn that are de ned in Section 4.4.
      </p>
      <p>T
After the algorithm generates n answers, they are re-ranked
using the potential functions fT , fT^, fU , fUa^ and fLa that are
a a a
de ned in Section 6.
4.
4.1</p>
    </sec>
    <sec id="sec-8">
      <title>VIRTUAL DOCUMENTS FOR RANKING</title>
    </sec>
    <sec id="sec-9">
      <title>Virtual Documents</title>
      <p>We consider a data graph G = (V; E), where V and E
are the sets of nodes and edges, respectively. In [19], each
node v 2 V is deemed a document. We take a di erent
approach and view a small vicinity of a node (including the
node itself) as a virtual document. Intuitive motivation is
that often keywords of a query are spread over several nodes
that are close to one another.</p>
      <p>Formally, the virtual document (abbr. VD) of a node v,
denoted by v?, consists of all nodes u, such that the following
holds. There is a path p in the data graph G from v to some
entity node x (where x could be u), such that p includes
u and has at most entity nodes, excluding v itself. The
parameter is called the diameter of the VD. As a running
example, we use Figure 1 with = 1. The VD of node 6
consists of nodes 2, 3, 4 and 6 (node 3 is not counted in ,
because it is a relationship). The VD of node 2 comprises
nodes 1, 2, 3, 4, 5, and 6. Note that v? is de ned as a set
of nodes. However, v? can also be viewed as the subgraph
of G induced by its nodes (i.e., the subgraph comprising the
nodes of v? and the edges between them).</p>
      <p>A node consists of two elds: content and title. We denote
by vf the text in the eld f of node v. In particular, vcnt
and vttl are ordinary documents consisting of the text in
the content and title elds, respectively, of v. Similarly, vf?
denotes the eld f of the VD v?, that is, the concatenation of
the text in eld f of all the nodes comprising v?. (However,
the weighted term frequencies de ned later are applied to
v?.) Recall that V is the set of nodes of the data graph. We
use Vf to denote the collection that comprises all the vf .
4.2</p>
    </sec>
    <sec id="sec-10">
      <title>Static Weights</title>
      <p>In the VD v? of a node v, occurrences of terms closer to v
are more important. Distances among nodes are determined
by minimal-weight paths. We assign static weights (which
are query independent) to nodes and edges as follows.</p>
      <p>For an entity node u, the importance is proportional to
the number of its neighbors. Thus, the static weight of u,
denoted by wns(u), is de ned as
wns(u) =</p>
      <p>
        1
ln(e + Deg(u))
;
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
where e is Euler's number and Deg(u) is the degree of u
(i.e., the number of its edges) in G. Notice that 0 wns(u)
1 and a node with a higher degree has a better (i.e., lower)
weight. We use logarithm in the denominator so that the
weight will not decay too fast as the degree increases, or
else there would be a negligible di erence between nodes
with large degrees. For example, node 2 in Figure 1 has two
neighbors, so its static weight is 0:64; the static weight of
node 4 is 0:76, because it has a single neighbor.
      </p>
      <p>Next, we consider relationship nodes and edges. Two
entity nodes are directly related if they are connected by either
a single edge or a pair of edges that pass through a
relationship node. In this paper, we do not consider types of nodes
and edges when determining static weights. In addition, the
degree of a relationship node is usually 2 or 3. Therefore, we
apply the rule that the static weight of a direct relationship
is always 1. In this way, we give some preference to smaller
answers (i.e., with fewer nodes). To conform to the above
rule, the static weight wns(u) of a relationship node u is 1.
The static weight of an edge e, denoted by wes(e), is 1 if
e connects two entity nodes; otherwise e connects an entity
with a relationship node and wes(e) = 0.</p>
      <p>A path p from node v to node u is written as pv!u. The
static weight of pv!u, denoted by ws(pv!u), is the sum of
static weights of all the edges and nodes of p; that is,
ws(pv!u) = X wes(e) + X wns(x);</p>
      <p>e2p x2p
where the rst sum is over all edges e of p and the second|
over all nodes x of p. Note that if the path consists of only
node v, its weight is wns(v).
4.3</p>
    </sec>
    <sec id="sec-11">
      <title>Weighted Term Frequencies</title>
      <p>Next, we de ne the weighted terms frequencies of
unigrams and unordered bigrams in a VD v?. Given a node
u of v?, the relative static weight of u in v?, denoted by
ws(v?; u), is the minimum weight over all paths from v to u
in v?; that is,
ws(v?; u) =
pv!u is in v? ws(pv!u):</p>
      <p>min
Note that all the nodes and edges of pv!u are in v?. For
example, in Figure 1, the relative static weight of node 4 in
the VD of node 2 is ws(2?; 4) = 0:64 + 1 + 0:76 = 2:4.</p>
      <p>
        Let t be either a unigram or an unordered bigram. To
de ne the frequency of t in v?, we adapt the method used in
positional language models [18]. That is, the weight of t in a
node u of v? is inversely proportional to ws(v?; u) ws(v?; v),
which is the weighted distance of u from v in the VD v?. In
particular, a kernel serves as a discounting factor. We use a
Gaussian kernel, because it was shown to be the best [18].
Formally, the weighted term frequency of t in eld f of v?,
denoted by wtf (t; vf?), is
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
wtf (t; vf?) =
      </p>
      <p>
        X e
u2v?
(ws(v?;u) ws(v?;v))2
2 2
tf (t; uf );
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
where tf (t; uf ) is the ordinary term frequency of t in the eld
f of node u and is a parameter that controls the spread
of the kernel.
      </p>
      <p>
        Note that the sum in Equations (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) is over all nodes u
in v?. Observe that the weight of a single occurrence of t
is at most one, and it is exactly one in v. For example, in
Figure 1, the keyword bond appears twice in the VD of node
2: once in node 2 itself and once in node 4. If we set = 1,
then wtf (bond; 2c?nt ) = 1 + 0:21 = 1:21.
4.4
      </p>
    </sec>
    <sec id="sec-12">
      <title>Node Potential Functions</title>
      <p>
        Consider a query Q = (q1; :::; qm). We now de ne
potential functions for unigrams, unordered bigrams and nodes.
In Section 5, we use Equation (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) with these functions.
Unigrams. For unigrams, we use two potential functions
fTn (qi; v) and fTn^ (qi; v) for the content and title elds,
respectively. These functions consider the elds of the VD v?
(rather than node v itself). They are de ned by
fTn (qi; v) = ln (1
      </p>
      <sec id="sec-12-1">
        <title>Tn )P (qijvc?nt ) + Tn P (qijVcnt ) ;</title>
        <p>fTn^ (qi; v) = ln (1</p>
        <sec id="sec-12-1-1">
          <title>Tn^)P (qijvt?tl ) +</title>
        </sec>
      </sec>
      <sec id="sec-12-2">
        <title>Tn^P (qijVttl ) ;</title>
        <p>where Tn and Tn^ are smoothing parameters for the content
and title elds, respectively, and Vcnt and Vttl are the
collections comprising the content and title elds, respectively, of
all the nodes of the data graph. We use Dirichlet smoothing
for Tn and Tn^, as described in Section 7.3.</p>
        <p>
          We use the maximum likelihood estimate. Hence, in each
one of Equations (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) and (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ), the rst probability in the
right side is given by
        </p>
        <p>
          P (qijvx?) = Pt2vx? wtf (t; vx?) ;
wtf (qi; vx?)
where we use weighted term frequencies (de ned by
Equation (
          <xref ref-type="bibr" rid="ref5">5</xref>
          )) and x is either cnt or ttl . The summation in the
denominator is over all unigrams t that appear in vx? and is
?
called the length of vx.
        </p>
        <p>
          In each of Equations (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) and (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ), the second probability in
the right side (which does the smoothing with the collection)
is given by
        </p>
        <p>P (qijVx) = P
u2V
Pu2V tf (qi; ux)</p>
        <p>Pt2ux tf (t; ux)
:
where x is either cnt or ttl .</p>
        <p>
          Unordered bigrams. For an unordered bigram fqi; qi+1g
of Q (similarly to unigrams), we use the following two
potential functions for the content and title elds.
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
(
          <xref ref-type="bibr" rid="ref7">7</xref>
          )
(
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
(
          <xref ref-type="bibr" rid="ref9">9</xref>
          )
(
          <xref ref-type="bibr" rid="ref10">10</xref>
          )
(
          <xref ref-type="bibr" rid="ref11">11</xref>
          )
(
          <xref ref-type="bibr" rid="ref12">12</xref>
          )
fUn (qi; qi+1; v) = ln (1
fUn^ (qi; qi+1; v) = ln (1
        </p>
      </sec>
      <sec id="sec-12-3">
        <title>Un )P (fqi; qi+1gjvc?nt ) + + nU P (fqi; qi+1gjVcnt ) ; Un^ )P (fqi; qi+1gjvt?tl ) + + Un^ P (fqi; qi+1gjVttl )</title>
        <p>
          Here, Un and Un^ are the smoothing parameters for
unordered bigrams. Similarly to unigrams, we use Dirichlet
smoothing for these parameters. As earlier, the
probabilities in Equations (
          <xref ref-type="bibr" rid="ref10">10</xref>
          ) and (
          <xref ref-type="bibr" rid="ref11">11</xref>
          ) are derived according to the
maximum likelihood estimate. That is, they are given by
Equations (
          <xref ref-type="bibr" rid="ref8">8</xref>
          ) and (
          <xref ref-type="bibr" rid="ref9">9</xref>
          ), respectively, except that we
substitute fqi; qi+1g for qi and assume that t denotes unordered
bigrams (rather than unigrams).
        </p>
        <p>Query independent. We use one query-independent
potential function that is given by the node prior. In particular,
we assume that the probability of a node v is proportional
to its degree in the graph. Hence,
fLn (v) = ln P</p>
        <p>Deg(v)
u2V Deg(u)
:</p>
        <p>Overall, there are ve potential functions and, thus, we
have to learn ve parameters (i.e., Tn , Tn^, nU , nU^ and nL).
In the next section, we use the ve functions twice: once
for selecting roots and a second time for choosing keyword
nodes. The learning is done separately for each one of these
two cases, as described in Section 7.3.</p>
      </sec>
    </sec>
    <sec id="sec-13">
      <title>GENERATING ANSWERS</title>
      <p>
        In this section, we rank nodes according to score(Q; v)
of Equation (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ), where the potential functions are given by
Equations (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), (
        <xref ref-type="bibr" rid="ref10">10</xref>
        ), (
        <xref ref-type="bibr" rid="ref11">11</xref>
        ) and (
        <xref ref-type="bibr" rid="ref12">12</xref>
        ).
      </p>
      <p>We begin by selecting roots and keyword nodes. The
former will be roots of answers. The latter will appear in
answers as nodes containing keywords of the given query
Q = (q1; : : : ; qm). We do it as follows. First, we consider all
nodes v of G, such that v? contains every qi. We rank them
according to score(Q; v) and select the top-n. These are the
selected roots. Second, we consider the set U of all nodes v,
such that v is in r? where r is a selected root. Let Ui be the
subset of U that comprises all nodes v, such that v contains
the keyword qi of Q. For each keyword qi 2 Q, we rank the
nodes of Ui according to score(Q; v) and choose the top-n.
These are the selected keyword nodes (for qi). Let S be the
set consisting of all the selected roots and keyword nodes.</p>
      <p>We will construct answers from minimal-weight paths that
connect the selected roots and keyword nodes. We want
the weight of a path from a root r to a keyword node v
to re ect also the scores of its endpoints (i.e., score(Q; r)
and score(Q; v)), rather than just the static weights of
Section 4.2. Hence, we convert scores into dynamic weights.
When converting, we invert the scores, because lower weights
are better (whereas it is the opposite for scores). The
conversion produces dynamic weights in the interval [0; 1], to make
them commensurate with the static weights. Formally, the
dynamic weight of a node v 2 S, denoted by wnd(v), is
wnd(v) = 1
max score(Q; u)
u2S
score(Q; v)
Since score(Q; v) is negative (i.e., obtained by applying
logarithm to probabilities), wnd(v) is in the interval [0; 1]. Note
that wnd(v) = 0 if node v has the highest score in S.</p>
      <p>
        The static weight of a path pr!v is given by Equation (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ).
The combined weight of pr!v, denoted by wc(pr!v), also
incorporates the dynamic weights of r and v (while omitting
their static weights). That is,
wc(pr!v) = wnd(r) + wnd(v) +
+ X wes(e) +
e2p
      </p>
      <p>
        X
x2p^x2=fr;vg
wns(x):
(
        <xref ref-type="bibr" rid="ref14">14</xref>
        )
      </p>
      <p>Let r be a selected root. The set Uri consists of all the
keyword nodes that were selected for qi and are in r?.
Observe that every combination of m minimal-weight paths,
such that each one is from r to a keyword node of Uri
(1 i m), yields an answer to Q = (q1; : : : ; qm).1 For
each root r and keyword qi, we generate these paths and
keep them in a separate sorted list.</p>
      <p>To generate answers, a priority queue A stores for each
selected root r, the next best answer (with r as the root) that
has not yet been added to the output (or discarded if it is not
valid). Answers are removed from A by increasing height.
Note that the height of a tree is the maximum combined
weight over all the paths from the root to some leaf.</p>
      <p>An answer a is valid if it satis es the following conditions.
First, a is non-redundant, that is, a does not have a proper
subtree that also contains all the keywords of the query. If a
is redundant, we convert it to a non-redundant answer by
re1Formally, such a combination may not create a tree.
However, it can be easily modi ed to form a tree.
cursively removing the root r, thereby decreasing its height.
Second, a is not a duplicate of another answer that is
already in the output. Duplicates are removed based on an
undirected semantics (to conform to the evaluation
framework of Section 7). Third, a does not have a relationship
node with fewer than two adjacent entity nodes.
6.</p>
    </sec>
    <sec id="sec-14">
      <title>ANSWER POTENTIAL FUNCTIONS</title>
      <p>
        We view an answer a as a document by concatenating the
instances of each eld over all the nodes of a. Thus, acnt
and attl are ordinary documents obtained by concatenating
the content and title elds, respectively, of all the nodes
of a. Similarly to nodes, we de ne potential functions for
unigrams, unordered bigrams and query-independent answer
priors. These functions are used for scoring answers with
respect to Q by means of Equation (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ).
      </p>
      <p>
        Unigrams. Analogously to Equations (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) and (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), we use
the following two potential functions for the content and
title elds, respectively.
      </p>
      <p>fTa (qi; a) = ln (1</p>
      <sec id="sec-14-1">
        <title>Ta )P (qijacnt ) + aT P (qijVcnt )</title>
        <p>fTa^(qi; a) = ln (1
aT^)P (qijattl ) +
aT^P (qijVttl )
Recall that Vcnt and Vttl are the collections comprising the
content and title elds, respectively, of all the nodes of the
data graph.</p>
        <p>
          Unordered bigrams. Similarly to Equations (
          <xref ref-type="bibr" rid="ref10">10</xref>
          ) and (
          <xref ref-type="bibr" rid="ref11">11</xref>
          ),
for an unordered bigram fqi; qi+1g of Q, we de ne two
potential functions for the content and title elds as follows.
(
          <xref ref-type="bibr" rid="ref15">15</xref>
          )
(
          <xref ref-type="bibr" rid="ref16">16</xref>
          )
(
          <xref ref-type="bibr" rid="ref17">17</xref>
          )
(
          <xref ref-type="bibr" rid="ref18">18</xref>
          )
fUa (qi; qi+1; a) = ln (1
fUa^ (qi; qi+1; a) = ln (1
        </p>
        <sec id="sec-14-1-1">
          <title>Ua )P (fqi; qi+1gjacnt ) + + Ua P (fqi; qi+1gjVcnt )</title>
        </sec>
        <sec id="sec-14-1-2">
          <title>Ua^ )P (fqi; qi+1gjattl ) + + Ua^ P (fqi; qi+1gjVttl )</title>
          <p>As in Section 4.4, we use the maximum likelihood estimate
for the probabilities in the above equations. Since acnt and
attl are ordinary documents, we employ the usual term
frequencies, rather than the weighted ones. We use Dirichlet
smoothing for Ta , aT^, Ua and Ua^ (see Section 7.3).
Query independent. We use one query-independent
potential function fLa that is derived from an answer prior as
follows. Let ar be an answer. The subscript of ar means
that node r is the root. To derive the prior P (ar), we
consider the skeleton sr that is obtained by deleting the content
of ar. Namely, sr has the same nodes and edges as ar, but
without attribute-value pairs.</p>
          <p>To obtain the probability P (ar), we assume that ar is
generated in two steps. First, the skeleton sr is generated
with probability P (sr). Second, sr is instantiated to ar with
probability P (arjsr); this is also done in two steps. First, the
root of sr is instantiated to a speci c node of the data graph
G. Second, the following is repeated. After instantiating a
node v of sr to some node v0 of G, we select a neighbor of
v0 for each child of v.</p>
          <p>
            The prior of an answer ar is P (ar) = P (arjsr)P (sr). For
simplicity, we assume that P (sr) is the same for all
skeletons, so P (ar) = P (arjsr). To compute P (arjsr), we make
another simplifying assumption, namely, the probability of
choosing a speci c node u of ar depends only on its parent,
denoted by par (u). In particular, the probability of
choosing the root r of ar depends only on the data graph G. And
as in the derivation of Equation (
            <xref ref-type="bibr" rid="ref12">12</xref>
            ), it is proportional to
the degree or r. Thus,
          </p>
          <p>P (r) = Pv2V Deg(v)
For a node u 6= r of ar, the probability of choosing u is
proportional to its degree when compared with all the adjacent
nodes of its parent. Hence,</p>
          <p>P (ujpar (u)) = Pv2N (par(u)) Deg(v)
;
Deg(u)
where N (par (u)) consists of all the neighbors of par (u).
Therefore, the probability of ar is</p>
          <p>P (ar) = P (r)</p>
          <p>P (ujpar (u)):</p>
          <p>Y
u2a;u6=r
Note that the product of the conditional probabilities is over
all nodes u of a, except the root. Since an answer a is an
undirected subtree, we can pick any one of its nodes as the
root; hence, we de ne
fLa(a) = ln</p>
          <p>max
r is a node of a</p>
          <p>!
P (ar) :</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-15">
      <title>EXPERIMENTS</title>
    </sec>
    <sec id="sec-16">
      <title>The Benchmark</title>
      <p>We use the evaluation framework of [5] that was
specifically developed for testing the e ectiveness of systems for
keyword search over data graphs. The framework consists
of three datasets: IMDB, Wikipedia and Mondial.</p>
      <p>The datasets are given as relations. Each tuple of those
relations has a unique id and may have some foreign keys
pointing to other tuples. IMDB and Wikipedia contain six
relations each, and Mondial contains twenty four relations.
IMDB has 1.6M tuples, Wikipedia has 206K tuples and
Mondial|only 17K tuples. IMDB and Wikipedia contain
relatively large chunks of text, while Mondial has only short
strings, such as names of countries and cities, etc. The
Mondial data graph has on average a large number of edges per
node, compared with the other two datasets.</p>
      <p>For each dataset, the evaluation framework of [5] has fty
queries and their qrels (i.e., query relevance judgments). The
average number of keywords per query is 2:91, when
excluding ve queries of IMDB that consist of very long quotations
from movies. The average number of answers per query is
4:49 and the largest number of tuples in an answer is 5.
7.2</p>
    </sec>
    <sec id="sec-17">
      <title>System Implementation</title>
      <p>
        We translated each dataset into a data graph, as explained
in Section 3.1. Each data graph is indexed into three data
structures. First, the graph index comprises the nodes and
edges, and is kept in a Berkeley DB.2 It is used for
traversing the data graph and for storing query-independent
information that is needed for computing the potential
functions. The stored information includes, for example, the
?
static weights and for each node v, the lengths of vcnt and
vt?tl ; the latter two are used in Equation (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ).
2http://www.oracle.com/technetwork/products/berkeleydb
(
        <xref ref-type="bibr" rid="ref19">19</xref>
        )
(
        <xref ref-type="bibr" rid="ref20">20</xref>
        )
(
        <xref ref-type="bibr" rid="ref21">21</xref>
        )
(22)
      </p>
      <p>Mondial
Wikipedia</p>
      <p>IMDB</p>
      <p>The second data structure, called the node index, is an
Apache Lucene3 inverted index. It handles each node as a
separate document consisting of the title and content elds,
after applying stemming and stop-word removal.4 We use
the Lucene Field class to implement those two elds. We
keep two instances of the inverted node index, one for
unigrams and another for unordered bigrams. The node index
also stores the full text of each node, because it is needed
for building the virtual index that is described next.</p>
      <p>
        The third data structure, called the virtual index, is a
Lucene inverted index for the VDs (virtual documents) (one
per node). Similarly to the node index, it has title and
content elds, and two instances (for unigrams and unordered
bigrams). The posting list of t keeps, as a Lucene payload,
the weighted term frequency of t (see Equation (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )).
      </p>
      <p>Table 1 gives the sizes of the indexes for each dataset.5 For
IMDB, the graph index is relatively big, due to the large
number of entities and relationships in that dataset. The
node index and virtual index for = 1 have similar sizes.
This is due to the fact that the node index also stores the
full text of the title and content elds (rather than just the
inverted lists). The virtual index for = 2 is larger by two
orders of magnitude than the one for = 1.</p>
      <p>
        The selection of roots and keyword nodes in Section 5 is
e ciently implemented as follows. Let Q = (q1; : : : ; qm) be
the given query. In Lucene, we run Q as a boolean
conjunctive query on the virtual index and nd all nodes v, such
that the VD v? contains all the qi. We rank those nodes
by score(Q; v) of Equation (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) and the potential functions
of Section 4.4; the top-n are the selected roots. We select
the top-n keyword nodes for each qi (1 i m) as follows.
Using the node index and the Filter tool of Lucene, we run
a Lucene query to nd all the nodes that contain qi and are
in the VD of some selected root, and then choose the top-n
according to score(Q; v).
7.3
      </p>
    </sec>
    <sec id="sec-18">
      <title>Parameters Tuning</title>
      <p>
        We use Equation (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) in three places. First, to select the
top-n roots, second, to select the top-n keyword nodes and
nally to rank the top-k answers. Thus, we have to learn
the parameters T , T^, U , U^ and L for each of the three
cases. We use the coordinate ascent algorithm [20], as
implemented in RankLib,6 to learn the parameters.
      </p>
      <p>We generated three labeled les|for roots, keyword nodes
and answers|with positive and negative examples for each
query as follows. The qrels in the benchmark [5] contain only
3https://lucene.apache.org/
4We used stop words from http://www.textfixer.com/
resources/common-english-words.txt, added some
negation words, such as can't and won't, and removed stop words
that could be names of people, such as Will.
5The sizes of the node and virtual indexes are shown for
unigrams. The unordered-bigram indexes are between two
to eight times larger than those of the unigrams.
6http://sourceforge.net/p/lemur/wiki/RankLib/
the correct answers that are labeled with 1. For each node
v of those answers, if v can be a root (i.e., its VD contains
all the query keywords) or a keyword node, then it is added
to the corresponding le with the label 1. To add negative
examples, we ran our system with equal weights of 0:2 for all
of the ve parameters (when scoring roots, keyword nodes
and answers). We used the default values of n = 1; 000 and
k = 1; 000. Among the top-k answers obtained in this way,
we chose those that are not in the qrels and labeled them
with 0. Each node that can be a root or a keyword node
of an answer that is not in the qrels was also labeled with
0 and added to the corresponding le, provided that it had
not previously been labeled with 1.</p>
      <p>Our experiments use cross validation. Namely, we learn
the parameters on two datasets and use them on the third
one. We report the results for each dataset with those
learned parameters. The les with both 0 and 1 labels are
just for training. The MAP is measured on the third dataset
by using the original qrels of the evaluation framework.</p>
      <p>
        We use Dirichlet smoothing with the parameter +jxj ,
where jxj is the length of x. For Tn , Tn^, Un and ? Un^ in
Equations (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) and (
        <xref ref-type="bibr" rid="ref10">10</xref>
        ), the variable x ranges over vcnt , whereas
in Equations (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) and (
        <xref ref-type="bibr" rid="ref11">11</xref>
        ), it ranges over vt?tl . The parameter
? ?
is the average of jxj over all vcnt and vttl when smoothing
vcnt and vt?tl , respectively.
?
      </p>
      <p>
        For the parameters Ta , Ta^, aU and aU^ in Equations (
        <xref ref-type="bibr" rid="ref15">15</xref>
        )
and (
        <xref ref-type="bibr" rid="ref17">17</xref>
        ), the variable x ranges over the acnt eld of the
topk answers, whereas in Equations (
        <xref ref-type="bibr" rid="ref16">16</xref>
        ) and (
        <xref ref-type="bibr" rid="ref18">18</xref>
        ), it ranges
over their attl eld. We view an answer a as an ordinary
document. But since answers have a variable number of
nodes, we de ne the length of af (where f is either cnt
or ttl ) as the average per node; namely, 1s Pt2af tf (t; af ),
where s is the number of nodes of a. When smoothing af ,
the parameter is the average of jvf j over all nodes v of the
data graph; similarly for unordered bigrams.
      </p>
      <p>The diameter of VDs is = 1 (see Section 4.1). Unless
otherwise speci ed, when selecting the top-n roots and
keyword nodes for each qi (see Section 5), we use n = 1; 000.
7.4</p>
    </sec>
    <sec id="sec-19">
      <title>The Setup of the Experiments</title>
      <p>We compare our approach with the top systems, namely,
BANKS [2], Bidirectional [13] and CD [6], among those
tested in [5], as well as with GraphLM [19]. In [7], they
extended the binary relevance set of [5] to include answers
with marginal relevance. However, they have not made that
extended framework available, so we cannot use it. Similarly
to [5, 19], we use the default k = 1; 000 when producing the
top-k answers for each query.
7.5</p>
    </sec>
    <sec id="sec-20">
      <title>Comparison with the State of the Art</title>
      <p>We compare our approach, called MRF-KS, with the
stateof-the-art systems using the evaluation framework of [5].7</p>
      <p>Figure 2 shows that MRF-KS outperforms the other
systems on each of the three datasets.8 The second best is
GraphLM. On Wikipedia, MRF-KS achieves a MAP of 0:76
compared with 0:63 for GraphLM (an improvement of 20%).
On IMDB, MRF-KS has a MAP of 0:76 compared with 0:68
for GraphLM (an improvement of 11:3%). And on
Mon7For all the systems, the MAP on IMDB is based on the
updated qrels that appear in http://www.cs.virginia.edu/
~jmc7tp/resources.php#search.
8We show only the top performing state-of-the-art systems.
dial, MRF-KS has a MAP of 0:89 compared with 0:83 for
GraphLM (an improvement of 7:6%).</p>
      <p>The advantage of MRF-KS over the second best system
GraphLM is statistically signi cant on all three datasets, as
measured in a one-tailed t-test (p-value &lt; 0:05). We exclude
the work of [3] from this comparison due to the following.
Some essential details (e.g., the algorithm for generating
answers in ranked order) are missing from their paper, which
has made it impossible for us to reproduce their results.
Moreover, they declined our request to get their code or,
at least, the AP (average precision) they obtained for each
individual query of the evaluation framework of [5]; hence,
verifying their results is problematic. In any case, they
reported that for Mondial, Wikipedia and IMDB, they got a
MAP of 0:9, 0:78 and 0:79, respectively. Our results are
almost the same: 0:89, 0:76 and 0:76, respectively.</p>
      <p>MRF-KS
noTitle</p>
      <p>Mondial Wikipedia IMDB</p>
      <p>MRF-KS( = 2) noWTF( = 2)
noAnswerPriors onlyAnserPriors
noBigram</p>
      <p>We now show the e ect of various components of our
system by measuring the MAP yielded by di erent con
gurations, as shown in Figure 3. Unless otherwise speci ed, VDs
have the default diameter of = 1. To magnify the e ect
of the di erent con gurations, we select a relatively small
number (n = 100) of roots and keyword nodes. For each
con guration, we relearned the relevant parameters on two
datasets and then measured the MAP on the third one, as
explained in Section 7.3.</p>
      <p>The rst two columns show that increasing the diameter
of VDs from 1 to 2 slightly lowers the MAP. The third
column (labeled with noWTF) is when the diameter is 2 and
ordinary term frequencies (instead of the weighted ones) are
used. In this case, the MAP drops on all three datasets and
the larger e ect is on Wikipedia (from 0:74 to 0:66).</p>
      <p>The rest of the columns show an ablation test that
disables one feature at a time. The column noBigram is when
disabling the unordered bigrams in the content and title
elds (setting U ; U^ = 0) for roots, keyword nodes and
answers. The column noTitle denotes the e ect of disabling
the title eld for unigrams and unordered bigrams (setting
^ ; U^ = 0) for roots, keyword nodes and answers. The
colT
umn noAnswerPriors is when using all features except the
answer priors (setting L = 0). The last column
onlyAnswerPriors shows the MAP when using only answer priors
for ranking the answers (setting T ; U ; T^ ; U^ = 0 for
answers and keeping all features for roots and keyword nodes).</p>
      <p>We can see that the most dominant feature is the answer
priors. When disabled, the MAP drops sharply on all three
datasets. For example, on Wikipedia it drops from 0:75 to
0:6 and on IMDB|from 0:76 to 0:56. The contribution of
the answer priors is statistically signi cant. The title eld
has the second largest e ect on IMDB and Wikipedia. The
unordered bigrams have a moderate e ect on Mondial and
Wikipedia, but a larger one on IMDB.</p>
    </sec>
    <sec id="sec-21">
      <title>7.7 Efficiency vs. Effectiveness</title>
      <p>In this section, we show that our method o ers a useful
trade-o between e ectiveness and e ciency that can be
easily tuned, thereby substantially improving the running
time while only slightly lowering the MAP. This ability is
hardly found in any other system. Figure 4 gives the average
running time per query and the MAP for di erent values of n
(i.e., the number of selected roots and keyword nodes). The
results are for k = 100 rather than the default k = 1; 000,
thereby making the results more signi cant.</p>
      <p>Figure 4 shows that the running time drops at a much
faster rate than the MAP, as n gets smaller. On the three
datasets, even for the small value of n = 50, the MAP is
almost the same as for n = 1; 000. Hence, the parameter
n enables us to substantially increase the e ciency without
sacri cing e ectiveness.</p>
      <p>n=10
Mondial-MAP
n=50</p>
      <p>n=100
Wikipedia-MAP</p>
    </sec>
    <sec id="sec-22">
      <title>8. CONCLUSIONS</title>
      <p>We presented a novel approach, couched in probability
theory, to nding the top-k answers in keyword search over
data graphs. It is based on new ideas and concepts. First, we
showed how to estimate the prior of an answer (i.e., subtree)
and showed its contribution to the nal ranking of answers.
Second, we de ned virtual documents with weighted term
frequencies and showed their e ectiveness in selecting the
most promising roots and keyword nodes of candidate
an0:8
P0:6
A
M0:4
0:2
3
2
1
0
)
c
e
s
(
e
m
i
T
swers. Third, we presented an e cient algorithm for
generating and ranking answers. The ranking of nodes (i.e., roots
and keyword nodes) and answers is based on a combination
of query-dependent and independent features.</p>
      <p>We compared our approach with other systems on the
evaluation framework of [5] that consists of three datasets:
IMDB, Wikipedia and Mondial. In terms of MAP, our
approach has a statistically signi cant advantage over other
tested systems on each of these datasets. For example, on
Wikipedia, we achieved an improvement of 20% compared
with the best state-of-the-art system.</p>
      <p>We performed an extensive analysis of the contribution
of the various components. The most signi cant feature is
the answer priors. We further showed that that the MAP
remains almost the same even when selecting a small number
of keyword nodes and roots, thereby reducing the search
space and increasing the e ciency.
9.</p>
    </sec>
    <sec id="sec-23">
      <title>ACKNOWLEDGMENTS</title>
      <p>The authors thank Oren Kurland for helpful comments.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bendersky</surname>
          </string-name>
          , W. B.
          <string-name>
            <surname>Croft</surname>
            , and
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Diao</surname>
          </string-name>
          .
          <article-title>Quality-biased ranking of web documents</article-title>
          .
          <source>In WSDM</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bhalotia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hulgeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Nakhe</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Chakrabarti</surname>
          </string-name>
          .
          <article-title>Keyword searching and browsing in databases using banks</article-title>
          .
          <source>In ICDE</source>
          , pages
          <volume>431</volume>
          {
          <fpage>440</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>V.</given-names>
            <surname>Bicer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Tran</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Nedkov</surname>
          </string-name>
          .
          <article-title>Ranking support for keyword search on structured data using relevance models</article-title>
          .
          <source>In CIKM</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>R.</given-names>
            <surname>Blanco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mika</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Vigna</surname>
          </string-name>
          .
          <article-title>E ective and e cient entity search in rdf data</article-title>
          .
          <source>In ISWC</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Co man and</article-title>
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Weaver</surname>
          </string-name>
          .
          <article-title>A framework for evaluating database keyword search strategies</article-title>
          .
          <source>In CIKM</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Co man and</article-title>
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Weaver</surname>
          </string-name>
          .
          <article-title>Structured data retrieval using cover density ranking</article-title>
          .
          <source>In KEYS</source>
          , pages
          <volume>115</volume>
          {
          <fpage>126</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Co man and</article-title>
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Weaver</surname>
          </string-name>
          .
          <article-title>Learning to rank results in relational keyword search</article-title>
          .
          <source>In CIKM</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Elbassuoni</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Blanco</surname>
          </string-name>
          .
          <article-title>Keyword search over rdf graphs</article-title>
          .
          <source>In CIKM</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>B.</given-names>
            <surname>He</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Ounis.</surname>
          </string-name>
          <article-title>Combining elds for query expansion and adaptive query expansion</article-title>
          .
          <source>In Information Processing and Management</source>
          , volume
          <volume>43</volume>
          , pages
          <fpage>1294</fpage>
          {
          <fpage>1307</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>H.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Yang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P. S.</given-names>
            <surname>Yu</surname>
          </string-name>
          . Blinks:
          <article-title>Ranked keyword searches on graphs</article-title>
          .
          <source>In SIGMOD</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Himestra</surname>
          </string-name>
          .
          <article-title>Statistical language models for intelligent XML retrieval</article-title>
          .
          <source>In Intelligent Search on XML Data, LNCS 2818</source>
          . Springer-Verlag Berlin Heidelberg,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>V.</given-names>
            <surname>Hristidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Gravano</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Papakonstantinou</surname>
          </string-name>
          .
          <article-title>E cient ir-style keyword search over relational databases</article-title>
          .
          <source>In VLDB</source>
          , pages
          <volume>850</volume>
          {
          <fpage>861</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>V.</given-names>
            <surname>Kacholia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Pandit</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Chakrabarti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sudarshan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Desai</surname>
          </string-name>
          .
          <article-title>Bidirectional expansion for keyword search on graph databases</article-title>
          .
          <source>In VLDB</source>
          , pages
          <volume>505</volume>
          {
          <fpage>516</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>J.</given-names>
            <surname>Kamps</surname>
          </string-name>
          , G. Mishne, and M. de Rijke.
          <article-title>Language models for searching in Web corpora</article-title>
          .
          <source>In TREC</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J. Y.</given-names>
            <surname>Kim</surname>
          </string-name>
          and
          <string-name>
            <given-names>W. B.</given-names>
            <surname>Croft</surname>
          </string-name>
          .
          <article-title>A eld relevance model for structured document retrieval</article-title>
          .
          <source>In European Conference on Information Retrieval (ECIR)</source>
          , pages
          <fpage>97</fpage>
          {
          <fpage>108</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>N.</given-names>
            <surname>Lao</surname>
          </string-name>
          and
          <string-name>
            <given-names>W. W.</given-names>
            <surname>Cohen</surname>
          </string-name>
          .
          <article-title>Relational retrieval using a combination of path-constrained random walks</article-title>
          .
          <source>In Mach Learn</source>
          , volume
          <volume>81</volume>
          , pages
          <fpage>53</fpage>
          {
          <fpage>67</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Luo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Wang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhou</surname>
          </string-name>
          .
          <article-title>Top-k keyword query in relational databases</article-title>
          .
          <source>In SIGMOD</source>
          , pages
          <volume>115</volume>
          {
          <fpage>126</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lv</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Zhai</surname>
          </string-name>
          .
          <article-title>Positional language models for information retrieval</article-title>
          .
          <source>In SIGIR</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Mass</surname>
          </string-name>
          and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sagiv</surname>
          </string-name>
          .
          <article-title>Language models for keyword search over data graphs</article-title>
          .
          <source>In WSDM</source>
          , pages
          <volume>363</volume>
          {
          <fpage>372</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>D.</given-names>
            <surname>Metzler</surname>
          </string-name>
          and
          <string-name>
            <given-names>W. B.</given-names>
            <surname>Croft</surname>
          </string-name>
          .
          <article-title>A markov random eld model for term dependencies</article-title>
          .
          <source>In SIGIR</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Su</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Widom</surname>
          </string-name>
          .
          <article-title>Indexing relational database content o ine for e cient keyword-based search</article-title>
          .
          <source>In IDEAS</source>
          , pages
          <volume>297</volume>
          {
          <fpage>306</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>