=Paper= {{Paper |id=Vol-129/paper-8 |storemode=property |title=Multimedia information extraction from HTML product catalogues |pdfUrl=https://ceur-ws.org/Vol-129/paper10.pdf |volume=Vol-129 |dblpUrl=https://dblp.org/rec/conf/dateso/LabskyPSS05 }} ==Multimedia information extraction from HTML product catalogues== https://ceur-ws.org/Vol-129/paper10.pdf
 Multimedia
 Multimedia information
            information extraction
                         extraction from
                                    from HTML
                                         HTML
              product  catalogues
               product catalogues

         Martin Labský1 , Pavel Praks2, Vojtěch Svátek1 , Ondřej Šváb1
        Martin Labský1 , Pavel Praks2 , Vojtěch Svátek1 , and Ondřej Šváb1
              1
                Department of Information and Knowledge Engineering,
 1
University of Economics,
  Department               Prague,
                of Information  andW. ChurchillEngineering,
                                    Knowledge    Sq. 4, 130 67University
                                                               Praha 3, Czech  Republic
                                                                         of Economics,
                          {labsky,svatek,xsvao06}@vse.cz
             Prague, W. Churchill   Sq. 4, 130 67 Praha 3, Czech Republic
              2
                 Department   of Mathematics and Descriptive Geometry,
                           {labsky,svatek,xsvao06}@vse.cz
   2
       Department
     Department       of Applied
                   of Applied    Mathematics,
                              Mathematics,      Technical
                                             VŠB         University
                                                  – Technical        of Ostrava,
                                                               University of Ostrava
              17. listopadu 15, 708 33 Ostrava-Poruba, Czech Republic
                                  pavel.praks@vsb.cz
                                  pavel.praks@vsb.cz




        Abstract. We describe a demo application of information extraction
        from company websites, focusing on bicycle product offers. A statistical
        approach (Hidden Markov Models) is used in combination with different
        ways of image classification, including latent semantic analysis of image
        collections. Ontological knowledge is used to group the extracted items
        into structured objects. The results are stored in an RDF repository and
        made available for structured search.



1      Introduction

Tools and techniques for web information extraction (WIE) have recently been
recognised as one of key enablers for semantic web (SW) scaling. In our long-term
project named Rainbow 3 we address several intertwined topics that we consider
important for efficient ‘WIE for SW’ applications:

 1. Exploitation of multiple information modalities available in web documents
 2. Synergy of learning and reuse of ontological information
 3. Automated acquisition and labelling of training data for extractor learning
 4. Bridging between automated acquisition of SW data and their usage
 5. Support for easy design of WIE applications from components.

    In this paper, we focus on an ongoing demo application in the domain of
bicycle product offers. Section 2 presents the core method: automated HTML
annotation based on Hidden Markov Models. Section 3 extends the analysis of
HTML code with that of images. Section 4 describes the composition of product
offer instances with the help of a simple ontology. Section 5 outlines the archi-
tecture of the demo application and the subsequent usage of extracted data in
an RDF repository. Finally, section 6 focuses on future work.
3
     http://rainbow.vse.cz


K. Richta, V. Snášel, J. Pokorný (Eds.): Dateso 2005, pp. 84–93, ISBN 80-01-03204-3.
         Multimedia information extraction from HTML product catalogues             85




                       Fig. 1. Hand-annotated training data


2   Web Page Annotation Using HMMs

For extracting product entries from web catalogues, we built a Hidden Markov
Model (HMM) tagger, which assigns a semantic tag to each token from a docu-
ment. Tokens are either words, formatting tags or images. In our experiments,
we evaluated the HMM performance on a diverse set of web pages, which come
from different web sites and have heterogenous formattings.
    We manually annotated a set of 100 HTML documents chosen from the
Google Directory Sports-Cycling-BikeShops-Europe-UK-England. Each document
contains from 1 to 50 bicycle offers, and each offer consists of at least the bicycle
name and price. There are typically 3–4 documents from the same shop in the
data. Annotations for 15 bicycle characteristics were made using SGML tags4 .
A sample annotated data is shown in Figure 1.
    To represent web documents, we employed extensive pre-processing. Similarly
to [7], we transform each document into XHTML and perform canonicalisation
of XML entities5 . Certain HTML tags and tag groups are replaced by their
generalisations6. Since only words and images can be extracted, we dispose of
mark-up blocks that do not directly contain words or images.
    HMMs are probabilistic finite state machines, which represent text as a se-
quence of tokens. An HMM consists of states which generate tokens, and of
4
  The training data and a demo are available at http://rainbow.vse.cz.
5
  This step unifies different ways of writing the same characters in XML.
6
  Most tags are only represented using their names, disregarding any attributes. Often-
  occuring design patterns, such as add-to-basket buttons, are identified using several
  manually authored rules, and replaced by dedicated tokens.
86      Martin Labský, Pavel Praks, Vojtěch Svátek, Ondřej Šváb




                              Fig. 2. HMM architecture



transitions between these states. States are associated with token generation
probabilities, and transitions with transition probabilities. Both kinds of these
probababilities are estimated from training data. For the purposes of information
extraction, states are typically associated with semantic tags to be extracted. To
annotate a document using a trained HMM, that document is assumed to have
been generated by that HMM. The most probable state sequence is then found
using the Viterbi algorithm [12].
    The structure of our HMM is inspired by [6] and is sketched in Figure 2.
Extracted slots are modelled using target states (denoted as T). Each target
state is accompanied by two types of helper states responsible for representing
the slot’s characteristic context – the prefix and suffix states (P and S). Irrelevant
tokens are modelled by a single background state (B). Contrary to [6] and [17],
which use independent HMMs trained for each slot separately, we train a single
composite HMM capable of extracting all slots at once. Our model thus contains
multiple target, prefix and suffix states. This approach, also used in [1], captures
the ordering relations between nearby slots (e.g. product image often follows
its name). We experimented also with other HMM architectures, with results
presented in [16].


3    Impact of Image Classification

For the purpose of extracting product images, we examined the impact of image
information available to the HMM tagger. As a baseline approach, we measured
the tagging performance when no image information was available for tagging.
In this case, all images were represented by the same token and product pictures
could only be distinguished based on the context in which they appeared.
    In order to provide our tagger with more information, we built image clas-
sifiers to determine whether the extracted product is depicted in a particular
image. We used the following features for classification: image dimensions, simi-
larity to training product images, and whether there is more than one occurrence
of the same image in the containing document.
          Multimedia information extraction from HTML product catalogues               87


3.1   Image dimensions

For our domain, we modelled images of bicycles using a 2-dimensional normal
distribution, only estimated from positive training examples7 . The dimensions
x, y of a new image I are first evaluated using the estimated normal density N .
The density value is then normalized to the interval (0,1) using the density’s
maximum value Nmax .
                                          N (x, y)
                              Dim(I) :=                                     (1)
                                           Nmax
An image I is then classified as P os or N eg by comparing its Dim(I) score to
a threshold TDim . This threshold was estimated by minimizing the classification
error rate on a separate heldout set of 150 images.
                                    P os if (Dim(I) ≥ T
                                                            Dim ),
                      class(I) =                                                      (2)
                                     N eg otherwise.

Within our document collection, image dimensions appeared to be the best single
predictor with the error rate of 6.6%. However, this is mainly due to our collec-
tion being limited to relevant product catalogues only. When dealing with more
heterogeneous data, features describing the actual image content will become
necessary.


3.2   Image similarity

We experimented with a latent semantic approach to measuring image similarity,
described in [10] and [11]. This kind of image similarity has been applied to
image retrieval from collections, where the task often is to find the most similar
image to a query. We used this image-to-image similarity measure sim(I, J) to
compute simC (I), the similarity of an image I to a collection of images C. In our
experiments, C contained the training bicycle pictures (positive examples only).
To compute simC (I), we used the K nearest neighbor approach and averaged
the similarities of the K most similar images from the collection.
                                
                                  K best images J∈C sim(I, J)
                     simC (I) =                                                (3)
                                              K
Experimentaly, we set K = 20, since lower values of K lead to a decrease in the
similarity’s robustness8 and higher values did not bring further improvement. To
build a classifier, a similarity threshold TSim was estimated on a heldout set in
the same way as for the dimension classifier above. The error rate of the classifier
was 26.7% on our document collection.
7
  The positive examples comprise of all bicycle pictures found in the documents, not
  only those labeled as parts of bicycle offers. For information extraction, this increases
  the role of image context for correct tagging.
8
  With low values of K, simC (I) became too sensitive to individual images J with
  misleading values of sim(I, J).
88        Martin Labský, Pavel Praks, Vojtěch Svátek, Ondřej Šváb


3.3      Combined classifier

For the combined image classifier, we used the above described dimension score
Dim(I), similarity score Sim(I) and a binary feature indicating whether the
image occurs more than once in the document. We experimented with different
classifiers available in the Weka9 environment, and the best error rate10 of 4.8%
was achieved by the multilayer perceptron algorithm.
    Results for all three classifiers are compared in Table 1. All results were mea-
sured using 10-fold cross-validation on a set of 1, 507 occurences of 999 unique
images taken from our training documents. The first two algorithms used ad-
ditional 150 heldout images to estimate their decision thresholds. The cross-
validation splitting was done at the level of documents, so that all images from
a single document were either used for training or for testing.


                           Table 1. Image classification results

                                      Dimension Similarity Combined
                     Error rate (%)      6.6       26.7      4.8




3.4      Using Image Information for Extraction

To improve extraction results, we need to communicate the image classifier’s
results to the HMM tagger. Currently we do this simply by substituting each
image occurence in a document by its class. Since these binary decisions would
leave little room for the HMM tagger to fix incorrect classifications, we adapted
the above binary classifiers to classify into 3 classes: P os, N eg, and U nk. In this
way, the HMM tagger learns to classify the P os and N eg classes correspondingly,
and the tagging of the U nk class depends more strongly on the context.
    To build the ternary versions of the dimension- and similarity-based classi-
fiers, we introduced costs for the classifier’s decisions. Each wrong decision was
penalized by CMiss = 1 and the cost of each U nk decision was CUnk ∈ (0, 1).
We set CUnk manually such that the classifier produced 5-10% of U nk decisions
on the heldout set. While minimizing the sum of these costs on the heldout
set, two thresholds were estimated for both the dimension- and similarity-based
classifiers, delimiting their N eg, U nk and P os decisions.
    For the combined ternary classifier, we achieved the best results with a de-
cision list shown in Table 2. The list combines image occurence count with
the results of the dimension- and similarity-based ternary classifiers, denoted as
class3Dim and class3Sim respectively.
    We evaluated information extraction results with all three ternary classifiers
and compared the results to the case where no image information was available.
 9
     http://www.cs.waikato.ac.nz/~ml
10
     This error rate comes from 10-fold cross-validation without using heldout data.
            Multimedia information extraction from HTML product catalogues             89


                Table 2. Decision list for the combined ternary classifier

                     Order Rule
                     1     class(I) = N eg if(occurences(I) > 1)
                     2     class(I) = P os if(class3Dim (I) = P os)
                     3     class(I) = U nk if(class3Dim (I) = U nk)
                     4     class(I) = U nk if(class3Sim (I) = P os)
                     5     class(I) = N eg



The new image information from the combined classifier lead to an increase of
19.1% points in picture precision and also to subtle improvements for other tags.
Improvements in precision and recall for 3 chosen slots (product pictures, names
and prices), measured on a per-token basis, are shown in Table 3 for all three
classifiers.

      Table 3. 10-fold cross-validation results for selected tags over 100 documents

             Tag    Precision Recall F-measure Precision Recall F-measure
                      No image information          Image similarity
             Picture 67.8      87.1    76.2      78.5     87.3    82.7
             Name     83.7     82.5    83.1      83.9     82.5    83.2
             Price    83.7     94.4    88.8      84.0     94.4    88.9
                        Image Dimensions                Combined
             Picture 85.6      88.4    87.0      86.9     89.1    88.0
             Name     83.8     82.5    83.1      83.8     82.5    83.2
             Price    84.0     94.4    88.9      84.0     94.4    88.9




4      Ontology-Based Instance Composition

Semantic web is not about isolated tagged items but about complex and in-
terrelated entities; we thus need to group the labels produced by automated
annotation into instances. We currently use a simple sequential algorithm that
exploits constraints defined in a tiny presentation ontology 11 [9], which partly
pertain to the generic domain (bike offers) and partly to the way of presenting
information in web catalogues. Figure 3 shows an experimental presentation on-
tology containing the class ’Bike offer’. The utilized constraints are uniqueness,
multiplicity and optionality of certain properties, the latter two indicated with
the * and ? symbols, respectively12 . In addition, ‘sticky’ properties (indicated
with !) are distinguished: as soon as the value of sticky property is discovered
11
     Similar to ‘extraction ontologies’ used by Embley [5].
12
     Although not shown in the example, we can also use e.g. property value types or
     regular expressions.
90      Martin Labský, Pavel Praks, Vojtěch Svátek, Ondřej Šváb




                     Fig. 3. Bicycle offer presentation ontology



on a page, it is filled to all objects extracted afterwards, until a new value is
discovered for this property.
    An annotated item is added to the currently assembled (bike offer) instance
unless it would cause inconsistency; otherwise, the current instance is saved and
a new instance created to accommodate this item and the following ones. De-
spite acceptable performance on error-free, hand-annotated training data, where
the algorithm correctly groups about 90% of names and prices, this ‘baseline’
approach achieves very poor results on automatically annotated data: on aver-
age, less than 50% of corresponding annotations are grouped properly, often for
trivial reasons. The most critical problems are connected with missing or extra
annotations, multiple different references to a single slot, and with transposed
HTML tables.


5    Result Transformation, Storage And Retrieval

All components developed within the Rainbow project are wrapped as web ser-
vices. The WIE component itself is currently being called by a simple control
routine (written in Java), which also optionally calls other analysis tools: in
the bicycle application, we so far experimented with URL-based navigation over
the website, extraction of the content of selected META tags, and extraction
of ‘company profile sentences’ from free text13 . The results are transformed to
RDF (with respect to a ‘bicycle-offer RDFS ontology’) and stored in a Sesame
[2] repository. An end-user search interface to this repository14 is shown in Fig. 4.
It relies on a collection of query templates expressed in SeRQL (the native query
language of Sesame) and enables a simple form of navigational retrieval [16].
13
   These three approaches to website analysis, implemented independent of the bicycle
   demo application, are evaluated in [13].
14
   Available at http://rainbow.vse.cz:8000/sesame.
         Multimedia information extraction from HTML product catalogues        91




                         Fig. 4. End-user search interface



6   Future Work

Most urgently, we need to replace the ‘toy’ implementation of ontology-based
instance composition with a version reasonably robust on automatically anno-
tated data. For some of the layout-oriented problems mentioned in section 4,
partial solutions recently suggested in IE research (e.g. [3, 5]) could be reused.
We also consider introducing HMMs even to this phase of extraction; a modified
version of Viterbi algorithm supporting domain constraints (such as those in our
presentation ontology) has already been described in [1]. Another aspect worth
investigation is the possibility of (semi-)automatic construction of presentation
ontologies from the corresponding domain ontologies.
    A critical bottleneck of ML-based IE methods (in particular of statistical
ones) is the volume of labelled training data required. In our experiments with
product catalogues, we noticed that the tagger often classifies most product en-
tries correctly but misses a few product names that are very different from the
training data. We developed a simple symbolic algorithm that identifies similar
structural patterns in a document. For example, the HTML tag sequence 
  
with arbitrary words in between ap- pears 34 times in one of our training documents: the tagger successfully anno- tated 28 product names contained in these patterns between and
, but missed the remaining 6. In such cases, we could collect the remaining prod- uct names and use them to enrich the model’s training data. By learning novel product names from these ‘easy’ pages, the model will learn to also recognise 92 Martin Labský, Pavel Praks, Vojtěch Svátek, Ondřej Šváb them in less structured documents15 . We also plan to bootstrap the method with data picked from public resources related to product offering, following up with our earlier experiments with Open Directory headings and references [8]. Another important task is to replace hard-coded control routines with semi- automatically constructed, implementation-independent application models. A knowledge modelling framework has already been introduced for this purpose [14]; currently we examine the adaptability of a PSM-based semantic web-service configuration technique in connection with this framework [15]. Eventually, we plan to associate our efforts with the popular Armadillo project [3], with which we share most of our abovementioned research interests. The research is partially supported by grant no.201/03/1318 of the Grant Agency of the Czech Republic, “Intelligent analysis of the WWW content and structure”. References 1. Borkar V., Deshmukh K., Sarawagi S.: Automatic segmentation of text into struc- tured records. In: SIGMOD Conference, 2001. 2. Broekstra J., Kampman A., van Harmelen F.: Sesame: An Architecture for Storing and Querying RDF and RDF Schema. In: Proc. ISWC 2002, Springer LNCS no. 2342. 3. Ciravegna, F., Chapman, S., Dingli, A., Wilks, Y.: Learning to Harvest Information for the Semantic Web. In: ESWS-04, Heraklion, Springer LNCS 2004. 4. Dingli A., Ciravegna F., Guthrie D., Wilks Y.: Mining Web Sites Using Unsupervised Adaptive Information Extraction. In: EACL, 2003. 5. Embley, D.W., Tao, C., Liddle, S.W.: Automatically extracting ontologically speci- fied data from HTML tables with unknown structure. In: ER2002, Tampere 2002, 322-337. 6. Freitag D., McCallum A.: Information extraction with HMMs and shrinkage. In: Proceedings of the AAAI-99 Workshop on Machine Learning for IE, 1999. 7. Grover C., McDonald S., Gearailt D., Karkaletsisy V., Farmakiotouy D., Samaritak- isy G., Petasis G., Pazienza M., Vindigni M., Vichotz F., Wolinskiz F.: Multilingual XML-Based Named Entity Recognition for E-Retail Domains. In: LREC Confer- ence, Las Palmas, 2002. 8. Kavalec, M., Svátek, V.: Information Extraction and Ontology Learning Guided by Web Directory. In: ECAI Workshop on NLP and ML for ontology engineering. Lyon 2002. 9. Labský, M., Svátek, V., Šváb, O.: Types and Roles of Ontologies in Web Information Extraction. In: ECML/PKDD04 Workshop on Knowledge Discovery and Ontologies, Pisa 2004. 10. Praks P., Dvorský J., Snášel V.: Latent semantic indexing for image retrieval sys- tems. In: Proceedings of the SIAM Conference on Applied Linear Algebra (LA03), Williamsburg, USA, The College of William and Mary, 2003. 11. Praks P., Machala L., Snášel V.: Iris Recognition Using the SVD-Free Latent Se- mantic Indexing. In: MDM/KDD 2004 - Fifth International Workshop on Multime- dia Data Mining, Seattle, USA, 2004. 15 Similar bootstrapping strategies are shown in [4]. Multimedia information extraction from HTML product catalogues 93 12. Rabiner, L.R.: A tutorial on hidden Markov models and selected applications in speech recognition. In: Proceedings of the IEEE, 77(2), 1989. 13. Svátek V., Berka, P., Kavalec, M., Kosek, J., Vávra, V.: Discovering Company De- scriptions on the Web by Multiway Analysis. In: Intelligent Information Processing and Web Mining, IIPWM’03., Springer Verlag, 2003. 14. Svátek, V., Labský, M., Vacura, M.: Knowledge Modelling for Deductive Web Mining. In: Proc. EKAW 2004, Springer Verlag, LNCS, 2004. 15. Svátek, V., ten Teije, A., Vacura, M.: Web Service Composition for Deductive Web Mining: A Knowledge Modelling Approach. In: Proc. Znalosti 2005, VSB-TU Ostrava, to appear 2005. 16. Šváb, O., Labský, M., Svátek, V.: RDF-Based Retrieval of Information Extracted from Web Product Catalogues. In: SIGIR’04 Semantic Web Workshop, Sheffield. 17. Valarakos A., Sigletos G., Karkaletsis V., Paliouras G.: A Methodology for Seman- tically Annotating a Corpus Using a Domain Ontology and Machine Learning. In: RANLP Conference, Borovets, 2003.