Question Answering over Implicitly Structured Web Content



Similar documents
Identifying Best Bet Web Search Results by Mining Past User Behavior

Finding the Right Facts in the Crowd: Factoid Question Answering over Social Media

How To Cluster On A Search Engine

Search and Information Retrieval

Web-Scale Extraction of Structured Data Michael J. Cafarella, Jayant Madhavan & Alon Halevy

Incorporating Window-Based Passage-Level Evidence in Document Retrieval

KEYWORD SEARCH IN RELATIONAL DATABASES

Data-Intensive Question Answering

Finding Advertising Keywords on Web Pages. Contextual Ads 101

Generating SQL Queries Using Natural Language Syntactic Dependencies and Metadata

dm106 TEXT MINING FOR CUSTOMER RELATIONSHIP MANAGEMENT: AN APPROACH BASED ON LATENT SEMANTIC ANALYSIS AND FUZZY CLUSTERING

Facebook Friend Suggestion Eytan Daniyalzade and Tim Lipus

Statistical Machine Translation: IBM Models 1 and 2

large-scale machine learning revisited Léon Bottou Microsoft Research (NYC)

Natural Language to Relational Query by Using Parsing Compiler

Subordinating to the Majority: Factoid Question Answering over CQA Sites

Experiments in Web Page Classification for Semantic Web

Answering Structured Queries on Unstructured Data

Invited Applications Paper

Building a Question Classifier for a TREC-Style Question Answering System

Flattening Enterprise Knowledge

Network Big Data: Facing and Tackling the Complexities Xiaolong Jin

Automatic Annotation Wrapper Generation and Mining Web Database Search Result

Performance Analysis of Naive Bayes and J48 Classification Algorithm for Data Classification

TREC 2007 ciqa Task: University of Maryland

Learning to Recognize Reliable Users and Content in Social Media with Coupled Mutual Reinforcement

Improving Contextual Suggestions using Open Web Domain Knowledge

Active Learning SVM for Blogs recommendation

Comparing Methods to Identify Defect Reports in a Change Management Database

Question Answering and Multilingual CLEF 2008

Large Scale Learning to Rank

Search and Data Mining: Techniques. Text Mining Anya Yarygina Boris Novikov

Social Media Mining. Data Mining Essentials

An Information Retrieval using weighted Index Terms in Natural Language document collections

Supervised Learning (Big Data Analytics)

IMPROVING DATA INTEGRATION FOR DATA WAREHOUSE: A DATA MINING APPROACH

REFLECTIONS ON THE USE OF BIG DATA FOR STATISTICAL PRODUCTION

Comparison of K-means and Backpropagation Data Mining Algorithms

Data Mining Algorithms Part 1. Dejan Sarka

Question Answering for Dutch: Simple does it

MIRACLE at VideoCLEF 2008: Classification of Multilingual Speech Transcripts

Web Data Extraction: 1 o Semestre 2007/2008

What Is This, Anyway: Automatic Hypernym Discovery

Resolving Common Analytical Tasks in Text Databases

Collecting Polish German Parallel Corpora in the Internet

Search Taxonomy. Web Search. Search Engine Optimization. Information Retrieval

Text Mining in JMP with R Andrew T. Karl, Senior Management Consultant, Adsurgo LLC Heath Rushing, Principal Consultant and Co-Founder, Adsurgo LLC

Technical Report. The KNIME Text Processing Feature:

Mining the Software Change Repository of a Legacy Telephony System

Bayesian Spam Filtering

Bagged Ensemble Classifiers for Sentiment Classification of Movie Reviews

Ngram Search Engine with Patterns Combining Token, POS, Chunk and NE Information

Improved Software Testing Using McCabe IQ Coverage Analysis

A Business Process Services Portal

SEARCH ENGINE OPTIMIZATION USING D-DICTIONARY

Bing Liu. Web Data Mining. Exploring Hyperlinks, Contents, and Usage Data. With 177 Figures. ~ Spring~r

Spam Detection A Machine Learning Approach

Mining Signatures in Healthcare Data Based on Event Sequences and its Applications

Search Result Optimization using Annotators

Data Mining. Nonlinear Classification

The University of Amsterdam s Question Answering System at QA@CLEF 2007

A Logistic Regression Approach to Ad Click Prediction

TREC 2003 Question Answering Track at CAS-ICT

Mining Text Data: An Introduction

So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)

A Generalized Framework of Exploring Category Information for Question Retrieval in Community Question Answer Archives

Predicting the Stock Market with News Articles

Micro blogs Oriented Word Segmentation System

Downloaded from UvA-DARE, the institutional repository of the University of Amsterdam (UvA)

CINDOR Conceptual Interlingua Document Retrieval: TREC-8 Evaluation.

Adaption of Statistical Filtering Techniques

DYNAMIC QUERY FORMS WITH NoSQL

Web Document Clustering

Wikipedia and Web document based Query Translation and Expansion for Cross-language IR

Semantic Analysis of Song Lyrics

Data Quality Mining: Employing Classifiers for Assuring consistent Datasets

Clustering Technique in Data Mining for Text Documents

Optimization of Internet Search based on Noun Phrases and Clustering Techniques

A Framework-based Online Question Answering System. Oliver Scheuer, Dan Shen, Dietrich Klakow

C o p yr i g ht 2015, S A S I nstitute Inc. A l l r i g hts r eser v ed. INTRODUCTION TO SAS TEXT MINER

Architecture of an Ontology-Based Domain- Specific Natural Language Question Answering System

Data Mining - Evaluation of Classifiers

Knowledge Discovery using Text Mining: A Programmable Implementation on Information Extraction and Categorization

Improving Student Question Classification

RANKING WEB PAGES RELEVANT TO SEARCH KEYWORDS

Functional Dependency Generation and Applications in pay-as-you-go data integration systems

Data Mining Yelp Data - Predicting rating stars from review text

Topic and duplicate detection in QA data

Machine Learning using MapReduce

2. EXPLICIT AND IMPLICIT FEEDBACK

Bringing Business Objects into ETL Technology

A STUDY REGARDING INTER DOMAIN LINKED DOCUMENTS SIMILARITY AND THEIR CONSEQUENT BOUNCE RATE

Information Discovery on Electronic Medical Records

Finding Advertising Keywords on Web Pages

SEARCHING QUESTION AND ANSWER ARCHIVES

T : Classification as Spam or Ham using Naive Bayes Classifier. Santosh Tirunagari :

virtual class local mappings semantically equivalent local classes ... Schema Integration

Discovering Web Structure with Multiple Experts in a Clustering Framework

Web Mining. Margherita Berardi LACAM. Dipartimento di Informatica Università degli Studi di Bari

Transcription:

Question Answering over Implicitly Structured Web Content Eugene Agichtein Emory University eugene@mathcs.emory.edu Chris Burges Microsoft Research cburges@microsoft.com Eric Brill Microsoft Research brill@microsoft.com Abstract Implicitly structured content on the Web such as HTML tables and lists can be extremely valuable for web search, question answering, and information retrieval, as the implicit structure in a page often reflects the underlying semantics of the data. Unfortunately, exploiting this information presents significant challenges due to the immense amount of implicitly structured content on the web, lack of schema information, and unknown source quality. We present TQA, a web-scale system for automatic question answering that is often able to find answers to real natural language questions from the implicitly structured content on the web. Our experiments over more than 200 million structures extracted from a partial web crawl demonstrate the promise of our approach. 1 Introduction Queries such as what was the name of president Fitzgerald s cat, or who invented the tie clip are real web search queries. Unfortunately, general-purpose web search engines are not currently designed to retrieve an answer to these questions, and neither are specialized question answering systems. However, answers to these queries appear in HTML tables and lists constructed by history, sports, and celebrity enthusiasts. This kind of implicitly structured information abounds on the web and can be immensely valuable for web search, question answering, and information retrieval. For example, sports statistics, publication lists, historical timelines, and event and product information are all naturally represented in tabular or list formats in web pages. These tables have no common schema, and can have arbitrary formatting and presentation conventions. Yet, these tables were designed by the page authors to convey structured information to the human readers, by organizing the related information in table (or list) rows and columns. Figure 1 shows three example table snippets: inventions timeline 1, explorer timeline 2, and a table listing the U.S. presidents and the descriptions of their pets 3. Note that two of these three typical HTML tables do not provide column names, and none of the tables are structured in the strict 1 http://inventors.about.com/library/weekly/aa121599a.htm 2 http://library.thinkquest.org/j002678f/timeline.htm 3 http://www.presidentialpetmuseum.com/whitehousepets-1.htm sense: some of the table attributes are comprised of free text with embedded entities. Nevertheless, the layout provided by the page authors implies a relationships between the entities within the same row, and to lesser extent, the types of entities in the same column. Millions of such tables abound on the web and encode valuable structured information about related entities. This content can be a rich source of information for question answering and web search, as many questions submitted by users to search engines are concerned with finding related entities. Because there are typically few textual clues are lexically near the answers for traditional search engines to use (e.g., for retrieving a page or for selecting a result summary), this information may not be surfaced. By explicitly modeling the contexts of structured objects we can better index and retrieve this information. Furthermore, queries in general, and questions in particular, exhibit a heavy tail behavior: more than half of all queries submitted to search engines are unique. Hence, it is important to be able to answer questions about rare or obscure relationships (e.g., names of presidents pets). By relying on the existing syntactic structures on the web (and inferring the semantic structure), we can often reduce the question answering problem to the easier problem of finding an existing table that instantiates the required relationship. After reviewing related work in the next section, we describe our framework and querying model (Section 3). We demonstrate the scalability of our approach using a dataset of more than 200 million HTML tables, obtained from crawling a small fraction of the web (Section 4) that we use for reporting the experimental results (Section 5). As we will show, in many cases we can retrieve the answers from the rows and attribute values inferred from the implicitly structured content on the web. 2 Related Work Previous question answering and web search research predominantly focused on either well-structured sources and online databases, or on natural language in pages. Many of the state-of-the-art question answering systems have participated in the TREC QA competition [15], and the best systems typically perform deep syntactic and semantic analysis that is not feasible for large-scale document collections 1

Figure 1. Three example snippets of the millions of tables that abound on the web: inventor timeline, explorer timeline, and presidential pets. such as the web. Recently there has been work on machine learning-based question answering systems (e.g., [14, 12] and others). The FALCON question answering system, presented in [14] discusses using selectors to retrieve answer passages from a given (small) unstructured text collection. We are presenting a new way of exploiting existing structure on the web to retrieve actual answers to users questions. Our approach is related to the general XIRQL language and associated ranking model [8] for XML documents. Another related approach complementary to our work was presented in [11] on retrieving answers from a large collection of FAQs by searching the question and answer fields, which is complementary to our setting. As another related approach, [9] used a large number of dictionaries, or lists specifically constructed for each domain. In contrast, in our approach the information is interpreted and integrated dynamically and query time without domain-specific prior effort. Another area of overlap with our work is data integration on the web, which is an active area of research in the data mining, artificial intelligence, and database communities. For an excellent survey, please refer to [6]. A related area to our work in the database community is the research on keyword search in relational databases (e.g., [10]). There have been many efforts to extract structured information from the web. The previous approaches (e.g., [1]) and, most recently, KnowItAll [7] focus on extracting specific relationships (e.g., is a ), which can then be used to answer the specific questions that these relationships support (e.g., who is X ). This effort was recently expanded [5] to extract many other relationships from text, and to resolve the relation type at query time. In contrast, we attempt to support any question by finding the structured table(s) on the web where the relevant information has already been structured by page authors. Recently, other researchers have also looked to the web as a resource for question answering (e.g., [3, 12]). These systems typically perform complex parsing and entity extraction for both queries and best matching Web pages, and maintain local caches of pages or term weights. Our approach is distinguished from these in that we explicitly target the structured content on the web and forego the heavy processing required by other systems. Our key observation is that information in tables, like elsewhere on the web, appears redundantly. Hence, correct answers are likely to occur together with the question focus in multiple tables. In this respect, our approach is similar in spirit to the web question answering system AskMSR [2], which exploited redundancy in result summaries returned by web search engines. Another challenge is that answers may occur many times on the web, ranking the retrieved answer candidates it crucial. Several machine learning methods exist for tackling the ranking problem, and there is a rich literature on ranking in the machine learning community. In this paper we use a recently introduced method for page ranking, RankNet [4]. RankNet is a scalable, state-of-the art implementation of a Neural Network, and has been shown to perform extremely well for the noisy web search ranking problem. Hence, we adapt RankNet for ranking candidate answers in our TQA system, described next. 2

3 The TQA Model and System Description First we briefly review the general steps required for web question answering. Then, we describe our framework (Section 3.1), and the system architecture (Section 3.2) for retrieving candidate answers for a user s question. These candidates are then ranked as described in Section 3.3, and the top K answers are returned as the output of the system. Consider a natural language question When was the telegraph invented?. The goal of a question-answering system is to retrieve a correct answer (e.g., 1844 ) from the document collection. Achieving this usually requires three main components: a retrieval engine for returning documents likely to contain the answers; a question analysis component for parsing the question, detecting the question focus, and converting a natural language question into a query for a search engine; and the answer extraction component for analyzing the retrieved documents and extracting the actual answers. By exploiting the explicit structures created by the document authors, we can, in principle, get natural language understanding for free and hence dramatically improve the applicability and scalability of question answering. 3.1 TQA Question Answering Framework Consider our example question When was the telegraph invented?. Invariably, we find that someone (perhaps, a history enthusiast) has created a list of all the major inventions and the corresponding years. In our approach, we take this idea to an extreme, and assume that every factoid question can be answered by some structured relationship. More specifically, in our framework a question Q NL is requesting an unknown value of an attribute of some relationship R, and provides one or more attribute values of R for selecting the tuples of R with a correct answer. Therefore, to answer a question TQA proceeds conceptually as follows: 1. Retrieve all instances of R in the set of indexed tables T ALL, which we denote R T. 2. For each table t R T, select the rows t i t that match the question focus F Q. 3. Extract the answer candidates C from t, the union of all selected rows. 4. Assign a score and rerank answer candidates C i C using a scoring function Score that operates over the features associated with C i. 5. Return top K answer candidates. For our example, R might be a relation Invention- Date(Invention, Date), and a table snippet in Figure 1 is one of many instances of InventionDate on the web. The selected rows in R T would be those that contain the word telegraph. With sufficient metadata and schema information for each table, this question could be answered by mapping it to a select-project query. More precisely, we would decompose Q NL into two parts: the relationship specifier M Q, for selecting the appropriate table by matching its metadata, and row specifier, F Q, for selecting the appropriate row(s) of the matched tables. Unfortunately, HTML tables on the web rarely have associated metadata or schema information that could be used directly. Hence, we have to dynamically infer the schema for the appropriate tables and rows using the available information, as we describe next. 3.2 TQA System Description TQA first extracts all promising tables from the web, and indexes them with available metadata which consists of the surrounding text on the page, page title, and the URL of the originating page as shown in Figure 2. More specifically, each table t is associated with a set of keywords that appear in the header, footer, and title of the page. Additionally, by storing the URL of the source page we also store static rank and other information about the source page. Figure 2. Metadata associated with each extracted table: header, footer, page title, and the keyword content/vocabulary of the table. Once the tables are indexed, they can be used for answering questions. The question answering process is illustrated in Figure 3. Initially, a question is parsed and annotated with the question focus and answer type. In order to gain better understanding of the issues associated with answer retrieval and reranking, we left the question focus identification and the answer type specification manual. Hence, a user needs to specify the question focus (e.g., telegraph for When was the telegraph invented ) and the answer type (e.g., year or date). The question focus corresponds to the target attribute for a question series, manually specified in the recent TREC question answering evaluations [16]. An annotated question is automatically converted to a keyword query. The query is then submitted to our search engine over the the metadata described above. As the search 3

Algorithm RetrieveAnswers(Q NL, F Q, T A, SE, MR) //Convert question into keyword query Query = RemoveStopwords(Q NL ); //Retrieve at most MR tables by matching //metadata via search engine SE R T = RetrieveCandidateTables(SE, Query, MR); Candidates = (); foreach t in R T do foreach row r in t do if r does not match F Q then continue; foreach field f in r do //Store source and other statistics for each candidate if IsTypeMatch(T A, f) then AddCandidateAnswer(Candidates, f, r, t, f) //Add token sequences in f shorter than Max words foreach sequence s in Subsequences(f, Min, Max) do if IsTypeMatch(T A, f) then AddCandidateAnswer(Candidates, s, r, t, f) //Encode candidate answer and source information as features DecoratedCandidates =DecorateCandidateAnswers(Candidates) return DecoratedCandidates Algorithm 1: Candidate answer retrieval for question Q NL, question focus F Q, and answer type T A using search engine SE. engine of choice we use Lucene 4 The metadata information is indexed as keywords associated with each table object. Within each table returned by the search engine, we search for rows that contain the question focus. These rows are parsed and candidate answer strings are extracted. The candidate answer strings are filtered to match the answer type. For each surviving candidate answer string we construct a feature vector describing the source quality, the closeness of match, frequency of the candidate and other characteristics of the answer and the source tables from which it was retrieved. The answer candidates are then re-ranked (we will describe re-ranking in detail in Section 3.3), and the top K answers are returned as the output of the overall system. More formally, the TQA answer retrieval procedure is outlined in Algorithm 1. As the first step of the RetrieveAnswers, we convert the question Q NL into keyword query Query. We issue Query to the search engine SE to retrieve the matching tables as R T. For each returned table t in R T, and for each row r of t, we check if the question focus F Q matches r. If yes, the row is selected for further processing. 4 Available at http://www.openlucene.net/. The matched rows are parsed into fields according to the normalized HTML field boundaries. To generate the answer candidates, we consider each field value f in r, as well as all sequences of tokens in each f. If a candidate substring matches the answer type T A, the candidate is added to the list of Candidates. For each candidate answer string we maintain a list of source tables, rows, positions, and other statistics, which we will use for reranking the answers to select the top K most likely correct ones. Each answer candidate is annotated with a set of features that are designed to separate correct answers from incorrect ones. The features are of two types: (a) source features (i.e., properties of the source page, table, and how the candidate appeared in the table) and (b) answer type features (i.e., intrinsic properties of the actual answer string). The features used for ranking answers are listed in Table 1. To generate the features for each candidate answer we use standard natural language processing tools, namely, a Named Entity tagger, Porter stemmer, and simple regular expressions that correspond to the type of expected answer. Additionally, we incorporate the debugging information provided by the search engine (e.g., the PageRank value of the source URL of a table). We have described how to retrieve candidate answers, and how the candidates are represented. We now turn to the challenging task of ranking candidate answers. 3.3 Reranking Candidate Answers In our framework, a ranking function Score operates over the set of features associated with an answer candidate. By encoding all answer heuristics as numeric features we can apply any number of supervised and unsupervised methods for reranking the answers. We consider two general classes of Score functions: heuristic-based, and probabilistic. The heuristic scoring, which we describe next, is commonly implemented in the question answering community. However, a more rigorous and principled approach is to develop a probabilistic cost model, and we use two probabilistic ranking methods, RankNet and NaiveBayes, which are described later in this section. Heuristic reranking A common heuristic in web question answering is to consider the frequency of a candidate answer. The Frequency scoring function simply returns the number of times the answer candidate has been seen in all the candidate rows returned. The order in which the tables are returned by search engine is significant the higherranked results are likely to be more relevant. Hence, a slight variation of the Frequency scoring function takes source page ranking into account. We define the FrequencyDe- 4

Figure 3. Answering a question in the TQA framework cayed as: FrequencyDecayed(answer) = i< R T i=0 1 i + 1 which is simply the frequency weighted by the rank order of the page in which the answer was extracted. Of course, frequency is just one of the features listed in Table 1. In fact, features such as type of answer matched using named entity are extremely important, whereas the length of the answer is likely less so, but still might be helpful for resolving ties between otherwise equally scored answer candidates. Based on the system performance on the training set of questions (Table 2), we devised a heuristic scoring function Heuristic which is defined as: Heuristic = i F answer.f i Weight[i] where Weight[i] are the weights reported in Table 1. Since these heuristic weights are based on analysis of the training set, they may not work as well on a new set of questions or a new table collection. Therefore, we now turn to the more principled and promising approach, namely probabilistic reranking. Probabilistic Reranking with RankNet Here we briefly describe the RankNet algorithm. The reader can find more details in [4]. The idea is to use a cost function that captures the posterior probability that one item is ranked higher than another: thus the training data takes the form of pairs of examples, with an attached probability (which encodes our certainty that the assigned ranking of the pair is correct). For example, if we have no knowledge as to whether one item should be ranked higher than the other in the pair, we can assign probability one half to the posterior for the pair, and the cost function then takes such a form that the model is encouraged to give similar outputs to those two patterns. If we are certain that the first is to be ranked higher than the second, the cost function penalizes the model by a function of the difference of the model s outputs for the two patterns. A logistic function is used to model the pairwise probabilities; a cross entropy cost is then used to compute the cost, given the assigned pairwise probabilities and given the model outputs for those two patterns. This cost function can be used for any differentiable ranking function; the authors of [4] chose to use a neural network. RankNet is straightforward to implement (the learning algorithm is essentially a modification of back propagation) and has proven very effective on large scale problems. Naive Bayes The Naive Bayes model is a very simple and robust probabilistic model (see, for example, [13]). Here Naive Bayes was used by treating the problem as a classification problem with two classes (relevant or not). The key 5

FeatureName Type Weight Description Frequency answer 1 Number of times answer candidate was seedn FrequencyDecayed answer 1 Frequency weighted by search rank IDF answer 1 The Inverse Document Frequency of the answer string on the web TF answer 1 The Term Frequency over all retrieved tables for the question TypeSim answer 100 Is 1 if the answer is recognized as a Named Entity (if applicable) TableSim source 300 Average Cosine similarity between the query and table metadata RowSim source 50 Average Cosine similarity between the query and row text terms PageRank source 1 Average PageRank value of the source page ColumnPos source 1 Average column distance of answer and question focus AnswerTightness source 50 Average fraction of source field tokens taken by answer FocusTightness source 50 Average fraction of source field taken by question focus QueryOverlap answer -200 Fraction of tokens shared by the answer string and the query StemOverlap answer -200 Fraction of token stems shared by the answer string and the query NumSources answer 1 Number of supporting source tables Length answer 1 Length of the answer string in bytes NumTokens answer 1 Number of tokens in the answer string Table 1. Features used for candidate answer ranking assumption in Naive Bayes is that the feature conditional probabilities are indepent, given the class. All probabilities can be measured by counting, with a suitable Bayesian adjustment to handle low count values. Since most of our features are continuous, we used (100) bins to quantize each feature. 4 Evaluation Metrics and Datasets We now turn to the empirical evaluation of TQA. We first describe the task and associated evaluation metrics in Section 4.1, and then describe the datasets used for the experiments in Section 5. 4.1 Evaluation Metrics To evaluate our system we use standard metrics in the question answering and information retrieval community: MRR: Traditionally, question answering systems are evaluated using MRR(Mean Reciprocal Rank) [15], which is defined as 1 over the rank position of the first correct answer. MRR at K: Users are expected to only consider a limited number of presented answers. Therefore, we will also report MRR at K, where K may vary from 1 to 100. Recall at K: In addition to MRR, we report Recall at K, i.e., the fraction of the questions for which a system returned a correct answer ranked at or above K. 4.2 Datasets and Collections In order to have results comparable to the TREC competition [15], we split training and test question sets (Table 2) following the TREC competition year. All the development and training was done on the questions from 2002, while the reported final results were on the (hidden) set of questions from TREC 2003 5. Question Set Number Annotated Number attempted Training: TREC2002 230 210 Test: TREC2003 386 350 Total: 616 560 Table 2. Training and Test question sets from TREC2002 and TREC2003 competitions, respectively. As a source of tables we used a partial crawl of the web of 100 million documents. Overall, more than 200 million tables were extracted from this sample. In order to understand the effect of scale on accuracy and performance of our system, we created sub-samples of 10, 50, 100, 150, and 200 million tables each. We will refer to these samples as 10M, 50M, 100M, etc. 5 Experimental Results We now present our large-scale experimental evaluation of TQA. In order to measure the performance of our system we used the standard TREC [15] datasets over two different years, 2002 and 2003. We first present experiments on the TREC 2002 dataset, which we used for developing and tuning our system. We then turn the hold-out TREC2003 set of questions (Section 5.2). 5.1 Results on TREC2002 First we show the benefit of large scale indexing of web content. Figure 4 reports MRR and Recall at rank 100 over the TREC2002 question set for increasing collection size. As we can see, the accuracy improves dramatically 5 TREC 2004 changed drastically from single questions to series of questions and so we do not use this data for this study. 6

Figure 4. MRR and Recall at 100 for varying number of indexed tables. Figure 6. MRR and Recall at K for reranking answers using Heuristics, Naive Bayes, Frequency, Frequency.Decayed, and a linear RankNet (TREC2002, 200M) tic scoring function performs as consistently the best, with a linear RankNet exhibiting slightly lower MRR. It appears that there simply was not enough training data for RankNet and Naive Bayes to be able to derive good feature weights. Figure 5. MRR and at K for varying K. (TREC2002, 200M tables, Heuristic reranking) with larger table collections. At the full 200 million tables indexed, we obtain MRR at 100 of 0.32 and recall of 0.58. Note that these results are obtained by tuning on the TREC2002 set, and they primarily illustrate the point that many tables are required before even having a chance at a reasonable recall and precision. For example, the Recall (at 100) does not exceed 0.5 until we have indexed at least 100 million tables. As we discussed, for some cases it might be useful to see the correct answer even if it is buried deeper than 1, 10, or 100 results down. Figure 5 reports the MRR and Recall at K for K increasing from 1 to 1000. The recall at 1000 reaches 0.67, indicating that our retrieval algorithm is able to surface the answers, but the re-ranking is simply not able to push the correct answers to the top position. Figure 6 reports relative effectiveness of different ranking methods on the training set. As we can see, the Heuris- 5.2 Results on TREC2003 We now turn to evaluation on the test question set, TREC2003. Figure 7 reports the MRR and Recall at K for varying K. As we can see, TQA achieves MRR of over 0.145, which would rank it in the top 15 of the state-ofthe-art QA systems that participated in the 2003 TREC QA competition. While our system is not quite competitive yet, the results are extremely encouraging as we are using a new approach, and an orthogonal collection of documents. On this harder TREC 2003 benchmark, a state-of-the art traditional QA system developed by LCC, answered 200 questions correctly and 105 incorrectly. As Figure 8 reports, of the questions that LCC got wrong, TQA returns the correct answer in the first rank position for more than 12% of these questions; and for more than 40% of these questions, TQA returns the right answer in top 100. The orthogonal nature of the TQA approach leads to different failure modes, and allows TQA to succeed where traditional state-of-the-art question answering approaches fail. 6 Conclusions and Future Work We presented a first step towards using millions of tables and other implicitly structured content on the web for question answering. We have shown that our architecture scales to over 200 million tables extracted from over 100 million web pages, and demonstrated the promise and feasibility of our approach. Furthermore, our 100 million crawl 7

tion techniques to do more aggressive integration at crawl time. Current data integration techniques are not likely to scale to millions of data sources and billions of possibly useful tables. However, for specific tasks such as question answering, a combination of information retrieval and data integration techniques presented in this paper appears a promising direction for research. Our work is only a first step on a long road towards taming the immense knowledge embedded in semi-structured, and implicitly structured content on the web. This paper introduces a promising line of research that bridges question answering and the web mining, database and data integration domains. Figure 7. MRR at K for reranking answers using Heuristics, Naive Bayes, Frequency, Frequency.Decayed, and a linear RankNet (TREC2003, 200M) Figure 8. MRR at K for 105 questions difficult for traditional QA systems (TREC2003, 200M) sample comprises less than 1% of the surface web. In fact, some of the particularly useful table-rich sites such as http://about.com are only sparsely represented in our sample. Hence, the first direction in which we are exting this work is incorporating focused crawling techniques to improve the quality of tables in our collection. The question answering approach we presented is not limited to the surface web. In fact, the hidden or Deep web also abounds in structured content. A promising direction is to ext these techniques to allow searching and retrieving pages from the deep web, which could then be processed using methods presented in this paper. Currently, we process and store each table (or table snippet) in isolation. Another promising direction is to adapt data integra- ACKNOWLEDGEMENTS: The first author thanks Microsoft Corporation, where this research was performed, and Robert Ragno, for technical help and valuable discussions. References [1] E. Agichtein and L. Gravano. Snowball: Extracting relations from large plain-text collections. In ACM DL, 2000. [2] E. Brill, S. Dumais, and M. Banko. An analysis of the askmsr question-answering system. In EMNLP, 2002. [3] S. Buchholz. Using grammatical relations, answer frequencies and the world wide web for trec question answering. In TREC, 2001. [4] C. Burges, T. Shaked, E. Renshaw, A. Lazier, M. Deeds, N. Hamilton, and G. Huller. Learning to rank using gradient descent. In ICML, Bonn, Germany, 2005. [5] M. J. Cafarella, C. Re, D. Suciu, O. Etzioni, and M. Banko. Structured querying of web text: A technical challenge. In CIDR, 2007. [6] A. Doan and A. Halevy. Semantic integration research in the database community: A brief survey. AI Magazine, 2005. [7] O. Etzioni, M. Cafarella, D. Downey, S. Kok, A.-M. Popescu, T. Shaked, S. Soderland, D. Weld, and A. Yates. Web-scale information extraction in knowitall. In WWW, 2004. [8] N. Fuhr and K. Grobjohann. XIRQL: a query language for information retrieval in xml documents. In SIGIR, 2001. [9] W. Hildebrandt, B. Katz, and J. Lin. Answering definition questions with multiple knowledge sources. In HLT/NAACL, 2004. [10] V. Hristidis, L. Gravano, and Y. Papakonstantinou. Efficient ir-style keyword search over relational databases. In VLDB, 2003. [11] V. Jijkoun and M. de Rijke. Retrieving answers from frequently asked questions pages on the web. In CIKM, 2005. [12] C. C. T. Kwok, O. Etzioni, and D. S. Weld. Scaling question answering to the web. In WWW, 2001. [13] T. M. Mitchell. Machine Learning. McGraw-Hill, 1997. [14] G. Ramakrishnan, S. Chakrabarti, D. Paranjpe, and P. Bhattacharyya. Is question answering an acquired skill? In WWW, 2004. [15] E. M. Voorhees. Overview of the TREC 2003 question answering track. In Text REtrieval Conference, 2004. [16] E. M. Voorhees. Overview of the TREC 2005 question answering track. In Text REtrieval Conference, 2005. 8