What is XML? CS276B Text Retrieval and Mining eXtensible Markup Language Winter 2005 A framework for defining markup languages
No fixed collection of markup tags Lecture 12 Each XML language targeted for application
All XML languages share features
Enables building of generic tools
Basic Structure XML Example
An XML document is an ordered, labeled tree
character data leaf nodes contain the actual data (text strings)
element nodes, are each labeled with
a name (often called the element type), and
a set of attributes, each consisting of a name and a value,
can have child nodes
XML Example Elements
Matching element end tag:
1 XML vs HTML XML: Design Goals
HTML is a markup language for a specific Separate syntax from semantics to provide purpose (display in browsers) a common framework for structuring
XML is a framework for defining markup information languages Allow tailor-made markup for any
HTML can be formalized as an XML language imaginable application domain (XHTML) Support internationalization (Unicode) and
XML defines logical structure only platform independence
HTML: same intention, but has evolved into Be the future of (semi)structured a presentation language information (do some of the work now done by databases)
Why Use XML? Applications of XML
Represent semi-structured data (data that XHTML are structured, but don’t fit relational model) CML – chemical markup language WML – wireless markup language XML is more flexible than DBs ThML – theological markup language
Having a Humble XML is more structured than simple IR Opinion of Self
EVERY man naturally desires You get a massive infrastructure for free knowledge Augustine, Confessions V. 4.
XML Schemas XML Tutorial
Schema = syntax definition of XML language http://www.brics.dk/~amoeller/XML/index.html
Schema language = formal language for (Anders Møller and Michael Schwartzbach) expressing XML schemas Previous (and some following) slides are Examples based on their tutorial
XML Schema (W3C)
Relevance for XML IR
Our job is much easier if we have a (one) schema
2 Native XML Database XML Indexing and Search Uses XML document as logical unit
Should support
Elements
Attributes
PCDATA (parsed character data)
Document order
Contrast with
DB modified for XML
Generic IR system modified for XML
XML Indexing and Search Data vs. Text-centric XML
Most native XML databases have taken a DB Data-centric XML: used for messaging approach between enterprise applications
Exact match Mainly a recasting of relational data
Evaluate path expressions Content-centric XML: used for annotating
No IR type relevance ranking content
Only a few that focus on relevance ranking Rich in text
Demands good integration of text retrieval functionality
E.g., find me the ISBN #s of Books with at least three Chapters discussing cocoa production, ranked by Price
IR XML Challenge 1: Term Statistics IR XML Challenge 2: Fragments
There is no document unit in XML IR systems don’t store content (only index)
How do we compute tf and idf? Need to go to document for
Global tf/idf over all text context is useless retrieving/displaying fragment E.g., give me the Abstracts of Papers on Indexing granularity existentialism
Where do you retrieve the Abstract from?
Easier in DB framework
3 IR XML Challenges 3: Schemas IR XML Challenges 4: UI
Ideally: Help user find relevant nodes in schema
There is one schema Author, editor, contributor, “from:”/sender User understands schema What is the query language you expose to In practice: rare the user? Many schemas Specific XML query language? No. Schemas not known in advance Forms? Parametric search? Schemas change A textbox? Users don’t understand schemas In general: design layer between XML and Need to identify similar elements in different schemas user
Example: employee
IR XML Challenges 5: using a DB Querying XML
Why you don’t want to use a DB Today:
Spelling correction XQuery
Mid-word wildcards XIRQL
Contains vs “is about” Lecture 15
DB has no notion of ordering Vector space approaches
Relevance ranking
XQuery XQuery
SQL for XML The principal forms of XQuery expressions
Usage scenarios are:
Human-readable documents path expressions
Data-oriented documents element constructors
Mixed documents (e.g., patient records) FLWR ("flower") expressions list expressions Relies on conditional expressions XPath quantified expressions XML Schema datatypes datatype expressions Turing complete Evaluated with respect to a context XQuery is still a working draft.
4 FLWR Queries Supported by XQuery
FOR $p IN document("bib.xml")//publisher LET $b := Location/position (“chapter no.3”) document("bib.xml”)//book[publisher = $p] WHERE count($b) > 100 RETURN $p Simple attribute/value /play/title contains “hamlet” FOR generates an ordered list of bindings of publisher names to $p Path queries
LET associates to each binding a further binding of title contains “hamlet” the list of book elements with that publisher to $b /play//title contains “hamlet” at this stage, we have an ordered list of tuples of bindings: ($p,$b) Complex graphs
WHERE filters that list to retain only the desired Employees with two managers tuples Subsumes: hyperlinks RETURN constructs for each tuple a resulting value What about relevance ranking?
How XQuery makes ranking difficult XQuery: Order By Clause
All documents in set A must be ranked for $d in document("depts.xml")//deptno above all documents in set B. let $e := document("emps.xml")//emp[deptno Fragments must be ordered in depth-first, = $d] left-to-right order. where count($e) >= 10 order by avg($e/salary) descending return
XQuery Order By Clause XIRQL
Order by clause only allows ordering by University of Dortmund
“overt” criterion Goal: open source XML search engine
Say by an attribute value Motivation
Relevance ranking “Returnable” fragments are special
Is often proprietary E.g., don’t return a
Don’t worry about attribute/element
5 Atomic Units XIRQL Indexing
Specified in schema
Only atomic units can be returned as result of search (unless unit specified)
Tf.idf weighting is applied to atomic units
Probabilistic combination of “evidence” from atomic units
Structured Document Retrieval Principle Augmentation weights
A system should always retrieve the most Ensure that Structured Document Retrieval specific part of a document answering a Principle is respected.
query. Assume different query conditions are Example query: xql disjoint events -> independence.
Document: P(chapter,XQL)=P(XQL|chapter)+P(section|cha
Return section, not chapter
Datatypes XIRQL: Summary
Example: person_name Relevance ranking
Assign all elements and attributes with Fragment/context selection
person semantics to this datatype Datatypes (person_name)
Allow user to search for “person” without Semantic relativism specifying path Attribute/element
6 Data structures for XML retrieval Data structures for XML retrieval What are the primitives we need?
Inverted index: give me all elements matching text query Q
We know how to do this – treat each element as a document
A very basic introduction. Give me all elements (immediately) below any instance of the Book element
Combination of the above
Parent/child links General positional indexes
Number each element View the XML document as a text document Build a positional index for each element Maintain a list of parent-child relationships Mark the beginning and end for each element, e.g., E.g., Chapter:21 ← Book:8 Enables immediate parent Play Doc:1(27) Doc:1(2033) But what about “the word Hamlet under a /Play Doc:1(1122) Doc:1(5790) Scene element under a Play element? Verse Doc:1(431) Doc:4(33) /Verse Doc:1(867) Doc:4(92)
Term:droppeth Doc:1(720)
Positional containment Summary of data structures
Doc:1 Path containment etc. can essentially be solved by positional inverted indexes 27 1122 2033 5790 Play Retrieval consists of “merging” postings All the compression tricks etc. from 276A
431 867 are still applicable Verse Containment can be Complications arise from insertion/deletion of elements, text within elements 720 viewed as merging Term:droppeth postings. Beyond the scope of this course
droppeth under Verse under Play.
7 Resources
Jan-Marco Bremer’s publications on xml and ir: http://www.db.cs.ucdavis.edu/~bremer www.w3.org/XML - XML resources at W3C Ronald Bourret on native XML databases: http://www.rpbourret.com/xml/ProdsNative.htm Norbert Fuhr and Kai Grossjohann. XIRQL: A query language for information retrieval in XML documents. In Proceedings of the 24th International ACM SIGIR Conference, New Orleans, Louisiana, September 2001. http://www.sciam.com/2001/0501issue/0501berner s-lee.html ORDPATHs: Insert-Friendly XML Node Labels.
www.cs.umb.edu/~poneil/ordpath.pdf
8