290 likes | 375 Views
ask-all. tell. recommend. subscribe. advertise. register. ITTALKS A Case Study in How DAML Helps. Tim Finin University of Maryland Baltimore County Semantic Web for the Military User June 6, 2001. Overview. ITTALKS web application Two advanced capabilities How does DAML help?
E N D
ask-all tell recommend subscribe advertise register ITTALKSA Case Study in How DAML Helps Tim Finin University of Maryland Baltimore County Semantic Web for the Military User June 6, 2001
Overview • ITTALKS web application • Two advanced capabilities • How does DAML help? • What’s needed to build apps? Joint work with JHU/APL and MIT/Sloan. See http://umbc.edu/~finin/swmu/ for slides
UMBC/JHU/MIT DAML Project UMBC, JHU, and MIT are working together on a set of issues under funding from DARPA UMBC (Finin, et. al.) is focused on integrating communicating agents, DAML and the Web JHUAPL (Mayfield, et. al.) is building information indexing and retrieval systems that work with documents and queries that contain a mixture of free text, XML and DAML MITSloan School (Grosof et. al.) is developing techniques for integrating rule based technology and distributed belief into DAML To be integrated in agent-based applications involving search and using rule-based reasoning.
1 ITTALKS • ITTALKS is a database driven website of IT related talks at UMBC andother institutions. The database contains information on • Seminar events • People (speakers, hosts, users, …) • Places (rooms, institutions, …) • This database is used to dynamically generate web pages and DAML descriptions for the talks and related information and serves as a focal point for agent-based services relating to these talks. • We are exploring how the semantic web and DAML add value to this web-based application http://ittalks.org/
Registered users create a profile (encoded in DAML) to describe their preferences and attributes.
After logging in, ITTALKS can filter the talks shown based on my interests, schedule and location.
WebServices Web server + Java servlets People MapBlast, CiteSeer,Google, … HTTP HTTP, WebScraping Email, HTML, SMS, WAP Agents FIPA ACL, KQML, DAML SQL HTTP, KQML, DAML, Prolog RDBMS DB DAMLreasoningengine Databases DAML files <daml> </daml> <daml> </daml> <daml> </daml> <daml> </daml> ITTALKS Architecture ApacheTomcat
ITTALKS Ontologies • We’ve defined and use the following ontologies, all at http://daml.umbc.edu/ontologies/ • calendar-ont.daml – calendar and schedule info • classification.daml– ACM CCS topics • person-ont.daml– people and their attributes • place-ont.daml– talk locations • profile-ont.daml – user modeling info • talk-ont.daml – talks info • topic-ont.daml – topics and interests
ITTALKS Features Agent-based features General features • ITTALKS agent with KQML API using DAML as content language • Intelligent matching of people and talks based on interests, locations and schedules. • Agents using both Jackal and FIPA’s Java Message Service • Notification via email and mobile devices via SMS and WML. • Discovery of relevant background papers from NEC CiteSeer • Automatic generation and maintenance of user models • Talk recommendations via collaborative filtering • Integration with STP (Smart Things and Places) ubiquitous computing project • Generation from DB to DAML and HTML mediated by MySQL, Java servlets, and JSP. • Generation of DAML descriptions and user profiles from HTML forms. • Creation & use of DAML-encoded user models describing interests and ontology extensions. • Ontologies for events, people, places, schedules, topics, etc. • Automatic HTML form (pre) filling from DAML. • Syncing of talks with Palm calendars via Coola. • Automatic classification of talks into topic ontology • A XSB-based DAML/RDF reasoning engine.
2 Two Advanced Capabilities • I’ll briefly describe two advanced capabilities facilitated by DAML: • Classifying talk topics and user interests using DAML ontologies • Using DAML as a communication language among software agents
Entering talks • Currently, talks manually entered through a web form interface • Several things help: (i) recognizing entities, e.g. people) already in the database and (ii) text classification • Goal: become for research talks what NEC CiteSeer is for research papers • Focused search engine to collect talk announcements in text or HTML or marked up in a partially understood ontology. • Information extraction using LMCO’s Aerotext to extract relevant talk parameters and enter into database
What are talks about? • Topic hierarchies provide indexing terms • ACM CCS topic hierarchy • Open Directory • Encoded as DAML ontologies • These allow users to specify interests as well as browse the database of talks by topic • Automatic classification of talks (based on title and abstract) and users (based on his web pages, CV, papers, etc.) • Discovery of mapping rules between CCS to OD ontologies using IR techniques
Now is the time for all good men to come to the aid of the country. Now is the time for e.g.: ACMCCS Topics Ontology ACM CCS Ontology Classifying Talks uses CMU Bowstatistical text analysis tools ACM CCS classifier uses Training corpus topics e.g.:5K ACMabstracts
Topic ontology T1 Topic ontology T2 Training corpus T1 Training corpus T2 Mapping between topic ontologies T1 t1:foo CMU Bowstatistical text analysis tools T1T2mapper T2 {(t2:bar, 0.8), (t2:qux, 0.7), …}
ask-all subscribe advertise DAML and Agents • Much multi-agent systems work is grounded in Agent Communication Languages (e.g., KQML, FIPA) and associated software infrastructure such as the DARPA Grid • The paradigm has been peer-to-peer message oriented communication mediated by brokers and facilitators. • The DAML program invites different paradigms which will require some changes in ACLs and their associates software systems. • Agents “publish” beliefs, requests, and other “speech acts” on web pages. • Agents “discover” what peers have published on the web. • The software agent research community is very interested in the semantic web and DAML
ITTALKS Agent • ITTALKS offers a web interface for its human users and can send notifications to humans via email, WAP and SMS. • We are also developing an agent API so that software agents can interact with ITTALKS. • Currently, the ITTALKS agent can send notifications to agents via KQML using DAML as the “content language”. • We will support richer, mixed initiative dialogs between ITTALKS and agents in the future
10 1 ITTALKS app mapquest 18 11 ITTALKSagent Travelagent Communicationprotocol 17 user’s daml profile 9 KQML 2 12 API Useragent Calendaragent 8 16 13 5 14 3 7 6 4 15 DAMLreasoning engine BrokerAgent AgentNameServer Common agent infrastructure DAML reasoner user’s calendar app
3 How Does DAML Help? • Does it Help? Yes • We’ve identified five general areas in which DAML adds value to the application or facilitates building or maintaining the application • Is DAML needed? No • Not strictly (yet), although the alternative technologies are not designed for the web and thus suffer from deficiencies.
webservices interoplanguage ontologylanguage agentcommunication usermodels How does DAML Help?
Information in ITTALKS is exposed or published in DAML on the web. DAML’s descendant will become the “semantic interlingua” for applications and systems webservices interoplanguage ontologylanguage agentcommunication usermodels
webservices interoplanguage ontologylanguage agentcommunication usermodels • DAML is used • As a DB conceptualschema language • To help specify APIs • To aid human understanding
webservices interoplanguage ontologylanguage • DAML is used to encode a common user model that • Are stored in the user’s file space • Contain information which can be shared by many applications • Can contain information specific to certain applications agentcommunication usermodels
webservices DAML is used to support agent communication as a “content language” used to encode the content of a KQML message Future: as an encoding for an entire FIPA ACL message and as a way of publishing speech acts on web pages interoplanguage ontologylanguage agentcommunication usermodels
4 What’s needed to build apps? • Where does SW markup come from? • From Databases, just like much of the HTML on today’s web • But, where does the DB content come from? • From legacy systems • From web forms or custom HCIs • From focused search engines feeding into web scrapers or information extraction apps • Are the DAML tools there? • Some in beta form • Many XML and RDF tools are very handy • We used protégé and XMLSpy to create and edit ontologies
Conclusion • ITTALKS is a useful, fairly sophisticated web application • The semantic web concepts and DAML in particular • Make it easier to develop and maintain ITTALKS • Support some features of ITTALKS • Visit http://ittalks.org/ • To use ITTALKS • For more information, including a paper, a demo “movie”, and these slides • mailto:info@ittalks.org to request a domain for your organization.