A novel alignment algorithm for effective web data extraction from singleton-item pages

Oviliani Yenty Yuliana, Chia Hui Chang

Research output: Contribution to journalArticlepeer-review

10 Scopus citations


Automatic data extraction from template pages is an essential task for data integration and data analysis. Most researches focus on data extraction from list pages. The problem of data alignment for singleton item pages (singleton pages for short), which contain detail information of a single item is less addressed and is more challenging because the number of data attributes to be aligned is much larger than list pages. In this paper, we propose a novel alignment algorithm working on leaf nodes from the DOM trees of input pages for singleton pages data extraction. The idea is to detect mandatory templates via the longest increasing sequence from the landmark equivalence class leaf nodes and recursively apply the same procedure to each segment divided by mandatory templates. By this divide-and-conquer approach, we are able to efficiently conduct local alignment for each segment, while effectively handle multi-order attribute-value pairs with a two-pass procedure. The results show that the proposed approach (called Divide-and-Conquer Alignment, DCA) outperforms TEX (Sleiman and Corchuelo 2013) and WEIR (Bronzi et al. VLDB 6(10):805–816 2013) 2% and 12% on selected items of TEX and WEIR dataset respectively. The improvement is more obvious in terms of full schema evaluation, with 0.95 (DCA) versus 0.63 (TEX) F-measure, on 26 websites from TEX and EXALG (Arasu and Molina 2003).

Original languageEnglish
Pages (from-to)4355-4370
Number of pages16
JournalApplied Intelligence
Issue number11
StatePublished - 1 Nov 2018


  • Divide-conquer alignment
  • Full-schema
  • Multiple string alignment
  • Singleton pages
  • Template pages
  • Web data extraction


Dive into the research topics of 'A novel alignment algorithm for effective web data extraction from singleton-item pages'. Together they form a unique fingerprint.

Cite this