The
entertainment system was belting out the Beatles' "We Can Work It Out"
when the phone rang. When Pete answered, his phone turned the sound
down by sending a message to all the other
local devices that had a
volume control.
His sister, Lucy, was on the line from the doctor's office: "Mom needs
to see a specialist and then has to have a series of physical therapy
sessions. Biweekly or something. I'm going to have my agent set up the
appointments." Pete immediately agreed to share the chauffeuring.
|
BY MIGUEL SALMERON |
At the doctor's office, Lucy instructed her Semantic Web agent through
her handheld Web browser. The agent promptly retrieved information
about Mom's
prescribed treatment from the doctor's agent, looked up several lists of
providers, and checked for the ones
in-plan for Mom's insurance within a
20-mile radius of her
home and with a
rating of
excellent or
very good on trusted rating services. It then began trying to find a match between available
appointment times
(supplied by the agents of individual providers through their Web sites)
and Pete's and Lucy's busy schedules. (The emphasized keywords indicate
terms whose semantics, or meaning, were defined for the agent through
the Semantic Web.)
In a few minutes the agent presented them with a plan. Pete
didn't like it—University Hospital was all the way across town from
Mom's place, and he'd be driving back in the middle of rush hour. He
set his own agent to redo the search with stricter preferences about location and time. Lucy's agent, having complete trust
in Pete's agent in the context of the present task, automatically
assisted by supplying access certificates and shortcuts to the data it
had already sorted through.
Almost instantly the new plan was presented: a much closer
clinic and earlier times—but there were two warning notes. First, Pete
would have to reschedule a couple of his less important
appointments. He checked what they were—not a problem. The other was
something about the insurance company's list failing to include this
provider under physical therapists: "Service type and insurance plan status securely verified by other means," the agent reassured him. "(Details?)"
Lucy registered her assent at about the same moment Pete was
muttering, "Spare me the details," and it was all set. (Of course, Pete
couldn't resist the details and later that night had his agent explain
how it had found that provider even though it wasn't on the proper
list.)
Expressing Meaning
Pete and Lucy could use their agents
to carry out all these tasks thanks not to the World Wide Web of today
but rather the Semantic Web that it will evolve into tomorrow. Most of
the Web's content today is designed for humans to read, not for
computer programs to manipulate meaningfully. Computers can adeptly
parse Web pages for layout and routine processing—here a header, there
a link to another page—but in general, computers have no reliable way
to process the semantics: this is the home page of the Hartman and
Strauss Physio Clinic, this link goes to Dr. Hartman's curriculum
vitae.
The Semantic Web will bring structure to the meaningful content of
Web pages, creating an environment where software agents roaming from
page to page can readily carry out sophisticated tasks for users. Such
an agent coming to the clinic's Web page will know not just that the
page has keywords such as "treatment, medicine, physical, therapy" (as
might be encoded today) but also that Dr. Hartman works at this clinic on Mondays, Wednesdays and Fridays and that the script takes a date range in yyyy-mm-dd format and returns appointment times.
And it will "know" all this without needing artificial intelligence on
the scale of 2001's Hal or Star Wars's C-3PO. Instead these semantics
were encoded into the Web page when the clinic's office manager (who
never took Comp Sci 101) massaged it into shape using off-the-shelf
software for writing Semantic Web pages along with resources listed on
the Physical Therapy Association's site.
The Semantic Web is not a separate Web but an extension of
the current one, in which information is given well-defined meaning,
better enabling computers and people to work in cooperation. The first
steps in weaving the Semantic Web into the structure of the existing
Web are already under way. In the near future, these developments will
usher in significant new functionality as machines become much better
able to process and "understand" the data that they merely display at
present.
The essential property of the World Wide Web is its
universality. The power of a hypertext link is that "anything can link
to anything." Web technology, therefore, must not discriminate between
the scribbled draft and the polished performance, between commercial
and academic information, or among cultures, languages, media and so
on. Information varies along many axes. One of these is the difference
between information produced primarily for human consumption and that
produced mainly for machines. At one end of the scale we have
everything from the five-second TV commercial to poetry. At the other
end we have databases, programs and sensor output. To date, the Web has
developed most rapidly as a medium of documents for people rather than
for data and information that can be processed automatically. The
Semantic Web aims to make up for this.
Like the Internet, the Semantic Web will be as decentralized
as possible. Such Web-like systems generate a lot of excitement at
every level, from major corporation to individual user, and provide
benefits that are hard or impossible to predict in advance.
Decentralization requires compromises: the Web had to throw away the
ideal of total consistency of all of its interconnections, ushering in
the infamous message "Error 404: Not Found" but allowing unchecked
exponential growth.
Knowledge Representation
For the semantic web to
function, computers must have access to structured collections of
information and sets of inference rules that they can use to conduct
automated reasoning. Artificial-intelligence researchers have studied
such systems since long before the Web was developed. Knowledge
representation, as this technology is often called, is currently in a
state comparable to that of hypertext before the advent of the Web: it
is clearly a good idea, and some very nice demonstrations exist, but it
has not yet changed the world. It contains the seeds of important
applications, but to realize its full potential it must be linked into
a single global system.
BY MIGUEL SALMERON
|
Traditional knowledge-representation systems typically have been
centralized, requiring everyone to share exactly the same definition of
common concepts such as "parent" or "vehicle." But central control is
stifling, and increasing the size and scope of such a system rapidly
becomes unmanageable.
Moreover, these systems usually carefully limit the questions
that can be asked so that the computer can answer reliably— or answer
at all. The problem is reminiscent of Gödel's theorem from mathematics:
any system that is complex enough to be useful also encompasses
unanswerable questions, much like sophisticated versions of the basic
paradox "This sentence is false." To avoid such problems, traditional
knowledge-representation systems generally each had their own narrow
and idiosyncratic set of rules for making inferences about their data.
For example, a genealogy system, acting on a database of family trees,
might include the rule "a wife of an uncle is an aunt." Even if the
data could be transferred from one system to another, the rules,
existing in a completely different form, usually could not.
Semantic Web researchers, in contrast,
accept that paradoxes and unanswerable questions are a price that must
be paid to achieve versatility. We make the language for the rules as
expressive as needed to allow the Web to reason as widely as desired.
This philosophy is similar to that of the conventional Web: early in
the Web's development, detractors pointed out that it could never be a
well-organized library; without a central database and tree structure,
one would never be sure of finding everything. They were right. But the
expressive power of the system made vast amounts of information
available, and search engines (which would have seemed quite
impractical a decade ago) now produce remarkably complete indices of a
lot of the material out there. The challenge of the Semantic Web,
therefore, is to provide a language that expresses both data and rules
for reasoning about the data and that allows rules from any existing
knowledge-representation system to be exported onto the Web.
Adding logic to the Web—the means to use rules to make
inferences, choose courses of action and answer questions—is the task
before the Semantic Web community at the moment. A mixture of
mathematical and engineering decisions complicate this task. The logic
must be powerful enough to describe complex properties of objects but
not so powerful that agents can be tricked by being asked to consider a
paradox. Fortunately, a large majority of the information we want to
express is along the lines of "a hex-head bolt is a type of machine
bolt," which is readily written in existing languages with a little
extra vocabulary.
Two important technologies for developing the Semantic Web are
already in place: eXtensible Markup Language (XML) and the Resource
Description Framework (RDF). XML lets everyone create their own
tags—hidden labels such as or that annotate Web pages or sections of
text on a page. Scripts, or programs, can make use of these tags in
sophisticated ways, but the script writer has to know what the page
writer uses each tag for. In short, XML allows users to add arbitrary
structure to their documents but says nothing about what the structures
mean.
The Semantic Web will enable machines to COMPREHEND semantic documents and data, not human speech and writings.
|
Meaning is expressed by RDF, which encodes it in sets
of triples, each triple being rather like the subject, verb and object
of an elementary sentence. These triples can be written using XML tags.
In RDF, a document makes assertions that particular things (people, Web
pages or whatever) have properties (such as "is a sister of," "is the
author of") with certain values (another person, another Web page).
This structure turns out to be a natural way to describe the vast
majority of the data processed by machines. Subject and object are each
identified by a Universal Resource Identifier (URI), just as used in a
link on a Web page. (URLs, Uniform Resource Locators, are the most
common type of URI.) The verbs are also identified by URIs, which
enables anyone to define a new concept, a new verb, just by defining a
URI for it somewhere on the Web.
Human language thrives when using the same term to mean
somewhat different things, but automation does not. Imagine that I hire
a clown messenger service to deliver balloons to my customers on their
birthdays. Unfortunately, the service transfers the addresses from my
database to its database, not knowing that the "addresses" in mine are
where bills are sent and that many of them are post office boxes. My
hired clowns end up entertaining a number of postal workers—not
necessarily a bad thing but certainly not the intended effect. Using a
different URI for each specific concept solves that problem. An address
that is a mailing address can be distinguished from one that is a
street address, and both can be distinguished from an address that is a
speech.
The triples of RDF form webs of
information about related things. Because RDF uses URIs to encode this
information in a document, the URIs ensure that concepts are not just
words in a document but are tied to a unique definition that everyone
can find on the Web. For example, imagine that we have access to a
variety of databases with information about people, including their
addresses. If we want to find people living in a specific zip code, we
need to know which fields in each database represent names and which
represent zip codes. RDF can specify that "(field 5 in database A) (is
a field of type) (zip code)," using URIs rather than phrases for each
term.
Ontologies
Of course, this is not the end of the story,
because two databases may use different identifiers for what is in fact
the same concept, such as
zip code.
A program that wants to compare or combine information across the two
databases has to know that these two terms are being used to mean the
same thing. Ideally, the program must have a way to discover such
common meanings for whatever databases it encounters.
A solution to this problem is provided by the third basic
component of the Semantic Web, collections of information called
ontologies. In philosophy, an ontology is a theory about the nature of
existence, of what types of things exist; ontology as a discipline
studies such theories. Artificial-intelligence and Web researchers have
co-opted the term for their own jargon, and for them an ontology is a
document or file that formally defines the relations among terms. The
most typical kind of ontology for the Web has a taxonomy and a set of
inference rules.
The taxonomy defines classes of objects and relations among them. For example, an address may be defined as a type of location, and city codes may be defined to apply only to locations,
and so on. Classes, subclasses and relations among entities are a very
powerful tool for Web use. We can express a large number of relations
among entities by assigning properties to classes and allowing
subclasses to inherit such properties. If city codes must be of type city and cities generally have Web sites, we can discuss the Web site associated with a city code even if no database links a city code directly to a Web site.
Inference rules in ontologies supply further power. An ontology
may express the rule "If a city code is associated with a state code,
and an address uses that city code, then that address has the
associated state code." A program could then readily deduce, for
instance, that a Cornell University address, being in Ithaca, must be
in New York State, which is in the U.S., and therefore should be
formatted to U.S. standards. The computer doesn't truly "understand"
any of this information, but it can now manipulate the terms much more
effectively in ways that are useful and meaningful to the human user.
With ontology pages on the Web, solutions to terminology (and
other) problems begin to emerge. The meaning of terms or XML codes used
on a Web page can be defined by pointers from the page to an ontology.
Of course, the same problems as before now arise if I point to an
ontology that defines addresses as containing a zip code and you point to one that uses postal code.
This kind of confusion can be resolved if ontologies (or other Web
services) provide equivalence relations: one or both of our ontologies
may contain the information that my zip code is equivalent to your
postal code.
Our scheme for sending in the clowns to entertain my customers
is partially solved when the two databases point to different
definitions of address.
The program, using distinct URIs for different concepts of address,
will not confuse them and in fact will need to discover that the
concepts are related at all. The program could then use a service that
takes a list of postal addresses (defined in the first ontology) and converts it into a list of physical addresses
(the second ontology) by recognizing and removing post office boxes and
other unsuitable addresses. The structure and semantics provided by
ontologies make it easier for an entrepreneur to provide such a
service and can make its use completely transparent.
Ontologies can enhance the functioning
of the Web in many ways. They can be used in a simple fashion to
improve the accuracy of Web searches—the search program can look for
only those pages that refer to a precise concept instead of all the
ones using ambiguous keywords. More advanced applications will use
ontologies to relate the information on a page to the associated
knowledge structures and inference rules. An example of a page marked
up for such use is online at http://www.cs.umd.edu/~hendler. If you
send your Web browser to that page, you will see the normal Web page
entitled "Dr. James A. Hendler." As a human, you can readily find the
link to a short biographical note and read there that Hendler received
his Ph.D. from Brown University. A computer program trying to find such
information, however, would have to be very complex to guess that this
information might be in a biography and to understand the English
language used there.
For computers, the page is linked to an ontology page that
defines information about computer science departments. For instance,
professors work at universities and they generally have doctorates.
Further markup on the page (not displayed by the typical Web browser)
uses the ontology's concepts to specify that Hendler received his Ph.D.
from the entity described at the URI http://www. brown.edu — the Web
page for Brown. Computers can also find that Hendler is a member of a
particular research project, has a particular e-mail address, and so
on. All that information is readily processed by a computer and could
be used to answer queries (such as where Dr. Hendler received his
degree) that currently would require a human to sift through the
content of various pages turned up by a search engine.
In addition, this markup makes it much easier to develop
programs that can tackle complicated questions whose answers do not
reside on a single Web page. Suppose you wish to find the Ms. Cook you
met at a trade conference last year. You don't remember her first name,
but you remember that she worked for one of your clients and that her
son was a student at your alma mater. An intelligent search program can
sift through all the pages of people whose name is "Cook" (sidestepping
all the pages relating to cooks, cooking, the Cook Islands and so
forth), find the ones that mention working for a company that's on your
list of clients and follow links to Web pages of their children to
track down if any are in school at the right place.
Agents
BY MIGUEL SALMERON
|
The real power of the Semantic Web will be realized when people create
many programs that collect Web content from diverse sources, process
the information and exchange the results with other programs. The
effectiveness of such software agents will increase exponentially as
more machine-readable Web content and automated services (including
other agents) become available. The Semantic Web promotes this synergy:
even agents that were not expressly designed to work together can
transfer data among themselves when the data come with semantics.
An important facet of agents' functioning will be the exchange of
"proofs" written in the Semantic Web's unifying language (the language
that expresses logical inferences made using rules and information such
as those specified by ontologies). For example, suppose Ms. Cook's
contact information has been located by an online service, and to your
great surprise it places her in Johannesburg. Naturally, you want to
check this, so your computer asks the service for a proof of its
answer, which it promptly provides by translating its internal
reasoning into the Semantic Web's unifying language. An inference
engine in your computer readily verifies that this Ms. Cook indeed
matches the one you were seeking, and it can show you the relevant Web
pages if you still have doubts. Although they are still far from
plumbing the depths of the Semantic Web's potential, some programs can
already exchange proofs in this way, using the current preliminary
versions of the unifying language.
Another vital feature will be digital
signatures, which are encrypted blocks of data that computers and
agents can use to verify that the attached information has been
provided by a specific trusted source. You want to be quite sure that a
statement sent to your accounting program that you owe money to an
online retailer is not a forgery generated by the computer-savvy
teenager next door. Agents should be skeptical of assertions that they
read on the Semantic Web until they have checked the sources of
information. (We wish more people would learn to do this on the Web as it is!)
Many automated Web-based services already exist without
semantics, but other programs such as agents have no way to locate one
that will perform a specific function. This process, called service
discovery, can happen only when there is a common language to describe
a service in a way that lets other agents "understand" both the
function offered and how to take advantage of it. Services and agents
can advertise their function by, for example, depositing such
descriptions in directories analogous to the Yellow Pages.
Some low-level service-discovery schemes are currently
available, such as Microsoft's Universal Plug and Play, which focuses
on connecting different types of devices, and Sun Microsystems's Jini,
which aims to connect services. These initiatives, however, attack the
problem at a structural or syntactic level and rely heavily on
standardization of a predetermined set of functionality descriptions.
Standardization can only go so far, because we can't anticipate all
possible future needs.
Properly designed, the Semantic Web
can assist the evolution of human knowledge
as a whole.
|
The Semantic Web, in contrast, is more flexible. The
consumer and producer agents can reach a shared understanding by
exchanging ontologies, which provide the vocabulary needed for
discussion. Agents can even "bootstrap" new reasoning capabilities when
they discover new ontologies. Semantics also makes it easier to take
advantage of a service that only partially matches a request.
A typical process will involve the creation of a "value chain"
in which subassemblies of information are passed from one agent to
another, each one "adding value," to construct the final product
requested by the end user. Make no mistake: to create complicated value
chains automatically on demand, some agents will exploit
artificial-intelligence technologies in addition to the Semantic Web.
But the Semantic Web will provide the foundations and the framework to
make such technologies more feasible.
Putting all these features together results in the abilities
exhibited by Pete's and Lucy's agents in the scenario that opened this
article. Their agents would have delegated the task in piecemeal
fashion to other services and agents discovered through service
advertisements. For example, they could have used a trusted service to take a list of providers and determine which of them are in-plan for a specified insurance plan and course of treatment.
The list of providers would have been supplied by another search
service, et cetera. These activities formed chains in which a large
amount of data distributed across the Web (and almost worthless in that
form) was progressively reduced to the small amount of data of high
value to Pete and Lucy—a plan of appointments to fit their schedules
and other requirements.
In the next step, the Semantic Web will break out of the
virtual realm and extend into our physical world. URIs can point to
anything, including physical entities, which means we can use the RDF
language to describe devices such as cell phones and TVs. Such devices
can advertise their functionality—what they can do and how they are
controlled—much like software agents. Being much more flexible than
low-level schemes such as Universal Plug and Play, such a semantic
approach opens up a world of exciting possibilities.
For instance, what today is called
home automation requires careful configuration for appliances to work
together. Semantic descriptions of device capabilities and
functionality will let us achieve such automation with minimal human
intervention. A trivial example occurs when Pete answers his phone and
the stereo sound is turned down. Instead of having to program each
specific appliance, he could program such a function once and for all
to cover every local device that advertises having a volume control — the TV, the DVD player and even the media players on the laptop that he brought home from work this one evening.
The first concrete steps have already been taken in this area,
with work on developing a standard for describing functional
capabilities of devices (such as screen sizes) and user preferences.
Built on RDF, this standard is called Composite Capability/Preference
Profile (CC/PP). Initially it will let cell phones and other
nonstandard Web clients describe their characteristics so that Web
content can be tailored for them on the fly. Later, when we add the
full versatility of languages for handling ontologies and logic,
devices could automatically seek out and employ services and other
devices for added information or functionality. It is not hard to
imagine your Web-enabled microwave oven consulting the frozen-food
manufacturer's Web site for optimal cooking parameters. >
Evolution of Knowledge
BY MIGUEL SALMERON
|
The semantic web is not "merely" the tool for
conducting individual tasks that we have discussed so far. In addition,
if properly designed, the Semantic Web can assist the evolution of
human knowledge as a whole.
Human endeavor is caught in an eternal tension between the
effectiveness of small groups acting independently and the need to mesh
with the wider community. A small group can innovate rapidly and
efficiently, but this produces a subculture whose concepts are not
understood by others. Coordinating actions across a large group,
however, is painfully slow and takes an enormous amount of
communication. The world works across the spectrum between these
extremes, with a tendency to start small—from the personal idea—and
move toward a wider understanding over time.
An essential process is the joining together of subcultures
when a wider common language is needed. Often two groups independently
develop very similar concepts, and describing the relation between them
brings great benefits. Like a Finnish-English dictionary, or a
weights-and-measures conversion table, the relations allow
communication and collaboration even when the commonality of concept
has not (yet) led to a commonality of terms.
The Semantic Web, in naming every concept simply by a URI,
lets anyone express new concepts that they invent with minimal effort.
Its unifying logical language will enable these concepts to be
progressively linked into a universal Web. This structure will open up
the knowledge and workings of humankind to meaningful analysis by
software agents, providing a new class of tools by which we can live,
work and learn together.
Further Information:
Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web by Its Inventor.
Tim Berners-Lee, with Mark Fischetti. Harper San Francisco, 1999.
An enhanced version of this article is on the Scientific American Web site, with additional material and links.
World Wide Web Consortium (W3C): www.w3.org/
W3C Semantic Web Activity: www.w3.org/2001/sw/
An introduction to ontologies: www.SemanticWeb.org/knowmarkup.html
Simple HTML Ontology Extensions Frequently Asked Questions (SHOE FAQ): www.cs.umd.edu/projects/plus/SHOE/faq.html
DARPA Agent Markup Language (DAML) home page: www.daml.org/