Static vs Dynamic semantics of the Web Sharif
Static vs. Dynamic semantics of the Web Sharif University of Technology Babak Bagheri Hariri hariri@ce. sharif. edu 1
overview n n Static & Dynamic Semantics Agents “Letizia” A Dynamic language “GLUE” Conclusion 2
Static vs Dynamic Static Web Content Html Static repository of unstructured data Static Semantic Web RDF, DAML, OIL , … Strucured Data Represented declaratively “passive” Changes relatively slow Dynamic Semantic Web GLUE & … Represented procedurally Change relatively Rapidly “single user click” 3
Sources of Dynamic semantics • • • The user browses through Web pages Programs “crawl” through Web pages change The user’s interests change “WEB Editing” Agents generate Dynamic Semantics 4
The old “information retrieval” perspective User issues the “perfect query” to a static database System returns the “perfect document” SQL Query Documents Database 1. 2. Difficult for users to express SQL queries precisely There may not be a best document in the web 5
Theorem-proving view is similar Adding Semantics to the web allows agents to solve problems using traditional theorem-proving techniques Logical Query True/ False, Variable bindings Assersions & Descriptions 1. 2. Difficult for users to express logical queries precisely There may not be a best answer 6
What’s wrong with the IR view? Users can’t formulate precise queries Empirically: Users do 1 -2 word queries, don’t use advanced query languages There is no “best document” in the Web keeps growing, changing Real goal: To make the best use of the user’s time Consequence: Web browsing is a real-time activity 7
Web Agents Programs that act as assistants to the user in the web interface. Letizia, Powerscout, … Track user interests n Learn through interacting with the user n Provide personalized data and services n … They are computing concepts and relations dynamically from data stored and retrived on the web. n 8
The new “agents” perspective Web browsing/search/inference should be a cooperative activity between a human user and [one or more] software agents Each participant should do what they do best: Users are good at evaluation Agents are good at search/computation Both are active in real time, communicate 9
Some sematics will be discovered/computed by agents Not all semantics of the Web will be statically encoded Agents will compute semantics dynamically from natural language [info extraction] Agents will compute semantics from relationships [collab filtering, popularity] How do we integrate statically declared semantics with dynamically computed semantics? 10
Letizia: An Interface Agent for Assisting Web Browsing Letizia acts as an advance scout for Web browsing: It watches your Web browsing to try to learn what topics you are interested in Formulates “queries” dynamically/incrementally While you are reading a Web page, Letizia searches the neighborhood of the page to discover other pages you might be interested in Does “search” dynamically/incrementally 11
Letizia is a “channel surfing” interface for the Web 12
User’s Search [Depth-First] 13
Advantages of Letizia While you search “wide”, Letizia searches “deep” Letizia uses the time that you spend reading a page to anticipate what you might interested in Letizia filters out “junk” Letizia maintains persistence of interest Letizia is good at discovering serendipitous connections 14
GLUE Glue is a language for the web that embodies, in one unified language, the three primary functionalities needed for general purpose information manipulation: n Markup: superset of HTML n Data: Structured data via xml like syntax n Code: general purpose flexible object oriented language 15
GLUE Syntax table Name GLUE Syntax XML 1. 0 Simple, no body <foo/> same Simple with end <foo></foo> same Simple arg <foo arg 1="bar"/> same Optional end <foo></> <foo></foo> Path and field access foo. bar <foo><bar/></foo> Path & Method Call Foo<bar baz/> or foo. <bar baz/> <foo><bar arg 1="baz"/></foo> Simple numeric arg <foo arg 1=123/> <foo arg 1=123> optional keyword <foo bar> <foo arg 1="bar"> Attr, value has <> <foo arg 1=<baz>/> <foo><arg key="arg 1"><baz></arg></foo> 16
GLUE Examples: HTML: <font size=“ 3”> Hello World</font> GLUE: <font size=1. <random 7/> > Hello World></font> 17
<Set root. inventory <vector “Flannel top sheet” “ 17. 95”/> <vector “Satin pillow case” “ 11. 45”/> /> /> <set page <p> For our everyday unbeatable price we have</p> /> root. inventory. <for_each> page. content. <push “field values 1 equal: ” /> page. content. <push field value. 0 /> </for_each> page. <to_html> 18
GLUE’s Distinguishing features 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Minimal difference between markup, data, code. Minimal difference between classes and instances. Dynamic lookup. Minimal difference between “instance variables & methods”. Minimal difference between a function call and object creation. Minimal difference between aggregate data types. Minimal difference between initialization & normal methods. Minimal difference between a field & an annotation to that field. Ability to change the parent of an object at run time. Active values on object fields. 19
Conclusion We are now at a crossroads in the evolution of the web. The web has evolved from a relatively static collection of pages and links to a dynamic, interactive Interface with semantic information. The next step is to make it dynamic semantic Web by encoding procedures in web material as first-class objects. 20
- Slides: 20