PhD Presentation

6,231 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,231
On SlideShare
0
From Embeds
0
Number of Embeds
51
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

PhD Presentation

  1. 1. A Thesis Submitted In Partial Fulfillment for the Award of the Degree of Doctor of Philosophy (Ph.D) <ul><li>By </li></ul><ul><li>Mohammed Kayed </li></ul>Information Extraction from Semi-Structured Web Pages Faculty of Science, Beni-Suef University, Egypt 2007
  2. 2. Outline <ul><li>Introduction </li></ul><ul><li>Part 1: Chapters 2-3 </li></ul><ul><ul><li>A Survey and a Comparative Analysis for IE Systems </li></ul></ul><ul><li>Part 2: Chapters 4-7 </li></ul><ul><li>FiVaTech: A New Page Level Web Data Extraction Approach </li></ul><ul><li>Conclusion </li></ul>
  3. 3. Introduction <ul><li>Information Extraction </li></ul><ul><ul><li>A key to web information integration. </li></ul></ul><ul><ul><li>Transforms Web pages into program-friendly format such as a relational database. </li></ul></ul>
  4. 4. Introduction (cont.) <ul><li>IE is applied in many Web applications </li></ul>Data extraction problem is very important for many applications that interact with search engines.
  5. 5. <ul><li>An IE task is defined by its input and its extraction target </li></ul><ul><ul><li>A free text IE task </li></ul></ul><ul><ul><li>Template Web pages IE task </li></ul></ul><ul><ul><li>Record-Level IE task </li></ul></ul><ul><ul><li>Page-Level IE task </li></ul></ul><ul><li>Wrapper Induction Systems </li></ul><ul><ul><li>Systems that generate wrappers for given IE task </li></ul></ul>Definitions
  6. 6. A free text IE task which is specified by the input and its output. IE from Free Texts
  7. 7. A Semi-structured page containing list of data records. IE from Template Pages
  8. 8. <ul><li>Many IE Systems are Developed </li></ul><ul><ul><li>Minerva </li></ul></ul><ul><ul><li>AutoSlog </li></ul></ul><ul><ul><li>LIEP </li></ul></ul><ul><ul><li>TSIMMIS </li></ul></ul><ul><ul><li>WebOQL </li></ul></ul><ul><ul><li>W4F </li></ul></ul><ul><ul><li>XWRAP </li></ul></ul><ul><ul><li>Rapier </li></ul></ul><ul><ul><li>SRV </li></ul></ul><ul><ul><li>Whisk </li></ul></ul><ul><ul><li>NoDoSE </li></ul></ul><ul><ul><li>DEByE </li></ul></ul><ul><ul><li>Wien </li></ul></ul><ul><ul><li>Stalker </li></ul></ul><ul><ul><li>Softmealy </li></ul></ul><ul><ul><li>IEPAD </li></ul></ul><ul><ul><li>OLERA </li></ul></ul><ul><ul><li>DeLa </li></ul></ul><ul><ul><li>RoadRunner </li></ul></ul><ul><ul><li>Exalg </li></ul></ul><ul><ul><li>Depta </li></ul></ul><ul><ul><li>ViPER </li></ul></ul><ul><ul><li>ViNTs </li></ul></ul><ul><ul><li>MSE </li></ul></ul>Introduction (cont.)
  9. 9. Low Effort Satisfying his/her requirements High Performance& General Solution <ul><ul><li>A Survey and a Comparative Analysis are necessity </li></ul></ul>
  10. 10. <ul><ul><li>Surveys the major IE Systems. </li></ul></ul><ul><ul><ul><li>A taxonomy of IE systems from users’ viewpoint </li></ul></ul></ul><ul><ul><li>Three dimensions for comparison </li></ul></ul><ul><ul><ul><li>Task domain, </li></ul></ul></ul><ul><ul><ul><li>Techniques used, </li></ul></ul></ul><ul><ul><ul><li>Automation degree. </li></ul></ul></ul><ul><ul><li>Criteria for each dimension </li></ul></ul>Part 1 of The Thesis
  11. 11. <ul><ul><li>FiVaTech </li></ul></ul><ul><ul><ul><li>Template pages generated from deep Web </li></ul></ul></ul><ul><ul><ul><li>Page-level Web data extraction </li></ul></ul></ul><ul><ul><ul><li>Unsupervised approach </li></ul></ul></ul><ul><ul><ul><li>Work for singleton and multiple record pages </li></ul></ul></ul><ul><ul><ul><li>Detect schema and (tree) templates automatically </li></ul></ul></ul>Part 2 of The Thesis
  12. 12. A Survey of Web Information Extraction Systems Part I
  13. 13. <ul><li>Related Work Taxonomies </li></ul>Time MUCs *MUC *Post-MUC Automation Degree Hsu and Dung *Hand-crafted *Special language *Heuristic-based *WI approaches Automation Degree Chang and Kuo *Need programmers *annotation examples *Annotation-free *Semi-supervised Extraction rules Kushmerick *Finite-state *Relational learning <ul><li>Usability </li></ul><ul><li>Kuhlins </li></ul><ul><ul><li>*Commercial </li></ul></ul><ul><ul><li>*Noncommercial </li></ul></ul>Techniques Laender *Special languages *HTML-aware *NLP-based *WI tools *Modeling-based *Ontology-based Input & Extraction rules Muslea *Free text (syntactic/semantic rules) *WI tools (delimiter-based rules) *Online documents(delimiters, syntactic/semantic) <ul><li>Output Target </li></ul><ul><li>Sarawagi </li></ul><ul><ul><li>*Record-level </li></ul></ul><ul><ul><li>*Page-level </li></ul></ul><ul><ul><li>*Site-level </li></ul></ul>
  14. 14. <ul><li>Three Dimensions for Comparing IE Tools </li></ul>Survey (cont.) <ul><ul><li>Automation Degree </li></ul></ul><ul><ul><li>“ the degree of automation for IE systems ” </li></ul></ul><ul><ul><li>Programmer-involved, learning-based or annotation-free approaches </li></ul></ul><ul><ul><li>Techniques </li></ul></ul><ul><ul><li>“ the performance of IE systems ” </li></ul></ul><ul><ul><li>Regular expression rules vs. Prolog-like logic rules </li></ul></ul><ul><ul><li>Pattern Mining, Deterministic FST, or probabilistic models </li></ul></ul><ul><ul><li>Task Domain </li></ul></ul><ul><ul><li>“ why an IE system fails to handle some Web sites of particular structures ” </li></ul></ul><ul><ul><li>Input (Free text, semi-structured) </li></ul></ul><ul><ul><li>Output Targets (record-level, page-level, site-level) </li></ul></ul><ul><ul><li>Task Difficulties </li></ul></ul>
  15. 15. Task Domain: Criteria <ul><ul><li>Page type </li></ul></ul><ul><ul><li>Non-HTML support (NHS) </li></ul></ul><ul><ul><li>Extraction Level </li></ul></ul><ul><ul><li>Extraction Target Variation </li></ul></ul><ul><ul><ul><li>Missing/Multi-valued attributes </li></ul></ul></ul><ul><ul><ul><li>Multi-ordering attributes </li></ul></ul></ul><ul><ul><ul><li>Nested data </li></ul></ul></ul><ul><ul><li>Template Variations </li></ul></ul><ul><ul><ul><li>Variant formats </li></ul></ul></ul><ul><ul><ul><li>Common formats </li></ul></ul></ul><ul><ul><li>Un-tokenized Attributes (UTA) </li></ul></ul>
  16. 16. Techniques: Criteria <ul><ul><li>Scan passes </li></ul></ul><ul><ul><li>Extraction rule types </li></ul></ul><ul><ul><li>Feature used </li></ul></ul><ul><ul><li>Learning algorithms </li></ul></ul><ul><ul><li>Tokenization schemes </li></ul></ul>Automation Degree: Criteria <ul><ul><li>User Expertise </li></ul></ul><ul><ul><li>Page-fetching Support </li></ul></ul><ul><ul><li>Output / API Support </li></ul></ul><ul><ul><li>Applicability </li></ul></ul><ul><ul><li>Limitation </li></ul></ul>
  17. 17. Task Domain: What are semi-structured pages?
  18. 18. Automation Degree: Four approaches <ul><ul><li>Manually-constructed IE tools </li></ul></ul><ul><ul><li>Supervised IE systems </li></ul></ul><ul><ul><li>Semi-supervised IE systems </li></ul></ul><ul><ul><li>Unsupervised IE systems </li></ul></ul>
  19. 19. <ul><ul><li>Manually </li></ul></ul><ul><ul><li>TSIMMIS </li></ul></ul><ul><ul><li>Minerva </li></ul></ul><ul><ul><li>WebOQL </li></ul></ul><ul><ul><li>W4F </li></ul></ul><ul><ul><li>XWrap </li></ul></ul><ul><ul><li>Users program a wrapper by hand using a general programming language (e.g., Perl) or using special designed languages. </li></ul></ul>Survey (cont.)
  20. 20. <ul><ul><li>Supervised </li></ul></ul><ul><ul><li>SRV </li></ul></ul><ul><ul><li>Rapier </li></ul></ul><ul><ul><li>Wien </li></ul></ul><ul><ul><li>Whisk </li></ul></ul><ul><ul><li>NoDoSE </li></ul></ul><ul><ul><li>Softmealy </li></ul></ul><ul><ul><li>Stalker </li></ul></ul><ul><ul><li>DEByE </li></ul></ul><ul><ul><li>General users instead of programmers can be trained to use the labeling GUI, thus reducing the cost of wrapper generation. </li></ul></ul>Survey (cont.)
  21. 21. <ul><ul><li>Semi-supervised </li></ul></ul><ul><ul><li>IEPAD </li></ul></ul><ul><ul><li>OLERA </li></ul></ul><ul><ul><li>Thresher </li></ul></ul><ul><ul><li>Although require no labeled training pages, post-effort from the user is required to choose the target pattern. </li></ul></ul>Survey (cont.)
  22. 22. <ul><ul><li>Unsupervised </li></ul></ul><ul><ul><li>DeLa </li></ul></ul><ul><ul><li>RoadRunner </li></ul></ul><ul><ul><li>Exalg </li></ul></ul><ul><ul><li>Depta </li></ul></ul><ul><ul><li>ViPER </li></ul></ul><ul><ul><li>MSE </li></ul></ul>Do not use any labeled training examples and have no user interactions to generate a wrapper. Survey (cont.)
  23. 23. Dimension 1: Task Domain
  24. 24. Dimension 2: Techniques Tools Scan Pass Extraction Rule Type Features Used Learning Algorithm Tokenization Schemes Minerva Single Regular exp. HTML tags/Literal words None Manually TSIMMIS Single Regular exp. HTML tags/Literal words None Manually WebOQL Single Regular exp. Hypertree None Manually W4F Single Regular exp. DOM tree path addressing None Tag Level XWRAP Single Context-Free DOM tree None Tag Level RAPIER Multiple Logic rules Syntactic/Semantic ILP (bottom-up) Word Level SRV Multiple Logic rules Syntactic/Semantic ILP (top-down) Word Level WHISK Single Regular exp. Syntactic/Semantic Set covering (top-down) Word Level NoDoSE Single Regular exp. HTML tags/Literal words Data Modeling Word Level DEByE Multiple Regular exp. HTML tags/Literal words Data Modeling Word Level WIEN Single Regular exp. HTML tags/Literal words Ad-hoc (bottom-up) Word Level STALKER Multiple Regular exp. HTML tags/Literal words Ad-hoc (bottom-up) Word Level SoftMealy Both Regular exp. HTML tags/Literal words Ad-hoc (bottom-up) Word Level IEPAD Single Regular exp. HTML tags Pattern Mining, String Alignment Multi-Level OLERA Single Regular exp. HTML tags String Alignment Multi-Level DeLa Single Regular exp. HTML tags Pattern Mining Tag Level RoadRunner Single Regular exp. HTML tags String Alignment Tag Level EXALG Single Regular exp. HTML tags/Literal words Equivalent Class and Role Differentiation by DOM tree path Word Level DEPTA Single Tag Tree HTML tags tree Pattern Mining, String comparison, Partial tree alignment Tag Level ViPER Single Tag Tree Visual Features/HTML tags tree Pattern Mining, global string alignment by Divide and Conquer Tag Level MSE Single Tag Tree Visual Features/HTML tags tree Pattern Mining with visual features Tag Level
  25. 25. Dimension 3: Automation degree Tools User Expertise Fetch support Output/API Support Applicability Limitation Minerva Programming No XML High Not restricted TSIMMIS Programming No Text High Not restricted WebOQL Programming No Text High Not restricted W4F Programming Yes XML Medium Not restricted XWRAP Programming Yes XML Medium Not restricted RAPIER Labeling No Text Medium Not restricted SRV Labeling No Text Medium Not restricted WHISK Labeling No Text Medium Not restricted NoDoSE Labeling No XML, OEM Medium Not restricted DEByE Labeling Yes XML, SQL DB Medium Not restricted WIEN Labeling No Text Medium Not restricted STALKER Labeling No Text Medium Not restricted SoftMealy Labeling Yes XML, SQL DB Medium Not restricted IEPAD Post labeling Pattern selection No Text Low Multiple-records page OLERA Partial Labeling No XML Low Not restricted DeLa No Interaction Yes Text Low Multiple-records page, More than one page RoadRunner No Interaction Yes XML Low More than one page EXALG No Interaction No Text Low More than one page DEPTA Pattern selection No SQL DB Low Multiple-records pages ViPER No Interaction No SQL DB Low Multiple-records pages MSE No Interaction No -- Low More than one page
  26. 26. Relationship Among Dimensions <ul><ul><li>Template pages have higher automation degree than others. </li></ul></ul><ul><ul><li>Semantic features are required for manual systems where the input has less common tags. </li></ul></ul>
  27. 27. Overall Comparison <ul><li>Practitioner </li></ul><ul><ul><li>High effectiveness tech., i.e., high recall and high precision. </li></ul></ul><ul><li>IE systems can only compared from their applicability. </li></ul><ul><li>Semi-supervised and unsupervised systems have low applicability. </li></ul><ul><li>Manual and supervised has high applicability. </li></ul><ul><li>Researcher </li></ul><ul><ul><li>Which technique to apply when tailoring current systems to a new task domain . </li></ul></ul><ul><ul><li>Unsupervised tech. are hard to extend to free texts and non-template pages. </li></ul></ul><ul><ul><li>Supervised approaches can be extended to new task domain by adding new features. </li></ul></ul>
  28. 28. FiVaTech: A Page-Level Web Data Extraction Approach Part II
  29. 29. Problem Formulation for Template Pages Data Extraction
  30. 30. Page Generation Model A Web page is generated by embedding data values x (taken from a Database) into a predefined template T. All data instances of the database conform to a common schema.
  31. 31. A data schema can be of the following types <ul><ul><li>A basic type (β) , </li></ul></ul><ul><ul><li>A tuple type <T 1 , T 2 , …, T n >, </li></ul></ul><ul><ul><li>A set type {T}. </li></ul></ul><ul><ul><li>An optional type (T)? is a tuple (not a set) type with cardinality 0 or 1 for every instantiation. </li></ul></ul><ul><ul><li>A disjunctive type (T 1 | T 2 | ...| T k ) is a k-tuple </li></ul></ul><ul><ul><li><{T 1 }  1 , {T 2 }  2 , ..., {T 2 }  k >  </li></ul></ul><ul><ul><li>where the cardinality sum of  1 to  k equals one for every instantiation of  . </li></ul></ul>Schema
  32. 32. <ul><ul><li>Dealing with a Web page (template & data) as a sequence of string is not a good solution. </li></ul></ul><ul><ul><li>Both Templates and Web pages have tree-like structure. </li></ul></ul><ul><ul><li>Our proposed Page Creation Model considers that both the template and the Web page have a tree structure. </li></ul></ul>String Templates <ul><li>EXALG: </li></ul><ul><ul><li>If  is a tuple constructor of order n, T(  ) is an order set of n+1 string, </li></ul></ul><ul><ul><li>If  is a set constructor, T(  ) is string S τ . </li></ul></ul>
  33. 33. Tree Templates T 1  i T 2 is a new tree resulted by appending tree T 2 to the i th node (from the reference point ) on the right most path of tree T 1 .
  34. 34. Tree Template: Encoding 1 We define the encoding for a type  and its instance x as: <ul><ul><li>If  is of a basic type β, then  (T, x) is a node containing x. </li></ul></ul><ul><ul><li>If  is a n-tuple, then T(  )=[(S 1 , …,S n+1 ), (i 1 ,…, i n ), (j 1 , …, j n )]. If x = (x 1 , …, x n ), then  (T, x) is produced by S 1  i1  (T, x 1 )  j1 S 2  i2  (T, x 2 )  j2 S 3 ...  in  (T, x n )  jn S n+1 </li></ul></ul><ul><ul><li>If  is a set constructor, then T(  )=P. If x = {e 1 , e 2 , ..., e m }, then  (T, x) will be the tree by inserting the m subtrees  (T, e 1 ),  (T, e 2 ), ...,  (T, e m ) as siblings at the leaf node on the right most path of P. </li></ul></ul>
  35. 35. <ul><ul><li>T(  1 )= [A], </li></ul></ul><ul><ul><li>T(  2 )=[ (B  0 C, D  0 E ,F,H,  ,  ,K) (0,0,0,0,0,0), (2,1,0,0,1,6) ], </li></ul></ul><ul><ul><li>T(  3 )=[ (G,  ),0,0 ], </li></ul></ul><ul><ul><li>T(  4 )=[ (I,  ),1,0 ], </li></ul></ul><ul><ul><li>T(  5 )=[ (J,  ),2,0 ], </li></ul></ul>Example for Encoding 1
  36. 36. Tree Template: Encoding 2 <ul><ul><li>If  is a n-tuple constructor, then T(  )=[(C 1 , …,C n+1 ), (i 1 ,…, i n )]. If x = (x 1 , …, x n ), then  (T, x) is the tree produced by inserting the n+1 ordered subtrees C 1  i1  (T, x 1 ), C 2  i2  (T, x 2 ), …, C n  in  (T, x n ), and C n+1 as siblings at the leaf node on the right most path of a template P. </li></ul></ul><ul><ul><li>We merge set type with the tuple type and use the tuple template for set as well. Thus, all type constructors have the same template format. We use the name n-order set for this merged template. </li></ul></ul>We define the encoding for a type  and its instance x as:
  37. 37. <ul><ul><li>T(w 1 )= [A,(B,  ),0], </li></ul></ul><ul><ul><li>T(w 2 )= [  ,(C,D,K),(0,0)], </li></ul></ul><ul><ul><li>T(w 3 )= [  ,(E,F,  ),(0,0)], </li></ul></ul><ul><ul><li>T(w 4 )= [  ,(  ,H,  ,  ),(0,0,0)], </li></ul></ul><ul><ul><li>T(w 5 )= [  ,(  ,  ,  ),(0,0)], </li></ul></ul><ul><ul><li>T(  3 )= [  ,(G,  ),0] </li></ul></ul><ul><ul><li>T(  4 )= [  ,(I,  ),1], </li></ul></ul><ul><ul><li>T(  5 )= [  ,(J,  ),2]. </li></ul></ul>Example for Encoding 2
  38. 38. Problem Formulation Definition : Given a set of n DOM trees, DOM i =  ( T, x i ) (1 ≤ i ≤ n ), created from some unknown template T and values { x 1 ,. . .,x n }, deduce the template and values, from the set of DOM trees alone. We call this problem a page-level information extraction. If one single page ( n =1) which contains tuple constructors is given as input, the problem is to deduce the template for the schema inside the tuple constructors. We call this problem a record-level information extraction task.
  39. 39. Multiple Tree Merging for FiVaTech
  40. 40. FiVaTech System Overview Given some DOM trees (Web pages) as input, we try to merge all DOM trees at the same time into a single tree called a fixed/variant pattern tree . From this pattern tree, we can recognize variant leaf nodes for basic-typed data and mine repetitive nodes for set-typed data.
  41. 41. Almost, collect all required information
  42. 42. Fixed/Variant Tree Construction The tree merging algorithm.
  43. 43. <ul><li>Assumption: Basic type data usually occur at the leaf nodes </li></ul><ul><li>A top-down approach for multiple tree merging: </li></ul><ul><ul><li>From a tree level to a string level </li></ul></ul><ul><ul><li>Level by level (multiple) string alignment that considers both missing data and multiple-value data. </li></ul></ul><ul><li>At each internal node n (starting from root): </li></ul><ul><ul><li>collects all first-level child nodes of the input trees (subtrees matched with the subtree from n) in a matrix </li></ul></ul><ul><ul><li>Conducts four steps </li></ul></ul><ul><ul><ul><li>Peer node recognition </li></ul></ul></ul><ul><ul><ul><li>Matrix alignment </li></ul></ul></ul><ul><ul><ul><li>Pattern mining </li></ul></ul></ul><ul><ul><ul><li>Optional & disjunctive node identification </li></ul></ul></ul>Fixed/Variant Tree Construction (cont.)
  44. 44. Peer Matrix M Aligned Peer Matrix Aligned List List after Mining Pattern Tree
  45. 45. Matching Score Normalization Algorithm Step 1: Peer Node Recognition
  46. 46. A matching Score example Depta: 15/43 (≈0.35) FiVaTech: ( 1.0 + 0.6 + 0.6 + 0.6 + 0.6 ) / 5 = 68.0 68.0 + ( 1 / Average (43, 23) ) ≈ 0.71 <ul><li>Assume that tr i (i = 1, 2, 3, 4) has 6 mapping tr j (j = 5, 6). </li></ul><ul><li>Assume also that the size of every tr i is 10. </li></ul>
  47. 47. A Fixed Template Tree <ul><li>Two trees may have similar structures, but different functions. </li></ul><ul><li>A Fixed Template Tree is the tree that is a part of template. </li></ul><ul><li>Matching score (=1) can be used to differentiate such fixed template trees. </li></ul>
  48. 48. Step 2: Peer Matrix Alignment The peerMatrixAlignment algorithm.
  49. 49. Peer Matrix Alignment (cont.) <ul><li>R1: Select a node with checkSpan r (n rc ) = -1 ; </li></ul><ul><li>R2: checkSpan r (n rc ) = 1 and M[r][c]=M[r down ][c′]) . </li></ul><ul><li>If R 1 and R 2 fail, divide the row into 2 parts: P 1 and P 2 . </li></ul>Span(n rc ) is the maximum number of different nodes (without repetition) between any two consecutive occurrences of n rc in each column c plus one. Shifting a node n rc from M is based on the following rules:
  50. 50. Span of a, b, c, d, e are 0, 3, 3, 3, 0 Peer Matrix Alignment (cont.)
  51. 51. Peer Matrix Alignment (cont.) The function alignmentResult handles the problem of different functionalities by a clustering algorithm.
  52. 52. Peer Matrix Alignment (cont.) The clustering algorithm. The principle here is: &quot; as well as nodes of each row in the matrix M have the same structure, they should also have the same functionality &quot;
  53. 53. Step 3: Frequent Pattern Mining A Formal Description of a Repetitive Pattern.
  54. 54. Frequent Mining Algorithm Step 3: Tandem Repeat Mining
  55. 55. Example for Tandem Repeat Mining A Frequent Mining Example
  56. 56. Step 4: Optional Node Merging The occurrence vector of: a and e is (1,1,1) . b and c is (1,1,1,1,1,1) d is (1,0,1,1,0,1)  Optional
  57. 57. A Running Example
  58. 58. The constructed fixed/variant pattern tree A Running Example The next step is: Identifying Tuples
  59. 59. Schema Detection
  60. 60. Data Schema Detection <ul><li>Mark nodes as k -tuple </li></ul><ul><ul><li>For nodes with only one child and are not marked as set or optional types, there is no need to mark it as 1-tuple. </li></ul></ul><ul><ul><li>For nodes with more than one branch, we mark them as k -tuple ( k ≥1) if k calls of the function schemaDetection return true. </li></ul></ul>
  61. 61. Data Schema Detection (cont.) The schema S is the pattern tree after excluding all tag nodes that have no types.
  62. 62. <ul><li>A reference node r is identified as: </li></ul><ul><li>r is of a tuple type ( table 2 , td 4 , div, span 1 , span 2 , span 3 ), </li></ul><ul><li>The next (right) node of r is a node of type  , where  is either β ( td 2 , a, strike, br 4 , br 6 , “Delivery:” ) OR a set type {} ( table 1 , tr 1 ), OR a virtual node ( br 2 , “Features:” ), </li></ul><ul><li>r is a leaf node on the right most path of a k-tuple or k-order set and is not of any type ( td 5 , br 3 ). We call r a rightmost reference node. </li></ul>Reference Node Identification
  63. 63. Template Identification Templates are identified by segmenting the pre-order traversing of the trees (skipping basic type nodes) at every reference nodes.
  64. 64. Data Schema Detection <ul><li>Given a k -tuple or k -order set <  1 ,  2 , …,  k > at node n, where every type  i (1  i  k ) is located at a node n i ; </li></ul><ul><li>[P, (C 1 , C 2 , …, C k+1 )] </li></ul><ul><li>For template P </li></ul><ul><li>If  is the first data type in the schema tree, then P will be the one containing its reference node, or  otherwise. </li></ul><ul><li>For template C i </li></ul><ul><li>If  i is a tuple type, then the template that includes node n i and the respective insertion position will be 0. </li></ul><ul><li>If  i is of set type or basic type, then C i will be the template that is under n and includes the reference node of n i or  if no such templates exist. </li></ul><ul><li>If C i is not null, the respective insertion position will be the distance of n i to the rightmost path of C i . Template C k+1 will be the one that has the rightmost reference node inside n or  otherwise. </li></ul>
  65. 65. Data Schema Detection (cont.) T(  1 )=(T 1 ,(T 2 ,  ),0), T(  2 )=(  ,(T 3 ,  ),0), T(  3 )=(  ,(T 4 ,T 5 ,T 18 ), (0,0)), T(  4 )=(  ,(T 6 ,T 7 ,  ),(0,0)), T(  5 )=(  ,(T 8 ,T 11 ,  ,  ,  ), (1,0,0,0)), T(  6 )=(  , (T 9 ,T 10 ),0), T(  7 )=(  ,(  ,  ,  ),(0,0)), T(  8 )=(  ,(T 12 ,  ),1), T(  9 )=(  ,(T 13 ,  ),0), T(  10 )=(  ,(T 14 ,  ),2), T(  11 )=(  ,(T 15 ,  ),1),
  66. 66. FiVaTech Vs. Depta <ul><li>Order: mining then alignment </li></ul><ul><li>Rely on Tag tree not the DOM tree. </li></ul><ul><li>Partial alignment relies on the order of trees matched with the seed tree. </li></ul><ul><li>Can not differentiate between data sections that have noisy data and data sections that have relevant data. </li></ul><ul><li>Can not handle singleton pages </li></ul>FiVaTech Vs. EXALG <ul><li>FiVaTech has different granularity of the used tokens than EXALG. </li></ul><ul><li>Assume that HTML tags as part of the data. </li></ul><ul><li>EXALG assumes that a pair of two valid equivalence classes is nested. </li></ul>
  67. 67. FiVaTech as a Schema Extractor Experiments The comparison with EXALG schema. Dataset: 9 Web sites on EXALG home page. site N Manual EXALG FiVaTech A m O m {} A e O e {} c Incorr. A e O e {} c Incorr. i n i n Amazon (Cars) 21 13 0 5 15 0 5 11 4 2 8 1 4 8 0 0 Amazon (Pop) 19 5 0 1 5 0 1 5 0 0 5 0 1 5 0 0 MLB 10 7 0 4 7 0 4 7 0 0 6 0 1 6 0 1 RPM 20 6 1 3 6 1 3 6 0 0 5 0 3 5 0 1 UEFA (Teams) 20 9 0 0 9 0 0 9 0 0 9 0 0 9 0 0 UEFA (Play) 20 2 0 1 4 2 1 2 2 0 2 0 0 2 0 0 E-Bay 50 22 3 0 28 2 0 18 10 4 20 5 0 19 1 3 Netflix 50 29 9 6 37 2 1 25 12 4 34 12 7 29 5 0 US Open 32 35 13 10 42 4 10 33 9 2 33 14 11 33 0 2 Total 242 128 26 25 153 11 23 116 37 12 122 32 20 116 6 7 Recall 90.6% 90.6% Precision 75.8% 95.1%
  68. 68. FiVaTech as a SRR Extractor Experiments (cont.) To recognize the data sections of a Web site, FiVaTech identifies a set of nodes n SRRs that are the outer most set type nodes, i.e. the path from the node n SRRs to the root of the schema tree has no other nodes of set type. A special case is when the identified node n SRRs in the schema tree has only one child node of another set type, this means data records of this section are presented in more than one column of a Web page, while FiVaTech still catches the data .
  69. 69. FiVaTech As a SRR Extractor Experiments (cont.) Data set: 11 Web site from Testbed Ver. 1.02. Step 1: SRRs Extraction Step 1: Alignment #Actual SRRs: 419 #Actual attributes: 92 Depta FiVaTech Depta FiVaTech #Extracted 248 409 93 91 #Correct 226 401 45 82 Recall 53.9% 95.7% 48.9% 89.1% Precision 91.1% 98.0% 48.4% 90.1% Dataset TBDW MSE [55] #Actual SRRs 693 1242 System ViPER FiVaTech MSE FiVaTech #Extracted 686 690 1281 1260 #Correct 676 672 1193 1186 Recall 97.6% 97.0% 96.1% 95.5% Precision 98.5% 97.4% 93.1% 94.1%
  70. 70. Conclusions & Future Work
  71. 71. Conclusions <ul><li>We surveyed for contemporary IE tools in the literature and compared them in three dimensions: </li></ul><ul><ul><li>the task domain, </li></ul></ul><ul><ul><li>the techniques used, </li></ul></ul><ul><ul><li>the automation degree. </li></ul></ul><ul><li>A set of criteria are proposed to compare and evaluate the surveyed systems. </li></ul><ul><li>A global comparison based on the criteria of the three dimensions is made. </li></ul>
  72. 72. Conclusions (cont.) <ul><li>We proposed a novel Web data extraction approach, called FiVaTech , to merge multiple DOM trees simultaneously, and deduce the schema and the template for the template-based Web pages. </li></ul><ul><li>We presented a new model for dynamic page creation. </li></ul><ul><li>We presented a new data structure called the fixed/variant pattern tree , that can easily deduce the schema and template for the input Web site. </li></ul>
  73. 73. Evaluation From the 3 Dimensions <ul><ul><li>Dimension 1 </li></ul></ul><ul><ul><li>Page type: Template </li></ul></ul><ul><ul><li>NHS: No </li></ul></ul><ul><ul><li>Extraction Level: Page-level </li></ul></ul><ul><ul><li>Extraction Target Variation: yes </li></ul></ul><ul><ul><li>VF: No </li></ul></ul><ul><ul><li>CT: By order </li></ul></ul><ul><ul><li>UTA: No </li></ul></ul><ul><ul><li>Dimension 3 </li></ul></ul><ul><ul><li>User Expertise: No Interaction </li></ul></ul><ul><ul><li>Fetch Support: No </li></ul></ul><ul><ul><li>Output: XML </li></ul></ul><ul><ul><li>Applicability: Low </li></ul></ul><ul><ul><li>Limitation: More than one page </li></ul></ul><ul><ul><li>Dimension 2 </li></ul></ul><ul><ul><li>Scan Pass: Single </li></ul></ul><ul><ul><li>Extraction Rule type: Tag tree </li></ul></ul><ul><ul><li>Learning Algorithm: Multiple tree merging, Patter mining, String Alignment, </li></ul></ul><ul><ul><li>Tokenization Schemes: Tag-Level </li></ul></ul>
  74. 74. <ul><li>Extend the analysis to string contents inside text nodes and consider the situations when multiple templates are used for the same data ( i.e., we plan to make FiVaTech supports for the two criteria UTA and VF of the first dimension ). </li></ul><ul><li>Enlarge FiVaTech to be a whole information integration system by developing new page fetching and schema mapping techniques. </li></ul><ul><li>We plan to use FiVaTech in the creation of virtual Web services to speed up the realization of SOA ( service oriented architecture ). </li></ul>Future Work

×