Software Agents Knowledge Sharing KQML, KIF and Ontologies - PowerPoint PPT Presentation

1 / 87
About This Presentation
Title:

Software Agents Knowledge Sharing KQML, KIF and Ontologies

Description:

Communication ... In speech act theory, a performative is a speech act whose utterance performs an ... The KQML agent communication language uses the term ... – PowerPoint PPT presentation

Number of Views:987
Avg rating:3.0/5.0
Slides: 88
Provided by: tatere
Category:

less

Transcript and Presenter's Notes

Title: Software Agents Knowledge Sharing KQML, KIF and Ontologies


1
Software AgentsKnowledge SharingKQML, KIF and
Ontologies
  • Tim Finin
  • University of Maryland
  • Baltimore County
  • finin_at_umbc.edu
  • http//umbc.edu/finin

http//www.cs.umbc.edu/finin/sisce97
2
Overview
  • Motivation
  • Whats an agent?
  • Agent theory
  • Agent technology
  • Applications
  • Conclusion

Only when sage warriors use intelligent agents
will they certainly have success.
-- Sun Tzu
3
Motivation
4
About your workstation
  • What work is your workstation doing for you
    today?
  • Is it just sitting idle while you are here at
    this meeting and when you are asleep?
  • Is it your workstation or anybodys ?
  • Has it adapted to you and your preferences and
    behaviors?
  • If your workstation cant do something, does it
    know how to find another which can?
  • Can it collaborate and cooperate with its kin on
    the Internet?

5
About your web pages
  • Why cant your web pages seek out viewers.
  • When they change, can they notify the agents
    which are interested in them?
  • What can your web pages say to be understood by
    machines?

6
About your web browser
  • Why do you have to be in the drivers seat for it
    to work?
  • Why can it understand any of the stuff that flows
    thorough it?

7
Whats an agent?
8
What is an agent?A brief tour of agent-space
An agent is a powerful and ubiquitous abstraction
in computer science
  • Daemons (e.g., ftp agent)
  • User interface clients (e.g., mail agent)
  • Physical agents (e.g., robotics)
  • Believable agents (e.g., VR and graphics)
  • Intelligent software agents

9
What is a software agent?
We can identify some sub-categories
  • User-facing agents
  • Intelligent human-computer interface agents
  • Adaptive user modeling agents
  • Personal (expert) assistants
  • e.g., personal retrieval agent
  • Mobile software technology
  • Cooperating software agents
  • Resource discovery agents
  • Mediators and facilitators
  • Market agents
  • etc

10
So, whats a software agent?
  • There isnt a consensus yet, but several key
    concepts are important to this emerging paradigm.
  • A software agent
  • is an autonomous, goal-directed process
  • is situated in, is aware of, and reacts to its
    environment
  • cooperates with other agents
    (software or human) to accomplish its
    tasks

11
an emerging system-building paradigm
(with hype)
12
Why another paradigm?
  • Because it addresses current issues
  • Fully distributed and heterogeneous
  • provides inherent scalability
  • Proactive as well as reactive
  • agents generalize client-server
  • Adaptable and evolvable
  • through interoperability and learning
  • Easier for us to model and understand
  • by taking an intentional stance
  • Scales over many orders of magnitude
  • Its agents, not turtles, all the way down

13
Software Agent Characteristics
after Hyacinth Nwana, 1996
14
Agent Characteristic Adaptation
  • Agents adapt to their environment and users and
    learn from experience.
  • Via machine learning, knowledge discovery,
    statistical techniques, etc.
  • Via communication through exchange of metadata,
    brokering, and facilitation.
  • Interface agents acquire and use user models
  • Situated in and aware of their environment

15
Agent Characteristic Cooperation
  • Agents use standard languages protocols to
    cooperate and collaborate to achieve common
    goals.
  • Cooperate with human agents and other software
    agents
  • Supported by agent communication languages and
    protocols.
  • Consistent with human conventions and intuition.
  • Toward team formation and agent ensembles

16
Agent Characteristic Autonomy
  • Agents act autonomously to pursue their agenda.
  • Proactive and reactive
  • Goal directed behavior
  • Appropriately long-lived
  • Multi-threaded behavior
  • Encourage viewing from an intentional stance

17
Agent Characteristic Mobility?
A mobile agent is an executing program that
migrates from machine to machine in a
heterogeneous network under its own control.
  • Note -- this definition implies some agent
    attributes, e.g. autonomy, persistence, ...
  • Mobile agents off some very interesting
    advantages as well as some disadvantages.
  • This is an important technology for distributed
    systems and is largely orthogonal to other
    agent issues.

18
Agents vs. Intelligent Agents
What makes an agent an intelligent agent?
  • A The size of the price tag.
  • More seriously
  • The paradigm covers agents of varying degrees of
    intelligence
  • Intelligent agents will tend to
  • know and apply more sophisticated domain
    knowledge
  • recognizing underlying goals and intentions
  • react to unexpected situations in a robust manner
  • etc.
  • Much of what we will be saying applies to agents
    of little or no intelligence.

19
Agent theory,architecturesand
ProgrammingTechnology
20
Agent Theory
There is a body of theory underlying agent-based
systems
  • Knowledge representation and reasoning
  • BDI models
  • Speech acts
  • Machine learning
  • Game theory
  • Econometric models

21
BDI agent models
Agents must represent and reason about other
agents, human or software.
  • The BDI agent model considers agents to have
  • Beliefs about itself, other agents and its
    environment
  • Desires about future states (i.e., goals)
  • Intentions about its own future actions (i.e.,
    plans)
  • The BDI model is particularly useful for
  • Developing formal models of agents
  • Developing a deep model of agent communication
  • Inferring an agents internal state from its
    behavior

22
Rational Agents
  • A rational agents is modeled as making choices
    resulting in intentions in an attempt to
    optimize the expected utility with respect to
    their desires and consistent with their beliefs.
  • Rational agents are self-interested agents
  • A reasoner is limited in the amount of reasoning
    it can (or should) spend on any given problem.

23
Communication
  • We draw on research in (computational)
    linguistics for an underlying communication model
  • Speech act theory
  • Discourse analysis
  • We also draw on work from distributed computing
  • Analyzing and specifying protocols

24
What is a speech act?
Speech act theory is a high level framework
developed by philosophers and linguists to
account for human communication
  • Speakers do more than just utter sentences which
    have a logical (truth-theoretic) meaning.
  • The cat is on the mat
  • Speakers perform speech acts requests,
    suggestions, promises, warnings, threats,
    criticisms, praise, etc.
  • I hereby promise to buy you lunch
  • Every utterance is a speech act

25
Performatives
  • In speech act theory, a performative is a speech
    act whose utterance performs an action.
  • Examples promise, assert, request, confirm, ask
    ...
  • Heuristic X is a speech act if you can say I
    hereby X.
  • The KQML agent communication language uses the
    term performative to mean a primitive message
    type
  • A key objective is to develop systems based on
    the right set of communication primitives

26
Econometric models
Economics has studied how to model, predict and
control the aggregate behavior of very large
collections of intelligent agents.
  • Conceptual tools include
  • game theory
  • general equilibrium market mechanisms
  • protocols for voting and auctions
  • General assumption
  • agents are only motivated by own self-interests
    and choose actions to maximize payoff given the
    current protocol.
  • An objective is to design good artificial markets
    and protocols to result in the desired behavior
    of our agents

27
Artificial life
  • One way that agents could adapt is via an
    evolutionary process.
  • Individual agents use their own strategies for
    behavior with death as the punishment for poor
    performance and reproduction the reward for
    good.
  • Techniques include
  • genetic programming
  • natural selection
  • sexual reproduction

28
Agent Architectures
People are using several architectures for
agent-based information systems.
  • Beyond client server
  • Mediated architectures
  • Single agents vs Multi-agent systems
  • Markets and swarms

29
Beyond client-server
Agents generalize the client-server architecture
which has dominated the Internet since its
beginning.
  • Think of your role in human society. Are you a
    client or a server?
  • Mobile agents go beyond C/S by enabling clients
    to distribute computations to servers and
    vice-versa.
  • Communicating agents generalize the C/S model
    since sometimes an agent acts as a client and
    sometimes as a server.

mediated architecture for information systems
-- after Gio Wiederhold
30
Agents vs. MAS
  • Some research focuses on developing sophisticated
    individual agents with advanced capabilities and
    other on multi-agent systems (MAS)
  • MAS research is particularly focused on
  • cooperation and collaboration
  • team and coalition formation
  • information sharing among the team
  • joint beliefs, goals and plans

31
Agent programming languages
Although many languages can be used for writing
software agents, there are useful characteristics
  • Multi-threaded
  • Good communication support
  • Support for security (communication execution)
  • Support for maintaining DBs and/or KBs
  • Mobility?
  • Good GUI support
  • Good interoperability features to support
    mediated architectures and component-based
    programming

32
What are people using
  • Mobile agents require a language that supports
    mobility. Some examples
  • Languages designed to work in a sandbox Java,
    Safe-Tcl, Safe-Python,
  • True mobile languages Telescript, Tacoma,
    Agent-Tcl,...
  • Java-based frameworks for mobile languages
    Aglets, Voyager, ...
  • Communicating agents can be written in your
    favorite programming language
  • Java, C/C, Lisp, Prolog, Smalltalk, Tcl, Perl
  • with a suitable agent-communication module

33
Example -- TKQML
  • TKQML application adds KQML functionality to any
    Tcl/Tk shell.
  • Provides simple route to high level communication
    among Tcl/Tk based agents.
  • Incorporates tools for a facilitated environment
    (resource brokering).
  • Scripts are registered dynamically for handling
    incoming messages.
  • Current processing is interrupted by handler, and
    resumes when message handling is complete.

34
Agent Communication
  • Agent cooperation requires communication
  • Opinion Agent-agent communication is the key to
    realizing the potential of the agent paradigm,
    just as the development of human language was a
    key to the development of human potential
  • We assume that agents use an Agent Communication
    Language or ACL to communication information and
    knowledge.
  • Genesereth (CACM, 92) defined a software agent as
    any system which uses an ACL to exchange
    information.

35
Some ACLs
  • Is CORBA an ACL?
  • Knowledge sharing approach
  • KQML, KIF, Ontologies
  • FIPA
  • Ad hock languages
  • e.g., SGIs Open Agent Architecture language

36
Knowledge Sharing Technology
37
Knowledge Sharing Effort
  • The KSE is a distributed research project
    involving over a dozen research groups aimed at
    developing techniques, methodologies and software
    tools for knowledge sharing and knowledge reuse.
  • This requires a common language (syntax,
    semantics, pragmatics)
  • Some existing components that can be used
    independently or together
  • KIF -- knowledge interchange format (syntax)
  • Ontolingua - a language for defining sharable
    ontologies (semantics)
  • KQML - a high-level interaction language
    (pragmatics)

38
Knowledge Interchange Format
KIF
  • KIF First order logic with set theory
  • An interlingua for encoded knowledge
  • Takes translation among n systems from O(n2) to
    O(n)
  • Common language for reusable knowledge
  • Implementation independent semantics
  • Highly expressive -- can represent knowledge in
    typical application knowledge bases.
  • The subject of an ANSI standardization committee
    (ASC NCITS.TC.T2)

39
KIF 101
KIF
  • KIF is a relational language
  • (salary 015-46-3946 72000)
  • (supervisor ?p ?p)
  • but not a flat one, as in relational databases
  • (gt ( (width chip1) (length chip1))
  • ( (width chip2) (length chip2)))
  • KIF includes a variety of logical operators
  • (gt (and (real-number ?x) (even-number ?n))
  • (gt (expt ?x ?n) 0))

40
KIF 101
KIF
  • KIF can encode meta-knowledge about functions
    relations
  • (transitive R), (inverse R1 R2), (holds ?r 1 2) ,
    (value ?f 1 2)
  • (ltgt (transitive ?r)
  • (gt (and (holds ?r ?x ?y) (holds ?r ?y ?z))
  • (holds ?r ?x ?z))))
  • KIF can encode knowledge about knowledge,
  • (interested joe (salary ,?x ,?y ,?z))
  • KIF can also be used to describe procedures
  • (progn (fresh-line t)
  • (print "Hello!")
  • (fresh-line t))
  • Many agents only need
    or use a subset of
    KIF

41
KIF Software
KIF
  • Several KIF-based reasoners are available from
    Stanford (Lisp implementation).
  • IBMs ABE (Agent Building Environment) and RAISE
    reasoning engine use KIF as their external
    language.
  • Stanfords Ontolingua uses KIF as its internal
    language.
  • Translators (partial) exist for a number of other
    KR languages, including LOOM, Classic, CLIPS,
    Prolog, ...
  • Parsers for KIF exist which take KIF strings into
    C or Java objects.
  • See lthttp//www.cs.umbc.edu/kifgt for more
    information.

42
Common Semantics Shared Ontologies and Ontolingua
Ontologies
  • Ontology A common vocabulary and agreed upon
    meanings to describe a subject domain.

Ontol"ogy (?), n. Gr. the things which exist
(pl.neut. of , , being, p.pr. of to be) -logy
cf.F. ontologie. That department of the science
of metaphysics which investigates and explains
the nature and essential properties and relations
of all beings, as such, or the principles and
causes of being. Webster's Revised Unabridged
Dictionary (G C. Merriam Co., 1913, edited by
Noah Porter)
  • This is not a profoundly new idea
  • Vocabulary specification
  • Domain theory
  • Conceptual schema (for a data base)
  • Class-subclass taxonomy
  • Object schema

43
Reusable Declarative Knowledge
Ontologies
  • Declarative knowledge is the critical enabler for
  • Large scale intelligent systems
  • Interoperation of object-oriented systems
  • Encoding knowledge is prohibitively expensive
  • Extensive time
  • Sophisticated expertise
  • We must develop capability for knowledge reuse
    via tools and techniques for
  • Creating and preserving reusable knowledge bases
  • Assembling knowledge bases from reusable modules

44
Representation Requires Vocabulary
Ontologies
  • Domain experts use domain-specific vocabulary
  • Traditional KR languages are domain-independent
    (E.g, FOPC, frames, schemas) and dont provide a
    domain-specific vocabulary
  • KB construction therefore involves two steps
  • Defining vocabulary to be used to represent the
    knowledge
  • Representing the knowledge using the defined
    vocabulary

45
Ontologies
Ontologies
  • An ontology contains specification of concepts to
    be used for expressing knowledge
  • -- Types of entities -- Relations and functions
  • -- Attributes and properties -- Constraints
  • Ontologies are distinguished from KBs not by
    their form, but by the role they play in
    representing knowledge
  • consensus models for a domain
  • Emphasis on properties that hold in all
    situations
  • Emphasis on classes rather than instances
  • Intended to support multiple tasks and methods
  • Dont change during problem solving and are
    suited for compiling into tools
  • Need to satisfy a community of use
  • Emphasis on collaborative development
  • Emphasis on translation to multiple logical
    formalisms
  • Useful for education

46
Conceptual Schemas
Ontologies
  • A conceptual schema specifies the intended
    meaning of concepts used in a data base

Data Base
Table price stockNo integer cost float
Data Base Schema
Auto Product Ontology
price(x, y) gt (x, y) auto_part(x)
stock_no(x) x
retail_price(x, y, Value-Inc)
magnitude(y, US_dollars) y
Product Ontology
Conceptual Schema
Units Measures Ontology
47
Ontology Library and Editing Tools
Ontologies
Ontolingua is a language for building,
publishing, and sharing ontologies.
  • A web interface to a browser/editor at
    http//ontolingua.stanford.edu/ and mirror sites.
  • Internal representation is KIF augmented with a
    frame language ontology
  • enables OO structuring of ontologies
  • Ontologies can be translated into other content
    languages, including KIF, LOOM, Prolog, CLIPS,
    etc.
  • Provides user with fully cross-referenced HTML
    documents

48
KQML Knowledge Query and Manipulation Language
KQML
  • KQML is a high-level, message-oriented,
    communication language and protocol for
    information exchange independent of content
    syntax and ontology.
  • KQML is independent of
  • the transport mechanism (e.g., tcp/ip, email,
    corba objects, IIOP, etc.)
  • Independent of content language (e.g., KIF, SQL,
    STEP, Prolog, etc.)
  • Independent of the ontology assumed by the
    content.
  • KQML includes primitive message types of
    particular interest to building interesting agent
    architectures (e.g., for mediators, sharing
    intentions, etc.)

49
A KQML Message
KQML
  • Represents a single speech act or performative
  • e.g., ask, tell, reply, subscribe, achieve,
    monitor, ...
  • with an associated semantics and protocol and a
    list of attribute/value pairs
  • e.g., content, language, from, in-reply-to,
    ...

50
Semantics for tell(A,B,X)
KQML
  • bel(A,X), A states to B that A believes X to be
    true (for A).
  • Pre(A) bel(A,X) AND know(A,want(B,know(B,S)))
    where S may be bel(A,X) or NOT(bel(A,X))
  • Pre(B) intend(B,know(B,S))
  • Post(A) know(A,know(B,bel(A,X)))
  • Post(B) know(B,bel(A,X))
  • Completion know(B,bel(A,X))
  • Comment The completion condition and
  • postconditions hold unless a sorry or error
  • suggests Bs inability to properly acknowledge
  • the tell.

51
Some KQML Performatives
KQML
  • Basic query performatives evaluate, ask-if,
    ask-in, ask-one, ask-all
  • Multi-response query performatives
    stream-in, stream-all
  • Response performatives reply, sorry, error
  • Generic informational performatives tell,
    achieve, cancel, untell, unachieve
  • Generator performatives standby, ready,
    next, rest, discard, generator
  • Capability-definition performatives
    advertise, subscribe, monitor, import, export
  • Networking performatives register,
    unregister, forward, broadcast, route

52
Simple Query Performatives
KQML
ask-all(P)
tell((p1 p2 p3...))
ask-all(P)
tell(p1)
tell(p2)
tell(p3)
Agent-based Information Retrieval
July 1997
53
KQML protocols
KQML
Broker
Recommend
Recruit
Register
Agent-based Information Retrieval
July 1997
54
Lockheed/UMBC KQML Software Architecture
KQML
  • Router
  • Content independent message router.
  • One per agent - handles sending and asynchronous
    receiving of messages.
  • KRILs
  • Knowledge Representation Interface Library.
  • Maps incoming KQML messages to application
    handlers
  • Standard agent facilitate building MAS systems
  • Agent name server
  • Logger, Controller, Visualizer, ...
  • Brokers ...
  • Proxy agents ...
  • Mediators ...

Agent-based Information Retrieval
July 1997
55
KQML Utility Agents
KQML
  • We have developed a number of KQML speaking
    utility agents based on standard ontologies.
  • Agent Name Server Logger
  • Message Router Authenticator
  • Broker Communication Visualizer
  • Controller Proxy Agent
  • These facilitate the development of agent-based
    systems.

Agent-based Information Retrieval
July 1997
56
KQML Utility Agents
57
KQML APIs and System Interfaces
KQML
  • KQML APIs
  • KATS (Loral/UMBC)
  • KAPI (Lockheed/EIT/Stanford)
  • MAGENTA (Stanford)
  • LogicWare (Cryzalys)
  • Toronto - Lisp and C
  • JavaAgentTemplate (Stanford), Jackal (UMBC) --
    Java
  • TKQML (UMBC) -- Tcl/Tk
  • System interfaces
  • Languages Lisp, C, C, Perl, Prolog, Tcl,
    CLIPS, Scheme, Java, ...
  • KR languages LOOM, KRSL, ...
  • Systems DBMSs, SIMS, ...

58
Applications
59
Agent-Based Information Retrieval (ABIR) Mind Map
Adaptive
Collaborative
Interface
EachMovie
Phoaks
Fab
RARE/Tunes
Firefly
ReferralWeb
GroupLens
SimilaritiesEngine
Morse
SiteSeer
MovieCritic
Yenta
ABIR
Large,
Proactive
Heterogeneous,
Distributed
Letizia
RemembranceAgent
CARROT
InfoSleuth
Push
Retsina
SAIRE
Backweb
Knowbot
Marimba
All-in-one
Pointcast
Fastfind
SIFT
Metacrawler
TopicAGENTs
Metasearch
Metasearch
Netbot Jango
Shopbots
Profusion
Shopbot
Savvysearch
WebCompass
60
Knowbot ABIR Systems
  • A knowbot is an ABIR system that provides a
    single query language to access a variety of
    information sources
  • It serves as a representative for the user (which
    demands program autonomy).
  • Examples of knowbots MetaCrawler, SavvySearch,
    Shopbot, BargainFinder, Fido.
  • Metacrawler
  • Queries a variety of search engines in parallel.
  • Provides a uniform user interface.
  • Merges results from different engines.
  • Downloads and scans pages if necessary.
  • Passes ads through.

61
Collaborative Filtration Systems
  • A collaborative filtration system makes
    recommendations to a person based on the
    preferences of similar users, e.g. recommending
    people (Yenta, ReferralWeb), products (Firefly,
    Tunes, EachMovie, Morse, MovieCritic), or
    readings (Wisewire, Firefly, Fab, Phoaks)
  • Content-based recommendation retrieves other
    documents similar to those the user liked
    earlier.
  • Collaborative recommendation retrieves documents
    liked by other people similar to the user.

62
Example Firefly
  • Has been applied to music, movies, web pages,
    books, etc.
  • Uses several neighbor sets to improve precision.
  • Will recommend people who rate a given page
    highly, and pages that a giver person rates
    highly (e.g., My Yahoo).
  • Sets cookies incessantly.
  • Developed user passport

63
Example Remembrance Agent
  • Indexes personal files and e-mail.
  • Embedded in Emacs.
  • When you perform a task, it automatically
    suggests relevant documents.
  • Provides continuous associative recall.

64
Example Letizia
  • Agent browses as you browse.
  • People typically browse depth-first Letizia
    browses breadth-first.
  • Uses a variety of heuristics to identify
    interesting pages.
  • When an interesting page is identified, it is
    displayed in a separate browser window.

65
Semantic web markup with SHOE
  • Simple HTML Ontology Extensions developed by UMCP
    PLUS Group
  • Ontological mark-up tags allow the web page
    author to add semantic knowledge of the pages
    content.
  • Pages and sub-regions are the ground objects in
    the world.
  • Definitions for classes, relations, attributes,
    axioms, etc. are also defined on web pages.

66
URL agents
  • URL agents are responsible for, and understand
    small groups of related web pages and communicate
    with other agents with similar pages
  • Each URL has an agent which can think, speak, and
    act for it.

67
URL Agents speak for one or more related web
pages
Ontology Page
URLA2
KB
WWW

Ontology Page
URLA1
KB
Related Web Pages
68
Example
WWW text
Shoe tag
Prerequisite CMSC 202 ltRELATION
hasPrereq TOhttp//
....CMSC-202gt (tell to urla42 from
spider387 content (prereq
CS-341 CS-202) ontology
http///courseontology.html language
KIF)
KQML message sent to URL agent
69
Course Ontology
ltONTOLOGY course-ontology" VERSION2.5"gt
ltONTOLOGY-EXTENDS meeting-ontology"
VERSION"2.1" PREFIXmtg"
URL"http//onto.org/mtg/2.1/"gt ltONTDEF
CATEGORYcourse" ISAmtg.periodic"gt ltONTDEF
RELATIONfrequency" ARGScourse timeinterval"gt
ltONTDEF RELATIONhasPrereq" ARGScourse
course"gt ltONTDEF INFERENCEgt ltONTIF
RELATIONhasPrereq 1a 2bgt ltONTIF
RELATIONchainPrereq 1b 2cgt
ltONTTHEN RELATIONchainPrereq 1a
2cgtlt/ONTDEFgt lt/ONTOLOGYgt
70
urlAgent Prototype Architecture
URL agent
KQML API
Referenced Ontologies
CLIPS
Semantic information from local web pages in KQML
Web robot
KQML API
Web pages with semantic markup added
Markup added by hand
Markup added via SHOE enabled editor
Custom markup agent
Raw web page
Raw web page
Raw web page
71
Linneaus
  • Problem What can we use as an ontology to
    characterize what a document is about?
  • Solution use a pre-existing, naturally
    occurring ontology, e.g.,
  • Yahoo hierarchy -- 150K nodes
  • Newsgroup hierarchy -- 5K newsgroups
  • Encyclopedia articles -- 10K articles
  • Approach automatically classify the target
    document with respect to the ontology corpus with
    telltale.

72
CARROT Cooperating Agent-based Routing and
Retrieval of Text
  • Agents provide access to different corpora, using
    existing IR engines
  • Agents share metadata with Broker agents, which
    route queries and new documents to the right
    place(s).
  • Two enabling technologies
  • KQML agent communication language
  • N-gram processing

73
CARROT Assumptions and Architecture
  • Dynamic corpus - new documents may arrive at any
    time
  • Corpus is physically partitioned among many
    back-end processors, each represented by an
    agent
  • Each back-end handles 1-10 GB
  • interact with local IR/DB engines
  • generate metadata, to be shared with the
    broker(s)
  • metadata for a set of documents is a compressed
    n-gram profile
  • Brokers
  • collect metadata from back-end agents
  • use Telltale to manage these metadata corpora
  • may be organized in hierarchies, thereby scaling
    to many GBs of data
  • Light-weight version of Telltale to generate
    metadata for other engines

74
(No Transcript)
75
CARROT Back-end Agent
  • Interacts with local IR/DB engines to access data
  • No interference with existing applications
  • Generates metadata, to be shared with one or more
    brokers
  • Metadata for a set of documents is a compressed
    n-gram profile

76
CARROT Broker
  • Collects metadata from back-end agents
  • Uses Telltale to manage these metadata corpora
  • Otherwise similar to back-end agents
  • Can be organized in hierarchies

TK GUI
KQML
TKQML
broker.c
TCL Agent
Metadata
Telltale
77
Telltale
  • Telltale is an information retrieval engine
    designed for
  • scalability
  • use with a wide variety of document types and
    languages
  • embedding in larger systems
  • Some key features include
  • vector space model for representing documents and
    queries
  • use of character n-grams
  • use of corpus centroids as

    metadata
  • Tcl/Tk user interface
  • Agent api using KQML

78
Documents as term vectors
  • A document is a sequence of terms (e.g. words,
    word stems or n-grams)
  • We can represent a document as a (normalized)
    vector of the frequency of each of the unique
    terms in a document.
  • A similarity measure of two documents can be
    measured as the angle between their vectors.
  • We can represent the combination of two documents
    by adding (and renormalizing) their vectors
  • We can represent a corpus as the sum of the
    vectors of all of its documents (the centroid)

79
n-grams vs. words
  • An IR system can use n-grams or words as terms
  • Advantages of n-grams
  • Dont need a morphological model (e.g., for
    stemming) so good for multi-linguistic
    environment or non-language corpora (e.g., Java
    code).
  • Robust w.r.t. letter errors (typos, ocr errors,
    etc)
  • Provides some context since they span adjacent
    words
  • computer science --gt compu ter_ s er_sc
    r_sci _scie ...
  • Advantages of words
  • Can be more precise (computation but not
    computer)
  • Amenable to boolean combinations
  • Bottom line?
  • Depends on specifics of application

80
VR based visualization of retrieval
  • Real-time, interactive stereo viewing of results
    of information retrieval engine
  • Each document returned is rendered as a glyph
    (icon)
  • Document properties mapped to 3D location, shape,
    color, transparency, and texture.
  • Provides spatialization of complex relationships
    and comprehensible display of multiple variables

81
VR Approach
  • Immersive
  • Isolates the user from environment
  • Expensive
  • Minimally-immersive
  • Access to environment
  • Collaboration possible
  • Low cost
  • Two hands give proprioception
  • Uses Two 3D Trackers with Buttons
  • User manipulates 3D scene with trackers
  • Each hand has a distinct role -- left sets up
    context and right performs fine manipulation

82
Visualizing a document space
Mappings X similarity to federal reserve
bank Y similarity to commodity prices Z
similarity to foreign exchange rate of the
dollar Shape similarity to coup attempt
against Noreiga with cube as lowest and cone as
highest Color age of document with blue as the
oldest and yellow as the newest Transparency Text
ure
83
  • Participants
  • IBM Corp
  • University of Maryland Baltimore County
  • University of North Carolina at Charlotte
  • University of Florida
  • Berclain USA Ltd.
  • QAD Inc
  • GSE Systems
  • Lucent Technologies
  • Ingersoll-Rand Co.
  • Demand Solutions
  • DLoG Remex Inc.
  • Intercim
  • EnvisionIt Software
  • Funder National Institute of Standards and
    Technology / Advanced Technology Program
    (NIST/ATP)
  • Technologies for the Integration of Manufacturing
    Applications (TIMA)
  • 22.9M over 3 years (6/96 - 6/99), 45
    government, 55 consortium
  • Goal Plug and Play framework of business
    objectives and integration enabling tools
    allowing a suite of solutions that can be
    implemented out-of-the-box at small and
    midsized manufacturing and process sites
    including MES, ERP, Finite Scheduling, and
    Capacity Analysis/Decision Support
  • Objectives interoperability, configurability,
    adaptability, extensibility, plug and play.

84
Current Implementation Components
People
MES
Netscape
1
2
KQML/KIF
1
1
Java-Enabled Web Browser
BOD
3
4
4
4
MOOPI
  • All agents register with the Agent Name Server
  • An agent may communicate/collaborate with any
    other agent
  • The Broker Agent matches agent interests with
    service providers
  • Arrows indicate path of rate monitoring scenario

85
Conclusion
86
Some key ideas
  • Software agents offer a new paradigm for very
    large scale distributed heterogeneous
    applications focusing on the interactions of
    autonomous, cooperating processes which can adapt
    to humans and other agents.
  • Intelligence is always a desirable characteristic
    but is not strictly required by the paradigm.
  • There is a wealth of prior theory from several
    disciplines but you neednt to be an expert to to
    apply or use it.

87
Some key ideas
  • Modern programming languages support building
    agents with threads a real plus and mobility an
    interesting option.
  • Communication is of central importance and, in
    particular
  • Establishing common agent communication
    languages.
  • Developing common ontologies for application
    domains.
  • Establishing common agent protocols.
  • The paradigm is still forming.
  • See http//www.cs.umbc.edu/agents
Write a Comment
User Comments (0)
About PowerShow.com