<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Meaningful Keyword Search over Databases with Complex Schema</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Mehdi</forename><surname>Kargar</surname></persName>
							<email>mkargar@uwindsor.ca</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Windsor</orgName>
								<address>
									<settlement>Windsor</settlement>
									<country key="CA">Canada</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Aijun</forename><surname>An #</surname></persName>
							<affiliation key="aff1">
								<orgName type="institution">York University</orgName>
								<address>
									<settlement>Toronto</settlement>
									<country key="CA">Canada</country>
								</address>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="institution">$ University of Ontario Institute of Technology</orgName>
								<address>
									<settlement>Oshawa</settlement>
									<country key="CA">Canada</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Parke</forename><surname>Godfrey #</surname></persName>
							<email>godfrey@cse.yorku.ca</email>
							<affiliation key="aff1">
								<orgName type="institution">York University</orgName>
								<address>
									<settlement>Toronto</settlement>
									<country key="CA">Canada</country>
								</address>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="institution">$ University of Ontario Institute of Technology</orgName>
								<address>
									<settlement>Oshawa</settlement>
									<country key="CA">Canada</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jaroslaw</forename><surname>Szlichta $</surname></persName>
							<email>jaroslaw.szlichta@uoit.ca</email>
						</author>
						<author>
							<persName><forename type="first">Xiaohui</forename><surname>Yu</surname></persName>
							<email>xhyu@yorku.ca</email>
							<affiliation key="aff1">
								<orgName type="institution">York University</orgName>
								<address>
									<settlement>Toronto</settlement>
									<country key="CA">Canada</country>
								</address>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="institution">$ University of Ontario Institute of Technology</orgName>
								<address>
									<settlement>Oshawa</settlement>
									<country key="CA">Canada</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Meaningful Keyword Search over Databases with Complex Schema</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">FB3CD09328FE2942FF5F4574F4C1325A</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T20:02+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Keyword search in databases helps users who are not familiar with the database schema or a query language to explore the database efficiently. An answer is a join tree of tuples that contains the query keywords. We present a new framework for finding meaningful answers to the keyword search problem over databases with complex schema. The framework uses schema-based ranking methods to rank join trees that cover the keyword roles. The experiments on TPC-E database establish the naturalness of the proposed ranking methods.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Much of the world's high-quality data stays under lock and key in relational databases. Access is gained through relational query languages such as SQL. However, a lay user-anyone who does not know SQL or who is not well versed in the given schema-is effectively locked out <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b3">4]</ref>. As the schemas of the datasets that organizations field become more complex, we all effectively become lay users. Keyword search has recently been used for extracting information from relational databases.</p><p>An answer to the query is a set of tuples from the database that cover the keywords of the query, and a natural structure (i.e., a tree from the database's schema) that spans those tuples. An important issue in keyword search is to score answers for relevance. Prior work has addressed relevance. In <ref type="bibr" target="#b2">[3]</ref>, a simplistic solution of scoring relevance as the reciprocal of the number of edges in an answer's tree was proposed. In <ref type="bibr" target="#b1">[2]</ref>, the authors apply information retrieval (IR) measures to rank answers. However, both of these approaches fail to return relevant answers when the schema is large and complex.</p><p>To motivate our approach and illustrate the shortcomings of existing methods, consider the query "Arden Cynthia" over the TPC-E<ref type="foot" target="#foot_0">1</ref> schema. Assume that Arden refers to a company name and Cynthia refers to a customer name. Fig. <ref type="figure" target="#fig_0">1</ref> shows three possible join trees of different sizes that could produce answers for this query. If we rank the trees according to their size (i.e., the number of edges), the first tree (a) gets the highest rank. An answer derived from this tree would say that both Arden and Cynthia are active. Looking at the TPC-E database, it turns out that all the customers and companies have the Active status. Therefore, any given customer and any given company in the TPC-E database share the same status through the status type table. Thus, the first found relationship is in fact, not that interesting or relevant. The second tree (b) states that company Arden's stock is traded by customer Cynthia. This is one of the strongest relations between a customer and a company and is related to the purpose of the TPC-E schema. The third tree (c) is the largest and therefore it is not straightforward to interpret. This tree states that the company Arden has the same status as a security which is related to a company that has the same address as customer Cynthia. Two relations, address and status type, that are involved in this tree makes it less meaningful and more difficult to interpret for the user.</p><p>Using the IR score ranking also ranks the first tree as the best answer.</p><p>In this paper, we use schema-based ranking to solve the problem of keyword search over relational databases. We redefine answer via roles that captures important answers missed by previous techniques. We devise importance measures for nodes, importance measures for edges, and a hybrid measure of the two. Then, we devise relevance measures for join trees that are derived from the schema relevance. Last, we like to mention this short paper is a summary of our recently published results in <ref type="bibr" target="#b4">[5,</ref><ref type="bibr" target="#b5">6]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Ranking Models</head><p>In our framework, the role of a query keyword is identified first. For each query keyword, we first find the list of columns (and relations) that contain the keyword using an inverted index. Then, a user-interface helps the user to specify the role of each keyword without needing to know the database schema (see <ref type="bibr" target="#b4">[5]</ref> for screen shots of the interface). With specified keyword roles, our algorithm searches for answers to cover the input keywords. Each answer is a minimal joining network of tuples that covers the input roles. For brevity, we refer to such answers as final answer. The final answers defined above can be generated through a sequence of join operations on the database. To generate such answers, we first generate the minimal joining networks of schemas (MJNSs) that represent the join operations for producing the final answers. Three possible MJNSs for the query "Arden:company Cynthia:customer" over TPC-E schema are shown in Fig. <ref type="figure" target="#fig_0">1</ref>. To generate MJNSs, we use a breadth-first search algorithm <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b5">6]</ref>. After the MJNSs are generated, final answers can be produced by creating an execution plan (i.e., SQL query) to evaluate the MJNSs. We focus on how to rank MJNSs so that the most interesting answers will be presented to the user first.</p><p>Since many final answers can be generated for a query but some answers may not be interesting, we aim at producing top-k most interesting final answers. To achieve this, we first limit the number of nodes in an MJNS. This limits the size of final answers too. The rationale is two-fold. First, if two tuples in a final answer are far away from each other, it is not easy to interpret the answer. Second, executing the query associated with a large MJNS is time consuming. Thus, a size control parameter, D max , is used to specify the maximum number of allowed nodes in an MJNS. In addition and more importantly, we rank the generated MJNSs according to an interestingness measure so that final answers from the top-ranking MJNS are produced first. If the number of final answers produced so far is less than k, the next MJNS is used to produce more final answers until k final answers are produced. We propose and use the following methods for ranking minimal joining networks of schemas (MJNSs).</p><p>Ranking by Importance of Nodes: Given a database D, this method assumes that the importance of an MJNS M is related to the importance of the tables in D that instantiate the schemas in M . We propose a ranking method called key entropy transfer (KE) that ranks the tables in D. Consider G D as an undirected graph representing a database D. The KE method builds a node-tonode transition probability matrix M based on the entropies of table attributes, and performs a random walk on G D with M . The steady-state probabilities of the random walk are assigned as the importance scores of the tables. The entropies of table attributes are calculated as follows. Let r.A denote an attribute A in table r, and let a represent a value of r.A. The entropy of r.A is: H(r.A) = − ∀a∈r.A p(a) × log p(a) where p(a) is the probability that a occurs in column r.A (i.e. P (r.A = a)).</p><p>Ranking by Importance of Edges: Intuitively, edge strength can be measured by the fraction of the join key values being instantiated. The more fraction of primary key values are instantiated, the more important the edge is. We propose the following measure, called instantiation fraction (IF), to quantify the importance of an edge based on the fractions of instantiated key values:</p><formula xml:id="formula_0">ST IF (r.A, r .A ) = N inst r.A Nr × N inst r .A N r</formula><p>. In this equation, N inst r.A is the number of tuples in relation (i.e., table) r that instantiates the edge between r.A and r .A , and N r is the total number of tuples of table r. To rank the MJNSs by edge importance, we compute a score for each MJNS using its average edge importance score.</p><p>The Hybrid Ranking Model: Our last approach to ranking MJNSs is to rank them based on the importance of both nodes and edges. The hybrid formula is defined as follows:</p><formula xml:id="formula_1">ST IF KE (R.A, R .A ) = ST IF (R.A, R .A )× KE(R)+KE(R ) 2 .</formula><p>Since the value of ST IF (R.A, R .A ) lies between zero and one, KE(R) and KE(R ) should be normalized into range [0, 1]. To rank the MJNSs, the score of an MJNS is computed as the average hybrid score of the relations in the MJNS.</p><p>Runtime Discussion: The runtime of our methods are similar to that of Discover I <ref type="bibr" target="#b2">[3]</ref>. All MJNSs have to be found for the keyword query under the D max threshold. The primary overhead is evaluating the SQL queries associated with the MJNSs. For us, this overhead is marginally more than Discover I because our networks can be marginally larger due to roles.  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Experimental Evaluation</head><p>We evaluate our proposed ranking methods for finding the most meaningful MJNSs. All of the evaluated methods are implemented in Java. The experiments are conducted over the TPC-E database. TPC provides a transaction log for TPC-E which we use to generate a gold standard for ranking MJNSs. The focus of this work is ranking the MJNSs. The input to our MJNS generator is the keyword roles. That is, the main input to the ranking methods is a set of relation names (i.e., query keyword roles). We use the following four query keyword roles in the experiments: Q1: Customer, Company; Q2: Customer, Broker; Q3: Customer, Company, Industry; Q4: Customer, Company, Broker, Security. Note that in addition of the following experiment, additional experiments in <ref type="bibr" target="#b5">[6]</ref> also verify the effectiveness of our ranking methods.</p><p>The results of the top-10 overlap with the gold standard are presented in Fig. <ref type="figure" target="#fig_1">2</ref>. We also present the results of the Discover I algorithm that ranks final answers based on their size <ref type="bibr" target="#b2">[3]</ref>. Note that Discover II produces the same ranking of MJNSs <ref type="bibr" target="#b1">[2]</ref>. Generally, the edge importance ranking method IF works better than others. To see how effective ranking of MJNSs impacts the final answers, we compare the top-10 final answers from our IF method with the final answers produced by Discover I <ref type="bibr" target="#b2">[3]</ref> and Discover II <ref type="bibr" target="#b1">[2]</ref>. We use four sets of keywords related to the above keyword roles. For example, the first query is "Jacob Insurance" in which "Jacob" is associated with the customer table and "Insurance" is associated with the company table. We ask eight graduate students to judge the relevancy of the answers. A user assigns a score between 0 and 1 to each final answer, where 1 means completely relevant and 0 means completely irrelevant to the query. The top-10 precision for each query are presented in Fig. <ref type="figure" target="#fig_1">2</ref>. Clearly, the IF method achieves much better precision in all the queries. The reason for Discover-I and Discover-II to have a lower precision is that in most of the cases, the tuples of the final answers are connected together by the dimension tables (e.g. status type) and fact tables are not involved.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusions</head><p>We improve relevance scoring of answers based on their networks (join trees) in light of complex database schema. We propose a series of measures, and algorithms to compute them based on the importance of nodes and edges to capture the intended semantic of queries. In this work we sought to demonstrate how effective deriving relevance of the nodes and edges of the database schema could be based on just the schema and data, by no means are we advocating that auxiliary information (such as Linked Data) cannot improve it.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 :</head><label>1</label><figDesc>Fig. 1: Possible trees (i.e., MJNSs) for the query "Arden:company Cynthia:customer".</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 :</head><label>2</label><figDesc>Fig. 2: The overlap with gold standard and precision of answers (top-10).</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">http://www.tpc.org/tpce/</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Keyword Search over Relational Databases: A Metadata Approach</title>
		<author>
			<persName><forename type="first">S</forename><surname>Bergamaschi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Domnori</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Guerra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">T</forename><surname>Lado</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Velegrakis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SIGMOD</title>
				<imprint>
			<date type="published" when="2011">2011</date>
			<biblScope unit="page" from="565" to="576" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Efficient IR-Style Keyword Search over Relational Databases</title>
		<author>
			<persName><forename type="first">V</forename><surname>Hristidis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Gravano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Papakonstantinou</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">VLDB</title>
				<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="850" to="861" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Discover: Keyword Search in Relational Databases</title>
		<author>
			<persName><forename type="first">V</forename><surname>Hristidis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Papakonstantinou</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">VLDB</title>
				<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="670" to="681" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Efficient Top-k Keyword Search in Graphs with Polynomial Delay</title>
		<author>
			<persName><forename type="first">M</forename><surname>Kargar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>An</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICDE</title>
				<imprint>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="1269" to="1272" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">MeanKS: Meaningful Keyword Search in Relational Databases with Complex Schema</title>
		<author>
			<persName><forename type="first">M</forename><surname>Kargar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>An</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Cercone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Godfrey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Szlichta</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Yu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SIGMOD</title>
				<imprint>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="905" to="908" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Meaningful Keyword Search in Relational Databases with Large and Complex Schema</title>
		<author>
			<persName><forename type="first">M</forename><surname>Kargar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>An</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Cercone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Godfrey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Szlichta</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Yu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICDE</title>
				<imprint>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="411" to="422" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
