semanticweb whitepaperdraft

6
Using Common Sense Reasoning to Enable the Semantic Web Alexander Faaborg, Sakda Chaiworawitkul, Henry Lieberman, MIT Media Lab 20 Ames Street, Building E15 Cambridge, MA 02139 [email protected], [email protected], [email protected] ABSTRACT Current efforts to build the Semantic Web [1] have been  based on creating machine readable metadata, using XML tags and RDF t riples to formally represent information. It is genera ll y assume d that the only wa y to cr ea te an intell igent Web agent is to build a new Web, a Web specif ic al ly for ma chines th at uses a unif ie d logi cal language. We hav e approa che d sol ving this dis par ity  between humans and machines from the opposite direction,  by enabling machines to understand and reason on natural langua ge statements, and givin g them knowle dge of the worl d we live in. To demonst rate this appr oach we have  pr ogr ammed an Explo rer Bar for Mic ros oft s Int ernet Explorer Web Browser that uses Common Sense Reasoning to display contextually relevant tasks based on what the user is viewing, and allow users to find and directly query Web Services. Author Keywords Sema ntic Web, Common Sense Reas oning , T ask Based User Interfaces. ACM Classification Keywords H.5.2. User Interfaces: Interaction Styles H.3.3. Information Search and Retrieval H.3.5. Online Information Services: We b-based Services INTRODUCTION There are two large problems facing the creation of the Semantic Web: (1) humans are used to communicating in natural, not formal languages; and, (2) for a Semantic Web agent to be useful, it must know a great deal about the world its user lives in. Rec ent efforts of the W3C to cre ate standard s for the Se man tic Web [1] hav e foc use d on def ini ng mac hin e readable languages: using Resource Description Framework Schema (RDFS) to define vocabularies for RDF triples [2] whi ch are serial ize d in eXt ens ibl e Mar kup Lan gua ge (XML). The next step towards creating the Semantic Web will be getting users to adopt these standards and begin to formally defi ne their infor mation and service s. Given that  people never fill out the metadata in their Word documents or edit their mp3’s ID3 tags, assuming that average users wi ll cor rec tly bui ld the log ical tri ple s nee ded for the Semantic W eb using off the shelf software [3] seems to be a very optimistic theory. Beyond a reliance on logical metadata, a second problem fa ci ng th e crea ti on of the Se mant ic Web is th at to intelligently complete tasks for its user, a software agent must have a vast knowledge about the world we live in. For instance, even if a veterinarian’ s Web site expresses the conce pt of veterinarian using the correct URI in an RDF tr ip le , a soft wa re ag ent st il l ne ed s to kn ow th at a veterinarian can help if the user says “my dog is sick.” We believe that both of these problems can be addressed by augme nting formally defined semanti c meta data with a large common sense knowledge repository. T o demonstrate this, we have developed an Explorer Bar for Microsoft’s Internet Explorer that uses Open Mind, a knowledge base of 600,000 common sense facts [4,5], and OMCSNet [6], a semantic network of 280,000 concepts and relationships. This common sense knowledge is used to process requests given to it by the user, and to understand the context of the Web page the user is viewing. GIVING SOFTWARE COMMON SENSE KNOWLEDGE The Open Mind common sense knowledge base consists of natural language statements entered over the last three years  by volu nteer s on the Web. Whil e it does not contai n a complete set of all the common sense knowledge found in the world, its knowledge base is sufficiently lar ge enough to  be use ful in real wor ld appl ica tio ns. OMCSNet is a 1

Upload: fuchs

Post on 31-May-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

8/14/2019 semanticweb whitepaperdraft

http://slidepdf.com/reader/full/semanticweb-whitepaperdraft 1/6

Using Common Sense Reasoning toEnable the Semantic Web

Alexander Faaborg, Sakda Chaiworawitkul, Henry Lieberman,

MIT Media Lab

20 Ames Street, Building E15Cambridge, MA 02139

[email protected], [email protected], [email protected]

ABSTRACT

Current efforts to build the Semantic Web [1] have been

 based on creating machine readable metadata, using XML

tags and RDF triples to formally represent information. It

is generally assumed that the only way to create an

intelligent Web agent is to build a new Web, a Web

specifically for machines that uses a unified logical

language. We have approached solving this disparity between humans and machines from the opposite direction,

 by enabling machines to understand and reason on natural

language statements, and giving them knowledge of the

world we live in. To demonstrate this approach we have

  programmed an Explorer Bar for Microsoft’s Internet

Explorer Web Browser that uses Common Sense Reasoning

to display contextually relevant tasks based on what the

user is viewing, and allow users to find and directly queryWeb Services.

Author Keywords

Semantic Web, Common Sense Reasoning, Task Based

User Interfaces.

ACM Classification Keywords

H.5.2. User Interfaces: Interaction Styles

H.3.3. Information Search and Retrieval

H.3.5. Online Information Services: Web-based Services

INTRODUCTION

There are two large problems facing the creation of the

Semantic Web: (1) humans are used to communicating in

natural, not formal languages; and, (2) for a Semantic Web

agent to be useful, it must know a great deal about the

world its user lives in.

Recent efforts of the W3C to create standards for the

Semantic Web [1] have focused on defining machine

readable languages: using Resource Description Framework 

Schema (RDFS) to define vocabularies for RDF triples [2]

which are serialized in eXtensible Markup Language

(XML). The next step towards creating the Semantic Webwill be getting users to adopt these standards and begin toformally define their information and services. Given that

 people never fill out the metadata in their Word documents

or edit their mp3’s ID3 tags, assuming that average users

will correctly build the logical triples needed for the

Semantic Web using off the shelf software [3] seems to be a

very optimistic theory.

Beyond a reliance on logical metadata, a second problem

facing the creation of the Semantic Web is that to

intelligently complete tasks for its user, a software agent

must have a vast knowledge about the world we live in.

For instance, even if a veterinarian’s Web site expresses the

concept of  veterinarian using the correct URI in an RDFtriple, a software agent still needs to know that a

veterinarian can help if the user says “my dog is sick.”

We believe that both of these problems can be addressed by

augmenting formally defined semantic metadata with a

large common sense knowledge repository. To demonstrate

this, we have developed an Explorer Bar for Microsoft’s

Internet Explorer that uses Open Mind, a knowledge base of 

600,000 common sense facts [4,5], and OMCSNet [6], a

semantic network of 280,000 concepts and relationships.

This common sense knowledge is used to process requestsgiven to it by the user, and to understand the context of the

Web page the user is viewing.

GIVING SOFTWARE COMMON SENSE KNOWLEDGE

The Open Mind common sense knowledge base consists of 

natural language statements entered over the last three years

  by volunteers on the Web. While it does not contain a

complete set of all the common sense knowledge found in

the world, its knowledge base is sufficiently large enough to

  be useful in real world applications. OMCSNet is a

1

8/14/2019 semanticweb whitepaperdraft

http://slidepdf.com/reader/full/semanticweb-whitepaperdraft 2/6

semantic network of concepts built using the statements in

Open Mind. OMCSNet is similar to WordNet [7] in that it

is a large semantic network of concepts, however 

OMCSNet contains everyday knowledge about the world,

while WordNet follows a more formal and taxonomicstructure. For instance, WordNet would identify a dog as a

type of canine, which is a type of carnivore, which is a kindof placental mammal. OMCSNet identifies a dog as a type

of pet [6].

A USER INTERFACE FOR THE NEAR TERM SEMANTICWEB

While it is rarely discussed, the generally accepted user 

interface for the Semantic Web is some form of software

agent that the user interacts with using natural language.Our prototype agent is a hybrid between this and a common

Web browser.

Figure 1. The Web Services Explorer Bar

The Web Services Explorer Bar contains two areas Search

Web Services and Tasks. The Search Web Services areaallows users to query SOAP based Web Services using

natural language. The Tasks area displays contextually

relevant tasks based on what Web page the user is viewing.

USING COMMON SENSE REASONING TO DETECT

CONTEXTUALLY RELEVANT TASKSIn Figure 1 we see that the user has browsed to

http://www.microsoft.com and the agent has displayed the

task View Stock Information. Using semantic metadata, this

would be achieved by someone at Microsoft encoding intotheir HTML the RDF triple:

<rdf:Description

rdf:about="http://www.microsoft.com/">

<ns1:stockSymbol>MSFT</ns1:stockSymbol>

</rdf:Description>

And the service works because  stockSymbol  is an agreed

upon predicate for describing a company’s stock symbol.

Our solution is rather different. First, someone logs onto

OpenMind [4,5] and enters the common sense fact

“Microsoft is a company in Seattle” expressed in naturallanguage. Next, an automated process to create OMCSNet

[6] performs natural language processing on this statement

and creates the triples

(ISA "microsoft" "company")

(LocationOf "microsoft" "seattle")

These triples and thousands others from OMCSNet are

loaded into a hash table in the agent’s memory, and are

queried by a set of tasks every time the user loads a new

Web page. In this case the agent displayed the View Stock 

 Information task because of the relationship Microsoft  and

company. It also  would have displayed the task if it haddetected the object corporation. The second triple might

result in a travel based task. Let’s consider another 

example:

Figure 2. The agent concludes that Tim Berners-Lee is a

person

2

8/14/2019 semanticweb whitepaperdraft

http://slidepdf.com/reader/full/semanticweb-whitepaperdraft 3/6

In Figure 2 the agent has assumed that the user is viewing

someone’s personal Web page and displayed the  New

Contact  task because of the relationship between Tim and

 person. It also would have displayed this task if it had

detected the objects of human, man or woman.

Both a traditional Semantic Web agent and our prototype

rely on the use of triples (RDF triples and OMCSNet triples

respectively). However, there are several differences: (1)Users do not have to encode the logic themselves because it

is extracted from natural language statements. (2) The tasks

will trigger based on a variety of synonymous concepts,

making it less brittle than relying on Universal Resource

Identifiers. (3) The triples are less specific so they can

trigger a variety of tasks. For instance, the triple Microsoft 

is a company could trigger a task that displays patent

filings, or lawsuits, or whatever the user has instructed their 

agent that they are interested in.

COMMON SENSE REASONING SHOULD NOT REPLACEFORMAL SEMANTIC METADATA

For some types of tasks, an agent would ideally use both

formally defined RDF triples, and triples out of OMCSNet.

For instance, a comparison shopping task for a specific type

of  computer  would benefit from having its  product 

numbers, which are best described formally and do not

represent common sense knowledge. However, the task could be activated for the user knowing that computers are

something that people buy, which represents common sense

knowledge. We are not arguing that common sense

knowledge bases should replace semantic metadata, but

rather should augment it. Ideally an agent’s reasoning

should begin with common sense triples, and then start to

use formally defined RDF triples later in its inference chain

as it completes tasks for its user.

USING COMMON SENSE REASONING FOR WEBSERVICE DISCOVERY

The Search Web Services area of the Web Services Explorer 

Bar allows users to enter requests expressed in natural

language, and the agent matches these requests against

Microsoft’s UDDI repository [8] of Web Services. The

agent uses OMCSNet for query expansion when matchingthe natural language statement the user entered against the

natural language descriptions of Web Services in the UDDIrepository. For instance, the request “what is the

temperature” matches to a service with the description

“weather forecast” because of the relationship between

temperature and weather has been entered into OpenMind.

In fact, OpenMind knows 1104 things about the concept of 

weather . This search is shown in Figure 3.

Figure 3. The user enters a search and directly interacts witha Web Service.

The strategy for Web service discovery can be illustrated as

shown in the workflow diagram in Figure 4. On one hand,

the information extracted directly from natural language processing (NLP) of the user input query will be input

directly to search against UDDI repository. This is a backup

fail-soft strategy. On the other hand, the resulting

expansions of the query from OMCSNet (in contextual

forms) will be used to search against UDDI description.

In this project, the search in UDDI is performed against

tModel [9] name and description. Although UDDI provides

several means to query for Web services, the major reasons

for choosing tModel are: (1) from tModel, one could locate

a Web Service Description Language (WSDL) [10]

document (2) tModel can be reused for several web

services so searching for Web services directly could end up

3

8/14/2019 semanticweb whitepaperdraft

http://slidepdf.com/reader/full/semanticweb-whitepaperdraft 4/6

with the same tModel. Thereby, tModel is the best point to

search in this case.

The returned matched results from UDDI of each

inferencing step in OMCSNet are then rendered on the

interface hierarchically. Along with the tModel name,descriptive information about the Web service is provided,

such as the tModel description, WSDL document URL,

liveliness of the Web service. (see Figure 5.)

Start

User input query

NLP

Raw extracted

lexicons

OMCSNet

expanded query

UDDI Query

WSDL liveliness

test

Discovered web

services listing on

UI

User selection of aweb service

Proxy object

creation

Invocation UI form

rendering

User invocation

Result display

End

Figure 4. Workflow diagram of common sense reasoning for

Web service discovery.

4

8/14/2019 semanticweb whitepaperdraft

http://slidepdf.com/reader/full/semanticweb-whitepaperdraft 5/6

Figure 5. Hierarchical rendering of the resulting Web services

based on common-sense reasoning results.

 Note that the published content in UDDI repository could

contain something else other than Web services. Moreover,

due to the nature of the dynamic Web environment where a

discovered Web service may or may not be available, theagent must be able to inform users of liveliness of the Web

services discovered during this process. We perform testing

responses from the discovered web service for this purposeand then render them using different icons on the interface

to distinguish their liveliness. The invocable Web services

 provide links to a WSDL document.

From the WSDL document, we can interrogate the detail of 

Web services. The result of this process yields a creation of 

a local object called “proxy” created dynamically using

APIs provided in .NET environment. [11] This proxy object

contains information about the interfaces of the exposed

Web services and how to communicate with them. Note that

this proxy does not contain detail of web service

implementation. This helps an organization hide their corecompetency while keeping their services available to

 public.

The creation of the proxy object provides us a means todynamically render the user interface for a Web method

invocation inside a Web service. (see Figure 3) Firstly, from

the proxy object, all the exposed methods are listed into the

combo box. Then, the input arguments of the selected

method are examined and rendered on the UI dynamically

using the .NET reflection mechanism. [11] The invocation

of a Web method results in on-the-fly creation of a Simple

Object Access Protocol (SOAP) [12] request message to the

service binding point as described in the WSDL document.

 Note that this operational binding point can be differentfrom the WSDL URI. If correctly invoked, the resulting

SOAP response message will be returned from the binding

 point server. We then notify the result on the interface.

 Note that the invocation of the Web services can be done

only through primitive data types only. The concept of 

dynamic invocation itself does prevent this, but the user 

interface rendering does. This barrier is not a problem in

using this mechanism in the code since we can query the

serialization data schema of the arguments from the WSDL

document. However, rendering complex data type such as a

customized class object is extremely difficult on a UI level.

DISCUSSIONS ON COMMON-SENSE REASONING FORWEB SERVICE DISCOVERY

Through our implementation on Web service discovery,

there are several insights on discovery of Web services that

should be noted.

(1) Although UDDI provides a standardized means to

 publish Web services, the content of UDDI are oftennot Web services. They contain non-invocable

resources such as normal HTML web resources, XML

documents, Dynamic Library Link (DLL) files, etc. in

the tModel that we search against. Moreover, most of the discovered valid WSDL URIs in tModels are not

available. This forms a big barrier for our 

implementation of a Web service discovery agent

  because providing services through a Web browser typically requires more effort of the user. Unlike the

case of a Web document where search result contains a

list of easily-understandable text descriptions of 

matched results, to make sense of a Web service,

invocation is required in order to observe the returning

5

8/14/2019 semanticweb whitepaperdraft

http://slidepdf.com/reader/full/semanticweb-whitepaperdraft 6/6

result. Therefore, it is very important to distinguish

liveliness of the Web services in our application.

(2) Given that we can list the matched results from UDDI,we rely on the user to select a method to be invoked

from a list. The major reason for this lies in the current

limitation of vendors’ API’s to annotate web methods

and their arguments programmatically. If thesecapabilities were there, we could, instead, match the

services down to the level of Web method. Hence we

could provide the user with more customized search

results. This capability is significant in our case because without a textual description of methods, our 

agent has no way of intelligently querying methods in

the Web service on the user’s behalf.

(3) According to (2), providing customized search result

could possibly be achieved by introducing local

tagging of web services invoked based on the context

of the application and OMCSNet inferencing results.

This approach could potentially provide feedback tothe agent on how users interacted with the services,

ideally allowing the agent to learn from example.

CONCLUSION

By allowing the user to directly enter information requests

in natural language, and allowing the agent to display

relevant tasks based on what the user is viewing, we have

aimed to create a system capable of rich two-way human

computer interaction. And through these interactions we

see that a functioning Semantic Web agent requires muchmore than formally defined RDF triples; it requires vast

amounts of general knowledge about the world we live in.

ACKNOWLEDGMENTS

We would like to thank Henry Lieberman and the student’s

in his course Common Sense Reasoning for Interactive

Applications for their insightful feedback on our prototype

agent. Great thanks go to Hugo Liu and Push Singh for 

their work on OMCSNet and OpenMind.

REFERENCES

1.Semantic Web Activity Statement

http://www.w3.org/2001/sw/Activity.

2.RDF Primer 

http://www.w3.org/TR/2003/WD-rdf-primer-20030905/

3.Berners-Lee, T. Hendler, J., Lassila, O. The Semantic

Web. Scientific American, May 2001.

4.Mihalcea, R. and Chklovski, T. Open Mind Word Expert:

Creating Large Annotated Data Collections with WebUsers' Help. Proc. EACL 2003 Workshop.

5.Singh, P., Lin, T., Mueller, E., Lim, G. Perkins, T. and Li

Zhu, Wan. Open Mind Common Sense: Knowledge

acquisition from the general public. Proc. Ontologies,

 Databases, and Applications of Semantics for Large Scale

 Information Systems 2002

6.Liu, H., Singh, P. OMCSNet: A Commonsense Inference

Toolkit. MIT Media Lab Society Of Mind GroupTechnical Report SOM02-01. Retrieved from:

http://web.media.mit.edu/~push/OMCSNet.pdf 7.Fellbaum, Christiane. WordNet: An electronic lexical

database. MIT Press, Cambridge, MA, USA, 1998.

8.Microsoft Universal Description, Discovery, and

Integration (UDDI), http://uddi.microsoft.com/

9.Universal Description, Discovery, and Integration for 

Web Services, “UDDI Technical White Paper”,

http://www.uddi.org/pubs/Iru_UDDI_Technical_White_P

aper.pdf 

10.Christensen, E., Curbera, F., Meredith, G., Weerawarana,

S., Web Services Description Language (WSDL) 1.1,

W3C Note 15 March 2001. Retrieved from:

http://www.w3.org/TR/wsdl

11.Foggon, D., Maharry, D., Ullman, C., Watson, K.,

 Programming Microsoft .NET XML Web Services,

Microsoft Press, 2003.

12.Gudgin, M., Hadley, M., Mendelsohn, N., Canon, J., Neilsen, H., “SOAP Version 1.2 Part1: Messaging

Framework”, http://www.w3.org/TR/SOAP/

 

6