Interactive Wrapper Generation with Minimal User Effort Utku Irmak and Torsten Suel CIS Department Polytechnic University Brooklyn, NY 11201

Slides:



Advertisements
Similar presentations
For more information please send to or EFFICIENT QUERY SUBSCRIPTION PROCESSING.
Advertisements

XML: Extensible Markup Language
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Information Retrieval in Practice
Software Testing and Quality Assurance
Selective Dissemination of Streaming XML By Hyun Jin Moon, Hetal Thakkar.
Web Information Retrieval and Extraction Chia-Hui Chang, Associate Professor National Central University, Taiwan
Aki Hecht Seminar in Databases (236826) January 2009
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Academic Advisor: Prof. Ronen Brafman Team Members: Ran Isenberg Mirit Markovich Noa Aharon Alon Furman.
Web Information Retrieval and Extraction Chia-Hui Chang, Associate Professor National Central University, Taiwan Sep. 16, 2005.
World Wide Web1 Applications World Wide Web. 2 Introduction What is hypertext model? Use of hypertext in World Wide Web (WWW) – HTML. WWW client-server.
Web Exploration and Search Technology Lab Department of Computer and Information Science Polytechnic University Brooklyn, NY Faculty: Torsten Suel.
Information Retrieval and Extraction 資訊檢索與擷取 Chia-Hui Chang National Central University
Quality-driven Integration of Heterogeneous Information System by Felix Naumann, et al. (VLDB1999) 17 Feb 2006 Presented by Heasoo Hwang.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
Automatic Data Ramon Lawrence University of Manitoba
Connecting Diverse Web Search Facilities Udi Manber, Peter Bigot Department of Computer Science University of Arizona Aida Gikouria - M471 University of.
University of Kansas Data Discovery on the Information Highway Susan Gauch University of Kansas.
Overview of Search Engines
Learning Table Extraction from Examples Ashwin Tengli, Yiming Yang and Nian Li Ma School of Computer Science Carnegie Mellon University Coling 04.
CST JavaScript Validating Form Data with JavaScript.
Lecturer: Ghadah Aldehim
Chapter 10 Architectural Design
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
INTRODUCTION TO DHTML. TOPICS TO BE DISCUSSED……….  Introduction Introduction  UsesUses  ComponentsComponents  Difference between HTML and DHTMLDifference.
New Protocols for Remote File Synchronization Based on Erasure Codes Utku Irmak Svilen Mihaylov Torsten Suel Polytechnic University.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Research paper: Web Mining Research: A survey SIGKDD Explorations, June Volume 2, Issue 1 Author: R. Kosala and H. Blockeel.
Requirements Analysis
Accurately and Reliably Extracting Data from the Web: A Machine Learning Approach by: Craig A. Knoblock, Kristina Lerman Steven Minton, Ion Muslea Presented.
Chapter 7 Web Content Mining Xxxxxx. Introduction Web-content mining techniques are used to discover useful information from content on the web – textual.
Chapter 6 Supplement Knowledge Engineering and Acquisition Chapter 6 Supplement.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
Chapter 2 Architecture of a Search Engine. Search Engine Architecture n A software architecture consists of software components, the interfaces provided.
WHAT IS A SEARCH ENGINE A search engine is not a physical engine, instead its an electronic code or a software programme that searches and indexes millions.
Search Engine By Bhupendra Ratha, Lecturer School of Library and Information Science Devi Ahilya University, Indore
11 A Hybrid Phish Detection Approach by Identity Discovery and Keywords Retrieval Reporter: 林佳宜 /10/17.
1 A Hierarchical Approach to Wrapper Induction Presentation by Tim Chartrand of A paper bypaper Ion Muslea, Steve Minton and Craig Knoblock.
Problem Statement: Users can get too busy at work or at home to check the current weather condition for sever weather. Many of the free weather software.
XP New Perspectives on The Internet, Sixth Edition— Comprehensive Tutorial 3 1 Searching the Web Using Search Engines and Directories Effectively Tutorial.
Presenter: Shanshan Lu 03/04/2010
Binxing Jiao et. al (SIGIR ’10) Presenter : Lin, Yi-Jhen Advisor: Dr. Koh. Jia-ling Date: 2011/4/25 VISUAL SUMMARIZATION OF WEB PAGES.
4 1 SEARCHING THE WEB Using Search Engines and Directories Effectively New Perspectives on THE INTERNET.
Chapter 9: Structured Data Extraction Supervised and unsupervised wrapper generation.
A Scalable Machine Learning Approach for Semi-Structured Named Entity Recognition Utku Irmak(Yahoo! Labs) Reiner Kraft(Yahoo! Inc.) WWW 2010(Information.
XML – Its Role and Use Ben Forta Senior Product Evangelist, Macromedia.
Next Generation Search Engines Ehsun Daroodi 1 Feb, 2003.
Copyright Prof. Dr. Shuichiro Yamamoto Prof. Dr. Shuichiro Yamamoto Nagoya University.
XML and Database.
LOGO 1 Mining Templates from Search Result Records of Search Engines Advisor : Dr. Koh Jia-Ling Speaker : Tu Yi-Lang Date : Hongkun Zhao, Weiyi.
Search Engine using Web Mining COMS E Web Enhanced Information Mgmt Prof. Gail Kaiser Presented By: Rupal Shah (UNI: rrs2146)
Ranking of Database Query Results Nitesh Maan, Arujn Saraswat, Nishant Kapoor.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Chapter 9: Structured Data Extraction Supervised and unsupervised wrapper generation.
Text Information Management ChengXiang Zhai, Tao Tao, Xuehua Shen, Hui Fang, Azadeh Shakery, Jing Jiang.
Automatic Categorization of Query Results Kaushik Chakrabarti, Surajit Chaudhuri, Seung-won Hwang Sushruth Puttaswamy.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 7 Representing Web Data:
1 Overview of Query Evaluation Chapter Outline  Query Optimization Overview  Algorithm for Relational Operations.
Introduction. Internet Worldwide collection of computers and computer networks that link people to businesses, governmental agencies, educational institutions,
Search Engine and Optimization 1. Introduction to Web Search Engines 2.
Glencoe Introduction to Web Design Chapter 4 XHTML Basics 1 Review Do you remember the vocabulary terms from this chapter? Use the following slides to.
Information Retrieval in Practice
Unit 4 Representing Web Data: XML
Search Engine Architecture
Chapter 7 Representing Web Data: XML
Kriti Chauhan CSE6339 Spring 2009
Web Mining Department of Computer Science and Engg.
Overview of Query Evaluation
Presentation transcript:

Interactive Wrapper Generation with Minimal User Effort Utku Irmak and Torsten Suel CIS Department Polytechnic University Brooklyn, NY and

Introduction Information on WWW is usually unstructured in nature, and presented via HTML Not appropriate for (certain types of) automatic processing Significant amount of embedded structured data Stock data, product/price data, various statistics, … Expressed through layout, HTML structure Wrapper: a software tool and set of rules for extracting such structured data from web pages Challenge: different sites, variations within sites

An Example: Meta Search Engine

RankTitleURLSnippet 1Parallel and Distributed Databases Introduction … 2distributed and parallel databases springerlink.com/app... 3Shared Cache – The Future of Parallel Databases csdl2.computer.org…… Shared Cache – The future … 4Distributed and Parallel Databases trier.edu/... … Distributed and Parallel…

Introduction Extracting the relevant data embedded in web pages and store in a relational structure for further processing Specialized software programs called wrappers Manual wrappers: e.g., Perl scripts … Due to shortcomings of manually developing wrappers, many tools have been proposed for generating wrappers Semi-automatic (interactive and non-interactive) Fully-automatic

An Example: Meta Search Engine

Our Goal in this Work Design a complete interactive system for generating wrappers Developed for industrial application Overcome common obstacles such as Missing (multiple) attributes Visual variations Minimize user effort Create robust and reliable wrappers on future pages

Related Work Semi-automatic approaches WIEN, SoftMealy, STALKER, Active learning techniques are employed by Muslea et al. Semi-automatic interactive approaches W4F, XWrap, Lixto Fully-automatic approaches IEPAD, RoadRunner, work by Zhai et al.

Our Contributions We describe a new system for semi-automatic wrapper generation based on an interactive interface a powerful extraction language ranking of likely candidate sets To implement the interface, we describe a framework based on active learning We propose the use of a category utility function for ranking the tuple sets We perform a detailed experimental evaluation

Framework User Training Webpage Verification Set Wrapper Generation System Input: - a training webpage - a number of verification pages

Framework User Training Webpage Verification Set Wrapper Generation System (1)User highlights a tuple on training webpage

Framework User Training Webpage Verification Set Wrapper Generation System (2) Selected tuple submitted to our system, which generates several wrappers

Framework User Training Webpage Verification Set Wrapper Generatio n System ? (3a) System presents user with a candidate tuple set

Framework User Training Webpage Verification Set Wrapper Generation System ? ? ? (3b) System presents user with another candidate tuple set

Framework User Training Webpage Verification Set Wrapper Generation System ? (3c) System presents user with another candidate tuple set

Framework User Training Webpage Verification Set Wrapper Generation System (4) User selects one of the proposed candidate tuple set

Framework User Training Webpage Verification Set Wrapper Generation System (5) System refines wrapper and tests it on verification set

Framework User Training Webpage Verification Set Wrapper Generation System ! (6) System finds one page where the wrapper disagrees

Framework User Training Webpage Verification Set Wrapper Generation System ? ? ? (7a) System presents user with a candidate tuple set on this page in verification set

Framework User Training Webpage Verification Set Wrapper Generation System ? ? (7b) System presents user with another candidate tuple set on page in verification set

Framework User Training Webpage Verification Set Wrapper Generation System (8) User selects one of the proposed candidate tuple set

Framework User Verification Set Wrapper Generation System Wrapper Training Webpage (9) System outputs final wrapper

Definition: Wrapper A wrapper is a set of extraction rules that agree on all pages considered thusfar (i.e., that extract exactly the same set of tuples on these pages) The extraction rules within a wrapper may disagree on not yet encountered web pages In this case, a wrapper can be refined by removing some of the extraction rules

Summary of Interaction Steps: User highlights a tuple on training page This allows system to generate a number of wrappers that capture different candidate tuple sets System presents candidate tuple sets on the training page to user, in order of plausibility User selects the correct tuple set System tests resulting wrapper on verification set to find any disagreements For any disagreement, user selects the correct set from a ranked list of choices

A Real Example: half.ebay.com Extract tuple with attributes: Price, Total Price, Shipping, Seller Only extract those tuples that: Are listed in Like New Items and Whose sellers are awarded a Red Star

A Real Example: half.ebay.com

Training page:

Observations: There can be a lot of unexpected cases and variations on real websites A powerful language is needed to specify extraction rules Simple extraction followed by SQL filtering conditions will often not work The final wrapper may still contain many extraction rules and may disagree on webpages encountered in the future

User Effort: (0) Cost of defined table structure: number of attribute, their names, maybe types (1) Cost of highlighting one (or maybe two) tuples on training pages (2) Cost of one or more selections from a ranked list of candidate tuple sets

To Implement We Need: (0) User interface based browser extensions (1) Powerful extraction language (2) Algorithms for generating extraction rules and grouping them into wrappers (3) Techniques for ranking wrappers in terms of plausibility (4) Heuristics for throwing away bizarro rules

System Architecture Overview

Document Representation

Extraction Language Overview Based on DOM-tree with auxiliary properties Extraction patterns consists of a sequence of expressions on the path from root to a tuple attribute Each expression consists of conjunctions and disjunctions of predicates If a node at depth i Satisfies its expression: Accept Otherwise: Reject Only children of accepted nodes are checked further for the expression defined at depth i+1

Predicates in the Extraction Language Element Nodes tagName tagAttr tagAttrArray elementSiblingPosition tagPstn … Text Nodes textNode textSiblingPosition syntax leftTextNode leftElementNode …

The Wrapper Structure

Wrapper Generation Algorithm Creating dom_path and LCA objects Creating patterns that extract tuple attributes Creating initial wrappers Generating the tuple validation rules and new wrappers Combining the wrappers Ranking the tuple sets Getting confirmation from the user Testing the wrapper on the verification set

Ranking the Tuple Sets We adopt the concept of category utility: Maximize inter-cluster dissimilarity Minimize intra-cluster similarity Dom-Path, specific value, missing attributes, indexing, content specification 1) The weight of attribute A 2) The probability that an item has value v for attribute A, given it belongs to cluster C 3) The probability that an item belongs to cluster C, given it has value v for attribute A S0S0 T

Ranking: Discussion Note: we are ranking tuple sets and wrappers A wrapper is more plausible if the tuples is extracted are very similar to each other, and if those tuples are very different from the non-tuples One could also try to rank extraction patterns, say using MDL

Experimental Evaluations Number of training tuples required by our system and previous works Results on four previously used data sets from RISE Okra, BigBook, Internet Address Finder, Quote Server

Experimental Evaluations We chose ten well- known web sites and collected fifty web pages from each: AltaVista, CNN, Google, Hotjobs, IMDb, YMB (Yahoo! Message Board), MSN Q (MSN Money - Quotes), Weather, Art, and BN (Barnes & Noble)

Experimental Evaluation Updating Term Weights (effect of adaptive approach): The effect of pregenerating wrappers for the same extraction scenario on Art and BN websites

Summary An approach to interactive wrapper generation that combines Powerful extraction language Techniques for deriving extraction patterns from user input A framework using active learning A ranking technique using a category utility function